From 81d26dc138aae0a0e6cb56ed196e6ea4c2b78aa7 Mon Sep 17 00:00:00 2001 From: Kwesi Banson Jnr Date: Thu, 20 Aug 2026 09:30:43 +0000 Subject: [PATCH] added leave request, profile and staff members controllers --- .../Controllers/LeaveRequestController.php | 143 + app/Http/Controllers/ProfileController.php | 101 + app/Http/Controllers/StaffController.php | 16 - .../Controllers/StaffMembersController.php | 151 + app/Models/LeaveRequest.php | 24 + app/Models/StaffDependent.php | 16 + app/Models/StaffMember.php | 9 +- bootstrap/cache/.gitignore | 0 composer.json | 3 +- composer.lock | 72 +- config/filesystems.php | 6 + layout.md | 3 +- public/Archive/README.txt | 9 - public/Archive/blank.html | 162 - public/Archive/index.html | 205 - .../Archive/june_assets/css/bootstrap.min.css | 6 - .../june_assets/js/bootstrap.bundle.min.js | 7 - public/admin_assets_new/css/style.css | 302 - .../admin_assets_new/fontawesome-webfont.svg | 2671 - public/admin_assets_new/js/bundle.js | 42698 ---------------- .../static/fontawesome-webfont.eot | Bin 165742 -> 0 bytes .../static/fontawesome-webfont.ttf | Bin 165548 -> 0 bytes .../static/fontawesome-webfont.woff | Bin 98024 -> 0 bytes .../static/fontawesome-webfont.woff2 | Bin 77160 -> 0 bytes .../fonts/icons/fontawesome/FontAwesome.otf | Bin 134808 -> 0 bytes .../icons/fontawesome/fontawesome-webfont.eot | Bin 165742 -> 0 bytes .../icons/fontawesome/fontawesome-webfont.svg | 2671 - .../icons/fontawesome/fontawesome-webfont.ttf | Bin 165548 -> 0 bytes .../fontawesome/fontawesome-webfont.woff | Bin 98024 -> 0 bytes .../fontawesome/fontawesome-webfont.woff2 | Bin 77160 -> 0 bytes .../static/fonts/icons/themify/themify.eot | Bin 78748 -> 0 bytes .../static/fonts/icons/themify/themify.svg | 362 - .../static/fonts/icons/themify/themify.ttf | Bin 78584 -> 0 bytes .../static/fonts/icons/themify/themify.woff | Bin 56108 -> 0 bytes public/admin_assets_new/static/images/404.png | Bin 4615 -> 0 bytes public/admin_assets_new/static/images/500.png | Bin 174705 -> 0 bytes public/admin_assets_new/static/images/bg.jpg | Bin 504339 -> 0 bytes .../static/images/datatables/sort_asc.png | Bin 160 -> 0 bytes .../images/datatables/sort_asc_disabled.png | Bin 148 -> 0 bytes .../static/images/datatables/sort_both.png | Bin 201 -> 0 bytes .../static/images/datatables/sort_desc.png | Bin 158 -> 0 bytes .../images/datatables/sort_desc_disabled.png | Bin 146 -> 0 bytes .../static/images/logo-circle.svg | 7 - .../static/images/logo-gradient.svg | 13 - .../static/images/logo-outline.svg | 7 - .../admin_assets_new/static/images/logo.png | Bin 17769 -> 0 bytes .../admin_assets_new/static/images/logo.svg | 5 - public/admin_assets_new/static/themify.eot | Bin 78748 -> 0 bytes public/admin_assets_new/static/themify.ttf | Bin 78584 -> 0 bytes public/admin_assets_new/static/themify.woff | Bin 56108 -> 0 bytes public/admin_assets_new/themify.svg | 362 - ...inator-erp-theme-two-pages-split-files.zip | Bin 2731667 -> 0 bytes .../1e59d2330b4c6deb84b3.ttf | Bin 165548 -> 0 bytes .../20fd1704ea223900efa9.woff2 | Bin 77160 -> 0 bytes .../29b39089170885ae2967.woff | Bin 56108 -> 0 bytes .../8b43027f47b20503057d.eot | Bin 165742 -> 0 bytes .../9bad94440d49256265a5.eot | Bin 78748 -> 0 bytes .../assets/fontawesome-webfont.svg | 2671 - .../fonts/icons/fontawesome/FontAwesome.otf | Bin 134808 -> 0 bytes .../icons/fontawesome/fontawesome-webfont.eot | Bin 165742 -> 0 bytes .../icons/fontawesome/fontawesome-webfont.svg | 2671 - .../icons/fontawesome/fontawesome-webfont.ttf | Bin 165548 -> 0 bytes .../fontawesome/fontawesome-webfont.woff | Bin 98024 -> 0 bytes .../fontawesome/fontawesome-webfont.woff2 | Bin 77160 -> 0 bytes .../static/fonts/icons/themify/themify.eot | Bin 78748 -> 0 bytes .../static/fonts/icons/themify/themify.svg | 362 - .../static/fonts/icons/themify/themify.ttf | Bin 78584 -> 0 bytes .../static/fonts/icons/themify/themify.woff | Bin 56108 -> 0 bytes .../assets/static/images/404.png | Bin 4615 -> 0 bytes .../assets/static/images/500.png | Bin 174705 -> 0 bytes .../assets/static/images/bg.jpg | Bin 504339 -> 0 bytes .../static/images/datatables/sort_asc.png | Bin 160 -> 0 bytes .../images/datatables/sort_asc_disabled.png | Bin 148 -> 0 bytes .../static/images/datatables/sort_both.png | Bin 201 -> 0 bytes .../static/images/datatables/sort_desc.png | Bin 158 -> 0 bytes .../images/datatables/sort_desc_disabled.png | Bin 146 -> 0 bytes .../assets/static/images/logo-circle.svg | 7 - .../assets/static/images/logo-gradient.svg | 13 - .../assets/static/images/logo-outline.svg | 7 - .../assets/static/images/logo.png | Bin 17769 -> 0 bytes .../assets/static/images/logo.svg | 5 - .../assets/themify.svg | 362 - .../blank.html | 537 - .../eda8b94308c6f538f04a.ttf | Bin 78584 -> 0 bytes .../f691f37e57f04c152e23.woff | Bin 98024 -> 0 bytes .../index.html | 1098 - .../main.js | 6423 --- .../runtime.js | 151 - .../style.css | 302 - .../vendor-chartjs.js | 14412 ------ .../vendor-fullcalendar.js | 14692 ------ .../vendors.js | 7477 --- .../adminator/adminator/assets/css/style.css | 302 - .../adminator/assets/fontawesome-webfont.svg | 2671 - .../adminator/adminator/assets/js/bundle.js | 42698 ---------------- .../assets/static/fontawesome-webfont.eot | Bin 165742 -> 0 bytes .../assets/static/fontawesome-webfont.ttf | Bin 165548 -> 0 bytes .../assets/static/fontawesome-webfont.woff | Bin 98024 -> 0 bytes .../assets/static/fontawesome-webfont.woff2 | Bin 77160 -> 0 bytes .../fonts/icons/fontawesome/FontAwesome.otf | Bin 134808 -> 0 bytes .../icons/fontawesome/fontawesome-webfont.eot | Bin 165742 -> 0 bytes .../icons/fontawesome/fontawesome-webfont.svg | 2671 - .../icons/fontawesome/fontawesome-webfont.ttf | Bin 165548 -> 0 bytes .../fontawesome/fontawesome-webfont.woff | Bin 98024 -> 0 bytes .../fontawesome/fontawesome-webfont.woff2 | Bin 77160 -> 0 bytes .../static/fonts/icons/themify/themify.eot | Bin 78748 -> 0 bytes .../static/fonts/icons/themify/themify.svg | 362 - .../static/fonts/icons/themify/themify.ttf | Bin 78584 -> 0 bytes .../static/fonts/icons/themify/themify.woff | Bin 56108 -> 0 bytes .../adminator/assets/static/images/404.png | Bin 4615 -> 0 bytes .../adminator/assets/static/images/500.png | Bin 174705 -> 0 bytes .../adminator/assets/static/images/bg.jpg | Bin 504339 -> 0 bytes .../static/images/datatables/sort_asc.png | Bin 160 -> 0 bytes .../images/datatables/sort_asc_disabled.png | Bin 148 -> 0 bytes .../static/images/datatables/sort_both.png | Bin 201 -> 0 bytes .../static/images/datatables/sort_desc.png | Bin 158 -> 0 bytes .../images/datatables/sort_desc_disabled.png | Bin 146 -> 0 bytes .../assets/static/images/logo-circle.svg | 7 - .../assets/static/images/logo-gradient.svg | 13 - .../assets/static/images/logo-outline.svg | 7 - .../adminator/assets/static/images/logo.png | Bin 17769 -> 0 bytes .../adminator/assets/static/images/logo.svg | 5 - .../adminator/assets/static/themify.eot | Bin 78748 -> 0 bytes .../adminator/assets/static/themify.ttf | Bin 78584 -> 0 bytes .../adminator/assets/static/themify.woff | Bin 56108 -> 0 bytes public/adminator/adminator/assets/themify.svg | 362 - public/adminator/adminator/blank.html | 530 - public/adminator/adminator/index.html | 1098 - public/index.php | 17 - public/june_assets/css/bootstrap.min.css | 6 - public/june_assets/js/bootstrap.bundle.min.js | 7 - resources/views/clients/index_raw.blade.php | 413 - resources/views/clients/show.blade.php | 4 +- resources/views/documents/index.blade.php | 2 +- .../views/documents_vault/index.blade.php | 8 +- resources/views/leave/index.blade.php | 195 + resources/views/leave/my_leave.blade.php | 235 + resources/views/profile/index.blade.php | 399 + resources/views/senderids/index.blade.php | 2 +- resources/views/shortcodes/index.blade.php | 2 +- resources/views/staff/index.blade.php | 469 +- routes/web.php | 22 +- storage/app/.gitignore | 0 storage/app/private/.gitignore | 0 storage/app/public/.gitignore | 0 storage/framework/.gitignore | 0 storage/framework/cache/.gitignore | 0 storage/framework/cache/data/.gitignore | 0 storage/framework/sessions/.gitignore | 0 storage/framework/testing/.gitignore | 0 storage/framework/views/.gitignore | 0 storage/logs/.gitignore | 0 152 files changed, 1627 insertions(+), 152101 deletions(-) create mode 100644 app/Http/Controllers/LeaveRequestController.php create mode 100644 app/Http/Controllers/ProfileController.php delete mode 100644 app/Http/Controllers/StaffController.php create mode 100644 app/Http/Controllers/StaffMembersController.php create mode 100644 app/Models/LeaveRequest.php create mode 100644 app/Models/StaffDependent.php mode change 100644 => 100755 bootstrap/cache/.gitignore delete mode 100644 public/Archive/README.txt delete mode 100644 public/Archive/blank.html delete mode 100644 public/Archive/index.html delete mode 100644 public/Archive/june_assets/css/bootstrap.min.css delete mode 100644 public/Archive/june_assets/js/bootstrap.bundle.min.js delete mode 100644 public/admin_assets_new/css/style.css delete mode 100644 public/admin_assets_new/fontawesome-webfont.svg delete mode 100644 public/admin_assets_new/js/bundle.js delete mode 100644 public/admin_assets_new/static/fontawesome-webfont.eot delete mode 100644 public/admin_assets_new/static/fontawesome-webfont.ttf delete mode 100644 public/admin_assets_new/static/fontawesome-webfont.woff delete mode 100644 public/admin_assets_new/static/fontawesome-webfont.woff2 delete mode 100644 public/admin_assets_new/static/fonts/icons/fontawesome/FontAwesome.otf delete mode 100644 public/admin_assets_new/static/fonts/icons/fontawesome/fontawesome-webfont.eot delete mode 100644 public/admin_assets_new/static/fonts/icons/fontawesome/fontawesome-webfont.svg delete mode 100644 public/admin_assets_new/static/fonts/icons/fontawesome/fontawesome-webfont.ttf delete mode 100644 public/admin_assets_new/static/fonts/icons/fontawesome/fontawesome-webfont.woff delete mode 100644 public/admin_assets_new/static/fonts/icons/fontawesome/fontawesome-webfont.woff2 delete mode 100644 public/admin_assets_new/static/fonts/icons/themify/themify.eot delete mode 100644 public/admin_assets_new/static/fonts/icons/themify/themify.svg delete mode 100644 public/admin_assets_new/static/fonts/icons/themify/themify.ttf delete mode 100644 public/admin_assets_new/static/fonts/icons/themify/themify.woff delete mode 100644 public/admin_assets_new/static/images/404.png delete mode 100644 public/admin_assets_new/static/images/500.png delete mode 100644 public/admin_assets_new/static/images/bg.jpg delete mode 100644 public/admin_assets_new/static/images/datatables/sort_asc.png delete mode 100644 public/admin_assets_new/static/images/datatables/sort_asc_disabled.png delete mode 100644 public/admin_assets_new/static/images/datatables/sort_both.png delete mode 100644 public/admin_assets_new/static/images/datatables/sort_desc.png delete mode 100644 public/admin_assets_new/static/images/datatables/sort_desc_disabled.png delete mode 100644 public/admin_assets_new/static/images/logo-circle.svg delete mode 100644 public/admin_assets_new/static/images/logo-gradient.svg delete mode 100644 public/admin_assets_new/static/images/logo-outline.svg delete mode 100644 public/admin_assets_new/static/images/logo.png delete mode 100644 public/admin_assets_new/static/images/logo.svg delete mode 100644 public/admin_assets_new/static/themify.eot delete mode 100644 public/admin_assets_new/static/themify.ttf delete mode 100644 public/admin_assets_new/static/themify.woff delete mode 100644 public/admin_assets_new/themify.svg delete mode 100644 public/adminator-erp-theme-two-pages-split-files.zip delete mode 100644 public/adminator-erp-theme-two-pages-split-files/1e59d2330b4c6deb84b3.ttf delete mode 100644 public/adminator-erp-theme-two-pages-split-files/20fd1704ea223900efa9.woff2 delete mode 100644 public/adminator-erp-theme-two-pages-split-files/29b39089170885ae2967.woff delete mode 100644 public/adminator-erp-theme-two-pages-split-files/8b43027f47b20503057d.eot delete mode 100644 public/adminator-erp-theme-two-pages-split-files/9bad94440d49256265a5.eot delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/fontawesome-webfont.svg delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/fonts/icons/fontawesome/FontAwesome.otf delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/fonts/icons/fontawesome/fontawesome-webfont.eot delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/fonts/icons/fontawesome/fontawesome-webfont.svg delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/fonts/icons/fontawesome/fontawesome-webfont.ttf delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/fonts/icons/fontawesome/fontawesome-webfont.woff delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/fonts/icons/fontawesome/fontawesome-webfont.woff2 delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/fonts/icons/themify/themify.eot delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/fonts/icons/themify/themify.svg delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/fonts/icons/themify/themify.ttf delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/fonts/icons/themify/themify.woff delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/images/404.png delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/images/500.png delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/images/bg.jpg delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/images/datatables/sort_asc.png delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/images/datatables/sort_asc_disabled.png delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/images/datatables/sort_both.png delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/images/datatables/sort_desc.png delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/images/datatables/sort_desc_disabled.png delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/images/logo-circle.svg delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/images/logo-gradient.svg delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/images/logo-outline.svg delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/images/logo.png delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/static/images/logo.svg delete mode 100644 public/adminator-erp-theme-two-pages-split-files/assets/themify.svg delete mode 100644 public/adminator-erp-theme-two-pages-split-files/blank.html delete mode 100644 public/adminator-erp-theme-two-pages-split-files/eda8b94308c6f538f04a.ttf delete mode 100644 public/adminator-erp-theme-two-pages-split-files/f691f37e57f04c152e23.woff delete mode 100644 public/adminator-erp-theme-two-pages-split-files/index.html delete mode 100644 public/adminator-erp-theme-two-pages-split-files/main.js delete mode 100644 public/adminator-erp-theme-two-pages-split-files/runtime.js delete mode 100644 public/adminator-erp-theme-two-pages-split-files/style.css delete mode 100644 public/adminator-erp-theme-two-pages-split-files/vendor-chartjs.js delete mode 100644 public/adminator-erp-theme-two-pages-split-files/vendor-fullcalendar.js delete mode 100644 public/adminator-erp-theme-two-pages-split-files/vendors.js delete mode 100644 public/adminator/adminator/assets/css/style.css delete mode 100644 public/adminator/adminator/assets/fontawesome-webfont.svg delete mode 100644 public/adminator/adminator/assets/js/bundle.js delete mode 100644 public/adminator/adminator/assets/static/fontawesome-webfont.eot delete mode 100644 public/adminator/adminator/assets/static/fontawesome-webfont.ttf delete mode 100644 public/adminator/adminator/assets/static/fontawesome-webfont.woff delete mode 100644 public/adminator/adminator/assets/static/fontawesome-webfont.woff2 delete mode 100644 public/adminator/adminator/assets/static/fonts/icons/fontawesome/FontAwesome.otf delete mode 100644 public/adminator/adminator/assets/static/fonts/icons/fontawesome/fontawesome-webfont.eot delete mode 100644 public/adminator/adminator/assets/static/fonts/icons/fontawesome/fontawesome-webfont.svg delete mode 100644 public/adminator/adminator/assets/static/fonts/icons/fontawesome/fontawesome-webfont.ttf delete mode 100644 public/adminator/adminator/assets/static/fonts/icons/fontawesome/fontawesome-webfont.woff delete mode 100644 public/adminator/adminator/assets/static/fonts/icons/fontawesome/fontawesome-webfont.woff2 delete mode 100644 public/adminator/adminator/assets/static/fonts/icons/themify/themify.eot delete mode 100644 public/adminator/adminator/assets/static/fonts/icons/themify/themify.svg delete mode 100644 public/adminator/adminator/assets/static/fonts/icons/themify/themify.ttf delete mode 100644 public/adminator/adminator/assets/static/fonts/icons/themify/themify.woff delete mode 100644 public/adminator/adminator/assets/static/images/404.png delete mode 100644 public/adminator/adminator/assets/static/images/500.png delete mode 100644 public/adminator/adminator/assets/static/images/bg.jpg delete mode 100644 public/adminator/adminator/assets/static/images/datatables/sort_asc.png delete mode 100644 public/adminator/adminator/assets/static/images/datatables/sort_asc_disabled.png delete mode 100644 public/adminator/adminator/assets/static/images/datatables/sort_both.png delete mode 100644 public/adminator/adminator/assets/static/images/datatables/sort_desc.png delete mode 100644 public/adminator/adminator/assets/static/images/datatables/sort_desc_disabled.png delete mode 100644 public/adminator/adminator/assets/static/images/logo-circle.svg delete mode 100644 public/adminator/adminator/assets/static/images/logo-gradient.svg delete mode 100644 public/adminator/adminator/assets/static/images/logo-outline.svg delete mode 100644 public/adminator/adminator/assets/static/images/logo.png delete mode 100644 public/adminator/adminator/assets/static/images/logo.svg delete mode 100644 public/adminator/adminator/assets/static/themify.eot delete mode 100644 public/adminator/adminator/assets/static/themify.ttf delete mode 100644 public/adminator/adminator/assets/static/themify.woff delete mode 100644 public/adminator/adminator/assets/themify.svg delete mode 100644 public/adminator/adminator/blank.html delete mode 100644 public/adminator/adminator/index.html delete mode 100644 public/index.php delete mode 100644 public/june_assets/css/bootstrap.min.css delete mode 100644 public/june_assets/js/bootstrap.bundle.min.js delete mode 100644 resources/views/clients/index_raw.blade.php create mode 100644 resources/views/leave/index.blade.php create mode 100644 resources/views/leave/my_leave.blade.php create mode 100644 resources/views/profile/index.blade.php mode change 100644 => 100755 storage/app/.gitignore mode change 100644 => 100755 storage/app/private/.gitignore mode change 100644 => 100755 storage/app/public/.gitignore mode change 100644 => 100755 storage/framework/.gitignore mode change 100644 => 100755 storage/framework/cache/.gitignore mode change 100644 => 100755 storage/framework/cache/data/.gitignore mode change 100644 => 100755 storage/framework/sessions/.gitignore mode change 100644 => 100755 storage/framework/testing/.gitignore mode change 100644 => 100755 storage/framework/views/.gitignore mode change 100644 => 100755 storage/logs/.gitignore diff --git a/app/Http/Controllers/LeaveRequestController.php b/app/Http/Controllers/LeaveRequestController.php new file mode 100644 index 0000000..05c31e0 --- /dev/null +++ b/app/Http/Controllers/LeaveRequestController.php @@ -0,0 +1,143 @@ +filled('search')) { + $search = $request->search; + $query->whereHas('staff', function($q) use ($search) { + $q->where('name', 'like', "%{$search}%"); + }); + } + + // Filter by Status + if ($request->filled('status')) { + $query->where('status', $request->status); + } else { + // Default to showing pending requests first if no filter is applied + $query->orderByRaw("FIELD(status, 'PENDING', 'APPROVED', 'REJECTED')"); + } + + $leaveRequests = $query->orderBy('created_at', 'desc')->paginate(15); + $leaveRequests->appends($request->query()); + + // KPIs for HR + $pendingCount = LeaveRequest::where('status', 'PENDING')->count(); + $approvedThisMonth = LeaveRequest::where('status', 'APPROVED') + ->whereMonth('start_date', Carbon::now()->month) + ->whereYear('start_date', Carbon::now()->year) + ->count(); + + $data = [ + 'leaveRequests' => $leaveRequests, + 'pendingCount' => $pendingCount, + 'approvedThisMonth' => $approvedThisMonth, + ]; + + return view('leave.index', $data); + } + public function myLeave() + { + // Find the staff profile of the currently logged-in user + // Adjust this logic if you link Users to StaffMembers differently (e.g., via a staff_id foreign key) + $staff = StaffMember::where('email', auth()->user()->email)->firstOrFail(); + + // Fetch their leave history, latest first + $leaveRequests = LeaveRequest::where('staff_member_id', $staff->id) + ->orderBy('created_at', 'desc') + ->paginate(10); + + $data = [ + 'staff' => $staff, + 'leaveRequests' => $leaveRequests, + ]; + + return view('leave.my_leave', $data); + } + + public function store(Request $request) + { + $validated = $request->validate([ + 'staff_member_id' => 'required|exists:staff_members,id', + 'leave_type' => 'required|string', + 'start_date' => 'required|date', + 'end_date' => 'required|date|after_or_equal:start_date', + 'reason' => 'required|string', + ]); + + $start = Carbon::parse($validated['start_date']); + $end = Carbon::parse($validated['end_date']); + + // Calculate total days excluding weekends + $totalDays = $start->diffInDaysFiltered(function (Carbon $date) { + return !$date->isWeekend(); + }, $end) + 1; // +1 to include both the start and end day + + + if ($validated['leave_type'] === 'Annual') { + $staff = StaffMember::find($validated['staff_member_id']); + if ($staff->annual_leave_balance < $totalDays) { + return response()->json([ + 'success' => false, + 'message' => "Insufficient balance. Requested: $totalDays days. Available: {$staff->annual_leave_balance} days." + ], 422); + } + } + + $validated['total_days'] = $totalDays; + $validated['status'] = 'PENDING'; + + LeaveRequest::create($validated); + + return response()->json(['success' => true, 'message' => 'Leave request submitted successfully!']); + } + + + public function updateStatus(Request $request, $id) + { + $leaveRequest = LeaveRequest::findOrFail($id); + + $validated = $request->validate([ + 'status' => 'required|in:APPROVED,REJECTED', + 'admin_remarks' => 'nullable|string', + ]); + + if ($validated['status'] === 'APPROVED' && $leaveRequest->status !== 'APPROVED') { + if ($leaveRequest->leave_type === 'Annual') { + $staff = $leaveRequest->staff; + $staff->annual_leave_balance -= $leaveRequest->total_days; + $staff->save(); + } + } + + if ($validated['status'] === 'REJECTED' && $leaveRequest->status === 'APPROVED') { + if ($leaveRequest->leave_type === 'Annual') { + $staff = $leaveRequest->staff; + $staff->annual_leave_balance += $leaveRequest->total_days; + $staff->save(); + } + } + + $leaveRequest->update([ + 'status' => $validated['status'], + 'admin_remarks' => $validated['admin_remarks'], + 'approved_by' => auth()->id(), // Track who approved it + ]); + + return response()->json(['success' => true, 'message' => 'Leave status updated successfully!']); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php new file mode 100644 index 0000000..d400c77 --- /dev/null +++ b/app/Http/Controllers/ProfileController.php @@ -0,0 +1,101 @@ +where('email', auth()->user()->email)->firstOrFail(); + + return view('profile.index', compact('staff')); + } + + public function update(Request $request) + { + $staff = StaffMember::where('email', auth()->user()->email)->firstOrFail(); + + $validated = $request->validate([ + 'name' => 'required|string|max:200', + 'phone' => 'nullable|string|max:200', + 'personal_email' => 'nullable|email|max:191', + 'location_country' => 'nullable|string|max:191', + 'birth_month' => 'nullable|string|size:2', + 'birth_day' => 'nullable|string|size:2', + 'photo' => 'nullable|image|mimes:jpg,jpeg,png|max:2048', + ]); + // Combine month and day if both are provided (e.g., "12-25") + if (!empty($request->birth_month) && !empty($request->birth_day)) { + $validated['dob'] = $request->birth_month . '-' . $request->birth_day; + } else { + $validated['dob'] = null; + } + + // Clean up temporary keys + unset($validated['birth_month'], $validated['birth_day'], $validated['photo']); + + if ($request->hasFile('photo')) { + if ($staff->profile_pic && Storage::disk('public')->exists($staff->profile_pic)) { + Storage::disk('public')->delete($staff->profile_pic); + } + $validated['profile_pic'] = $request->file('photo')->store('staff_profiles', 'public'); + } + + unset($validated['photo']); + $staff->update($validated); + + return response()->json(['success' => true, 'message' => 'Profile updated successfully!']); + } + + // --- DEPENDENTS / EMERGENCY CONTACTS CRUD --- + + public function storeDependent(Request $request) + { + $staff = StaffMember::where('email', auth()->user()->email)->firstOrFail(); + + $validated = $request->validate([ + 'fullname' => 'required|string|max:255', + 'relationship' => 'required|string|max:192', + 'phone' => 'nullable|string|max:20', + 'medical_details' => 'nullable|string', + ]); + + $validated['staff_id'] = $staff->id; + + StaffDependent::create($validated); + + return response()->json(['success' => true, 'message' => 'Emergency contact added successfully!']); + } + + public function updateDependent(Request $request, $id) + { + $staff = StaffMember::where('email', auth()->user()->email)->firstOrFail(); + $dependent = StaffDependent::where('staff_id', $staff->id)->findOrFail($id); + + $validated = $request->validate([ + 'fullname' => 'required|string|max:255', + 'relationship' => 'required|string|max:192', + 'phone' => 'nullable|string|max:20', + 'medical_details' => 'nullable|string', + ]); + + $dependent->update($validated); + + return response()->json(['success' => true, 'message' => 'Emergency contact updated successfully!']); + } + + public function destroyDependent($id) + { + $staff = StaffMember::where('email', auth()->user()->email)->firstOrFail(); + $dependent = StaffDependent::where('staff_id', $staff->id)->findOrFail($id); + + $dependent->delete(); + + return redirect()->back()->with('success', 'Emergency contact removed.'); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/StaffController.php b/app/Http/Controllers/StaffController.php deleted file mode 100644 index 9c023b7..0000000 --- a/app/Http/Controllers/StaffController.php +++ /dev/null @@ -1,16 +0,0 @@ - 'Dashboard' - ]; - return view('staff.index', $data); - } -} diff --git a/app/Http/Controllers/StaffMembersController.php b/app/Http/Controllers/StaffMembersController.php new file mode 100644 index 0000000..36c802e --- /dev/null +++ b/app/Http/Controllers/StaffMembersController.php @@ -0,0 +1,151 @@ +filled('search')) { + $search = $request->search; + $query->where(function($q) use ($search) { + $q->where('name', 'like', "%{$search}%") + ->orWhere('email', 'like', "%{$search}%") + ->orWhere('designation', 'like', "%{$search}%") + ->orWhere('phone', 'like', "%{$search}%"); + }); + } + + // 2. Department Filter + if ($request->filled('department_id')) { + $query->where('department_id', $request->department_id); + } + + // 3. Status Filter + if ($request->filled('status')) { + $query->where('status', $request->status); + } + + $staffMembers = $query->orderBy('name', 'asc')->paginate(12); + $staffMembers->appends($request->query()); + + // Fetch dynamic dropdown lists + $departments = Department::orderBy('name', 'asc')->get(); + $countries = Country::orderBy('en_short_name', 'asc')->get(); + + $data = [ + 'staffMembers' => $staffMembers, + 'departments' => $departments, + 'countries' => $countries, + ]; + + return view('staff.index', $data); + } + + public function store(Request $request) + { + $validated = $request->validate([ + 'name' => 'required|string|max:200', + 'designation' => 'required|string|max:191', + 'email' => 'required|email|max:200', + 'phone' => 'nullable|string|max:200', + 'department_id' => 'required|integer', + 'location_country' => 'nullable|string|max:191', + 'status' => 'required|string|max:20', + 'photo' => 'nullable|image|mimes:jpg,jpeg,png|max:2048', + ]); + + if ($request->hasFile('photo')) { + $validated['profile_pic'] = $request->file('photo')->store('staff_profiles', 'public'); + } + + $validated['created_by'] = auth()->id() ?? 1; + $validated['password'] = Hash::make('default_password'); + $validated['hire_date'] = now(); + + StaffMember::create($validated); + + return response()->json(['success' => true, 'message' => 'Staff member added successfully!']); + } + + public function update(Request $request, $id) + { + $staff = StaffMember::findOrFail($id); + + $validated = $request->validate([ + 'name' => 'required|string|max:200', + 'designation' => 'required|string|max:191', + 'email' => 'required|email|max:200', + 'phone' => 'nullable|string|max:200', + 'department_id' => 'required|integer', + 'location_country' => 'nullable|string|max:191', + 'status' => 'required|string|max:20', + 'photo' => 'nullable|image|mimes:jpg,jpeg,png|max:2048', + ]); + + if ($request->hasFile('photo')) { + if ($staff->profile_pic && Storage::disk('public')->exists($staff->profile_pic)) { + Storage::disk('public')->delete($staff->profile_pic); + } + $validated['profile_pic'] = $request->file('photo')->store('staff_profiles', 'public'); + } + + $validated['modified_by'] = auth()->id() ?? 1; + + $staff->update($validated); + + return response()->json(['success' => true, 'message' => 'Staff member updated successfully!']); + } + + public function destroy($id) + { + $staff = StaffMember::findOrFail($id); + + if ($staff->profile_pic && Storage::disk('public')->exists($staff->profile_pic)) { + Storage::disk('public')->delete($staff->profile_pic); + } + + $staff->delete(); + + return redirect()->back()->with('success', 'Staff member removed.'); + } + + + public function getUpcomingBirthdays() + { + $today = Carbon::now(); + $thirtyDaysFromNow = Carbon::now()->addDays(30); + + $currentMonthDay = $today->format('m-d'); + $futureMonthDay = $thirtyDaysFromNow->format('m-d'); + + if ($currentMonthDay <= $futureMonthDay) { + // Simple range check within the same calendar year + $upcomingStaff = StaffMember::whereBetween('dob', [$currentMonthDay, $futureMonthDay]) + ->orderBy('dob', 'asc') + ->get(); + } else { + // Handles the year-end crossover (e.g., looking from December into January) + $upcomingStaff = StaffMember::where(function($query) use ($currentMonthDay, $futureMonthDay) { + $query->where('dob', '>=', $currentMonthDay) + ->orWhere('dob', '<=', $futureMonthDay); + }) + ->orderBy('dob', 'asc') + ->get(); + } + + return $upcomingStaff; + } +} \ No newline at end of file diff --git a/app/Models/LeaveRequest.php b/app/Models/LeaveRequest.php new file mode 100644 index 0000000..1da7930 --- /dev/null +++ b/app/Models/LeaveRequest.php @@ -0,0 +1,24 @@ + 'date', + 'end_date' => 'date', + ]; + protected $guarded = ['id']; + public function staff() + { + return $this->belongsTo(StaffMember::class, 'staff_member_id'); + } + + // In StaffMember.php + public function leaveRequests() + { + return $this->hasMany(LeaveRequest::class, 'staff_member_id'); + } +} diff --git a/app/Models/StaffDependent.php b/app/Models/StaffDependent.php new file mode 100644 index 0000000..8dbaf11 --- /dev/null +++ b/app/Models/StaffDependent.php @@ -0,0 +1,16 @@ +belongsTo(StaffMember::class, 'staff_id'); + } +} \ No newline at end of file diff --git a/app/Models/StaffMember.php b/app/Models/StaffMember.php index 6d4fcfc..9baef07 100644 --- a/app/Models/StaffMember.php +++ b/app/Models/StaffMember.php @@ -21,9 +21,16 @@ class StaffMember extends Authenticatable 'password', ]; + public function leaveRequests() { + return $this->hasMany(LeaveRequest::class, 'staff_member_id'); + } + public function dependents() { + return $this->hasMany(StaffDependent::class, 'staff_id'); + } + // 4. Cast dates correctly protected $casts = [ - 'dob' => 'date', + // 'dob' => 'date', 'hire_date' => 'datetime', 'password' => 'hashed', // Laravel 10+ password casting ]; diff --git a/bootstrap/cache/.gitignore b/bootstrap/cache/.gitignore old mode 100644 new mode 100755 diff --git a/composer.json b/composer.json index a46b5b2..d58c1f2 100644 --- a/composer.json +++ b/composer.json @@ -10,7 +10,8 @@ "barryvdh/laravel-dompdf": "^3.1", "laravel/framework": "^11.31", "laravel/tinker": "^2.9", - "laravel/ui": "^4.6" + "laravel/ui": "^4.6", + "symfony/filesystem": "^7.4" }, "require-dev": { "fakerphp/faker": "^1.23", diff --git a/composer.lock b/composer.lock index d179f80..0c33d19 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "711d540522a4f4b214df3c5d35f3f416", + "content-hash": "4090af069360d112f49872b58f33e0a6", "packages": [ { "name": "barryvdh/laravel-dompdf", @@ -4280,6 +4280,76 @@ ], "time": "2024-09-25T14:21:43+00:00" }, + { + "name": "symfony/filesystem", + "version": "v7.4.15", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "ff16a16bf87fdf264638b8f6995b3515975e3c79" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/ff16a16bf87fdf264638b8f6995b3515975e3c79", + "reference": "ff16a16bf87fdf264638b8f6995b3515975e3c79", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8" + }, + "require-dev": { + "symfony/process": "^6.4|^7.0|^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides basic utilities for the filesystem", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v7.4.15" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-07-22T07:36:05+00:00" + }, { "name": "symfony/finder", "version": "v7.4.5", diff --git a/config/filesystems.php b/config/filesystems.php index 0bc070e..a0becc8 100644 --- a/config/filesystems.php +++ b/config/filesystems.php @@ -52,6 +52,12 @@ return [ 'url' => env('APP_URL').'/client_files', 'visibility' => 'public', ], + 'staff_images' => [ + 'driver' => 'local', + 'root' => public_path('staff_images'), + 'url' => env('APP_URL').'/staff_images', + 'visibility' => 'public', + ], 's3' => [ 'driver' => 's3', 'key' => env('AWS_ACCESS_KEY_ID'), diff --git a/layout.md b/layout.md index d7d85a5..d7a75fc 100644 --- a/layout.md +++ b/layout.md @@ -14,4 +14,5 @@ resources/views/ │ └── users/ ├── index.blade.php - └── create.blade.php \ No newline at end of file + └── create.blade.php + diff --git a/public/Archive/README.txt b/public/Archive/README.txt deleted file mode 100644 index 4c5dea0..0000000 --- a/public/Archive/README.txt +++ /dev/null @@ -1,9 +0,0 @@ -Bootstrap-only ERP starter pages - -Files: -- index.html: dashboard page -- blank.html: general page layout -- assets/css/bootstrap.min.css: original Bootstrap 5 CSS -- assets/js/bootstrap.bundle.min.js: original Bootstrap 5 JS bundle - -These pages avoid the Adminator-specific utility classes such as peer, mT-30, bgc-white, bd, and similar theme classes. The markup uses Bootstrap classes and components directly. diff --git a/public/Archive/blank.html b/public/Archive/blank.html deleted file mode 100644 index ee74fe3..0000000 --- a/public/Archive/blank.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - ERP General Page - - - - - -
-
- - - - -
- - -
-
-

General Page

-

A Bootstrap-only starter page for ERP screens

-
-
- - -
-
- -
-
-
-
-

Record Details

-
-
-
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
-
- - -
-
-
-
-
-
- -
-
-
-

Summary

-
-
-
-
Owner
-
Admin User
-
Created
-
May 31, 2026
-
Updated
-
Today
-
-
-
- -
-
-

Actions

-
-
- - - -
-
-
-
-
-
-
- - - - diff --git a/public/Archive/index.html b/public/Archive/index.html deleted file mode 100644 index 500be4f..0000000 --- a/public/Archive/index.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - ERP Dashboard - - - - - -
-
- - - - -
-
-
-

Dashboard

-

Business overview and recent activity

-
-
- - -
-
- -
-
-
-
-

Revenue

-

GHS 128,400

- Up 12% -
-
-
-
-
-
-

Orders

-

1,284

- Today -
-
-
-
-
-
-

Pending

-

38

- Review -
-
-
-
-
-
-

Customers

-

864

- Active -
-
-
-
- -
-
-
-
-

Recent Transactions

- View all -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ReferenceCustomerStatusAmount
INV-1024North Ridge LtdPaidGHS 12,000
INV-1025Adenta StoresPendingGHS 4,850
INV-1026Osu SuppliesDraftGHS 9,300
INV-1027Labone FoodsPaidGHS 7,600
-
-
-
- -
-
-
-

Tasks

-
-
- - - -
-
- -
-
-

Monthly Target

-

Current progress toward the sales target.

-
-
72%
-
-
-
-
-
-
-
-
- - - - diff --git a/public/Archive/june_assets/css/bootstrap.min.css b/public/Archive/june_assets/css/bootstrap.min.css deleted file mode 100644 index 1d8bac4..0000000 --- a/public/Archive/june_assets/css/bootstrap.min.css +++ /dev/null @@ -1,6 +0,0 @@ -@charset "UTF-8";/*! - * Bootstrap v5.3.8 (https://getbootstrap.com/) - * Copyright 2011-2025 The Bootstrap Authors - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}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,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[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}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-weight:300;line-height:1.2;font-size:calc(1.575rem + 3.9vw)}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-weight:300;line-height:1.2;font-size:calc(1.525rem + 3.3vw)}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-weight:300;line-height:1.2;font-size:calc(1.425rem + 2.1vw)}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-weight:300;line-height:1.2;font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.display-6{font-size:2.5rem}}.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:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@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}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.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%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.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%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.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%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.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%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.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%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-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}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius: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}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:.75rem}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>textarea:focus~label::after,.form-floating>textarea:not(:placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label::after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(-1 * var(--bs-border-width));border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.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{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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.1'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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.1'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.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{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.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;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.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{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(-1 * var(--bs-border-width))}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.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-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(-1 * var(--bs-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-grow:1;flex-basis:0;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap: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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.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}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap: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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.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}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap: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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.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}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap: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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.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-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.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:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@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-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-top-left-radius:0;border-bottom-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}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-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,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1 * var(--bs-border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.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:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):focus,.list-group-item-action:not(.active):hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:not(.active):active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;filter:var(--bs-btn-close-filter);border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color:var(--bs-body-color);--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translate(0,-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{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.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 .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{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:0 0;filter:var(--bs-carousel-control-icon-filter);border:0;opacity:.5;transition:opacity .15s ease}@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;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}.spinner-border,.spinner-grow{display:inline-block;flex-shrink:0;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.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}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.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}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!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}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.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}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.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}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!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}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.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-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}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!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}.justify-content-evenly{justify-content:space-evenly!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}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!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;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!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}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.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-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}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!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}.justify-content-sm-evenly{justify-content:space-evenly!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}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!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}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.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-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}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!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}.justify-content-md-evenly{justify-content:space-evenly!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}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!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}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.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-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}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!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}.justify-content-lg-evenly{justify-content:space-evenly!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}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!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}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.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-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}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!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}.justify-content-xl-evenly{justify-content:space-evenly!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}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!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}.d-print-none{display:none!important}} -/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/public/Archive/june_assets/js/bootstrap.bundle.min.js b/public/Archive/june_assets/js/bootstrap.bundle.min.js deleted file mode 100644 index 0b87369..0000000 --- a/public/Archive/june_assets/js/bootstrap.bundle.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v5.3.8 (https://getbootstrap.com/) - * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,function(){"use strict";const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,(t,e)=>`#${CSS.escape(e)}`)),t),s=t=>null==t?`${t}`:Object.prototype.toString.call(t).match(/\s([a-z]+)/i)[1].toLowerCase(),o=t=>{t.dispatchEvent(new Event(i))},r=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),a=t=>r(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,l=t=>{if(!r(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},c=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),h=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?h(t.parentNode):null},d=()=>{},u=t=>{t.offsetHeight},f=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,p=[],m=()=>"rtl"===document.documentElement.dir,g=t=>{var e;e=()=>{const e=f();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(p.length||document.addEventListener("DOMContentLoaded",()=>{for(const t of p)t()}),p.push(e)):e()},_=(t,e=[],i=t)=>"function"==typeof t?t.call(...e):i,b=(t,e,n=!0)=>{if(!n)return void _(t);const s=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),_(t))};e.addEventListener(i,a),setTimeout(()=>{r||o(e)},s)},v=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},y=/[^.]*(?=\..*)\.|.*/,w=/\..*/,A=/::\d+$/,E={};let T=1;const C={mouseenter:"mouseover",mouseleave:"mouseout"},O=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function x(t,e){return e&&`${e}::${T++}`||t.uidEvent||T++}function k(t){const e=x(t);return t.uidEvent=e,E[e]=E[e]||{},E[e]}function L(t,e,i=null){return Object.values(t).find(t=>t.callable===e&&t.delegationSelector===i)}function S(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=N(t);return O.has(o)||(o=t),[n,s,o]}function D(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=S(e,i,n);if(e in C){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=k(t),c=l[a]||(l[a]={}),h=L(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=x(r,e.replace(y,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return j(s,{delegateTarget:r}),n.oneOff&&P.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return j(n,{delegateTarget:t}),i.oneOff&&P.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function $(t,e,i,n,s){const o=L(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function I(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&$(t,e,i,r.callable,r.delegationSelector)}function N(t){return t=t.replace(w,""),C[t]||t}const P={on(t,e,i,n){D(t,e,i,n,!1)},one(t,e,i,n){D(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=S(e,i,n),a=r!==e,l=k(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))I(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(A,"");a&&!e.includes(s)||$(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;$(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=f();let s=null,o=!0,r=!0,a=!1;e!==N(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=j(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function j(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function M(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function F(t){return t.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}const H={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${F(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${F(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter(t=>t.startsWith("bs")&&!t.startsWith("bsConfig"));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1),e[i]=M(t.dataset[n])}return e},getDataAttribute:(t,e)=>M(t.getAttribute(`data-bs-${F(e)}`))};class W{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=r(e)?H.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...r(e)?H.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[i,n]of Object.entries(e)){const e=t[i],o=r(e)?"element":s(e);if(!new RegExp(n).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${i}" provided type "${o}" but expected type "${n}".`)}}}class B extends W{constructor(t,i){super(),(t=a(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),P.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){b(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(a(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.8"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const z=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e?e.split(",").map(t=>n(t)).join(","):null},R={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter(t=>t.matches(e)),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(t=>`${t}:not([tabindex^="-"])`).join(",");return this.find(e,t).filter(t=>!c(t)&&l(t))},getSelectorFromElement(t){const e=z(t);return e&&R.findOne(e)?e:null},getElementFromSelector(t){const e=z(t);return e?R.findOne(e):null},getMultipleElementsFromSelector(t){const e=z(t);return e?R.find(e):[]}},q=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;P.on(document,i,`[data-bs-dismiss="${n}"]`,function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),c(this))return;const s=R.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()})},V=".bs.alert",K=`close${V}`,Q=`closed${V}`;class X extends B{static get NAME(){return"alert"}close(){if(P.trigger(this._element,K).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,t)}_destroyElement(){this._element.remove(),P.trigger(this._element,Q),this.dispose()}static jQueryInterface(t){return this.each(function(){const e=X.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}})}}q(X,"close"),g(X);const Y='[data-bs-toggle="button"]';class U extends B{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each(function(){const e=U.getOrCreateInstance(this);"toggle"===t&&e[t]()})}}P.on(document,"click.bs.button.data-api",Y,t=>{t.preventDefault();const e=t.target.closest(Y);U.getOrCreateInstance(e).toggle()}),g(U);const G=".bs.swipe",J=`touchstart${G}`,Z=`touchmove${G}`,tt=`touchend${G}`,et=`pointerdown${G}`,it=`pointerup${G}`,nt={endCallback:null,leftCallback:null,rightCallback:null},st={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class ot extends W{constructor(t,e){super(),this._element=t,t&&ot.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return nt}static get DefaultType(){return st}static get NAME(){return"swipe"}dispose(){P.off(this._element,G)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),_(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&_(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(P.on(this._element,et,t=>this._start(t)),P.on(this._element,it,t=>this._end(t)),this._element.classList.add("pointer-event")):(P.on(this._element,J,t=>this._start(t)),P.on(this._element,Z,t=>this._move(t)),P.on(this._element,tt,t=>this._end(t)))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const rt=".bs.carousel",at=".data-api",lt="ArrowLeft",ct="ArrowRight",ht="next",dt="prev",ut="left",ft="right",pt=`slide${rt}`,mt=`slid${rt}`,gt=`keydown${rt}`,_t=`mouseenter${rt}`,bt=`mouseleave${rt}`,vt=`dragstart${rt}`,yt=`load${rt}${at}`,wt=`click${rt}${at}`,At="carousel",Et="active",Tt=".active",Ct=".carousel-item",Ot=Tt+Ct,xt={[lt]:ft,[ct]:ut},kt={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Lt={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class St extends B{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=R.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===At&&this.cycle()}static get Default(){return kt}static get DefaultType(){return Lt}static get NAME(){return"carousel"}next(){this._slide(ht)}nextWhenVisible(){!document.hidden&&l(this._element)&&this.next()}prev(){this._slide(dt)}pause(){this._isSliding&&o(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?P.one(this._element,mt,()=>this.cycle()):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void P.one(this._element,mt,()=>this.to(t));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?ht:dt;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&P.on(this._element,gt,t=>this._keydown(t)),"hover"===this._config.pause&&(P.on(this._element,_t,()=>this.pause()),P.on(this._element,bt,()=>this._maybeEnableCycle())),this._config.touch&&ot.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of R.find(".carousel-item img",this._element))P.on(t,vt,t=>t.preventDefault());const t={leftCallback:()=>this._slide(this._directionToOrder(ut)),rightCallback:()=>this._slide(this._directionToOrder(ft)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),500+this._config.interval))}};this._swipeHelper=new ot(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=xt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=R.findOne(Tt,this._indicatorsElement);e.classList.remove(Et),e.removeAttribute("aria-current");const i=R.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(Et),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===ht,s=e||v(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>P.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(pt).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),u(s),i.classList.add(l),s.classList.add(l),this._queueCallback(()=>{s.classList.remove(l,c),s.classList.add(Et),i.classList.remove(Et,c,l),this._isSliding=!1,r(mt)},i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return R.findOne(Ot,this._element)}_getItems(){return R.find(Ct,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return m()?t===ut?dt:ht:t===ut?ht:dt}_orderToDirection(t){return m()?t===dt?ut:ft:t===dt?ft:ut}static jQueryInterface(t){return this.each(function(){const e=St.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)})}}P.on(document,wt,"[data-bs-slide], [data-bs-slide-to]",function(t){const e=R.getElementFromSelector(this);if(!e||!e.classList.contains(At))return;t.preventDefault();const i=St.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===H.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())}),P.on(window,yt,()=>{const t=R.find('[data-bs-ride="carousel"]');for(const e of t)St.getOrCreateInstance(e)}),g(St);const Dt=".bs.collapse",$t=`show${Dt}`,It=`shown${Dt}`,Nt=`hide${Dt}`,Pt=`hidden${Dt}`,jt=`click${Dt}.data-api`,Mt="show",Ft="collapse",Ht="collapsing",Wt=`:scope .${Ft} .${Ft}`,Bt='[data-bs-toggle="collapse"]',zt={parent:null,toggle:!0},Rt={parent:"(null|element)",toggle:"boolean"};class qt extends B{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=R.find(Bt);for(const t of i){const e=R.getSelectorFromElement(t),i=R.find(e).filter(t=>t===this._element);null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return zt}static get DefaultType(){return Rt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter(t=>t!==this._element).map(t=>qt.getOrCreateInstance(t,{toggle:!1}))),t.length&&t[0]._isTransitioning)return;if(P.trigger(this._element,$t).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Ft),this._element.classList.add(Ht),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(Ht),this._element.classList.add(Ft,Mt),this._element.style[e]="",P.trigger(this._element,It)},this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(P.trigger(this._element,Nt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,u(this._element),this._element.classList.add(Ht),this._element.classList.remove(Ft,Mt);for(const t of this._triggerArray){const e=R.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(Ht),this._element.classList.add(Ft),P.trigger(this._element,Pt)},this._element,!0)}_isShown(t=this._element){return t.classList.contains(Mt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=a(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Bt);for(const e of t){const t=R.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=R.find(Wt,this._config.parent);return R.find(t,this._config.parent).filter(t=>!e.includes(t))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each(function(){const i=qt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}})}}P.on(document,jt,Bt,function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of R.getMultipleElementsFromSelector(this))qt.getOrCreateInstance(t,{toggle:!1}).toggle()}),g(qt);var Vt="top",Kt="bottom",Qt="right",Xt="left",Yt="auto",Ut=[Vt,Kt,Qt,Xt],Gt="start",Jt="end",Zt="clippingParents",te="viewport",ee="popper",ie="reference",ne=Ut.reduce(function(t,e){return t.concat([e+"-"+Gt,e+"-"+Jt])},[]),se=[].concat(Ut,[Yt]).reduce(function(t,e){return t.concat([e,e+"-"+Gt,e+"-"+Jt])},[]),oe="beforeRead",re="read",ae="afterRead",le="beforeMain",ce="main",he="afterMain",de="beforeWrite",ue="write",fe="afterWrite",pe=[oe,re,ae,le,ce,he,de,ue,fe];function me(t){return t?(t.nodeName||"").toLowerCase():null}function ge(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function _e(t){return t instanceof ge(t).Element||t instanceof Element}function be(t){return t instanceof ge(t).HTMLElement||t instanceof HTMLElement}function ve(t){return"undefined"!=typeof ShadowRoot&&(t instanceof ge(t).ShadowRoot||t instanceof ShadowRoot)}const ye={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach(function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];be(s)&&me(s)&&(Object.assign(s.style,i),Object.keys(n).forEach(function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)}))})},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach(function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce(function(t,e){return t[e]="",t},{});be(n)&&me(n)&&(Object.assign(n.style,o),Object.keys(s).forEach(function(t){n.removeAttribute(t)}))})}},requires:["computeStyles"]};function we(t){return t.split("-")[0]}var Ae=Math.max,Ee=Math.min,Te=Math.round;function Ce(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Oe(){return!/^((?!chrome|android).)*safari/i.test(Ce())}function xe(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&be(t)&&(s=t.offsetWidth>0&&Te(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&Te(n.height)/t.offsetHeight||1);var r=(_e(t)?ge(t):window).visualViewport,a=!Oe()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function ke(t){var e=xe(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Le(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ve(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Se(t){return ge(t).getComputedStyle(t)}function De(t){return["table","td","th"].indexOf(me(t))>=0}function $e(t){return((_e(t)?t.ownerDocument:t.document)||window.document).documentElement}function Ie(t){return"html"===me(t)?t:t.assignedSlot||t.parentNode||(ve(t)?t.host:null)||$e(t)}function Ne(t){return be(t)&&"fixed"!==Se(t).position?t.offsetParent:null}function Pe(t){for(var e=ge(t),i=Ne(t);i&&De(i)&&"static"===Se(i).position;)i=Ne(i);return i&&("html"===me(i)||"body"===me(i)&&"static"===Se(i).position)?e:i||function(t){var e=/firefox/i.test(Ce());if(/Trident/i.test(Ce())&&be(t)&&"fixed"===Se(t).position)return null;var i=Ie(t);for(ve(i)&&(i=i.host);be(i)&&["html","body"].indexOf(me(i))<0;){var n=Se(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function je(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Me(t,e,i){return Ae(t,Ee(e,i))}function Fe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function He(t,e){return e.reduce(function(e,i){return e[i]=t,e},{})}const We={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=we(i.placement),l=je(a),c=[Xt,Qt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return Fe("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:He(t,Ut))}(s.padding,i),d=ke(o),u="y"===l?Vt:Xt,f="y"===l?Kt:Qt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=Pe(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=Me(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Le(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Be(t){return t.split("-")[1]}var ze={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Re(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=Xt,y=Vt,w=window;if(c){var A=Pe(i),E="clientHeight",T="clientWidth";A===ge(i)&&"static"!==Se(A=$e(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===Vt||(s===Xt||s===Qt)&&o===Jt)&&(y=Kt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==Xt&&(s!==Vt&&s!==Kt||o!==Jt)||(v=Qt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&ze),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:Te(i*s)/s||0,y:Te(n*s)/s||0}}({x:f,y:m},ge(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const qe={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:we(e.placement),variation:Be(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,Re(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,Re(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var Ve={passive:!0};const Ke={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=ge(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach(function(t){t.addEventListener("scroll",i.update,Ve)}),a&&l.addEventListener("resize",i.update,Ve),function(){o&&c.forEach(function(t){t.removeEventListener("scroll",i.update,Ve)}),a&&l.removeEventListener("resize",i.update,Ve)}},data:{}};var Qe={left:"right",right:"left",bottom:"top",top:"bottom"};function Xe(t){return t.replace(/left|right|bottom|top/g,function(t){return Qe[t]})}var Ye={start:"end",end:"start"};function Ue(t){return t.replace(/start|end/g,function(t){return Ye[t]})}function Ge(t){var e=ge(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Je(t){return xe($e(t)).left+Ge(t).scrollLeft}function Ze(t){var e=Se(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function ti(t){return["html","body","#document"].indexOf(me(t))>=0?t.ownerDocument.body:be(t)&&Ze(t)?t:ti(Ie(t))}function ei(t,e){var i;void 0===e&&(e=[]);var n=ti(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=ge(n),r=s?[o].concat(o.visualViewport||[],Ze(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(ei(Ie(r)))}function ii(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ni(t,e,i){return e===te?ii(function(t,e){var i=ge(t),n=$e(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Oe();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Je(t),y:l}}(t,i)):_e(e)?function(t,e){var i=xe(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):ii(function(t){var e,i=$e(t),n=Ge(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=Ae(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=Ae(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Je(t),l=-n.scrollTop;return"rtl"===Se(s||i).direction&&(a+=Ae(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}($e(t)))}function si(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?we(s):null,r=s?Be(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case Vt:e={x:a,y:i.y-n.height};break;case Kt:e={x:a,y:i.y+i.height};break;case Qt:e={x:i.x+i.width,y:l};break;case Xt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?je(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Gt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Jt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function oi(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Zt:a,c=i.rootBoundary,h=void 0===c?te:c,d=i.elementContext,u=void 0===d?ee:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=Fe("number"!=typeof g?g:He(g,Ut)),b=u===ee?ie:ee,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=ei(Ie(t)),i=["absolute","fixed"].indexOf(Se(t).position)>=0&&be(t)?Pe(t):t;return _e(i)?e.filter(function(t){return _e(t)&&Le(t,i)&&"body"!==me(t)}):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce(function(e,i){var s=ni(t,i,n);return e.top=Ae(s.top,e.top),e.right=Ee(s.right,e.right),e.bottom=Ee(s.bottom,e.bottom),e.left=Ae(s.left,e.left),e},ni(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(_e(y)?y:y.contextElement||$e(t.elements.popper),l,h,r),A=xe(t.elements.reference),E=si({reference:A,element:v,placement:s}),T=ii(Object.assign({},v,E)),C=u===ee?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===ee&&x){var k=x[s];Object.keys(O).forEach(function(t){var e=[Qt,Kt].indexOf(t)>=0?1:-1,i=[Vt,Kt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e})}return O}function ri(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?se:l,h=Be(n),d=h?a?ne:ne.filter(function(t){return Be(t)===h}):Ut,u=d.filter(function(t){return c.indexOf(t)>=0});0===u.length&&(u=d);var f=u.reduce(function(e,i){return e[i]=oi(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[we(i)],e},{});return Object.keys(f).sort(function(t,e){return f[t]-f[e]})}const ai={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=we(g),b=l||(_!==g&&p?function(t){if(we(t)===Yt)return[];var e=Xe(t);return[Ue(t),e,Ue(e)]}(g):[Xe(g)]),v=[g].concat(b).reduce(function(t,i){return t.concat(we(i)===Yt?ri(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)},[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=oi(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),$=L?k?Qt:Xt:k?Kt:Vt;y[S]>w[S]&&($=Xe($));var I=Xe($),N=[];if(o&&N.push(D[x]<=0),a&&N.push(D[$]<=0,D[I]<=0),N.every(function(t){return t})){T=O,E=!1;break}A.set(O,N)}if(E)for(var P=function(t){var e=v.find(function(e){var i=A.get(e);if(i)return i.slice(0,t).every(function(t){return t})});if(e)return T=e,"break"},j=p?3:1;j>0&&"break"!==P(j);j--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function li(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ci(t){return[Vt,Qt,Kt,Xt].some(function(e){return t[e]>=0})}const hi={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=oi(e,{elementContext:"reference"}),a=oi(e,{altBoundary:!0}),l=li(r,n),c=li(a,s,o),h=ci(l),d=ci(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},di={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=se.reduce(function(t,i){return t[i]=function(t,e,i){var n=we(t),s=[Xt,Vt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[Xt,Qt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t},{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},ui={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=si({reference:e.rects.reference,element:e.rects.popper,placement:e.placement})},data:{}},fi={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=oi(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=we(e.placement),b=Be(e.placement),v=!b,y=je(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?Vt:Xt,D="y"===y?Kt:Qt,$="y"===y?"height":"width",I=A[y],N=I+g[S],P=I-g[D],j=f?-T[$]/2:0,M=b===Gt?E[$]:T[$],F=b===Gt?-T[$]:-E[$],H=e.elements.arrow,W=f&&H?ke(H):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=Me(0,E[$],W[$]),V=v?E[$]/2-j-q-z-O.mainAxis:M-q-z-O.mainAxis,K=v?-E[$]/2+j+q+R+O.mainAxis:F+q+R+O.mainAxis,Q=e.elements.arrow&&Pe(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=I+K-Y,G=Me(f?Ee(N,I+V-Y-X):N,I,f?Ae(P,U):P);A[y]=G,k[y]=G-I}if(a){var J,Z="x"===y?Vt:Xt,tt="x"===y?Kt:Qt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[Vt,Xt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=Me(t,e,i);return n>i?i:n}(at,et,lt):Me(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function pi(t,e,i){void 0===i&&(i=!1);var n,s,o=be(e),r=be(e)&&function(t){var e=t.getBoundingClientRect(),i=Te(e.width)/t.offsetWidth||1,n=Te(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=$e(e),l=xe(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==me(e)||Ze(a))&&(c=(n=e)!==ge(n)&&be(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Ge(n)),be(e)?((h=xe(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Je(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function mi(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach(function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}}),n.push(t)}return t.forEach(function(t){e.set(t.name,t)}),t.forEach(function(t){i.has(t.name)||s(t)}),n}var gi={placement:"bottom",modifiers:[],strategy:"absolute"};function _i(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(H.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..._(this._config.popperConfig,[void 0,t])}}_selectMenuItem({key:t,target:e}){const i=R.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(t=>l(t));i.length&&v(i,e,t===xi,!i.includes(e)).focus()}static jQueryInterface(t){return this.each(function(){const e=Qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}})}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=R.find(Mi);for(const i of e){const e=Qi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Oi,xi].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(ji)?this:R.prev(this,ji)[0]||R.next(this,ji)[0]||R.findOne(ji,t.delegateTarget.parentNode),o=Qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}P.on(document,Ii,ji,Qi.dataApiKeydownHandler),P.on(document,Ii,Fi,Qi.dataApiKeydownHandler),P.on(document,$i,Qi.clearMenus),P.on(document,Ni,Qi.clearMenus),P.on(document,$i,ji,function(t){t.preventDefault(),Qi.getOrCreateInstance(this).toggle()}),g(Qi);const Xi="backdrop",Yi="show",Ui=`mousedown.bs.${Xi}`,Gi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Ji={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Zi extends W{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Gi}static get DefaultType(){return Ji}static get NAME(){return Xi}show(t){if(!this._config.isVisible)return void _(t);this._append();const e=this._getElement();this._config.isAnimated&&u(e),e.classList.add(Yi),this._emulateAnimation(()=>{_(t)})}hide(t){this._config.isVisible?(this._getElement().classList.remove(Yi),this._emulateAnimation(()=>{this.dispose(),_(t)})):_(t)}dispose(){this._isAppended&&(P.off(this._element,Ui),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=a(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),P.on(t,Ui,()=>{_(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(t){b(t,this._getElement(),this._config.isAnimated)}}const tn=".bs.focustrap",en=`focusin${tn}`,nn=`keydown.tab${tn}`,sn="backward",on={autofocus:!0,trapElement:null},rn={autofocus:"boolean",trapElement:"element"};class an extends W{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return on}static get DefaultType(){return rn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),P.off(document,tn),P.on(document,en,t=>this._handleFocusin(t)),P.on(document,nn,t=>this._handleKeydown(t)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,P.off(document,tn))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=R.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===sn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?sn:"forward")}}const ln=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",cn=".sticky-top",hn="padding-right",dn="margin-right";class un{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,hn,e=>e+t),this._setElementAttributes(ln,hn,e=>e+t),this._setElementAttributes(cn,dn,e=>e-t)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,hn),this._resetElementAttributes(ln,hn),this._resetElementAttributes(cn,dn)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)})}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&H.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,t=>{const i=H.getDataAttribute(t,e);null!==i?(H.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)})}_applyManipulationCallback(t,e){if(r(t))e(t);else for(const i of R.find(t,this._element))e(i)}}const fn=".bs.modal",pn=`hide${fn}`,mn=`hidePrevented${fn}`,gn=`hidden${fn}`,_n=`show${fn}`,bn=`shown${fn}`,vn=`resize${fn}`,yn=`click.dismiss${fn}`,wn=`mousedown.dismiss${fn}`,An=`keydown.dismiss${fn}`,En=`click${fn}.data-api`,Tn="modal-open",Cn="show",On="modal-static",xn={backdrop:!0,focus:!0,keyboard:!0},kn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Ln extends B{constructor(t,e){super(t,e),this._dialog=R.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new un,this._addEventListeners()}static get Default(){return xn}static get DefaultType(){return kn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||P.trigger(this._element,_n,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Tn),this._adjustDialog(),this._backdrop.show(()=>this._showElement(t)))}hide(){this._isShown&&!this._isTransitioning&&(P.trigger(this._element,pn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Cn),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated())))}dispose(){P.off(window,fn),P.off(this._dialog,fn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Zi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new an({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=R.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),u(this._element),this._element.classList.add(Cn),this._queueCallback(()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,P.trigger(this._element,bn,{relatedTarget:t})},this._dialog,this._isAnimated())}_addEventListeners(){P.on(this._element,An,t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())}),P.on(window,vn,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),P.on(this._element,wn,t=>{P.one(this._element,yn,e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(Tn),this._resetAdjustments(),this._scrollBar.reset(),P.trigger(this._element,gn)})}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(P.trigger(this._element,mn).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(On)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(On),this._queueCallback(()=>{this._element.classList.remove(On),this._queueCallback(()=>{this._element.style.overflowY=e},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=m()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=m()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each(function(){const i=Ln.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}})}}P.on(document,En,'[data-bs-toggle="modal"]',function(t){const e=R.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),P.one(e,_n,t=>{t.defaultPrevented||P.one(e,gn,()=>{l(this)&&this.focus()})});const i=R.findOne(".modal.show");i&&Ln.getInstance(i).hide(),Ln.getOrCreateInstance(e).toggle(this)}),q(Ln),g(Ln);const Sn=".bs.offcanvas",Dn=".data-api",$n=`load${Sn}${Dn}`,In="show",Nn="showing",Pn="hiding",jn=".offcanvas.show",Mn=`show${Sn}`,Fn=`shown${Sn}`,Hn=`hide${Sn}`,Wn=`hidePrevented${Sn}`,Bn=`hidden${Sn}`,zn=`resize${Sn}`,Rn=`click${Sn}${Dn}`,qn=`keydown.dismiss${Sn}`,Vn={backdrop:!0,keyboard:!0,scroll:!1},Kn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Qn extends B{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Vn}static get DefaultType(){return Kn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||P.trigger(this._element,Mn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new un).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Nn),this._queueCallback(()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(In),this._element.classList.remove(Nn),P.trigger(this._element,Fn,{relatedTarget:t})},this._element,!0))}hide(){this._isShown&&(P.trigger(this._element,Hn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Pn),this._backdrop.hide(),this._queueCallback(()=>{this._element.classList.remove(In,Pn),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new un).reset(),P.trigger(this._element,Bn)},this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Zi({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():P.trigger(this._element,Wn)}:null})}_initializeFocusTrap(){return new an({trapElement:this._element})}_addEventListeners(){P.on(this._element,qn,t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():P.trigger(this._element,Wn))})}static jQueryInterface(t){return this.each(function(){const e=Qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}})}}P.on(document,Rn,'[data-bs-toggle="offcanvas"]',function(t){const e=R.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),c(this))return;P.one(e,Bn,()=>{l(this)&&this.focus()});const i=R.findOne(jn);i&&i!==e&&Qn.getInstance(i).hide(),Qn.getOrCreateInstance(e).toggle(this)}),P.on(window,$n,()=>{for(const t of R.find(jn))Qn.getOrCreateInstance(t).show()}),P.on(window,zn,()=>{for(const t of R.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&Qn.getOrCreateInstance(t).hide()}),q(Qn),g(Qn);const Xn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Yn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Un=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Gn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Yn.has(i)||Boolean(Un.test(t.nodeValue)):e.filter(t=>t instanceof RegExp).some(t=>t.test(i))},Jn={allowList:Xn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Zn={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},ts={entry:"(string|element|function|null)",selector:"(string|element)"};class es extends W{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Jn}static get DefaultType(){return Zn}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map(t=>this._resolvePossibleFunction(t)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},ts)}_setContent(t,e,i){const n=R.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?r(e)?this._putElementInTemplate(a(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Gn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return _(t,[void 0,this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const is=new Set(["sanitize","allowList","sanitizeFn"]),ns="fade",ss="show",os=".tooltip-inner",rs=".modal",as="hide.bs.modal",ls="hover",cs="focus",hs="click",ds={AUTO:"auto",TOP:"top",RIGHT:m()?"left":"right",BOTTOM:"bottom",LEFT:m()?"right":"left"},us={allowList:Xn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},fs={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class ps extends B{constructor(t,e){if(void 0===Ai)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return us}static get DefaultType(){return fs}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),P.off(this._element.closest(rs),as,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=P.trigger(this._element,this.constructor.eventName("show")),e=(h(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),P.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(ss),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.on(t,"mouseover",d);this._queueCallback(()=>{P.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1},this.tip,this._isAnimated())}hide(){if(this._isShown()&&!P.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(ss),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.off(t,"mouseover",d);this._activeTrigger[hs]=!1,this._activeTrigger[cs]=!1,this._activeTrigger[ls]=!1,this._isHovered=null,this._queueCallback(()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),P.trigger(this._element,this.constructor.eventName("hidden")))},this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ns,ss),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ns),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new es({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[os]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ns)}_isShown(){return this.tip&&this.tip.classList.contains(ss)}_createPopper(t){const e=_(this._config.placement,[this,t,this._element]),i=ds[e.toUpperCase()];return wi(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return _(t,[this._element,this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,..._(this._config.popperConfig,[void 0,e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)P.on(this._element,this.constructor.eventName("click"),this._config.selector,t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger[hs]=!(e._isShown()&&e._activeTrigger[hs]),e.toggle()});else if("manual"!==e){const t=e===ls?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ls?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");P.on(this._element,t,this._config.selector,t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?cs:ls]=!0,e._enter()}),P.on(this._element,i,this._config.selector,t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?cs:ls]=e._element.contains(t.relatedTarget),e._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},P.on(this._element.closest(rs),as,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=H.getDataAttributes(this._element);for(const t of Object.keys(e))is.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:a(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each(function(){const e=ps.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}})}}g(ps);const ms=".popover-header",gs=".popover-body",_s={...ps.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},bs={...ps.DefaultType,content:"(null|string|element|function)"};class vs extends ps{static get Default(){return _s}static get DefaultType(){return bs}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[ms]:this._getTitle(),[gs]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each(function(){const e=vs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}})}}g(vs);const ys=".bs.scrollspy",ws=`activate${ys}`,As=`click${ys}`,Es=`load${ys}.data-api`,Ts="active",Cs="[href]",Os=".nav-link",xs=`${Os}, .nav-item > ${Os}, .list-group-item`,ks={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Ls={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Ss extends B{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ks}static get DefaultType(){return Ls}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=a(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map(t=>Number.parseFloat(t))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(P.off(this._config.target,As),P.on(this._config.target,As,Cs,t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}}))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(t=>this._observerCallback(t),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=R.find(Cs,this._config.target);for(const e of t){if(!e.hash||c(e))continue;const t=R.findOne(decodeURI(e.hash),this._element);l(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(Ts),this._activateParents(t),P.trigger(this._element,ws,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))R.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(Ts);else for(const e of R.parents(t,".nav, .list-group"))for(const t of R.prev(e,xs))t.classList.add(Ts)}_clearActiveClass(t){t.classList.remove(Ts);const e=R.find(`${Cs}.${Ts}`,t);for(const t of e)t.classList.remove(Ts)}static jQueryInterface(t){return this.each(function(){const e=Ss.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}})}}P.on(window,Es,()=>{for(const t of R.find('[data-bs-spy="scroll"]'))Ss.getOrCreateInstance(t)}),g(Ss);const Ds=".bs.tab",$s=`hide${Ds}`,Is=`hidden${Ds}`,Ns=`show${Ds}`,Ps=`shown${Ds}`,js=`click${Ds}`,Ms=`keydown${Ds}`,Fs=`load${Ds}`,Hs="ArrowLeft",Ws="ArrowRight",Bs="ArrowUp",zs="ArrowDown",Rs="Home",qs="End",Vs="active",Ks="fade",Qs="show",Xs=".dropdown-toggle",Ys=`:not(${Xs})`,Us='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Gs=`.nav-link${Ys}, .list-group-item${Ys}, [role="tab"]${Ys}, ${Us}`,Js=`.${Vs}[data-bs-toggle="tab"], .${Vs}[data-bs-toggle="pill"], .${Vs}[data-bs-toggle="list"]`;class Zs extends B{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),P.on(this._element,Ms,t=>this._keydown(t)))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?P.trigger(e,$s,{relatedTarget:t}):null;P.trigger(t,Ns,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Vs),this._activate(R.getElementFromSelector(t)),this._queueCallback(()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),P.trigger(t,Ps,{relatedTarget:e})):t.classList.add(Qs)},t,t.classList.contains(Ks)))}_deactivate(t,e){t&&(t.classList.remove(Vs),t.blur(),this._deactivate(R.getElementFromSelector(t)),this._queueCallback(()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),P.trigger(t,Is,{relatedTarget:e})):t.classList.remove(Qs)},t,t.classList.contains(Ks)))}_keydown(t){if(![Hs,Ws,Bs,zs,Rs,qs].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter(t=>!c(t));let i;if([Rs,qs].includes(t.key))i=e[t.key===Rs?0:e.length-1];else{const n=[Ws,zs].includes(t.key);i=v(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Zs.getOrCreateInstance(i).show())}_getChildren(){return R.find(Gs,this._parent)}_getActiveElem(){return this._getChildren().find(t=>this._elemIsActive(t))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=R.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=R.findOne(t,i);s&&s.classList.toggle(n,e)};n(Xs,Vs),n(".dropdown-menu",Qs),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Vs)}_getInnerElement(t){return t.matches(Gs)?t:R.findOne(Gs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each(function(){const e=Zs.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}})}}P.on(document,js,Us,function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),c(this)||Zs.getOrCreateInstance(this).show()}),P.on(window,Fs,()=>{for(const t of R.find(Js))Zs.getOrCreateInstance(t)}),g(Zs);const to=".bs.toast",eo=`mouseover${to}`,io=`mouseout${to}`,no=`focusin${to}`,so=`focusout${to}`,oo=`hide${to}`,ro=`hidden${to}`,ao=`show${to}`,lo=`shown${to}`,co="hide",ho="show",uo="showing",fo={animation:"boolean",autohide:"boolean",delay:"number"},po={animation:!0,autohide:!0,delay:5e3};class mo extends B{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return po}static get DefaultType(){return fo}static get NAME(){return"toast"}show(){P.trigger(this._element,ao).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(co),u(this._element),this._element.classList.add(ho,uo),this._queueCallback(()=>{this._element.classList.remove(uo),P.trigger(this._element,lo),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this.isShown()&&(P.trigger(this._element,oo).defaultPrevented||(this._element.classList.add(uo),this._queueCallback(()=>{this._element.classList.add(co),this._element.classList.remove(uo,ho),P.trigger(this._element,ro)},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(ho),super.dispose()}isShown(){return this._element.classList.contains(ho)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){P.on(this._element,eo,t=>this._onInteraction(t,!0)),P.on(this._element,io,t=>this._onInteraction(t,!1)),P.on(this._element,no,t=>this._onInteraction(t,!0)),P.on(this._element,so,t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each(function(){const e=mo.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}})}}return q(mo),g(mo),{Alert:X,Button:U,Carousel:St,Collapse:qt,Dropdown:Qi,Modal:Ln,Offcanvas:Qn,Popover:vs,ScrollSpy:Ss,Tab:Zs,Toast:mo,Tooltip:ps}}); -//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/public/admin_assets_new/css/style.css b/public/admin_assets_new/css/style.css deleted file mode 100644 index 4f29dbf..0000000 --- a/public/admin_assets_new/css/style.css +++ /dev/null @@ -1,302 +0,0 @@ -:root { - /* Modern light theme - soft blue-gray tones */ - --c-bkg-body: #f0f4f8; - --c-bkg-card: #ffffff; - --c-bkg-sidebar: #ffffff; - --c-bkg-hover: #f8fafc; - - --c-text-base: #1e293b; - --c-text-muted: #64748b; - --c-text-light: #94a3b8; - - /* Icon colors - modern muted tones */ - --c-icon: #64748b; - --c-icon-hover: #6366f1; - --c-icon-active: #4f46e5; - --c-icon-muted: #94a3b8; - - /* Modern border with subtle blue tint */ - --c-border: #e2e8f0; - --c-border-light: #f1f5f9; - - /* Refined brand colors - modern indigo */ - --c-primary: #6366f1; - --c-primary-light: #818cf8; - --c-primary-dark: #4f46e5; - --c-success: #10b981; - --c-warning: #f59e0b; - --c-danger: #ef4444; - --c-info: #0ea5e9; - - /* Modern shadows */ - --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05); - --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.07), 0 2px 4px -2px rgb(0 0 0 / 0.05); - --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.08), 0 4px 6px -4px rgb(0 0 0 / 0.05); - --shadow-card: 0 1px 3px 0 rgb(0 0 0 / 0.04), 0 1px 2px -1px rgb(0 0 0 / 0.04); - - /* Border radius */ - --radius-sm: 6px; - --radius-md: 10px; - --radius-lg: 14px; - --radius-xl: 20px; - - /* Vector map colors */ - --vmap-bg-color: #ffffff; - --vmap-border-color: #ffffff; - --vmap-region-color: #e4ecef; - --vmap-marker-fill: #ffffff; - --vmap-marker-stroke: #000000; - --vmap-hover-color: #ffffff; - --vmap-selected-color: #c9dfaf; - --vmap-scale-start: #03a9f3; - --vmap-scale-end: #02a7f1; - --vmap-scale-light: #b6d6ff; - --vmap-scale-dark: #005ace; - - /* Skycons */ - --skycons-color: #ff6849; - - /* Sparkline colors - more vibrant */ - --sparkline-success: #10b981; - --sparkline-purple: #8b5cf6; - --sparkline-info: #0ea5e9; - --sparkline-danger: #ef4444; - --sparkline-light: #a5b4fc; - - /* Loader */ - --loader-bg: #ffffff; - --spinner-bg: #333333; - - /* Google Maps */ - --gmap-landscape-hue: #FFBB00; - --gmap-highway-hue: #FFC200; - --gmap-road-hue: #FF0300; - --gmap-water-hue: #0078FF; - --gmap-poi-hue: #00FF6A; -} - -[data-theme="dark"] { - /* Modern dark theme - refined dark slate */ - --c-bkg-body: #0f172a; - --c-bkg-card: #1e293b; - --c-bkg-sidebar: #1e293b; - --c-bkg-hover: #334155; - - --c-text-base: #f1f5f9; - --c-text-muted: #94a3b8; - --c-text-light: #64748b; - - /* Icon colors - dark theme */ - --c-icon: #94a3b8; - --c-icon-hover: #a5b4fc; - --c-icon-active: #818cf8; - --c-icon-muted: #64748b; - - --c-border: #334155; - --c-border-light: #475569; - - /* Same primary for consistency, adjusted for dark */ - --c-primary: #818cf8; - --c-primary-light: #a5b4fc; - --c-primary-dark: #6366f1; - --c-success: #34d399; - --c-warning: #fbbf24; - --c-danger: #f87171; - --c-info: #38bdf8; - - /* Dark mode shadows */ - --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.3); - --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.4), 0 2px 4px -2px rgb(0 0 0 / 0.3); - --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.5), 0 4px 6px -4px rgb(0 0 0 / 0.4); - --shadow-card: 0 1px 3px 0 rgb(0 0 0 / 0.2), 0 1px 2px -1px rgb(0 0 0 / 0.2); - - /* Vector map colors - dark theme */ - --vmap-bg-color: #1e293b; - --vmap-border-color: #334155; - --vmap-region-color: #334155; - --vmap-marker-fill: #f1f5f9; - --vmap-marker-stroke: #94a3b8; - --vmap-hover-color: #0f172a; - --vmap-selected-color: #475569; - --vmap-scale-start: #6366f1; - --vmap-scale-end: #4f46e5; - --vmap-scale-light: #4338ca; - --vmap-scale-dark: #a5b4fc; - - /* Skycons - dark theme */ - --skycons-color: #fb923c; - - /* Sparkline colors - dark theme */ - --sparkline-success: #34d399; - --sparkline-purple: #a78bfa; - --sparkline-info: #38bdf8; - --sparkline-danger: #f87171; - --sparkline-light: #a5b4fc; - - /* Loader - dark theme */ - --loader-bg: #0f172a; - --spinner-bg: #f1f5f9; - - /* Google Maps - dark theme */ - --gmap-landscape-hue: #D4AC0D; - --gmap-highway-hue: #E6AC00; - --gmap-road-hue: #CC2900; - --gmap-water-hue: #1B4F72; - --gmap-poi-hue: #148F77; -} - -/*! - * Bootstrap v5.3.8 (https://getbootstrap.com/) - * Copyright 2011-2025 The Bootstrap Authors - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-primary-rgb: 13, 110, 253;--bs-secondary-rgb: 108, 117, 125;--bs-success-rgb: 25, 135, 84;--bs-info-rgb: 13, 202, 240;--bs-warning-rgb: 255, 193, 7;--bs-danger-rgb: 220, 53, 69;--bs-light-rgb: 248, 249, 250;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: rgb(5.2, 44, 101.2);--bs-secondary-text-emphasis: rgb(43.2, 46.8, 50);--bs-success-text-emphasis: rgb(10, 54, 33.6);--bs-info-text-emphasis: rgb(5.2, 80.8, 96);--bs-warning-text-emphasis: rgb(102, 77.2, 2.8);--bs-danger-text-emphasis: rgb(88, 21.2, 27.6);--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: rgb(206.6, 226, 254.6);--bs-secondary-bg-subtle: rgb(225.6, 227.4, 229);--bs-success-bg-subtle: rgb(209, 231, 220.8);--bs-info-bg-subtle: rgb(206.6, 244.4, 252);--bs-warning-bg-subtle: rgb(255, 242.6, 205.4);--bs-danger-bg-subtle: rgb(248, 214.6, 217.8);--bs-light-bg-subtle: rgb(251.5, 252, 252.5);--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: rgb(158.2, 197, 254.2);--bs-secondary-border-subtle: rgb(196.2, 199.8, 203);--bs-success-border-subtle: rgb(163, 207, 186.6);--bs-info-border-subtle: rgb(158.2, 233.8, 249);--bs-warning-border-subtle: rgb(255, 230.2, 155.8);--bs-danger-border-subtle: rgb(241, 174.2, 180.6);--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: system-ui,Segoe UI,Ubuntu,Cantarell,Noto Sans, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0d6efd;--bs-link-color-rgb: 13, 110, 253;--bs-link-decoration: underline;--bs-link-hover-color: rgb(10.4, 88, 202.4);--bs-link-hover-color-rgb: 10, 88, 202;--bs-code-color: #d63384;--bs-highlight-color: #212529;--bs-highlight-bg: rgb(255, 242.6, 205.4);--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, 0.175);--bs-border-radius: 0.375rem;--bs-border-radius-sm: 0.25rem;--bs-border-radius-lg: 0.5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width: 0.25rem;--bs-focus-ring-opacity: 0.25;--bs-focus-ring-color: rgba(13, 110, 253, 0.25);--bs-form-valid-color: #198754;--bs-form-valid-border-color: #198754;--bs-form-invalid-color: #dc3545;--bs-form-invalid-border-color: #dc3545}[data-bs-theme=dark]{--csstools-color-scheme--light: ;color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: rgb(42.5, 47.5, 52.5);--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: rgb(109.8, 168, 253.8);--bs-secondary-text-emphasis: rgb(166.8, 172.2, 177);--bs-success-text-emphasis: rgb(117, 183, 152.4);--bs-info-text-emphasis: rgb(109.8, 223.2, 246);--bs-warning-text-emphasis: rgb(255, 217.8, 106.2);--bs-danger-text-emphasis: rgb(234, 133.8, 143.4);--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: rgb(2.6, 22, 50.6);--bs-secondary-bg-subtle: rgb(21.6, 23.4, 25);--bs-success-bg-subtle: rgb(5, 27, 16.8);--bs-info-bg-subtle: rgb(2.6, 40.4, 48);--bs-warning-bg-subtle: rgb(51, 38.6, 1.4);--bs-danger-bg-subtle: rgb(44, 10.6, 13.8);--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: rgb(7.8, 66, 151.8);--bs-secondary-border-subtle: rgb(64.8, 70.2, 75);--bs-success-border-subtle: rgb(15, 81, 50.4);--bs-info-border-subtle: rgb(7.8, 121.2, 144);--bs-warning-border-subtle: rgb(153, 115.8, 4.2);--bs-danger-border-subtle: rgb(132, 31.8, 41.4);--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: rgb(109.8, 168, 253.8);--bs-link-hover-color: rgb(138.84, 185.4, 254.04);--bs-link-color-rgb: 110, 168, 254;--bs-link-hover-color-rgb: 139, 185, 254;--bs-code-color: rgb(230.4, 132.6, 181.2);--bs-highlight-color: #dee2e6;--bs-highlight-bg: rgb(102, 77.2, 2.8);--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, 0.15);--bs-form-valid-color: rgb(117, 183, 152.4);--bs-form-valid-border-color: rgb(117, 183, 152.4);--bs-form-invalid-color: rgb(234, 133.8, 143.4);--bs-form-invalid-border-color: rgb(234, 133.8, 143.4)}*,*::before,*::after{box-sizing:border-box}@media(prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media(min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + 0.9vw)}@media(min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + 0.6vw)}@media(min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + 0.3vw)}@media(min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}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:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:0.875em}mark,.mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:0.75em;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));-webkit-text-decoration:underline;text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;-webkit-text-decoration:none;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:0.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:0.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:0.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}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,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none !important}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}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:calc(1.275rem + 0.3vw)}@media(min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media(min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-weight:300;line-height:1.2;font-size:calc(1.575rem + 3.9vw)}@media(min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-weight:300;line-height:1.2;font-size:calc(1.525rem + 3.3vw)}@media(min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media(min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-weight:300;line-height:1.2;font-size:calc(1.425rem + 2.1vw)}@media(min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-weight:300;line-height:1.2;font-size:calc(1.375rem + 1.5vw)}@media(min-width: 1200px){.display-6{font-size:2.5rem}}.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:.5rem}.initialism{font-size:0.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:0.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:0.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);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}}@media(min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1*var(--bs-gutter-y));margin-right:calc(-0.5*var(--bs-gutter-x));margin-left:calc(-0.5*var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.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%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: 0.25rem}.g-1,.gy-1{--bs-gutter-y: 0.25rem}.g-2,.gx-2{--bs-gutter-x: 0.5rem}.g-2,.gy-2{--bs-gutter-y: 0.5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media(min-width: 576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.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%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: 0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: 0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: 0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: 0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media(min-width: 768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.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%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: 0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y: 0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x: 0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y: 0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media(min-width: 992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.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%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: 0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: 0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: 0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: 0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media(min-width: 1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.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%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: 0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: 0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: 0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: 0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media(min-width: 1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: 0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: 0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: 0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: 0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-emphasis-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-emphasis-color);--bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color: var(--bs-emphasis-color);--bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color: var(--bs-emphasis-color);--bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width)*2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: rgb(206.6, 226, 254.6);--bs-table-border-color: rgb(165.28, 180.8, 203.68);--bs-table-striped-bg: rgb(196.27, 214.7, 241.87);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(185.94, 203.4, 229.14);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(191.105, 209.05, 235.505);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: rgb(225.6, 227.4, 229);--bs-table-border-color: rgb(180.48, 181.92, 183.2);--bs-table-striped-bg: rgb(214.32, 216.03, 217.55);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(203.04, 204.66, 206.1);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(208.68, 210.345, 211.825);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: rgb(209, 231, 220.8);--bs-table-border-color: rgb(167.2, 184.8, 176.64);--bs-table-striped-bg: rgb(198.55, 219.45, 209.76);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(188.1, 207.9, 198.72);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(193.325, 213.675, 204.24);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: rgb(206.6, 244.4, 252);--bs-table-border-color: rgb(165.28, 195.52, 201.6);--bs-table-striped-bg: rgb(196.27, 232.18, 239.4);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(185.94, 219.96, 226.8);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(191.105, 226.07, 233.1);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: rgb(255, 242.6, 205.4);--bs-table-border-color: rgb(204, 194.08, 164.32);--bs-table-striped-bg: rgb(242.25, 230.47, 195.13);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(229.5, 218.34, 184.86);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(235.875, 224.405, 189.995);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: rgb(248, 214.6, 217.8);--bs-table-border-color: rgb(198.4, 171.68, 174.24);--bs-table-striped-bg: rgb(235.6, 203.87, 206.91);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(223.2, 193.14, 196.02);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(229.4, 198.505, 201.465);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: rgb(198.4, 199.2, 200);--bs-table-striped-bg: rgb(235.6, 236.55, 237.5);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(223.2, 224.1, 225);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(229.4, 230.325, 231.25);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: rgb(77.4, 80.6, 83.8);--bs-table-striped-bg: rgb(44.1, 47.9, 51.7);--bs-table-striped-color: #fff;--bs-table-active-bg: rgb(55.2, 58.8, 62.4);--bs-table-active-color: #fff;--bs-table-hover-bg: rgb(49.65, 53.35, 57.05);--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(0.375rem + var(--bs-border-width));padding-bottom:calc(0.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(0.5rem + var(--bs-border-width));padding-bottom:calc(0.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(0.25rem + var(--bs-border-width));padding-bottom:calc(0.25rem + var(--bs-border-width));font-size:0.875rem}.form-text{margin-top:.25rem;font-size:0.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:rgb(134,182.5,254);outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-0.375rem -0.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:rgba(0,0,0,0);border:solid rgba(0,0,0,0);border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:0.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-0.25rem -0.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-0.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0 !important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23343a40%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:rgb(134,182.5,254);outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23dee2e6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:rgb(134,182.5,254);outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27m6 10 3 3 6-6%27/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%272%27 fill=%27%23fff%27/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27M6 10h8%27/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%280, 0, 0, 0.25%29%27/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgb%28134, 182.5, 254%29%27/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%23fff%27/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%28255, 255, 255, 0.25%29%27/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgba(0,0,0,0)}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-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}@media(prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:rgb(182.4,211.5,254.4)}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:var(--bs-secondary-bg);border-color:rgba(0,0,0,0);border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius: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}@media(prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:rgb(182.4,211.5,254.4)}.form-range::-moz-range-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:var(--bs-secondary-bg);border-color:rgba(0,0,0,0);border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb), 0.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder, .form-floating>.form-control-plaintext::-moz-placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control:not(:-moz-placeholder), .form-floating>.form-control-plaintext:not(:-moz-placeholder){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:.75rem}.form-floating>.form-control:not(:-moz-placeholder)~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>textarea:not(:-moz-placeholder)~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>textarea:focus~label::after,.form-floating>textarea:not(:placeholder-shown)~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label::after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(-1*var(--bs-border-width));border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.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:var(--bs-form-valid-border-color);padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.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.1%27/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb), 0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.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.1%27/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb), 0.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + 0.75rem))}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb), 0.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.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:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb), 0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb), 0.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + 0.75rem))}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb), 0.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: 0.75rem;--bs-btn-padding-y: 0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: var(--bs-border-radius);--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity: 0.65;--bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;-webkit-text-decoration:none;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgb(11.05, 93.5, 215.05);--bs-btn-hover-border-color: rgb(10.4, 88, 202.4);--bs-btn-focus-shadow-rgb: 49, 132, 253;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgb(10.4, 88, 202.4);--bs-btn-active-border-color: rgb(9.75, 82.5, 189.75);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0d6efd;--bs-btn-disabled-border-color: #0d6efd}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgb(91.8, 99.45, 106.25);--bs-btn-hover-border-color: rgb(86.4, 93.6, 100);--bs-btn-focus-shadow-rgb: 130, 138, 145;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgb(86.4, 93.6, 100);--bs-btn-active-border-color: rgb(81, 87.75, 93.75);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6c757d;--bs-btn-disabled-border-color: #6c757d}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgb(21.25, 114.75, 71.4);--bs-btn-hover-border-color: rgb(20, 108, 67.2);--bs-btn-focus-shadow-rgb: 60, 153, 110;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgb(20, 108, 67.2);--bs-btn-active-border-color: rgb(18.75, 101.25, 63);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #198754;--bs-btn-disabled-border-color: #198754}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: rgb(49.3, 209.95, 242.25);--bs-btn-hover-border-color: rgb(37.2, 207.3, 241.5);--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: rgb(61.4, 212.6, 243);--bs-btn-active-border-color: rgb(37.2, 207.3, 241.5);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: rgb(255, 202.3, 44.2);--bs-btn-hover-border-color: rgb(255, 199.2, 31.8);--bs-btn-focus-shadow-rgb: 217, 164, 6;--bs-btn-active-color: #000;--bs-btn-active-bg: rgb(255, 205.4, 56.6);--bs-btn-active-border-color: rgb(255, 199.2, 31.8);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffc107;--bs-btn-disabled-border-color: #ffc107}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgb(187, 45.05, 58.65);--bs-btn-hover-border-color: rgb(176, 42.4, 55.2);--bs-btn-focus-shadow-rgb: 225, 83, 97;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgb(176, 42.4, 55.2);--bs-btn-active-border-color: rgb(165, 39.75, 51.75);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #dc3545;--bs-btn-disabled-border-color: #dc3545}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: rgb(210.8, 211.65, 212.5);--bs-btn-hover-border-color: rgb(198.4, 199.2, 200);--bs-btn-focus-shadow-rgb: 211, 212, 213;--bs-btn-active-color: #000;--bs-btn-active-bg: rgb(198.4, 199.2, 200);--bs-btn-active-border-color: rgb(186, 186.75, 187.5);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgb(66.3, 69.7, 73.1);--bs-btn-hover-border-color: rgb(55.2, 58.8, 62.4);--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgb(77.4, 80.6, 83.8);--bs-btn-active-border-color: rgb(55.2, 58.8, 62.4);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-primary{--bs-btn-color: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0d6efd;--bs-btn-hover-border-color: #0d6efd;--bs-btn-focus-shadow-rgb: 13, 110, 253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0d6efd;--bs-btn-active-border-color: #0d6efd;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #0d6efd;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0d6efd;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c757d;--bs-btn-hover-border-color: #6c757d;--bs-btn-focus-shadow-rgb: 108, 117, 125;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6c757d;--bs-btn-active-border-color: #6c757d;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6c757d;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #198754;--bs-btn-hover-border-color: #198754;--bs-btn-focus-shadow-rgb: 25, 135, 84;--bs-btn-active-color: #fff;--bs-btn-active-bg: #198754;--bs-btn-active-border-color: #198754;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #198754;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #198754;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffc107;--bs-btn-hover-border-color: #ffc107;--bs-btn-focus-shadow-rgb: 255, 193, 7;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffc107;--bs-btn-active-border-color: #ffc107;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #ffc107;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffc107;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #dc3545;--bs-btn-hover-border-color: #dc3545;--bs-btn-focus-shadow-rgb: 220, 53, 69;--bs-btn-active-color: #fff;--bs-btn-active-bg: #dc3545;--bs-btn-active-border-color: #dc3545;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #dc3545;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dc3545;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248, 249, 250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 49, 132, 253;-webkit-text-decoration:underline;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: 0.5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: 0.25rem;--bs-btn-padding-x: 0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.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;transition:height .35s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid rgba(0,0,0,0);border-bottom:0;border-left:.3em solid rgba(0,0,0,0)}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: 0.5rem;--bs-dropdown-spacer: 0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: 0.5rem;--bs-dropdown-box-shadow: var(--bs-box-shadow);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: 0.25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: 0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media(min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid rgba(0,0,0,0);border-bottom:.3em solid;border-left:.3em solid rgba(0,0,0,0)}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:0;border-bottom:.3em solid rgba(0,0,0,0);border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:.3em solid;border-bottom:.3em solid rgba(0,0,0,0)}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background-color:rgba(0,0,0,0);border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);-webkit-text-decoration:none;text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:rgba(0,0,0,0)}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:0.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.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-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.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{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(-1*var(--bs-border-width))}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.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:calc(-1*var(--bs-border-width))}.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:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: 0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);-webkit-text-decoration:none;text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1*var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid rgba(0,0,0,0);border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1*var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: 0.125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid rgba(0,0,0,0)}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-grow:1;flex-basis:0;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: 0.5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: 0.3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: 0.5rem;--bs-navbar-toggler-padding-y: 0.25rem;--bs-navbar-toggler-padding-x: 0.75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%2833, 37, 41, 0.75%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: 0.25rem;--bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);-webkit-text-decoration:none;text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: 0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:rgba(0,0,0,0);border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media(prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{-webkit-text-decoration:none;text-decoration:none}.navbar-toggler:focus{-webkit-text-decoration:none;text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media(min-width: 576px){.navbar-expand-sm{flex-wrap: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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.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}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 768px){.navbar-expand-md{flex-wrap: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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.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}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 992px){.navbar-expand-lg{flex-wrap: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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.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}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1200px){.navbar-expand-xl{flex-wrap: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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.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-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, 0.55);--bs-navbar-hover-color: rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.55%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.55%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: 0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: 0.5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: 0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.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:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-0.5*var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-0.5*var(--bs-card-cap-padding-x));margin-bottom:calc(-1*var(--bs-card-cap-padding-y));margin-left:calc(-0.5*var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-0.5*var(--bs-card-cap-padding-x));margin-left:calc(-0.5*var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@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}}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-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, border-radius 0.15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27 stroke=%27%23212529%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3e%3cpath d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27 stroke=%27rgb%285.2, 44, 101.2%29%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3e%3cpath d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media(prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1*var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media(prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27rgb%28109.8, 168, 253.8%29%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708%27/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27rgb%28109.8, 168, 253.8%29%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708%27/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: var(--bs-secondary-color);--bs-breadcrumb-item-padding-x: 0.5rem;--bs-breadcrumb-item-active-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: 0.75rem;--bs-pagination-padding-y: 0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: var(--bs-body-bg);--bs-pagination-border-width: var(--bs-border-width);--bs-pagination-border-color: var(--bs-border-color);--bs-pagination-border-radius: var(--bs-border-radius);--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: var(--bs-tertiary-bg);--bs-pagination-hover-border-color: var(--bs-border-color);--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: var(--bs-secondary-bg);--bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0d6efd;--bs-pagination-active-border-color: #0d6efd;--bs-pagination-disabled-color: var(--bs-secondary-color);--bs-pagination-disabled-bg: var(--bs-secondary-bg);--bs-pagination-disabled-border-color: var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);-webkit-text-decoration:none;text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1*var(--bs-border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: 0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius: var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x: 0.5rem;--bs-pagination-padding-y: 0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius: var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x: 0.65em;--bs-badge-padding-y: 0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg: var(--bs-secondary-bg);--bs-progress-border-radius: var(--bs-border-radius);--bs-progress-box-shadow: var(--bs-box-shadow-inset);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0d6efd;--bs-progress-bar-transition: width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@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:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: var(--bs-body-color);--bs-list-group-bg: var(--bs-body-bg);--bs-list-group-border-color: var(--bs-border-color);--bs-list-group-border-width: var(--bs-border-width);--bs-list-group-border-radius: var(--bs-border-radius);--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: 0.5rem;--bs-list-group-action-color: var(--bs-secondary-color);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);--bs-list-group-action-active-color: var(--bs-body-color);--bs-list-group-action-active-bg: var(--bs-secondary-bg);--bs-list-group-disabled-color: var(--bs-secondary-color);--bs-list-group-disabled-bg: var(--bs-body-bg);--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0d6efd;--bs-list-group-active-border-color: #0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);-webkit-text-decoration:none;text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.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:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1*var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):hover,.list-group-item-action:not(.active):focus{z-index:1;color:var(--bs-list-group-action-hover-color);-webkit-text-decoration:none;text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:not(.active):active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23000%27%3e%3cpath d=%27M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414%27/%3e%3c/svg%3e");--bs-btn-close-opacity: 0.5;--bs-btn-close-hover-opacity: 0.75;--bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: 0.25;box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:rgba(0,0,0,0) var(--bs-btn-close-bg) center/1em auto no-repeat;filter:var(--bs-btn-close-filter);border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);-webkit-text-decoration:none;text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{--bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: 0.75rem;--bs-toast-padding-y: 0.5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-0.5*var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: 0.5rem;--bs-modal-color: var(--bs-body-color);--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: var(--bs-box-shadow-sm);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: 0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translate(0, -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{height:calc(100% - var(--bs-modal-margin)*2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin)*2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: 0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y)*.5) calc(var(--bs-modal-header-padding-x)*.5);margin-top:calc(-0.5*var(--bs-modal-header-padding-y));margin-right:calc(-0.5*var(--bs-modal-header-padding-x));margin-bottom:calc(-0.5*var(--bs-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap)*.5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap)*.5)}@media(min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media(min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media(min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media(max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media(max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media(max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media(max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media(max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: 0.5rem;--bs-tooltip-padding-y: 0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color: var(--bs-body-bg);--bs-tooltip-bg: var(--bs-emphasis-color);--bs-tooltip-border-radius: var(--bs-border-radius);--bs-tooltip-opacity: 0.9;--bs-tooltip-arrow-width: 0.8rem;--bs-tooltip-arrow-height: 0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;-webkit-text-decoration:none;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1*var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1*var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1*var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1*var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width)*.5) 0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size:0.875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: var(--bs-box-shadow);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: 0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: 0.5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;-webkit-text-decoration:none;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:rgba(0,0,0,0);border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{border-width:0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-0.5*var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width)*.5) 0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.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 .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-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{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-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{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;filter:var(--bs-carousel-control-icon-filter);border:0;opacity:.5;transition:opacity .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;-webkit-text-decoration:none;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0%27/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")*/}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708%27/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")*/}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid rgba(0,0,0,0);border-bottom:10px solid rgba(0,0,0,0);opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg: #000;--bs-carousel-caption-color: #000;--bs-carousel-control-icon-filter: invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg: #fff;--bs-carousel-caption-color: #fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg: #000;--bs-carousel-caption-color: #000;--bs-carousel-control-icon-filter: invert(1) grayscale(100)}.spinner-grow,.spinner-border{display:inline-block;flex-shrink:0;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -0.125em;--bs-spinner-border-width: 0.25em;--bs-spinner-animation-speed: 0.75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:rgba(0,0,0,0)}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: 0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -0.125em;--bs-spinner-animation-speed: 0.75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media(prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);--bs-offcanvas-transition: transform 0.3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}@media(max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 575.98px)and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media(max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media(min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 767.98px)and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media(max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media(min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 991.98px)and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media(max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media(min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 1199.98px)and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media(max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media(min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 1399.98px)and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media(max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media(min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media(prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y)*.5) calc(var(--bs-offcanvas-padding-x)*.5);margin-top:calc(-0.5*var(--bs-offcanvas-padding-y));margin-right:calc(-0.5*var(--bs-offcanvas-padding-x));margin-bottom:calc(-0.5*var(--bs-offcanvas-padding-y));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff !important;background-color:RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#fff !important;background-color:RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#000 !important;background-color:RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#000 !important;background-color:RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important}.link-primary{color:RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-primary:hover,.link-primary:focus{color:RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important}.link-secondary{color:RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-secondary:hover,.link-secondary:focus{color:RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important}.link-success{color:RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-success:hover,.link-success:focus{color:RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important}.link-info{color:RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-info:hover,.link-info:focus{color:RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important}.link-warning{color:RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-warning:hover,.link-warning:focus{color:RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important}.link-danger{color:RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-danger:hover,.link-danger:focus{color:RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important}.link-light{color:RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-light:hover,.link-light:focus{color:RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important}.link-dark{color:RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-dark:hover,.link-dark:focus{color:RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media(prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(0.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.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}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media(min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute !important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.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}.float-start{float:left !important}.float-end{float:right !important}.float-none{float:none !important}.object-fit-contain{object-fit:contain !important}.object-fit-cover{object-fit:cover !important}.object-fit-fill{object-fit:fill !important}.object-fit-scale{object-fit:scale-down !important}.object-fit-none{object-fit:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.75 !important}.opacity-100{opacity:1 !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.overflow-x-auto{overflow-x:auto !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-x-visible{overflow-x:visible !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-auto{overflow-y:auto !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-y-visible{overflow-y:visible !important}.overflow-y-scroll{overflow-y:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-inline-grid{display:inline-grid !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}.d-none{display:none !important}.shadow{box-shadow:var(--bs-box-shadow) !important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm) !important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg) !important}.shadow-none{box-shadow:none !important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-0{border:0 !important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-top-0{border-top:0 !important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-start-0{border-left:0 !important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle) !important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle) !important}.border-success-subtle{border-color:var(--bs-success-border-subtle) !important}.border-info-subtle{border-color:var(--bs-info-border-subtle) !important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle) !important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle) !important}.border-light-subtle{border-color:var(--bs-light-border-subtle) !important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle) !important}.border-1{border-width:1px !important}.border-2{border-width:2px !important}.border-3{border-width:3px !important}.border-4{border-width:4px !important}.border-5{border-width:5px !important}.border-opacity-10{--bs-border-opacity: 0.1}.border-opacity-25{--bs-border-opacity: 0.25}.border-opacity-50{--bs-border-opacity: 0.5}.border-opacity-75{--bs-border-opacity: 0.75}.border-opacity-100{--bs-border-opacity: 1}.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}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !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}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.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-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}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !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}.justify-content-evenly{justify-content:space-evenly !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}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:3rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:3rem !important}.ms-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.row-gap-0{row-gap:0 !important}.row-gap-1{row-gap:.25rem !important}.row-gap-2{row-gap:.5rem !important}.row-gap-3{row-gap:1rem !important}.row-gap-4{row-gap:1.5rem !important}.row-gap-5{row-gap:3rem !important}.column-gap-0{-moz-column-gap:0 !important;column-gap:0 !important}.column-gap-1{-moz-column-gap:.25rem !important;column-gap:.25rem !important}.column-gap-2{-moz-column-gap:.5rem !important;column-gap:.5rem !important}.column-gap-3{-moz-column-gap:1rem !important;column-gap:1rem !important}.column-gap-4{-moz-column-gap:1.5rem !important;column-gap:1.5rem !important}.column-gap-5{-moz-column-gap:3rem !important;column-gap:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.375rem + 1.5vw) !important}.fs-2{font-size:calc(1.325rem + 0.9vw) !important}.fs-3{font-size:calc(1.3rem + 0.6vw) !important}.fs-4{font-size:calc(1.275rem + 0.3vw) !important}.fs-5{font-size:1.25rem !important}.fs-6{font-size:1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-lighter{font-weight:lighter !important}.fw-light{font-weight:300 !important}.fw-normal{font-weight:400 !important}.fw-medium{font-weight:500 !important}.fw-semibold{font-weight:600 !important}.fw-bold{font-weight:700 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{-webkit-text-decoration:none !important;text-decoration:none !important}.text-decoration-underline{-webkit-text-decoration:underline !important;text-decoration:underline !important}.text-decoration-line-through{-webkit-text-decoration:line-through !important;text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-black-50{--bs-text-opacity: 1;color:rgba(0,0,0,.5) !important}.text-white-50{--bs-text-opacity: 1;color:hsla(0,0%,100%,.5) !important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color) !important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color) !important}.text-reset{--bs-text-opacity: 1;color:inherit !important}.text-opacity-25{--bs-text-opacity: 0.25}.text-opacity-50{--bs-text-opacity: 0.5}.text-opacity-75{--bs-text-opacity: 0.75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis) !important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis) !important}.text-success-emphasis{color:var(--bs-success-text-emphasis) !important}.text-info-emphasis{color:var(--bs-info-text-emphasis) !important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis) !important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis) !important}.text-light-emphasis{color:var(--bs-light-text-emphasis) !important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis) !important}.link-opacity-10{--bs-link-opacity: 0.1}.link-opacity-10-hover:hover{--bs-link-opacity: 0.1}.link-opacity-25{--bs-link-opacity: 0.25}.link-opacity-25-hover:hover{--bs-link-opacity: 0.25}.link-opacity-50{--bs-link-opacity: 0.5}.link-opacity-50-hover:hover{--bs-link-opacity: 0.5}.link-opacity-75{--bs-link-opacity: 0.75}.link-opacity-75-hover:hover{--bs-link-opacity: 0.75}.link-opacity-100{--bs-link-opacity: 1}.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1{text-underline-offset:.125em !important}.link-offset-1-hover:hover{text-underline-offset:.125em !important}.link-offset-2{text-underline-offset:.25em !important}.link-offset-2-hover:hover{text-underline-offset:.25em !important}.link-offset-3{text-underline-offset:.375em !important}.link-offset-3-hover:hover{text-underline-offset:.375em !important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-underline-opacity-0{--bs-link-underline-opacity: 0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10{--bs-link-underline-opacity: 0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: 0.1}.link-underline-opacity-25{--bs-link-underline-opacity: 0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: 0.25}.link-underline-opacity-50{--bs-link-underline-opacity: 0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: 0.5}.link-underline-opacity-75{--bs-link-underline-opacity: 0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: 0.75}.link-underline-opacity-100{--bs-link-underline-opacity: 1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important}.bg-transparent{--bs-bg-opacity: 1;background-color:rgba(0,0,0,0) !important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-opacity-10{--bs-bg-opacity: 0.1}.bg-opacity-25{--bs-bg-opacity: 0.25}.bg-opacity-50{--bs-bg-opacity: 0.5}.bg-opacity-75{--bs-bg-opacity: 0.75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle) !important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle) !important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle) !important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle) !important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle) !important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle) !important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle) !important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle) !important}.bg-gradient{background-image:var(--bs-gradient) !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;user-select:auto !important}.user-select-none{-webkit-user-select:none !important;-moz-user-select:none !important;user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:var(--bs-border-radius) !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:var(--bs-border-radius-sm) !important}.rounded-2{border-radius:var(--bs-border-radius) !important}.rounded-3{border-radius:var(--bs-border-radius-lg) !important}.rounded-4{border-radius:var(--bs-border-radius-xl) !important}.rounded-5{border-radius:var(--bs-border-radius-xxl) !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:var(--bs-border-radius-pill) !important}.rounded-top{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-0{border-top-left-radius:0 !important;border-top-right-radius:0 !important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm) !important;border-top-right-radius:var(--bs-border-radius-sm) !important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg) !important;border-top-right-radius:var(--bs-border-radius-lg) !important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl) !important;border-top-right-radius:var(--bs-border-radius-xl) !important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl) !important;border-top-right-radius:var(--bs-border-radius-xxl) !important}.rounded-top-circle{border-top-left-radius:50% !important;border-top-right-radius:50% !important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill) !important;border-top-right-radius:var(--bs-border-radius-pill) !important}.rounded-end{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-0{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm) !important;border-bottom-right-radius:var(--bs-border-radius-sm) !important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg) !important;border-bottom-right-radius:var(--bs-border-radius-lg) !important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl) !important;border-bottom-right-radius:var(--bs-border-radius-xl) !important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-right-radius:var(--bs-border-radius-xxl) !important}.rounded-end-circle{border-top-right-radius:50% !important;border-bottom-right-radius:50% !important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill) !important;border-bottom-right-radius:var(--bs-border-radius-pill) !important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-0{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm) !important;border-bottom-left-radius:var(--bs-border-radius-sm) !important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg) !important;border-bottom-left-radius:var(--bs-border-radius-lg) !important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl) !important;border-bottom-left-radius:var(--bs-border-radius-xl) !important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-left-radius:var(--bs-border-radius-xxl) !important}.rounded-bottom-circle{border-bottom-right-radius:50% !important;border-bottom-left-radius:50% !important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill) !important;border-bottom-left-radius:var(--bs-border-radius-pill) !important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-0{border-bottom-left-radius:0 !important;border-top-left-radius:0 !important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm) !important;border-top-left-radius:var(--bs-border-radius-sm) !important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg) !important;border-top-left-radius:var(--bs-border-radius-lg) !important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl) !important;border-top-left-radius:var(--bs-border-radius-xl) !important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl) !important;border-top-left-radius:var(--bs-border-radius-xxl) !important}.rounded-start-circle{border-bottom-left-radius:50% !important;border-top-left-radius:50% !important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill) !important;border-top-left-radius:var(--bs-border-radius-pill) !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}.z-n1{z-index:-1 !important}.z-0{z-index:0 !important}.z-1{z-index:1 !important}.z-2{z-index:2 !important}.z-3{z-index:3 !important}@media(min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.object-fit-sm-contain{object-fit:contain !important}.object-fit-sm-cover{object-fit:cover !important}.object-fit-sm-fill{object-fit:fill !important}.object-fit-sm-scale{object-fit:scale-down !important}.object-fit-sm-none{object-fit:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-inline-grid{display:inline-grid !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}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.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-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}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !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}.justify-content-sm-evenly{justify-content:space-evenly !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}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:.25rem !important}.m-sm-2{margin:.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:.25rem !important}.mt-sm-2{margin-top:.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:.25rem !important}.me-sm-2{margin-right:.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:3rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:.25rem !important}.mb-sm-2{margin-bottom:.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:.25rem !important}.ms-sm-2{margin-left:.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:3rem !important}.ms-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:.25rem !important}.p-sm-2{padding:.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:.25rem !important}.pt-sm-2{padding-top:.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:.25rem !important}.pe-sm-2{padding-right:.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:.25rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.row-gap-sm-0{row-gap:0 !important}.row-gap-sm-1{row-gap:.25rem !important}.row-gap-sm-2{row-gap:.5rem !important}.row-gap-sm-3{row-gap:1rem !important}.row-gap-sm-4{row-gap:1.5rem !important}.row-gap-sm-5{row-gap:3rem !important}.column-gap-sm-0{-moz-column-gap:0 !important;column-gap:0 !important}.column-gap-sm-1{-moz-column-gap:.25rem !important;column-gap:.25rem !important}.column-gap-sm-2{-moz-column-gap:.5rem !important;column-gap:.5rem !important}.column-gap-sm-3{-moz-column-gap:1rem !important;column-gap:1rem !important}.column-gap-sm-4{-moz-column-gap:1.5rem !important;column-gap:1.5rem !important}.column-gap-sm-5{-moz-column-gap:3rem !important;column-gap:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.object-fit-md-contain{object-fit:contain !important}.object-fit-md-cover{object-fit:cover !important}.object-fit-md-fill{object-fit:fill !important}.object-fit-md-scale{object-fit:scale-down !important}.object-fit-md-none{object-fit:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-inline-grid{display:inline-grid !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}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.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-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}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !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}.justify-content-md-evenly{justify-content:space-evenly !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}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:.25rem !important}.m-md-2{margin:.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:.25rem !important}.mt-md-2{margin-top:.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:.25rem !important}.me-md-2{margin-right:.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:3rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:.25rem !important}.mb-md-2{margin-bottom:.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:.25rem !important}.ms-md-2{margin-left:.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:3rem !important}.ms-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:.25rem !important}.p-md-2{padding:.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:.25rem !important}.pt-md-2{padding-top:.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:.25rem !important}.pe-md-2{padding-right:.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:.25rem !important}.pb-md-2{padding-bottom:.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.row-gap-md-0{row-gap:0 !important}.row-gap-md-1{row-gap:.25rem !important}.row-gap-md-2{row-gap:.5rem !important}.row-gap-md-3{row-gap:1rem !important}.row-gap-md-4{row-gap:1.5rem !important}.row-gap-md-5{row-gap:3rem !important}.column-gap-md-0{-moz-column-gap:0 !important;column-gap:0 !important}.column-gap-md-1{-moz-column-gap:.25rem !important;column-gap:.25rem !important}.column-gap-md-2{-moz-column-gap:.5rem !important;column-gap:.5rem !important}.column-gap-md-3{-moz-column-gap:1rem !important;column-gap:1rem !important}.column-gap-md-4{-moz-column-gap:1.5rem !important;column-gap:1.5rem !important}.column-gap-md-5{-moz-column-gap:3rem !important;column-gap:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.object-fit-lg-contain{object-fit:contain !important}.object-fit-lg-cover{object-fit:cover !important}.object-fit-lg-fill{object-fit:fill !important}.object-fit-lg-scale{object-fit:scale-down !important}.object-fit-lg-none{object-fit:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-inline-grid{display:inline-grid !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}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.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-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}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !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}.justify-content-lg-evenly{justify-content:space-evenly !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}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:.25rem !important}.m-lg-2{margin:.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:.25rem !important}.mt-lg-2{margin-top:.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:.25rem !important}.me-lg-2{margin-right:.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:3rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:.25rem !important}.mb-lg-2{margin-bottom:.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:.25rem !important}.ms-lg-2{margin-left:.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:3rem !important}.ms-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:.25rem !important}.p-lg-2{padding:.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:.25rem !important}.pt-lg-2{padding-top:.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:.25rem !important}.pe-lg-2{padding-right:.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:.25rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.row-gap-lg-0{row-gap:0 !important}.row-gap-lg-1{row-gap:.25rem !important}.row-gap-lg-2{row-gap:.5rem !important}.row-gap-lg-3{row-gap:1rem !important}.row-gap-lg-4{row-gap:1.5rem !important}.row-gap-lg-5{row-gap:3rem !important}.column-gap-lg-0{-moz-column-gap:0 !important;column-gap:0 !important}.column-gap-lg-1{-moz-column-gap:.25rem !important;column-gap:.25rem !important}.column-gap-lg-2{-moz-column-gap:.5rem !important;column-gap:.5rem !important}.column-gap-lg-3{-moz-column-gap:1rem !important;column-gap:1rem !important}.column-gap-lg-4{-moz-column-gap:1.5rem !important;column-gap:1.5rem !important}.column-gap-lg-5{-moz-column-gap:3rem !important;column-gap:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.object-fit-xl-contain{object-fit:contain !important}.object-fit-xl-cover{object-fit:cover !important}.object-fit-xl-fill{object-fit:fill !important}.object-fit-xl-scale{object-fit:scale-down !important}.object-fit-xl-none{object-fit:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-inline-grid{display:inline-grid !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}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.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-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}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !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}.justify-content-xl-evenly{justify-content:space-evenly !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}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:.25rem !important}.m-xl-2{margin:.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:3rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:.25rem !important}.mt-xl-2{margin-top:.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:3rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:.25rem !important}.me-xl-2{margin-right:.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:3rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:.25rem !important}.mb-xl-2{margin-bottom:.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:3rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:.25rem !important}.ms-xl-2{margin-left:.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:3rem !important}.ms-xl-auto{margin-left:auto !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:.25rem !important}.p-xl-2{padding:.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:3rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:.25rem !important}.pt-xl-2{padding-top:.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:3rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:.25rem !important}.pe-xl-2{padding-right:.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:3rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:.25rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:3rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.row-gap-xl-0{row-gap:0 !important}.row-gap-xl-1{row-gap:.25rem !important}.row-gap-xl-2{row-gap:.5rem !important}.row-gap-xl-3{row-gap:1rem !important}.row-gap-xl-4{row-gap:1.5rem !important}.row-gap-xl-5{row-gap:3rem !important}.column-gap-xl-0{-moz-column-gap:0 !important;column-gap:0 !important}.column-gap-xl-1{-moz-column-gap:.25rem !important;column-gap:.25rem !important}.column-gap-xl-2{-moz-column-gap:.5rem !important;column-gap:.5rem !important}.column-gap-xl-3{-moz-column-gap:1rem !important;column-gap:1rem !important}.column-gap-xl-4{-moz-column-gap:1.5rem !important;column-gap:1.5rem !important}.column-gap-xl-5{-moz-column-gap:3rem !important;column-gap:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media(min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.object-fit-xxl-contain{object-fit:contain !important}.object-fit-xxl-cover{object-fit:cover !important}.object-fit-xxl-fill{object-fit:fill !important}.object-fit-xxl-scale{object-fit:scale-down !important}.object-fit-xxl-none{object-fit:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-inline-grid{display:inline-grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:.25rem !important}.m-xxl-2{margin:.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:3rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:.25rem !important}.mt-xxl-2{margin-top:.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:3rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:.25rem !important}.me-xxl-2{margin-right:.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:3rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:.25rem !important}.mb-xxl-2{margin-bottom:.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:3rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:.25rem !important}.ms-xxl-2{margin-left:.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:3rem !important}.ms-xxl-auto{margin-left:auto !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:.25rem !important}.p-xxl-2{padding:.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:3rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:.25rem !important}.pt-xxl-2{padding-top:.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:3rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:.25rem !important}.pe-xxl-2{padding-right:.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:3rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:.25rem !important}.pb-xxl-2{padding-bottom:.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:3rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.row-gap-xxl-0{row-gap:0 !important}.row-gap-xxl-1{row-gap:.25rem !important}.row-gap-xxl-2{row-gap:.5rem !important}.row-gap-xxl-3{row-gap:1rem !important}.row-gap-xxl-4{row-gap:1.5rem !important}.row-gap-xxl-5{row-gap:3rem !important}.column-gap-xxl-0{-moz-column-gap:0 !important;column-gap:0 !important}.column-gap-xxl-1{-moz-column-gap:.25rem !important;column-gap:.25rem !important}.column-gap-xxl-2{-moz-column-gap:.5rem !important;column-gap:.5rem !important}.column-gap-xxl-3{-moz-column-gap:1rem !important;column-gap:1rem !important}.column-gap-xxl-4{-moz-column-gap:1.5rem !important;column-gap:1.5rem !important}.column-gap-xxl-5{-moz-column-gap:3rem !important;column-gap:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}@media(min-width: 1200px){.fs-1{font-size:2.5rem !important}.fs-2{font-size:2rem !important}.fs-3{font-size:1.75rem !important}.fs-4{font-size:1.5rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-inline-grid{display:inline-grid !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}.d-print-none{display:none !important}}html,html a,body{-webkit-font-smoothing:antialiased}a{transition:all .3s ease-in-out;-webkit-text-decoration:none;text-decoration:none}body{font-family:Roboto,-apple-system,system-ui,Segoe UI,Ubuntu,Cantarell,Noto Sans,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;font-size:14px;color:#72777a;line-height:1.5;letter-spacing:.2px;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Roboto,-apple-system,system-ui,Segoe UI,Ubuntu,Cantarell,Noto Sans,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;letter-spacing:.5px;line-height:1.5;font-weight:400}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-family:Roboto,-apple-system,system-ui,Segoe UI,Ubuntu,Cantarell,Noto Sans,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:300;color:rgb(61.25,65,66.25)}p{font-family:Roboto,-apple-system,system-ui,Segoe UI,Ubuntu,Cantarell,Noto Sans,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;line-height:1.9}.lead{font-size:18px}ul{margin-bottom:0}a{color:#0f9aee}a:hover,a:focus{-webkit-text-decoration:none;text-decoration:none;color:rgb(11.976284585,122.9565217391,190.023715415)}a:focus{outline:none}a.text-gray:hover,a.text-gray:focus,a.text-gray.active{color:#313435 !important}:focus{outline:none}hr{border-top:1px solid #e6ecf5}a.btn{color:#fff}a.btn:hover{color:#fff}.btn-color{color:#fff}.btn-color:hover{color:#fff}.sidebar{background-color:var(--c-bkg-sidebar);border-right:1px solid var(--c-border);bottom:0;overflow:hidden;position:fixed;top:0;transition:all .2s ease;width:280px;z-index:1000}.sidebar ul{list-style-type:none}@media screen and (min-width: 992px)and (max-width: 1439px){.sidebar{width:70px}.sidebar .sidebar-inner .sidebar-logo{border-bottom:1px solid rgba(0,0,0,0);padding:0}.sidebar .sidebar-inner .sidebar-logo a .logo{background-position:center center;width:70px}.sidebar .sidebar-inner .sidebar-menu{overflow-x:hidden}.sidebar .sidebar-inner .sidebar-menu>li>a .title{display:none}.sidebar .sidebar-inner .sidebar-menu li.dropdown .arrow{opacity:0}.sidebar .sidebar-inner .sidebar-menu li.dropdown.open ul.dropdown-menu{display:none !important}.sidebar:hover{width:280px}.sidebar:hover .sidebar-inner .sidebar-logo{border-bottom:1px solid #e6ecf5;padding:0 20px}.sidebar:hover .sidebar-inner .sidebar-menu>li>a .title{display:inline-block}.sidebar:hover .sidebar-inner .sidebar-menu li.dropdown .arrow{opacity:1}.sidebar:hover .sidebar-inner .sidebar-menu li.open>ul.dropdown-menu{display:block !important}}@media screen and (max-width: 991px){.sidebar{left:-280px;width:calc(280px - 30px)}}.sidebar-inner{position:relative;height:100%}.sidebar-logo{border-bottom:1px solid var(--c-border);line-height:0;padding:0 20px;transition:all .2s ease;background:var(--c-bkg-card)}.sidebar-logo a{display:inline-block;width:100%}.sidebar-logo a .logo{background-position:center left;background-repeat:no-repeat;display:inline-block;min-height:calc(65px - 1px);width:100%;width:70px}.sidebar-logo a .logo img{height:42px;width:auto;display:block;margin:11px auto}.sidebar-logo a .logo-text{color:var(--c-text-base)}.sidebar-logo .mobile-toggle{display:none;float:right;font-size:18px;line-height:calc(65px - 1px)}.sidebar-logo .mobile-toggle a{color:var(--c-icon)}.sidebar-logo .mobile-toggle a:hover{color:var(--c-icon-hover)}@media screen and (max-width: 991px){.sidebar-logo .mobile-toggle{display:inline-block}}@media screen and (min-width: 992px)and (max-width: 1439px){.sidebar-logo .mobile-toggle{display:none}}.sidebar-menu::before,.sidebar-menu::after{content:" ";display:table}.sidebar-menu::after{clear:both}.sidebar-menu{height:calc(100vh - 65px);list-style:none;margin:0;overflow:auto;padding:.75rem 0;position:relative}.sidebar-menu .dropdown-toggle::after{display:none}.sidebar-menu .sidebar-link.actived::before{background:#2196f3;border-radius:50%;content:"";display:block;height:8px;left:-4px;position:absolute;top:calc(50% - 4px);width:8px}.sidebar-menu li{position:relative}.sidebar-menu li.dropdown .arrow{font-size:10px;line-height:40px;position:absolute;right:30px;transition:all .05s ease-in}@media screen and (max-width: 991px){.sidebar-menu li.dropdown .arrow{right:25px}}.sidebar-menu li.dropdown.open>a{color:var(--c-text-base)}.sidebar-menu li.dropdown.open>a .icon-holder{color:var(--c-icon-hover)}.sidebar-menu li.dropdown.open>a>.arrow{transform:rotate(90deg)}.sidebar-menu li.dropdown.open>.dropdown-menu{display:block}.sidebar-menu li.dropdown.open>.dropdown-menu .dropdown-menu{padding-left:20px}.sidebar-menu li.dropdown.open>.dropdown-menu .arrow{line-height:25px}.sidebar-menu li a{color:var(--c-text-muted);transition:all .3s ease}.sidebar-menu li a:hover,.sidebar-menu li a:focus{color:var(--c-text-base);-webkit-text-decoration:none;text-decoration:none}.sidebar-menu li a:hover .icon-holder,.sidebar-menu li a:focus .icon-holder{color:var(--c-icon-hover)}.sidebar-menu>li.dropdown ul.dropdown-menu{background-color:rgba(0,0,0,0);border-radius:0;border:0;box-shadow:none;float:none;padding-left:50px;padding-top:0;position:relative;width:100%}.sidebar-menu>li.dropdown ul.dropdown-menu>li>a{display:block;padding:10px 15px}.sidebar-menu>li.dropdown ul.dropdown-menu>li>a:hover,.sidebar-menu>li.dropdown ul.dropdown-menu>li>a:focus{background-color:rgba(0,0,0,0);color:var(--c-text-base)}.sidebar-menu>li.dropdown ul.dropdown-menu>li.actived a{color:var(--c-text-base)}.sidebar-menu>li>a{display:block;font-size:15px;font-weight:500;padding:5px 15px;position:relative;white-space:nowrap}.sidebar-menu>li>a .icon-holder{border-radius:6px;color:var(--c-icon);display:inline-block;font-size:17px;height:35px;left:0;line-height:35px;margin-right:14px;position:relative;text-align:center;transition:all .3s ease;width:35px}@media screen and (min-width: 1440px){.is-collapsed .sidebar{width:70px}.is-collapsed .sidebar .sidebar-inner .sidebar-logo{border-bottom:1px solid rgba(0,0,0,0);padding:0}.is-collapsed .sidebar .sidebar-inner .sidebar-menu{overflow-x:hidden}.is-collapsed .sidebar .sidebar-inner .sidebar-menu>li>a .title{display:none}.is-collapsed .sidebar .sidebar-inner .sidebar-menu li.dropdown .arrow{opacity:0}.is-collapsed .sidebar .sidebar-inner .sidebar-menu li.dropdown.open ul.dropdown-menu{display:none !important}.is-collapsed .sidebar:hover{width:280px}.is-collapsed .sidebar:hover .sidebar-inner .sidebar-logo{border-bottom:1px solid #e6ecf5;padding:0 20px}.is-collapsed .sidebar:hover .sidebar-inner .sidebar-menu>li>a .title{display:inline-block}.is-collapsed .sidebar:hover .sidebar-inner .sidebar-menu li.dropdown .arrow{opacity:1}.is-collapsed .sidebar:hover .sidebar-inner .sidebar-menu li.open>ul.dropdown-menu{display:block !important}}@media screen and (min-width: 992px)and (max-width: 1439px){.is-collapsed .sidebar{width:280px}.is-collapsed .sidebar .sidebar-inner .sidebar-logo{border-bottom:1px solid #e6ecf5;padding:0 20px}.is-collapsed .sidebar .sidebar-inner .sidebar-logo>a .logo{background-position:center left;width:150px}.is-collapsed .sidebar .sidebar-inner .sidebar-menu>li>a .title{display:inline-block}.is-collapsed .sidebar .sidebar-inner .sidebar-menu li.dropdown .arrow{opacity:1}.is-collapsed .sidebar .sidebar-inner .sidebar-menu li.open>ul.dropdown-menu{display:block !important}}@media screen and (max-width: 991px){.is-collapsed .sidebar{left:0}}[data-theme=dark] .sidebar{background-color:var(--c-bkg-card)}[data-theme=dark] .sidebar .sidebar-menu{border-right-color:var(--c-border)}[data-theme=dark] .sidebar .sidebar-menu li a{color:var(--c-text-muted)}[data-theme=dark] .sidebar .sidebar-menu li a .icon-holder{color:var(--c-icon)}[data-theme=dark] .sidebar .sidebar-menu li a:hover,[data-theme=dark] .sidebar .sidebar-menu li a:focus{color:var(--c-text-base);background-color:var(--c-bkg-hover)}[data-theme=dark] .sidebar .sidebar-menu li a:hover .icon-holder,[data-theme=dark] .sidebar .sidebar-menu li a:focus .icon-holder{color:var(--c-icon-hover)}[data-theme=dark] .sidebar .sidebar-menu li.dropdown.open>a{color:var(--c-text-base);background-color:var(--c-bkg-hover)}[data-theme=dark] .sidebar .sidebar-menu li.dropdown.open>a .icon-holder{color:var(--c-icon-hover)}[data-theme=dark] .sidebar .sidebar-menu li.actived>a{color:var(--c-text-base) !important;background-color:var(--c-bkg-hover) !important;border-left:3px solid var(--c-primary) !important;margin-left:-3px}[data-theme=dark] .sidebar .sidebar-menu li.actived>a .icon-holder{color:var(--c-primary) !important}[data-theme=dark] .sidebar .sidebar-menu li.dropdown.has-active-child>a{color:var(--c-text-base) !important;background-color:rgba(0,0,0,0) !important;border-left:3px solid var(--c-primary) !important;margin-left:-3px}[data-theme=dark] .sidebar .sidebar-menu li.dropdown.has-active-child>a .icon-holder{color:var(--c-primary) !important}[data-theme=dark] .sidebar .sidebar-menu>li.dropdown ul.dropdown-menu>li>a{color:var(--c-text-muted)}[data-theme=dark] .sidebar .sidebar-menu>li.dropdown ul.dropdown-menu>li>a:hover,[data-theme=dark] .sidebar .sidebar-menu>li.dropdown ul.dropdown-menu>li>a:focus{color:var(--c-text-base);background-color:var(--c-bkg-hover)}[data-theme=dark] .sidebar .sidebar-menu>li.dropdown ul.dropdown-menu>li.actived a{color:var(--c-primary) !important;background-color:rgba(0,0,0,0) !important;font-weight:500}[data-theme=dark] .sidebar-logo{border-bottom-color:var(--c-border);border-right-color:var(--c-border)}[data-theme=dark] .sidebar-logo a .logo-text{color:var(--c-text-base)}[data-theme=dark] .sidebar-logo .mobile-toggle a{color:var(--c-icon)}[data-theme=dark] .sidebar-logo .mobile-toggle a:hover{color:var(--c-icon-hover)}[data-theme=light] .sidebar .sidebar-menu li.actived>a,:root .sidebar .sidebar-menu li.actived>a{background-color:color-mix(in srgb, #ffffff 85%, var(--c-primary)) !important;color:var(--c-primary) !important}[data-theme=light] .sidebar .sidebar-menu li.actived>a .icon-holder,:root .sidebar .sidebar-menu li.actived>a .icon-holder{color:var(--c-primary) !important;background-color:color-mix(in srgb, var(--c-primary) 10%, transparent) !important}[data-theme=light] .sidebar .sidebar-menu li.dropdown.has-active-child>a,:root .sidebar .sidebar-menu li.dropdown.has-active-child>a{background-color:color-mix(in srgb, #ffffff 90%, var(--c-primary)) !important;color:var(--c-primary) !important}[data-theme=light] .sidebar .sidebar-menu li.dropdown.has-active-child>a .icon-holder,:root .sidebar .sidebar-menu li.dropdown.has-active-child>a .icon-holder{color:var(--c-primary) !important;background-color:color-mix(in srgb, var(--c-primary) 8%, transparent) !important}[data-theme=light] .sidebar .sidebar-menu li a:hover,[data-theme=light] .sidebar .sidebar-menu li a:focus,:root .sidebar .sidebar-menu li a:hover,:root .sidebar .sidebar-menu li a:focus{background-color:color-mix(in srgb, #ffffff 90%, var(--c-primary));color:var(--c-primary)}[data-theme=light] .sidebar .sidebar-menu li a:hover .icon-holder,[data-theme=light] .sidebar .sidebar-menu li a:focus .icon-holder,:root .sidebar .sidebar-menu li a:hover .icon-holder,:root .sidebar .sidebar-menu li a:focus .icon-holder{color:var(--c-primary);background-color:color-mix(in srgb, var(--c-primary) 8%, transparent)}[data-theme=light] .sidebar .sidebar-menu>li.dropdown ul.dropdown-menu>li.actived a,:root .sidebar .sidebar-menu>li.dropdown ul.dropdown-menu>li.actived a{color:var(--c-primary) !important;background-color:color-mix(in srgb, #ffffff 85%, var(--c-primary)) !important}[data-theme=light] .sidebar .sidebar-menu>li.dropdown ul.dropdown-menu>li>a:hover,[data-theme=light] .sidebar .sidebar-menu>li.dropdown ul.dropdown-menu>li>a:focus,:root .sidebar .sidebar-menu>li.dropdown ul.dropdown-menu>li>a:hover,:root .sidebar .sidebar-menu>li.dropdown ul.dropdown-menu>li>a:focus{background-color:color-mix(in srgb, #ffffff 90%, var(--c-primary));color:var(--c-primary)}.header{background-color:var(--c-bkg-card);border-bottom:1px solid var(--c-border);box-shadow:var(--shadow-sm);display:block;margin-bottom:0;padding:0;position:fixed;transition:all .2s ease;width:calc(100% - 280px);z-index:800}@media screen and (max-width: 991px){.header{width:100%}}@media screen and (min-width: 992px)and (max-width: 1439px){.header{width:calc(100% - 70px)}}.header .header-container::before,.header .header-container::after{content:" ";display:table}.header .header-container::after{clear:both}.header .header-container{height:65px}.header .header-container .nav-left,.header .header-container .nav-right{list-style:none;margin-bottom:0;padding-left:0;position:relative}.header .header-container .nav-left>li,.header .header-container .nav-right>li{float:left}.header .header-container .nav-left>li>a,.header .header-container .nav-right>li>a{color:var(--c-icon);display:block;line-height:65px;min-height:65px;padding:0 15px;transition:all .2s ease-in-out}.header .header-container .nav-left>li>a i,.header .header-container .nav-right>li>a i{font-size:17px;color:var(--c-icon)}.header .header-container .nav-left>li>a:hover,.header .header-container .nav-left>li>a:focus,.header .header-container .nav-right>li>a:hover,.header .header-container .nav-right>li>a:focus{color:var(--c-icon-hover);-webkit-text-decoration:none;text-decoration:none}.header .header-container .nav-left>li>a:hover i,.header .header-container .nav-left>li>a:focus i,.header .header-container .nav-right>li>a:hover i,.header .header-container .nav-right>li>a:focus i{color:var(--c-icon-hover)}@media screen and (max-width: 991px){.header .header-container .nav-left>li>a,.header .header-container .nav-right>li>a{padding:0 15px}}.header .header-container .nav-left .notifications,.header .header-container .nav-right .notifications{position:relative}.header .header-container .nav-left .notifications .counter,.header .header-container .nav-right .notifications .counter{background-color:#ff3c7e;border-radius:50px;color:#fff;font-size:10px;line-height:1;padding:3px 5.5px;position:absolute;right:6px;top:12px}.header .header-container .nav-left .notifications .dropdown-menu,.header .header-container .nav-right .notifications .dropdown-menu{min-width:350px;padding:0}@media screen and (max-width: 767px){.header .header-container .nav-left .notifications .dropdown-menu,.header .header-container .nav-right .notifications .dropdown-menu{max-width:300px}}.header .header-container .dropdown-menu{margin:0;transform-origin:top right;transition:transform .15s ease-out}.header .header-container .dropdown-menu .divider{border-bottom:1px solid #e6ecf5;height:1px;overflow:hidden}.header .header-container .dropdown-menu>li>a{transition:all .2s ease-out}.header .header-container .show .dropdown-menu{transform:scale(1, 1)}.header .header-container .nav-left{float:left;margin-left:15px}.header .header-container .nav-right{float:right}.header .header-container .nav-right .dropdown-menu{left:auto;right:0}.header .header-container .nav-right .dropdown-menu>li{width:100%}.header .header-container .nav-right .dropdown-menu>li>a{line-height:1.5;min-height:auto;padding:10px 15px}.header .search-box .search-icon-close{display:none}.header .search-box.active .search-icon{display:none}.header .search-box.active .search-icon-close{display:inline-block}.header .search-input{display:none}.header .search-input.active{display:inline-block}.header .search-input input{background-color:rgba(0,0,0,0);border:0;box-shadow:none;font-size:18px;height:40px;margin-top:12px;outline:none;padding:5px}@media screen and (max-width: 767px){.header .search-input input{width:85px}}.header .search-input input::-webkit-input-placeholder{color:hsl(202.5,3.3898305085%,66.2745098039%);font-style:italic}.header .search-input input:-moz-placeholder{color:hsl(202.5,3.3898305085%,66.2745098039%);font-style:italic}.header .search-input input::-moz-placeholder{color:hsl(202.5,3.3898305085%,66.2745098039%);font-style:italic}.header .search-input input:-ms-input-placeholder{color:hsl(202.5,3.3898305085%,66.2745098039%);font-style:italic}@media screen and (max-width: 991px){.header .header-container{padding:0 10px}.header .header-container .nav-left{margin-left:5px}.header .header-container .nav-left>li>a{padding:0 8px !important}.header .header-container .nav-right{margin-right:5px}.header .header-container .nav-right>li>a{padding:0 8px !important}.header .header-container .nav-right>li>a .peer:last-child{display:none}.header .header-container .nav-right .theme-toggle{padding:0 5px !important}.header .header-container .nav-right .theme-toggle .form-check-label{font-size:9px !important;margin:0 3px !important}.header .header-container .nav-right .theme-toggle .form-check-input{width:1.8rem !important;height:1rem !important}}@media screen and (max-width: 767px){.header .header-container{height:auto;min-height:65px;padding:0 5px}.header .header-container .nav-left{margin-left:2px}.header .header-container .nav-left>li>a{padding:0 5px !important}.header .header-container .nav-left .search-box:not(.active){display:none}.header .header-container .nav-right{margin-right:2px}.header .header-container .nav-right>li>a{padding:0 4px !important}.header .header-container .nav-right>li>a span{display:none}.header .header-container .nav-right>li>a .peer:last-child{display:none}.header .header-container .nav-right .theme-toggle{padding:0 3px !important}.header .header-container .nav-right .theme-toggle .form-check{flex-direction:column;align-items:center}.header .header-container .nav-right .theme-toggle .form-check .form-check-label{font-size:7px !important;margin:0 !important;line-height:1 !important}.header .header-container .nav-right .theme-toggle .form-check .form-check-label span{display:none !important}.header .header-container .nav-right .theme-toggle .form-check .form-check-input{width:1.5rem !important;height:.8rem !important;margin:1px 0 !important}.header .header-container .nav-right .dropdown-menu{position:fixed !important;top:65px !important;left:0 !important;right:0 !important;bottom:0 !important;width:100vw !important;height:calc(100vh - 65px) !important;max-width:none !important;min-width:auto !important;transform:none !important;border-radius:0 !important;z-index:9999;overflow-y:auto}.header .header-container .nav-right .dropdown-menu::before{content:"✕ Close";position:sticky;top:0;display:block;background:var(--c-primary);color:#fff;text-align:center;padding:10px;cursor:pointer;font-weight:bold;z-index:10000}}@media screen and (max-width: 479px){.header .header-container{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;padding:0 2px}.header .header-container .nav-left{flex:0 0 auto;margin:0}.header .header-container .nav-left>li{float:none;display:inline-block}.header .header-container .nav-left>li>a{padding:0 3px !important;font-size:14px !important}.header .header-container .nav-left .search-input.active{position:fixed;top:65px;left:0;right:0;background:var(--c-bkg-card);border-top:1px solid var(--c-border);padding:15px;z-index:9998}.header .header-container .nav-left .search-input.active input{width:100%;padding:12px;font-size:16px;border:1px solid var(--c-border);border-radius:6px;background:var(--c-bkg-card);color:var(--c-text-base);margin-top:0}.header .header-container .nav-left .search-input.active input::-moz-placeholder{color:var(--c-text-muted)}.header .header-container .nav-left .search-input.active input::placeholder{color:var(--c-text-muted)}.header .header-container .nav-right{flex:0 0 auto;margin:0}.header .header-container .nav-right>li{float:none;display:inline-block}.header .header-container .nav-right>li>a{padding:0 2px !important;font-size:12px !important}.header .header-container .nav-right .theme-toggle{padding:0 1px !important}.header .header-container .nav-right .theme-toggle .form-check .form-check-label{display:none !important}.header .header-container .nav-right .theme-toggle .form-check .form-check-input{width:1.2rem !important;height:.7rem !important}}.is-collapsed .header{width:calc(100% - 70px)}@media screen and (max-width: 991px){.is-collapsed .header{width:100%}}@media screen and (min-width: 992px)and (max-width: 1439px){.is-collapsed .header{width:calc(100% - 280px)}}[data-theme=dark] .header{background-color:var(--c-bkg-card);border-bottom-color:var(--c-border)}[data-theme=dark] .header .header-container .nav-left>li>a,[data-theme=dark] .header .header-container .nav-right>li>a{color:var(--c-icon)}[data-theme=dark] .header .header-container .nav-left>li>a i,[data-theme=dark] .header .header-container .nav-right>li>a i{color:var(--c-icon)}[data-theme=dark] .header .header-container .nav-left>li>a:hover,[data-theme=dark] .header .header-container .nav-left>li>a:focus,[data-theme=dark] .header .header-container .nav-right>li>a:hover,[data-theme=dark] .header .header-container .nav-right>li>a:focus{color:var(--c-icon-hover)}[data-theme=dark] .header .header-container .nav-left>li>a:hover i,[data-theme=dark] .header .header-container .nav-left>li>a:focus i,[data-theme=dark] .header .header-container .nav-right>li>a:hover i,[data-theme=dark] .header .header-container .nav-right>li>a:focus i{color:var(--c-icon-hover)}[data-theme=dark] .header .header-container .nav-left>li>a:active,[data-theme=dark] .header .header-container .nav-left>li>a.active,[data-theme=dark] .header .header-container .nav-right>li>a:active,[data-theme=dark] .header .header-container .nav-right>li>a.active{color:var(--c-text-base)}[data-theme=dark] .header .header-container .nav-left>li>a:active i,[data-theme=dark] .header .header-container .nav-left>li>a.active i,[data-theme=dark] .header .header-container .nav-right>li>a:active i,[data-theme=dark] .header .header-container .nav-right>li>a.active i{color:var(--c-text-base)}[data-theme=dark] .header .header-container .search-box.active a{color:var(--c-icon-hover)}[data-theme=dark] .header .header-container .search-box.active a i{color:var(--c-icon-hover)}[data-theme=dark] .header .header-container .dropdown-menu{background-color:var(--c-bkg-card);border-color:var(--c-border)}[data-theme=dark] .header .header-container .dropdown-menu .divider{border-bottom-color:var(--c-border)}[data-theme=dark] .header .header-container .dropdown-menu>li>a{color:var(--c-text-muted)}[data-theme=dark] .header .header-container .dropdown-menu>li>a:hover,[data-theme=dark] .header .header-container .dropdown-menu>li>a:focus{color:var(--c-text-base);background-color:var(--c-bkg-hover)}[data-theme=dark] .header .search-input input{color:var(--c-text-base)}[data-theme=dark] .header .search-input input::-moz-placeholder{color:var(--c-text-muted)}[data-theme=dark] .header .search-input input::placeholder{color:var(--c-text-muted)}.page-container{min-height:100vh;padding-left:280px;transition:all .2s ease;display:flex;flex-direction:column}@media screen and (min-width: 992px)and (max-width: 1439px){.page-container{padding-left:70px}}@media screen and (max-width: 991px){.page-container{padding-left:0}}.main-content{padding:85px 20px 20px;flex:1 0 auto;min-height:0;overflow-x:hidden}@media screen and (max-width: 991px){.main-content{padding:85px 5px 5px}}@media screen and (max-width: 767px){.main-content{padding:85px 10px 30px}}@media screen and (max-width: 399px){.main-content{padding:85px 5px 40px}}.remain-height{height:calc(100vh - 126px)}.full-container{left:280px;min-height:calc(100vh - 65px);position:absolute;right:0;top:65px;transition:all .2s ease}@media screen and (min-width: 992px)and (max-width: 1439px){.full-container{left:0;padding-left:70px}}@media screen and (max-width: 991px){.full-container{left:0}}footer{flex:0 0 auto;position:relative;z-index:1;margin-top:auto;padding:20px;text-align:center;border-top:1px solid var(--c-border);background:var(--c-bkg-card);color:var(--c-text-muted);font-size:12px;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word}@media screen and (max-width: 991px){footer{padding:18px 15px;font-size:11px}}@media screen and (max-width: 767px){footer{padding:15px 10px;font-size:10px;line-height:1.3}footer span{display:inline-block;max-width:100%}footer span a{color:var(--c-primary);-webkit-text-decoration:none;text-decoration:none;word-break:break-word}footer span a:hover{-webkit-text-decoration:underline;text-decoration:underline}}@media screen and (max-width: 399px){footer{padding:12px 8px;font-size:9px;line-height:1.2}footer span{display:block}footer span::after{content:"";display:block;height:2px}}html,body{height:100%;margin:0;padding:0}@media screen and (max-width: 767px){body{overflow-x:hidden}*{max-width:100%;box-sizing:border-box}}@media screen and (max-width: 767px){.page-container .main-content{margin-bottom:20px}.page-container .main-content .row{margin-left:0;margin-right:0}.page-container .main-content .col-md-6,.page-container .main-content .col-md-3,.page-container .main-content .col-md-12{padding-left:5px;padding-right:5px}}@media screen and (max-width: 479px){.page-container{min-height:calc(100vh - 80px)}.page-container .main-content{padding-bottom:60px !important;margin-bottom:20px !important}footer{position:relative;margin-top:auto;clear:both}}.is-collapsed .page-container{padding-left:70px}@media screen and (max-width: 991px){.is-collapsed .page-container{padding-left:0}}@media screen and (min-width: 992px)and (max-width: 1439px){.is-collapsed .page-container{padding-left:280px}}.is-collapsed .full-container{left:70px}@media screen and (max-width: 991px){.is-collapsed .full-container{left:0}}@media screen and (min-width: 992px)and (max-width: 1439px){.is-collapsed .full-container{left:280px;padding-left:0}}.progress{height:4px;background-color:var(--c-border);border-radius:4px;margin-bottom:10px}.easy-pie-chart{position:relative}.easy-pie-chart span{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);line-height:0}.checkbox label{display:inline-block;vertical-align:middle;position:relative;padding-left:17px;margin-bottom:0}.checkbox label::before{content:"";display:inline-block;position:absolute;width:17px;height:17px;left:0;top:50%;transform:translateY(-50%);margin-left:-12px;border:1px solid #e6eaf0;border-radius:3px;background-color:#fff;transition:border .15s ease-in-out,color .15s ease-in-out}.checkbox label::after{display:inline-block;position:absolute;width:17px;height:17px;text-align:center;font-size:10px !important;line-height:17px;left:0;top:50%;transform:translateY(-50%);margin-left:-12px;color:#b9c2d0}.checkbox input[type=checkbox]{opacity:0;z-index:1}.checkbox input[type=checkbox]:focus+label::before{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.checkbox input[type=checkbox]:checked+label::after{font-family:"FontAwesome";content:"";font-size:13px}.checkbox input[type=checkbox]:disabled+label{opacity:.65}.checkbox input[type=checkbox]:disabled+label::before{background-color:#d3d9e3;cursor:not-allowed}.checkbox.checkbox-circle label::before{border-radius:50%}.checkbox.checkbox-inline{margin-top:0}.checkbox-primary input[type=checkbox]:checked+label::before{background-color:#7774e7;border-color:#7774e7}.checkbox-primary input[type=checkbox]:checked+label::after{color:#fff}.checkbox-danger input[type=checkbox]:checked+label::before{background-color:#ff3c7e;border-color:#ff3c7e}.checkbox-danger input[type=checkbox]:checked+label::after{color:#fff}.checkbox-info input[type=checkbox]:checked+label::before{background-color:#0f9aee;border-color:#0f9aee}.checkbox-info input[type=checkbox]:checked+label::after{color:#fff}.checkbox-warning input[type=checkbox]:checked+label::before{background-color:#fc0;border-color:#fc0}.checkbox-warning input[type=checkbox]:checked+label::after{color:#fff}.checkbox-success input[type=checkbox]:checked+label::before{background-color:#37c936;border-color:#37c936}.checkbox-success input[type=checkbox]:checked+label::after{color:#fff}.radio{padding-left:20px}.radio label{display:inline-block;vertical-align:middle;position:relative;padding-left:5px}.radio label::before{content:"";display:inline-block;position:absolute;width:17px;height:17px;left:0;margin-left:-20px;border:1px solid #ccc;border-radius:50%;background-color:var(--c-bkg-card);transition:border .15s ease-in-out}.radio label::after{display:inline-block;position:absolute;content:" ";width:11px;height:11px;left:3px;top:3px;margin-left:-20px;border-radius:50%;background-color:var(--c-text-base);transform:scale(0, 0);transition:transform .1s cubic-bezier(0.8, -0.33, 0.2, 1.33)}.radio input[type=radio]{opacity:0;z-index:1}.radio input[type=radio]:focus+label::before{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.radio input[type=radio]:checked+label::after{transform:scale(1, 1)}.radio input[type=radio]:disabled+label{opacity:.65}.radio input[type=radio]:disabled+label::before{cursor:not-allowed}.radio.radio-inline{margin-top:0}.radio-primary input[type=radio]+label::after{background-color:#428bca}.radio-primary input[type=radio]:checked+label::before{border-color:#428bca}.radio-primary input[type=radio]:checked+label::after{background-color:#428bca}.radio-danger input[type=radio]+label::after{background-color:#d9534f}.radio-danger input[type=radio]:checked+label::before{border-color:#d9534f}.radio-danger input[type=radio]:checked+label::after{background-color:#d9534f}.radio-info input[type=radio]+label::after{background-color:#5bc0de}.radio-info input[type=radio]:checked+label::before{border-color:#5bc0de}.radio-info input[type=radio]:checked+label::after{background-color:#5bc0de}.radio-warning input[type=radio]+label::after{background-color:#f0ad4e}.radio-warning input[type=radio]:checked+label::before{border-color:#f0ad4e}.radio-warning input[type=radio]:checked+label::after{background-color:#f0ad4e}.radio-success input[type=radio]+label::after{background-color:#5cb85c}.radio-success input[type=radio]:checked+label::before{border-color:#5cb85c}.radio-success input[type=radio]:checked+label::after{background-color:#5cb85c}[data-theme=dark] .timepicker-input .input-group-text{background-color:var(--c-bkg-card) !important;border-color:var(--c-border) !important;color:var(--c-text-base) !important}[data-theme=dark] .timepicker-input .input-group-text.bgc-white{background-color:var(--c-bkg-card) !important}[data-theme=dark] .timepicker-input .input-group-text .ti-calendar{color:var(--c-text-base) !important}[data-theme=dark] .timepicker-input .form-control.bdc-grey-200{border-color:var(--c-border) !important}#loader{transition:all .3s ease-in-out;opacity:1;visibility:visible;position:fixed;height:100vh;width:100%;background:var(--loader-bg);z-index:90000}#loader.fadeOut{opacity:0;visibility:hidden}.spinner{width:40px;height:40px;position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);background-color:var(--spinner-bg);border-radius:100%;animation:sk-scaleout 1s infinite ease-in-out}@keyframes sk-scaleout{0%{transform:scale(0)}100%{transform:scale(1);opacity:0}}footer{z-index:1;position:relative}body{background-color:var(--c-bkg-body);background-image:radial-gradient(circle at 1px 1px, var(--c-border) 1px, transparent 0);background-size:24px 24px}.card{background:var(--c-bkg-card);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:box-shadow .2s ease,transform .2s ease}.card:hover{box-shadow:var(--shadow-md)}.card-header{background:rgba(0,0,0,0);border-bottom:1px solid var(--c-border-light);padding:1rem 1.25rem;font-weight:600;color:var(--c-text-base)}.card-body{padding:1.25rem}.card-footer{background:var(--c-bkg-hover);border-top:1px solid var(--c-border-light);padding:.875rem 1.25rem}.peers.ai-c .peer:first-child .layers{border-radius:var(--radius-md);transition:transform .2s ease}.peers.ai-c .peer:first-child .layers:hover{transform:scale(1.05)}.fw-500{font-weight:600;letter-spacing:-0.02em}.table{--bs-table-bg: var(--c-bkg-card)}.table thead th{background:var(--c-bkg-hover);border-bottom:2px solid var(--c-border);color:var(--c-text-base);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:.875rem 1rem}.table tbody tr{transition:background-color .15s ease}.table tbody tr:hover{background-color:var(--c-bkg-hover)}.table tbody tr td{padding:.875rem 1rem;border-bottom:1px solid var(--c-border-light);vertical-align:middle}.table-bordered{border:1px solid var(--c-border);border-radius:var(--radius-md);overflow:hidden}.table-bordered th,.table-bordered td{border-color:var(--c-border-light)}.btn{border-radius:var(--radius-sm);font-weight:500;padding:.5rem 1rem;transition:all .2s ease;border:none}.btn:focus{box-shadow:0 0 0 3px rgba(99,102,241,.25)}.btn-primary{background:linear-gradient(135deg, var(--c-primary) 0%, var(--c-primary-dark) 100%)}.btn-primary:hover{background:linear-gradient(135deg, var(--c-primary-light) 0%, var(--c-primary) 100%);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active{transform:translateY(0)}.btn-success{background:linear-gradient(135deg, var(--c-success) 0%, #059669 100%)}.btn-success:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-danger{background:linear-gradient(135deg, var(--c-danger) 0%, #dc2626 100%)}.btn-danger:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline-primary{border:1.5px solid var(--c-primary);color:var(--c-primary);background:rgba(0,0,0,0)}.btn-outline-primary:hover{background:var(--c-primary);color:#fff;transform:translateY(-1px)}.form-control,.form-select{background-color:var(--c-bkg-card);border:1.5px solid var(--c-border);border-radius:var(--radius-sm);color:var(--c-text-base);padding:.625rem .875rem;transition:border-color .2s ease,box-shadow .2s ease}.form-control:focus,.form-select:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(99,102,241,.15);outline:none}.form-control::-moz-placeholder, .form-select::-moz-placeholder{color:var(--c-text-light)}.form-control::placeholder,.form-select::placeholder{color:var(--c-text-light)}.form-label{color:var(--c-text-base);font-weight:500;font-size:.875rem;margin-bottom:.5rem}.badge{border-radius:50px;font-weight:500;font-size:.75rem;padding:.35em .75em;letter-spacing:.02em}.bg-primary{background:linear-gradient(135deg, var(--c-primary) 0%, var(--c-primary-dark) 100%) !important}.bg-success{background:linear-gradient(135deg, var(--c-success) 0%, #059669 100%) !important}.bg-danger{background:linear-gradient(135deg, var(--c-danger) 0%, #dc2626 100%) !important}.bg-warning{background:linear-gradient(135deg, var(--c-warning) 0%, #d97706 100%) !important;color:#1e293b !important}.bg-info{background:linear-gradient(135deg, var(--c-info) 0%, #0284c7 100%) !important}.dropdown-menu{background:var(--c-bkg-card);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.5rem;margin-top:.5rem}.dropdown-menu .dropdown-item{border-radius:var(--radius-sm);color:var(--c-text-base);padding:.5rem .875rem;transition:background-color .15s ease}.dropdown-menu .dropdown-item:hover,.dropdown-menu .dropdown-item:focus{background-color:var(--c-bkg-hover);color:var(--c-primary)}.dropdown-menu .dropdown-item.active,.dropdown-menu .dropdown-item:active{background-color:var(--c-primary);color:#fff}.dropdown-menu .dropdown-divider{border-top-color:var(--c-border-light);margin:.5rem 0}.progress{background-color:var(--c-border-light);border-radius:50px;height:8px;overflow:hidden}.progress-bar{border-radius:50px;background:linear-gradient(90deg, var(--c-primary) 0%, var(--c-primary-light) 100%)}.alert{border:none;border-radius:var(--radius-md);border-left:4px solid}.alert-primary{background-color:rgba(99,102,241,.1);border-left-color:var(--c-primary);color:var(--c-primary-dark)}.alert-success{background-color:rgba(16,185,129,.1);border-left-color:var(--c-success);color:#047857}.alert-danger{background-color:rgba(239,68,68,.1);border-left-color:var(--c-danger);color:#b91c1c}.alert-warning{background-color:rgba(245,158,11,.1);border-left-color:var(--c-warning);color:#92400e}.alert-info{background-color:rgba(14,165,233,.1);border-left-color:var(--c-info);color:#0369a1}.nav-tabs{border-bottom:2px solid var(--c-border-light);gap:.25rem}.nav-tabs .nav-link{border:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--c-text-muted);font-weight:500;padding:.75rem 1.25rem;transition:all .2s ease;position:relative}.nav-tabs .nav-link:hover{color:var(--c-primary);background-color:var(--c-bkg-hover)}.nav-tabs .nav-link.active{color:var(--c-primary);background-color:var(--c-bkg-card)}.nav-tabs .nav-link.active::after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--c-primary)}.pagination{gap:.25rem}.pagination .page-link{border:none;border-radius:var(--radius-sm);color:var(--c-text-base);font-weight:500;min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.pagination .page-link:hover{background-color:var(--c-bkg-hover);color:var(--c-primary)}.pagination .page-item.active .page-link{background:linear-gradient(135deg, var(--c-primary) 0%, var(--c-primary-dark) 100%);color:#fff}.pagination .page-item.disabled .page-link{color:var(--c-text-light);background:rgba(0,0,0,0)}.list-group{border-radius:var(--radius-md);overflow:hidden}.list-group-item{background-color:var(--c-bkg-card);border:none;border-bottom:1px solid var(--c-border-light);padding:1rem 1.25rem;transition:background-color .15s ease}.list-group-item:last-child{border-bottom:none}.list-group-item:hover{background-color:var(--c-bkg-hover)}.list-group-item.active{background:linear-gradient(135deg, var(--c-primary) 0%, var(--c-primary-dark) 100%);border-color:rgba(0,0,0,0);color:#fff}.tooltip-inner{background-color:var(--c-text-base);border-radius:var(--radius-sm);font-size:.8125rem;padding:.5rem .75rem}.popover{border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.modal-content{background:var(--c-bkg-card);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.modal-header{border-bottom:1px solid var(--c-border-light);padding:1.25rem 1.5rem}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid var(--c-border-light);padding:1rem 1.5rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--c-bkg-body)}::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--c-text-light)}[data-theme=dark] body{background-image:radial-gradient(circle at 1px 1px, var(--c-border) 0.5px, transparent 0)}[data-theme=dark] .card{border-color:var(--c-border);box-shadow:var(--shadow-card)}[data-theme=dark] .table{--bs-table-bg: var(--c-bkg-card);--bs-table-hover-bg: var(--c-bkg-hover)}[data-theme=dark] .form-control,[data-theme=dark] .form-select{background-color:var(--c-bkg-body);border-color:var(--c-border)}[data-theme=dark] .form-control:focus,[data-theme=dark] .form-select:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(129,140,248,.2)}[data-theme=dark] .alert-primary{background-color:rgba(129,140,248,.15);color:var(--c-primary-light)}[data-theme=dark] .alert-success{background-color:rgba(52,211,153,.15);color:var(--c-success)}[data-theme=dark] .alert-danger{background-color:rgba(248,113,113,.15);color:var(--c-danger)}[data-theme=dark] .alert-warning{background-color:rgba(251,191,36,.15);color:var(--c-warning)}[data-theme=dark] .alert-info{background-color:rgba(56,189,248,.15);color:var(--c-info)}#chat-sidebar{width:250px;height:calc(100vh - 65px - 60px);overflow:auto}@media screen and (max-width: 991px){#chat-sidebar{transition:all .3s ease-in-out;margin-left:-250px}#chat-sidebar.open{margin-left:0}}#chat-box{height:calc(100vh - 65px - 60px);overflow:auto}[data-theme=dark] input[name=chatSearch]{background:var(--c-bkg-card);color:var(--c-text-base);border-color:var(--c-border)}[data-theme=dark] input[name=chatSearch]::-moz-placeholder{color:var(--c-text-muted)}[data-theme=dark] input[name=chatSearch]::placeholder{color:var(--c-text-muted)}[data-theme=dark] input[name=chatSearch]:focus{background:var(--c-bkg-card);border-color:var(--c-primary);box-shadow:0 0 0 .2rem rgba(var(--c-primary-rgb), 0.25)}[data-theme=dark] .peers.bgc-white{background:var(--c-bkg-card) !important;border-color:var(--c-border) !important}[data-theme=dark] .peers.bgc-white:hover,[data-theme=dark] .peers.bgc-white.bgcH-grey-50:hover{background:var(--c-bkg-hover) !important}[data-theme=dark] .peers.bgc-white h6{color:var(--c-text-base)}[data-theme=dark] .peers.bgc-white small.c-grey-500{color:var(--c-text-muted) !important}[data-theme=dark] .peers.bgc-white{background:var(--c-bkg-card) !important}[data-theme=dark] .peers.bgc-white h6{color:var(--c-text-base)}[data-theme=dark] .peers.bgc-white i{color:var(--c-text-muted)}[data-theme=dark] .peers.bgc-white .c-grey-900{color:var(--c-text-base) !important}[data-theme=dark] .peers.bgc-white .c-grey-900.cH-blue-500:hover{color:var(--c-primary) !important}[data-theme=dark] .bgc-grey-200{background:var(--c-bkg-body) !important}[data-theme=dark] .bgc-grey-100{background:var(--c-bkg-body) !important}[data-theme=dark] .pY-3.pX-10.bgc-white{background:var(--c-bkg-card) !important;color:var(--c-text-base);border:1px solid var(--c-border)}[data-theme=dark] .pY-3.pX-10.bgc-white small{color:var(--c-text-muted)}[data-theme=dark] .pY-3.pX-10.bgc-white span{color:var(--c-text-base)}[data-theme=dark] .bdT.bgc-white{background:var(--c-bkg-card) !important;border-color:var(--c-border) !important}[data-theme=dark] .bdT.bgc-white .form-control{background:var(--c-bkg-body);border-color:var(--c-border);color:var(--c-text-base)}[data-theme=dark] .bdT.bgc-white .form-control::-moz-placeholder{color:var(--c-text-muted)}[data-theme=dark] .bdT.bgc-white .form-control::placeholder{color:var(--c-text-muted)}[data-theme=dark] .bdT.bgc-white .form-control:focus{background:var(--c-bkg-body);border-color:var(--c-primary);color:var(--c-text-base);box-shadow:0 0 0 .2rem rgba(var(--c-primary-rgb), 0.25)}[data-theme=dark] .bdT.bgc-white .btn-primary{background:var(--c-primary);border-color:var(--c-primary)}[data-theme=dark] .bdT.bgc-white .btn-primary:hover{background:var(--c-primary-hover);border-color:var(--c-primary-hover)}[data-theme=dark] .bdT.bgc-white .btn-primary:focus{box-shadow:0 0 0 .2rem rgba(var(--c-primary-rgb), 0.25)}.email-app .email-side-nav{background:var(--c-bkg-card);position:fixed;border-right:1px solid var(--c-border);float:left;width:250px;transition:all .3s ease-in-out}@media screen and (max-width: 991px){.email-app .email-side-nav{z-index:1;left:-250px}}.email-app .email-wrapper{margin:0;padding:0;overflow:auto;min-height:100%;transition:all .3s ease-in-out}@media screen and (max-width: 991px){.email-app .email-wrapper{position:absolute;left:0;width:100%;overflow-x:hidden}}@media screen and (min-width: 992px){.email-app .email-wrapper{margin-left:250px}}.email-app .email-wrapper .email-list{position:relative;padding:0;width:100%;overflow-y:hidden;background-color:var(--c-bkg-card);height:calc(100vh - 65px)}@media screen and (max-width: 991px){.email-app .email-wrapper .email-list{max-height:calc(100vh - 65px)}}@media screen and (min-width: 992px){.email-app .email-wrapper .email-list{width:40%;border-right:1px solid var(--c-border);float:left}}.email-app .email-wrapper .email-content{float:left;width:60%;position:relative;padding:0;background-color:var(--c-bkg-card)}.email-app .email-wrapper .email-content.no-inbox-view{width:100%}@media screen and (max-width: 991px){.email-app .email-wrapper .email-content{position:absolute;top:0;left:100%;width:100%;height:100%;transition:all .3s ease-in-out;max-height:calc(100vh - 65px);overflow-y:scroll}.email-app .email-wrapper .email-content.open{left:0}}.email-app .email-wrapper .email-compose{position:relative}.email-app .email-wrapper .email-compose .email-compose-body{padding:30px 20px}@media screen and (max-width: 991px){.email-app.side-active .email-side-nav{left:0}}@media screen and (max-width: 991px){.email-app.side-active .email-wrapper{left:250px}}.centerY{top:50%;transform:translateY(-50%)}.centerX{left:50%;transform:translateX(-50%)}.centerXY{top:50%;left:50%;transform:translate(-50%, -50%)}@media screen and (min-width: 1440px){.centerY\@xl\+{top:50%;transform:translateY(-50%)}.centerX\@xl\+{left:50%;transform:translateX(-50%)}.centerXY\@xl\+{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (min-width: 1200px){.centerY\@lg\+{top:50%;transform:translateY(-50%)}.centerX\@lg\+{left:50%;transform:translateX(-50%)}.centerXY\@lg\+{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (min-width: 992px){.centerY\@md\+{top:50%;transform:translateY(-50%)}.centerX\@md\+{left:50%;transform:translateX(-50%)}.centerXY\@md\+{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (min-width: 768px){.centerY\@sm\+{top:50%;transform:translateY(-50%)}.centerX\@sm\+{left:50%;transform:translateX(-50%)}.centerXY\@sm\+{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (min-width: 0){.centerY\@xs\+{top:50%;transform:translateY(-50%)}.centerX\@xs\+{left:50%;transform:translateX(-50%)}.centerXY\@xs\+{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (max-width: 1439px){.centerY\@xl-{top:50%;transform:translateY(-50%)}.centerX\@xl-{left:50%;transform:translateX(-50%)}.centerXY\@xl-{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (max-width: 1199px){.centerY\@lg-{top:50%;transform:translateY(-50%)}.centerX\@lg-{left:50%;transform:translateX(-50%)}.centerXY\@lg-{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (max-width: 991px){.centerY\@md-{top:50%;transform:translateY(-50%)}.centerX\@md-{left:50%;transform:translateX(-50%)}.centerXY\@md-{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (max-width: 767px){.centerY\@sm-{top:50%;transform:translateY(-50%)}.centerX\@sm-{left:50%;transform:translateX(-50%)}.centerXY\@sm-{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (min-width: 1199px)and (max-width: 1439px){.centerY\@lg{top:50%;transform:translateY(-50%)}.centerX\@lg{left:50%;transform:translateX(-50%)}.centerXY\@lg{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (min-width: 991px)and (max-width: 1199px){.centerY\@md{top:50%;transform:translateY(-50%)}.centerX\@md{left:50%;transform:translateX(-50%)}.centerXY\@md{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (min-width: 767px)and (max-width: 991px){.centerY\@sm{top:50%;transform:translateY(-50%)}.centerX\@sm{left:50%;transform:translateX(-50%)}.centerXY\@sm{top:50%;left:50%;transform:translate(-50%, -50%)}}[class*=gap]{width:auto !important;overflow:hidden !important}.gapX-0{margin-left:0px !important;margin-right:0px !important}.gapX-0>*{padding-left:0px !important;padding-right:0px !important}.gapY-0{margin-top:0px !important;margin-bottom:0px !important}.gapY-0>*{padding-top:0px !important;padding-bottom:0px !important}.gap-0{margin:0px !important}.gap-0>*{padding:0px !important}@media screen and (min-width: 1440px){.gapX-0\@xl\+{margin-left:0px !important;margin-right:0px !important}.gapX-0\@xl\+>*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@xl\+{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@xl\+>*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@xl\+{margin:0px !important}.gap-0\@xl\+>*{padding:0px !important}}@media screen and (min-width: 1200px){.gapX-0\@lg\+{margin-left:0px !important;margin-right:0px !important}.gapX-0\@lg\+>*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@lg\+{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@lg\+>*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@lg\+{margin:0px !important}.gap-0\@lg\+>*{padding:0px !important}}@media screen and (min-width: 992px){.gapX-0\@md\+{margin-left:0px !important;margin-right:0px !important}.gapX-0\@md\+>*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@md\+{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@md\+>*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@md\+{margin:0px !important}.gap-0\@md\+>*{padding:0px !important}}@media screen and (min-width: 768px){.gapX-0\@sm\+{margin-left:0px !important;margin-right:0px !important}.gapX-0\@sm\+>*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@sm\+{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@sm\+>*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@sm\+{margin:0px !important}.gap-0\@sm\+>*{padding:0px !important}}@media screen and (min-width: 0){.gapX-0\@xs\+{margin-left:0px !important;margin-right:0px !important}.gapX-0\@xs\+>*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@xs\+{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@xs\+>*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@xs\+{margin:0px !important}.gap-0\@xs\+>*{padding:0px !important}}@media screen and (max-width: 1439px){.gapX-0\@xl-{margin-left:0px !important;margin-right:0px !important}.gapX-0\@xl->*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@xl-{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@xl->*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@xl-{margin:0px !important}.gap-0\@xl->*{padding:0px !important}}@media screen and (max-width: 1199px){.gapX-0\@lg-{margin-left:0px !important;margin-right:0px !important}.gapX-0\@lg->*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@lg-{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@lg->*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@lg-{margin:0px !important}.gap-0\@lg->*{padding:0px !important}}@media screen and (max-width: 991px){.gapX-0\@md-{margin-left:0px !important;margin-right:0px !important}.gapX-0\@md->*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@md-{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@md->*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@md-{margin:0px !important}.gap-0\@md->*{padding:0px !important}}@media screen and (max-width: 767px){.gapX-0\@sm-{margin-left:0px !important;margin-right:0px !important}.gapX-0\@sm->*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@sm-{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@sm->*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@sm-{margin:0px !important}.gap-0\@sm->*{padding:0px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-0\@lg{margin-left:0px !important;margin-right:0px !important}.gapX-0\@lg>*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@lg{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@lg>*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@lg{margin:0px !important}.gap-0\@lg>*{padding:0px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-0\@md{margin-left:0px !important;margin-right:0px !important}.gapX-0\@md>*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@md{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@md>*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@md{margin:0px !important}.gap-0\@md>*{padding:0px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-0\@sm{margin-left:0px !important;margin-right:0px !important}.gapX-0\@sm>*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@sm{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@sm>*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@sm{margin:0px !important}.gap-0\@sm>*{padding:0px !important}}.gapX-1{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1>*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1>*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1{margin:-0.5px !important}.gap-1>*{padding:0.5px !important}@media screen and (min-width: 1440px){.gapX-1\@xl\+{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@xl\+>*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@xl\+{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@xl\+>*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@xl\+{margin:-0.5px !important}.gap-1\@xl\+>*{padding:0.5px !important}}@media screen and (min-width: 1200px){.gapX-1\@lg\+{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@lg\+>*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@lg\+{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@lg\+>*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@lg\+{margin:-0.5px !important}.gap-1\@lg\+>*{padding:0.5px !important}}@media screen and (min-width: 992px){.gapX-1\@md\+{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@md\+>*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@md\+{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@md\+>*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@md\+{margin:-0.5px !important}.gap-1\@md\+>*{padding:0.5px !important}}@media screen and (min-width: 768px){.gapX-1\@sm\+{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@sm\+>*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@sm\+{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@sm\+>*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@sm\+{margin:-0.5px !important}.gap-1\@sm\+>*{padding:0.5px !important}}@media screen and (min-width: 0){.gapX-1\@xs\+{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@xs\+>*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@xs\+{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@xs\+>*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@xs\+{margin:-0.5px !important}.gap-1\@xs\+>*{padding:0.5px !important}}@media screen and (max-width: 1439px){.gapX-1\@xl-{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@xl->*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@xl-{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@xl->*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@xl-{margin:-0.5px !important}.gap-1\@xl->*{padding:0.5px !important}}@media screen and (max-width: 1199px){.gapX-1\@lg-{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@lg->*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@lg-{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@lg->*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@lg-{margin:-0.5px !important}.gap-1\@lg->*{padding:0.5px !important}}@media screen and (max-width: 991px){.gapX-1\@md-{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@md->*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@md-{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@md->*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@md-{margin:-0.5px !important}.gap-1\@md->*{padding:0.5px !important}}@media screen and (max-width: 767px){.gapX-1\@sm-{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@sm->*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@sm-{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@sm->*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@sm-{margin:-0.5px !important}.gap-1\@sm->*{padding:0.5px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-1\@lg{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@lg>*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@lg{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@lg>*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@lg{margin:-0.5px !important}.gap-1\@lg>*{padding:0.5px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-1\@md{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@md>*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@md{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@md>*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@md{margin:-0.5px !important}.gap-1\@md>*{padding:0.5px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-1\@sm{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@sm>*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@sm{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@sm>*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@sm{margin:-0.5px !important}.gap-1\@sm>*{padding:0.5px !important}}.gapX-2{margin-left:-1px !important;margin-right:-1px !important}.gapX-2>*{padding-left:1px !important;padding-right:1px !important}.gapY-2{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2>*{padding-top:1px !important;padding-bottom:1px !important}.gap-2{margin:-1px !important}.gap-2>*{padding:1px !important}@media screen and (min-width: 1440px){.gapX-2\@xl\+{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@xl\+>*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@xl\+{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@xl\+>*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@xl\+{margin:-1px !important}.gap-2\@xl\+>*{padding:1px !important}}@media screen and (min-width: 1200px){.gapX-2\@lg\+{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@lg\+>*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@lg\+{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@lg\+>*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@lg\+{margin:-1px !important}.gap-2\@lg\+>*{padding:1px !important}}@media screen and (min-width: 992px){.gapX-2\@md\+{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@md\+>*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@md\+{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@md\+>*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@md\+{margin:-1px !important}.gap-2\@md\+>*{padding:1px !important}}@media screen and (min-width: 768px){.gapX-2\@sm\+{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@sm\+>*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@sm\+{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@sm\+>*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@sm\+{margin:-1px !important}.gap-2\@sm\+>*{padding:1px !important}}@media screen and (min-width: 0){.gapX-2\@xs\+{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@xs\+>*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@xs\+{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@xs\+>*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@xs\+{margin:-1px !important}.gap-2\@xs\+>*{padding:1px !important}}@media screen and (max-width: 1439px){.gapX-2\@xl-{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@xl->*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@xl-{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@xl->*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@xl-{margin:-1px !important}.gap-2\@xl->*{padding:1px !important}}@media screen and (max-width: 1199px){.gapX-2\@lg-{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@lg->*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@lg-{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@lg->*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@lg-{margin:-1px !important}.gap-2\@lg->*{padding:1px !important}}@media screen and (max-width: 991px){.gapX-2\@md-{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@md->*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@md-{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@md->*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@md-{margin:-1px !important}.gap-2\@md->*{padding:1px !important}}@media screen and (max-width: 767px){.gapX-2\@sm-{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@sm->*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@sm-{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@sm->*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@sm-{margin:-1px !important}.gap-2\@sm->*{padding:1px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-2\@lg{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@lg>*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@lg{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@lg>*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@lg{margin:-1px !important}.gap-2\@lg>*{padding:1px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-2\@md{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@md>*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@md{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@md>*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@md{margin:-1px !important}.gap-2\@md>*{padding:1px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-2\@sm{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@sm>*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@sm{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@sm>*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@sm{margin:-1px !important}.gap-2\@sm>*{padding:1px !important}}.gapX-3{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3>*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3>*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3{margin:-1.5px !important}.gap-3>*{padding:1.5px !important}@media screen and (min-width: 1440px){.gapX-3\@xl\+{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@xl\+>*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@xl\+{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@xl\+>*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@xl\+{margin:-1.5px !important}.gap-3\@xl\+>*{padding:1.5px !important}}@media screen and (min-width: 1200px){.gapX-3\@lg\+{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@lg\+>*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@lg\+{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@lg\+>*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@lg\+{margin:-1.5px !important}.gap-3\@lg\+>*{padding:1.5px !important}}@media screen and (min-width: 992px){.gapX-3\@md\+{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@md\+>*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@md\+{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@md\+>*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@md\+{margin:-1.5px !important}.gap-3\@md\+>*{padding:1.5px !important}}@media screen and (min-width: 768px){.gapX-3\@sm\+{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@sm\+>*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@sm\+{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@sm\+>*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@sm\+{margin:-1.5px !important}.gap-3\@sm\+>*{padding:1.5px !important}}@media screen and (min-width: 0){.gapX-3\@xs\+{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@xs\+>*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@xs\+{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@xs\+>*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@xs\+{margin:-1.5px !important}.gap-3\@xs\+>*{padding:1.5px !important}}@media screen and (max-width: 1439px){.gapX-3\@xl-{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@xl->*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@xl-{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@xl->*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@xl-{margin:-1.5px !important}.gap-3\@xl->*{padding:1.5px !important}}@media screen and (max-width: 1199px){.gapX-3\@lg-{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@lg->*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@lg-{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@lg->*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@lg-{margin:-1.5px !important}.gap-3\@lg->*{padding:1.5px !important}}@media screen and (max-width: 991px){.gapX-3\@md-{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@md->*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@md-{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@md->*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@md-{margin:-1.5px !important}.gap-3\@md->*{padding:1.5px !important}}@media screen and (max-width: 767px){.gapX-3\@sm-{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@sm->*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@sm-{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@sm->*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@sm-{margin:-1.5px !important}.gap-3\@sm->*{padding:1.5px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-3\@lg{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@lg>*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@lg{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@lg>*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@lg{margin:-1.5px !important}.gap-3\@lg>*{padding:1.5px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-3\@md{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@md>*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@md{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@md>*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@md{margin:-1.5px !important}.gap-3\@md>*{padding:1.5px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-3\@sm{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@sm>*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@sm{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@sm>*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@sm{margin:-1.5px !important}.gap-3\@sm>*{padding:1.5px !important}}.gapX-4{margin-left:-2px !important;margin-right:-2px !important}.gapX-4>*{padding-left:2px !important;padding-right:2px !important}.gapY-4{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4>*{padding-top:2px !important;padding-bottom:2px !important}.gap-4{margin:-2px !important}.gap-4>*{padding:2px !important}@media screen and (min-width: 1440px){.gapX-4\@xl\+{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@xl\+>*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@xl\+{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@xl\+>*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@xl\+{margin:-2px !important}.gap-4\@xl\+>*{padding:2px !important}}@media screen and (min-width: 1200px){.gapX-4\@lg\+{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@lg\+>*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@lg\+{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@lg\+>*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@lg\+{margin:-2px !important}.gap-4\@lg\+>*{padding:2px !important}}@media screen and (min-width: 992px){.gapX-4\@md\+{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@md\+>*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@md\+{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@md\+>*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@md\+{margin:-2px !important}.gap-4\@md\+>*{padding:2px !important}}@media screen and (min-width: 768px){.gapX-4\@sm\+{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@sm\+>*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@sm\+{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@sm\+>*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@sm\+{margin:-2px !important}.gap-4\@sm\+>*{padding:2px !important}}@media screen and (min-width: 0){.gapX-4\@xs\+{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@xs\+>*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@xs\+{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@xs\+>*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@xs\+{margin:-2px !important}.gap-4\@xs\+>*{padding:2px !important}}@media screen and (max-width: 1439px){.gapX-4\@xl-{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@xl->*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@xl-{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@xl->*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@xl-{margin:-2px !important}.gap-4\@xl->*{padding:2px !important}}@media screen and (max-width: 1199px){.gapX-4\@lg-{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@lg->*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@lg-{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@lg->*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@lg-{margin:-2px !important}.gap-4\@lg->*{padding:2px !important}}@media screen and (max-width: 991px){.gapX-4\@md-{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@md->*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@md-{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@md->*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@md-{margin:-2px !important}.gap-4\@md->*{padding:2px !important}}@media screen and (max-width: 767px){.gapX-4\@sm-{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@sm->*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@sm-{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@sm->*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@sm-{margin:-2px !important}.gap-4\@sm->*{padding:2px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-4\@lg{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@lg>*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@lg{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@lg>*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@lg{margin:-2px !important}.gap-4\@lg>*{padding:2px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-4\@md{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@md>*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@md{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@md>*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@md{margin:-2px !important}.gap-4\@md>*{padding:2px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-4\@sm{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@sm>*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@sm{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@sm>*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@sm{margin:-2px !important}.gap-4\@sm>*{padding:2px !important}}.gapX-5{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5>*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5>*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5{margin:-2.5px !important}.gap-5>*{padding:2.5px !important}@media screen and (min-width: 1440px){.gapX-5\@xl\+{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@xl\+>*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@xl\+{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@xl\+>*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@xl\+{margin:-2.5px !important}.gap-5\@xl\+>*{padding:2.5px !important}}@media screen and (min-width: 1200px){.gapX-5\@lg\+{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@lg\+>*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@lg\+{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@lg\+>*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@lg\+{margin:-2.5px !important}.gap-5\@lg\+>*{padding:2.5px !important}}@media screen and (min-width: 992px){.gapX-5\@md\+{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@md\+>*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@md\+{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@md\+>*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@md\+{margin:-2.5px !important}.gap-5\@md\+>*{padding:2.5px !important}}@media screen and (min-width: 768px){.gapX-5\@sm\+{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@sm\+>*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@sm\+{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@sm\+>*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@sm\+{margin:-2.5px !important}.gap-5\@sm\+>*{padding:2.5px !important}}@media screen and (min-width: 0){.gapX-5\@xs\+{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@xs\+>*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@xs\+{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@xs\+>*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@xs\+{margin:-2.5px !important}.gap-5\@xs\+>*{padding:2.5px !important}}@media screen and (max-width: 1439px){.gapX-5\@xl-{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@xl->*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@xl-{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@xl->*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@xl-{margin:-2.5px !important}.gap-5\@xl->*{padding:2.5px !important}}@media screen and (max-width: 1199px){.gapX-5\@lg-{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@lg->*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@lg-{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@lg->*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@lg-{margin:-2.5px !important}.gap-5\@lg->*{padding:2.5px !important}}@media screen and (max-width: 991px){.gapX-5\@md-{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@md->*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@md-{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@md->*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@md-{margin:-2.5px !important}.gap-5\@md->*{padding:2.5px !important}}@media screen and (max-width: 767px){.gapX-5\@sm-{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@sm->*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@sm-{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@sm->*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@sm-{margin:-2.5px !important}.gap-5\@sm->*{padding:2.5px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-5\@lg{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@lg>*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@lg{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@lg>*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@lg{margin:-2.5px !important}.gap-5\@lg>*{padding:2.5px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-5\@md{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@md>*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@md{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@md>*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@md{margin:-2.5px !important}.gap-5\@md>*{padding:2.5px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-5\@sm{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@sm>*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@sm{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@sm>*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@sm{margin:-2.5px !important}.gap-5\@sm>*{padding:2.5px !important}}.gapX-10{margin-left:-5px !important;margin-right:-5px !important}.gapX-10>*{padding-left:5px !important;padding-right:5px !important}.gapY-10{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10>*{padding-top:5px !important;padding-bottom:5px !important}.gap-10{margin:-5px !important}.gap-10>*{padding:5px !important}@media screen and (min-width: 1440px){.gapX-10\@xl\+{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@xl\+>*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@xl\+{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@xl\+>*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@xl\+{margin:-5px !important}.gap-10\@xl\+>*{padding:5px !important}}@media screen and (min-width: 1200px){.gapX-10\@lg\+{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@lg\+>*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@lg\+{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@lg\+>*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@lg\+{margin:-5px !important}.gap-10\@lg\+>*{padding:5px !important}}@media screen and (min-width: 992px){.gapX-10\@md\+{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@md\+>*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@md\+{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@md\+>*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@md\+{margin:-5px !important}.gap-10\@md\+>*{padding:5px !important}}@media screen and (min-width: 768px){.gapX-10\@sm\+{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@sm\+>*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@sm\+{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@sm\+>*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@sm\+{margin:-5px !important}.gap-10\@sm\+>*{padding:5px !important}}@media screen and (min-width: 0){.gapX-10\@xs\+{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@xs\+>*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@xs\+{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@xs\+>*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@xs\+{margin:-5px !important}.gap-10\@xs\+>*{padding:5px !important}}@media screen and (max-width: 1439px){.gapX-10\@xl-{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@xl->*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@xl-{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@xl->*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@xl-{margin:-5px !important}.gap-10\@xl->*{padding:5px !important}}@media screen and (max-width: 1199px){.gapX-10\@lg-{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@lg->*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@lg-{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@lg->*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@lg-{margin:-5px !important}.gap-10\@lg->*{padding:5px !important}}@media screen and (max-width: 991px){.gapX-10\@md-{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@md->*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@md-{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@md->*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@md-{margin:-5px !important}.gap-10\@md->*{padding:5px !important}}@media screen and (max-width: 767px){.gapX-10\@sm-{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@sm->*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@sm-{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@sm->*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@sm-{margin:-5px !important}.gap-10\@sm->*{padding:5px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-10\@lg{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@lg>*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@lg{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@lg>*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@lg{margin:-5px !important}.gap-10\@lg>*{padding:5px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-10\@md{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@md>*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@md{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@md>*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@md{margin:-5px !important}.gap-10\@md>*{padding:5px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-10\@sm{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@sm>*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@sm{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@sm>*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@sm{margin:-5px !important}.gap-10\@sm>*{padding:5px !important}}.gapX-15{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15>*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15>*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15{margin:-7.5px !important}.gap-15>*{padding:7.5px !important}@media screen and (min-width: 1440px){.gapX-15\@xl\+{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@xl\+>*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@xl\+{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@xl\+>*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@xl\+{margin:-7.5px !important}.gap-15\@xl\+>*{padding:7.5px !important}}@media screen and (min-width: 1200px){.gapX-15\@lg\+{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@lg\+>*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@lg\+{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@lg\+>*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@lg\+{margin:-7.5px !important}.gap-15\@lg\+>*{padding:7.5px !important}}@media screen and (min-width: 992px){.gapX-15\@md\+{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@md\+>*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@md\+{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@md\+>*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@md\+{margin:-7.5px !important}.gap-15\@md\+>*{padding:7.5px !important}}@media screen and (min-width: 768px){.gapX-15\@sm\+{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@sm\+>*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@sm\+{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@sm\+>*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@sm\+{margin:-7.5px !important}.gap-15\@sm\+>*{padding:7.5px !important}}@media screen and (min-width: 0){.gapX-15\@xs\+{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@xs\+>*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@xs\+{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@xs\+>*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@xs\+{margin:-7.5px !important}.gap-15\@xs\+>*{padding:7.5px !important}}@media screen and (max-width: 1439px){.gapX-15\@xl-{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@xl->*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@xl-{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@xl->*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@xl-{margin:-7.5px !important}.gap-15\@xl->*{padding:7.5px !important}}@media screen and (max-width: 1199px){.gapX-15\@lg-{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@lg->*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@lg-{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@lg->*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@lg-{margin:-7.5px !important}.gap-15\@lg->*{padding:7.5px !important}}@media screen and (max-width: 991px){.gapX-15\@md-{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@md->*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@md-{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@md->*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@md-{margin:-7.5px !important}.gap-15\@md->*{padding:7.5px !important}}@media screen and (max-width: 767px){.gapX-15\@sm-{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@sm->*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@sm-{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@sm->*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@sm-{margin:-7.5px !important}.gap-15\@sm->*{padding:7.5px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-15\@lg{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@lg>*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@lg{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@lg>*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@lg{margin:-7.5px !important}.gap-15\@lg>*{padding:7.5px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-15\@md{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@md>*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@md{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@md>*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@md{margin:-7.5px !important}.gap-15\@md>*{padding:7.5px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-15\@sm{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@sm>*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@sm{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@sm>*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@sm{margin:-7.5px !important}.gap-15\@sm>*{padding:7.5px !important}}.gapX-20{margin-left:-10px !important;margin-right:-10px !important}.gapX-20>*{padding-left:10px !important;padding-right:10px !important}.gapY-20{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20>*{padding-top:10px !important;padding-bottom:10px !important}.gap-20{margin:-10px !important}.gap-20>*{padding:10px !important}@media screen and (min-width: 1440px){.gapX-20\@xl\+{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@xl\+>*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@xl\+{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@xl\+>*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@xl\+{margin:-10px !important}.gap-20\@xl\+>*{padding:10px !important}}@media screen and (min-width: 1200px){.gapX-20\@lg\+{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@lg\+>*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@lg\+{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@lg\+>*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@lg\+{margin:-10px !important}.gap-20\@lg\+>*{padding:10px !important}}@media screen and (min-width: 992px){.gapX-20\@md\+{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@md\+>*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@md\+{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@md\+>*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@md\+{margin:-10px !important}.gap-20\@md\+>*{padding:10px !important}}@media screen and (min-width: 768px){.gapX-20\@sm\+{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@sm\+>*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@sm\+{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@sm\+>*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@sm\+{margin:-10px !important}.gap-20\@sm\+>*{padding:10px !important}}@media screen and (min-width: 0){.gapX-20\@xs\+{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@xs\+>*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@xs\+{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@xs\+>*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@xs\+{margin:-10px !important}.gap-20\@xs\+>*{padding:10px !important}}@media screen and (max-width: 1439px){.gapX-20\@xl-{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@xl->*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@xl-{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@xl->*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@xl-{margin:-10px !important}.gap-20\@xl->*{padding:10px !important}}@media screen and (max-width: 1199px){.gapX-20\@lg-{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@lg->*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@lg-{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@lg->*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@lg-{margin:-10px !important}.gap-20\@lg->*{padding:10px !important}}@media screen and (max-width: 991px){.gapX-20\@md-{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@md->*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@md-{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@md->*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@md-{margin:-10px !important}.gap-20\@md->*{padding:10px !important}}@media screen and (max-width: 767px){.gapX-20\@sm-{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@sm->*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@sm-{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@sm->*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@sm-{margin:-10px !important}.gap-20\@sm->*{padding:10px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-20\@lg{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@lg>*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@lg{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@lg>*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@lg{margin:-10px !important}.gap-20\@lg>*{padding:10px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-20\@md{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@md>*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@md{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@md>*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@md{margin:-10px !important}.gap-20\@md>*{padding:10px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-20\@sm{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@sm>*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@sm{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@sm>*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@sm{margin:-10px !important}.gap-20\@sm>*{padding:10px !important}}.gapX-25{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25>*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25>*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25{margin:-12.5px !important}.gap-25>*{padding:12.5px !important}@media screen and (min-width: 1440px){.gapX-25\@xl\+{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@xl\+>*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@xl\+{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@xl\+>*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@xl\+{margin:-12.5px !important}.gap-25\@xl\+>*{padding:12.5px !important}}@media screen and (min-width: 1200px){.gapX-25\@lg\+{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@lg\+>*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@lg\+{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@lg\+>*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@lg\+{margin:-12.5px !important}.gap-25\@lg\+>*{padding:12.5px !important}}@media screen and (min-width: 992px){.gapX-25\@md\+{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@md\+>*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@md\+{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@md\+>*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@md\+{margin:-12.5px !important}.gap-25\@md\+>*{padding:12.5px !important}}@media screen and (min-width: 768px){.gapX-25\@sm\+{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@sm\+>*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@sm\+{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@sm\+>*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@sm\+{margin:-12.5px !important}.gap-25\@sm\+>*{padding:12.5px !important}}@media screen and (min-width: 0){.gapX-25\@xs\+{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@xs\+>*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@xs\+{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@xs\+>*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@xs\+{margin:-12.5px !important}.gap-25\@xs\+>*{padding:12.5px !important}}@media screen and (max-width: 1439px){.gapX-25\@xl-{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@xl->*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@xl-{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@xl->*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@xl-{margin:-12.5px !important}.gap-25\@xl->*{padding:12.5px !important}}@media screen and (max-width: 1199px){.gapX-25\@lg-{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@lg->*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@lg-{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@lg->*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@lg-{margin:-12.5px !important}.gap-25\@lg->*{padding:12.5px !important}}@media screen and (max-width: 991px){.gapX-25\@md-{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@md->*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@md-{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@md->*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@md-{margin:-12.5px !important}.gap-25\@md->*{padding:12.5px !important}}@media screen and (max-width: 767px){.gapX-25\@sm-{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@sm->*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@sm-{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@sm->*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@sm-{margin:-12.5px !important}.gap-25\@sm->*{padding:12.5px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-25\@lg{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@lg>*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@lg{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@lg>*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@lg{margin:-12.5px !important}.gap-25\@lg>*{padding:12.5px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-25\@md{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@md>*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@md{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@md>*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@md{margin:-12.5px !important}.gap-25\@md>*{padding:12.5px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-25\@sm{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@sm>*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@sm{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@sm>*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@sm{margin:-12.5px !important}.gap-25\@sm>*{padding:12.5px !important}}.gapX-30{margin-left:-15px !important;margin-right:-15px !important}.gapX-30>*{padding-left:15px !important;padding-right:15px !important}.gapY-30{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30>*{padding-top:15px !important;padding-bottom:15px !important}.gap-30{margin:-15px !important}.gap-30>*{padding:15px !important}@media screen and (min-width: 1440px){.gapX-30\@xl\+{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@xl\+>*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@xl\+{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@xl\+>*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@xl\+{margin:-15px !important}.gap-30\@xl\+>*{padding:15px !important}}@media screen and (min-width: 1200px){.gapX-30\@lg\+{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@lg\+>*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@lg\+{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@lg\+>*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@lg\+{margin:-15px !important}.gap-30\@lg\+>*{padding:15px !important}}@media screen and (min-width: 992px){.gapX-30\@md\+{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@md\+>*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@md\+{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@md\+>*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@md\+{margin:-15px !important}.gap-30\@md\+>*{padding:15px !important}}@media screen and (min-width: 768px){.gapX-30\@sm\+{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@sm\+>*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@sm\+{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@sm\+>*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@sm\+{margin:-15px !important}.gap-30\@sm\+>*{padding:15px !important}}@media screen and (min-width: 0){.gapX-30\@xs\+{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@xs\+>*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@xs\+{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@xs\+>*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@xs\+{margin:-15px !important}.gap-30\@xs\+>*{padding:15px !important}}@media screen and (max-width: 1439px){.gapX-30\@xl-{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@xl->*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@xl-{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@xl->*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@xl-{margin:-15px !important}.gap-30\@xl->*{padding:15px !important}}@media screen and (max-width: 1199px){.gapX-30\@lg-{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@lg->*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@lg-{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@lg->*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@lg-{margin:-15px !important}.gap-30\@lg->*{padding:15px !important}}@media screen and (max-width: 991px){.gapX-30\@md-{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@md->*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@md-{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@md->*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@md-{margin:-15px !important}.gap-30\@md->*{padding:15px !important}}@media screen and (max-width: 767px){.gapX-30\@sm-{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@sm->*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@sm-{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@sm->*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@sm-{margin:-15px !important}.gap-30\@sm->*{padding:15px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-30\@lg{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@lg>*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@lg{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@lg>*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@lg{margin:-15px !important}.gap-30\@lg>*{padding:15px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-30\@md{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@md>*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@md{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@md>*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@md{margin:-15px !important}.gap-30\@md>*{padding:15px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-30\@sm{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@sm>*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@sm{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@sm>*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@sm{margin:-15px !important}.gap-30\@sm>*{padding:15px !important}}.gapX-35{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35>*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35>*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35{margin:-17.5px !important}.gap-35>*{padding:17.5px !important}@media screen and (min-width: 1440px){.gapX-35\@xl\+{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@xl\+>*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@xl\+{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@xl\+>*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@xl\+{margin:-17.5px !important}.gap-35\@xl\+>*{padding:17.5px !important}}@media screen and (min-width: 1200px){.gapX-35\@lg\+{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@lg\+>*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@lg\+{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@lg\+>*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@lg\+{margin:-17.5px !important}.gap-35\@lg\+>*{padding:17.5px !important}}@media screen and (min-width: 992px){.gapX-35\@md\+{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@md\+>*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@md\+{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@md\+>*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@md\+{margin:-17.5px !important}.gap-35\@md\+>*{padding:17.5px !important}}@media screen and (min-width: 768px){.gapX-35\@sm\+{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@sm\+>*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@sm\+{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@sm\+>*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@sm\+{margin:-17.5px !important}.gap-35\@sm\+>*{padding:17.5px !important}}@media screen and (min-width: 0){.gapX-35\@xs\+{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@xs\+>*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@xs\+{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@xs\+>*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@xs\+{margin:-17.5px !important}.gap-35\@xs\+>*{padding:17.5px !important}}@media screen and (max-width: 1439px){.gapX-35\@xl-{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@xl->*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@xl-{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@xl->*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@xl-{margin:-17.5px !important}.gap-35\@xl->*{padding:17.5px !important}}@media screen and (max-width: 1199px){.gapX-35\@lg-{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@lg->*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@lg-{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@lg->*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@lg-{margin:-17.5px !important}.gap-35\@lg->*{padding:17.5px !important}}@media screen and (max-width: 991px){.gapX-35\@md-{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@md->*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@md-{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@md->*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@md-{margin:-17.5px !important}.gap-35\@md->*{padding:17.5px !important}}@media screen and (max-width: 767px){.gapX-35\@sm-{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@sm->*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@sm-{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@sm->*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@sm-{margin:-17.5px !important}.gap-35\@sm->*{padding:17.5px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-35\@lg{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@lg>*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@lg{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@lg>*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@lg{margin:-17.5px !important}.gap-35\@lg>*{padding:17.5px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-35\@md{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@md>*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@md{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@md>*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@md{margin:-17.5px !important}.gap-35\@md>*{padding:17.5px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-35\@sm{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@sm>*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@sm{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@sm>*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@sm{margin:-17.5px !important}.gap-35\@sm>*{padding:17.5px !important}}.gapX-40{margin-left:-20px !important;margin-right:-20px !important}.gapX-40>*{padding-left:20px !important;padding-right:20px !important}.gapY-40{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40>*{padding-top:20px !important;padding-bottom:20px !important}.gap-40{margin:-20px !important}.gap-40>*{padding:20px !important}@media screen and (min-width: 1440px){.gapX-40\@xl\+{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@xl\+>*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@xl\+{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@xl\+>*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@xl\+{margin:-20px !important}.gap-40\@xl\+>*{padding:20px !important}}@media screen and (min-width: 1200px){.gapX-40\@lg\+{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@lg\+>*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@lg\+{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@lg\+>*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@lg\+{margin:-20px !important}.gap-40\@lg\+>*{padding:20px !important}}@media screen and (min-width: 992px){.gapX-40\@md\+{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@md\+>*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@md\+{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@md\+>*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@md\+{margin:-20px !important}.gap-40\@md\+>*{padding:20px !important}}@media screen and (min-width: 768px){.gapX-40\@sm\+{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@sm\+>*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@sm\+{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@sm\+>*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@sm\+{margin:-20px !important}.gap-40\@sm\+>*{padding:20px !important}}@media screen and (min-width: 0){.gapX-40\@xs\+{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@xs\+>*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@xs\+{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@xs\+>*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@xs\+{margin:-20px !important}.gap-40\@xs\+>*{padding:20px !important}}@media screen and (max-width: 1439px){.gapX-40\@xl-{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@xl->*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@xl-{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@xl->*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@xl-{margin:-20px !important}.gap-40\@xl->*{padding:20px !important}}@media screen and (max-width: 1199px){.gapX-40\@lg-{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@lg->*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@lg-{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@lg->*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@lg-{margin:-20px !important}.gap-40\@lg->*{padding:20px !important}}@media screen and (max-width: 991px){.gapX-40\@md-{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@md->*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@md-{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@md->*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@md-{margin:-20px !important}.gap-40\@md->*{padding:20px !important}}@media screen and (max-width: 767px){.gapX-40\@sm-{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@sm->*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@sm-{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@sm->*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@sm-{margin:-20px !important}.gap-40\@sm->*{padding:20px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-40\@lg{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@lg>*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@lg{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@lg>*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@lg{margin:-20px !important}.gap-40\@lg>*{padding:20px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-40\@md{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@md>*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@md{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@md>*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@md{margin:-20px !important}.gap-40\@md>*{padding:20px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-40\@sm{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@sm>*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@sm{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@sm>*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@sm{margin:-20px !important}.gap-40\@sm>*{padding:20px !important}}.gapX-50{margin-left:-25px !important;margin-right:-25px !important}.gapX-50>*{padding-left:25px !important;padding-right:25px !important}.gapY-50{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50>*{padding-top:25px !important;padding-bottom:25px !important}.gap-50{margin:-25px !important}.gap-50>*{padding:25px !important}@media screen and (min-width: 1440px){.gapX-50\@xl\+{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@xl\+>*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@xl\+{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@xl\+>*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@xl\+{margin:-25px !important}.gap-50\@xl\+>*{padding:25px !important}}@media screen and (min-width: 1200px){.gapX-50\@lg\+{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@lg\+>*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@lg\+{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@lg\+>*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@lg\+{margin:-25px !important}.gap-50\@lg\+>*{padding:25px !important}}@media screen and (min-width: 992px){.gapX-50\@md\+{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@md\+>*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@md\+{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@md\+>*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@md\+{margin:-25px !important}.gap-50\@md\+>*{padding:25px !important}}@media screen and (min-width: 768px){.gapX-50\@sm\+{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@sm\+>*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@sm\+{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@sm\+>*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@sm\+{margin:-25px !important}.gap-50\@sm\+>*{padding:25px !important}}@media screen and (min-width: 0){.gapX-50\@xs\+{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@xs\+>*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@xs\+{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@xs\+>*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@xs\+{margin:-25px !important}.gap-50\@xs\+>*{padding:25px !important}}@media screen and (max-width: 1439px){.gapX-50\@xl-{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@xl->*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@xl-{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@xl->*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@xl-{margin:-25px !important}.gap-50\@xl->*{padding:25px !important}}@media screen and (max-width: 1199px){.gapX-50\@lg-{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@lg->*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@lg-{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@lg->*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@lg-{margin:-25px !important}.gap-50\@lg->*{padding:25px !important}}@media screen and (max-width: 991px){.gapX-50\@md-{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@md->*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@md-{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@md->*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@md-{margin:-25px !important}.gap-50\@md->*{padding:25px !important}}@media screen and (max-width: 767px){.gapX-50\@sm-{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@sm->*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@sm-{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@sm->*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@sm-{margin:-25px !important}.gap-50\@sm->*{padding:25px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-50\@lg{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@lg>*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@lg{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@lg>*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@lg{margin:-25px !important}.gap-50\@lg>*{padding:25px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-50\@md{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@md>*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@md{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@md>*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@md{margin:-25px !important}.gap-50\@md>*{padding:25px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-50\@sm{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@sm>*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@sm{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@sm>*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@sm{margin:-25px !important}.gap-50\@sm>*{padding:25px !important}}.gapX-60{margin-left:-30px !important;margin-right:-30px !important}.gapX-60>*{padding-left:30px !important;padding-right:30px !important}.gapY-60{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60>*{padding-top:30px !important;padding-bottom:30px !important}.gap-60{margin:-30px !important}.gap-60>*{padding:30px !important}@media screen and (min-width: 1440px){.gapX-60\@xl\+{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@xl\+>*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@xl\+{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@xl\+>*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@xl\+{margin:-30px !important}.gap-60\@xl\+>*{padding:30px !important}}@media screen and (min-width: 1200px){.gapX-60\@lg\+{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@lg\+>*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@lg\+{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@lg\+>*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@lg\+{margin:-30px !important}.gap-60\@lg\+>*{padding:30px !important}}@media screen and (min-width: 992px){.gapX-60\@md\+{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@md\+>*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@md\+{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@md\+>*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@md\+{margin:-30px !important}.gap-60\@md\+>*{padding:30px !important}}@media screen and (min-width: 768px){.gapX-60\@sm\+{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@sm\+>*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@sm\+{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@sm\+>*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@sm\+{margin:-30px !important}.gap-60\@sm\+>*{padding:30px !important}}@media screen and (min-width: 0){.gapX-60\@xs\+{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@xs\+>*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@xs\+{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@xs\+>*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@xs\+{margin:-30px !important}.gap-60\@xs\+>*{padding:30px !important}}@media screen and (max-width: 1439px){.gapX-60\@xl-{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@xl->*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@xl-{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@xl->*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@xl-{margin:-30px !important}.gap-60\@xl->*{padding:30px !important}}@media screen and (max-width: 1199px){.gapX-60\@lg-{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@lg->*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@lg-{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@lg->*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@lg-{margin:-30px !important}.gap-60\@lg->*{padding:30px !important}}@media screen and (max-width: 991px){.gapX-60\@md-{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@md->*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@md-{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@md->*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@md-{margin:-30px !important}.gap-60\@md->*{padding:30px !important}}@media screen and (max-width: 767px){.gapX-60\@sm-{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@sm->*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@sm-{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@sm->*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@sm-{margin:-30px !important}.gap-60\@sm->*{padding:30px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-60\@lg{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@lg>*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@lg{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@lg>*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@lg{margin:-30px !important}.gap-60\@lg>*{padding:30px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-60\@md{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@md>*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@md{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@md>*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@md{margin:-30px !important}.gap-60\@md>*{padding:30px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-60\@sm{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@sm>*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@sm{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@sm>*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@sm{margin:-30px !important}.gap-60\@sm>*{padding:30px !important}}.gapX-70{margin-left:-35px !important;margin-right:-35px !important}.gapX-70>*{padding-left:35px !important;padding-right:35px !important}.gapY-70{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70>*{padding-top:35px !important;padding-bottom:35px !important}.gap-70{margin:-35px !important}.gap-70>*{padding:35px !important}@media screen and (min-width: 1440px){.gapX-70\@xl\+{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@xl\+>*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@xl\+{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@xl\+>*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@xl\+{margin:-35px !important}.gap-70\@xl\+>*{padding:35px !important}}@media screen and (min-width: 1200px){.gapX-70\@lg\+{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@lg\+>*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@lg\+{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@lg\+>*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@lg\+{margin:-35px !important}.gap-70\@lg\+>*{padding:35px !important}}@media screen and (min-width: 992px){.gapX-70\@md\+{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@md\+>*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@md\+{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@md\+>*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@md\+{margin:-35px !important}.gap-70\@md\+>*{padding:35px !important}}@media screen and (min-width: 768px){.gapX-70\@sm\+{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@sm\+>*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@sm\+{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@sm\+>*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@sm\+{margin:-35px !important}.gap-70\@sm\+>*{padding:35px !important}}@media screen and (min-width: 0){.gapX-70\@xs\+{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@xs\+>*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@xs\+{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@xs\+>*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@xs\+{margin:-35px !important}.gap-70\@xs\+>*{padding:35px !important}}@media screen and (max-width: 1439px){.gapX-70\@xl-{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@xl->*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@xl-{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@xl->*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@xl-{margin:-35px !important}.gap-70\@xl->*{padding:35px !important}}@media screen and (max-width: 1199px){.gapX-70\@lg-{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@lg->*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@lg-{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@lg->*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@lg-{margin:-35px !important}.gap-70\@lg->*{padding:35px !important}}@media screen and (max-width: 991px){.gapX-70\@md-{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@md->*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@md-{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@md->*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@md-{margin:-35px !important}.gap-70\@md->*{padding:35px !important}}@media screen and (max-width: 767px){.gapX-70\@sm-{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@sm->*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@sm-{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@sm->*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@sm-{margin:-35px !important}.gap-70\@sm->*{padding:35px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-70\@lg{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@lg>*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@lg{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@lg>*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@lg{margin:-35px !important}.gap-70\@lg>*{padding:35px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-70\@md{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@md>*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@md{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@md>*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@md{margin:-35px !important}.gap-70\@md>*{padding:35px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-70\@sm{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@sm>*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@sm{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@sm>*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@sm{margin:-35px !important}.gap-70\@sm>*{padding:35px !important}}.gapX-80{margin-left:-40px !important;margin-right:-40px !important}.gapX-80>*{padding-left:40px !important;padding-right:40px !important}.gapY-80{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80>*{padding-top:40px !important;padding-bottom:40px !important}.gap-80{margin:-40px !important}.gap-80>*{padding:40px !important}@media screen and (min-width: 1440px){.gapX-80\@xl\+{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@xl\+>*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@xl\+{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@xl\+>*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@xl\+{margin:-40px !important}.gap-80\@xl\+>*{padding:40px !important}}@media screen and (min-width: 1200px){.gapX-80\@lg\+{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@lg\+>*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@lg\+{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@lg\+>*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@lg\+{margin:-40px !important}.gap-80\@lg\+>*{padding:40px !important}}@media screen and (min-width: 992px){.gapX-80\@md\+{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@md\+>*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@md\+{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@md\+>*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@md\+{margin:-40px !important}.gap-80\@md\+>*{padding:40px !important}}@media screen and (min-width: 768px){.gapX-80\@sm\+{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@sm\+>*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@sm\+{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@sm\+>*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@sm\+{margin:-40px !important}.gap-80\@sm\+>*{padding:40px !important}}@media screen and (min-width: 0){.gapX-80\@xs\+{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@xs\+>*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@xs\+{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@xs\+>*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@xs\+{margin:-40px !important}.gap-80\@xs\+>*{padding:40px !important}}@media screen and (max-width: 1439px){.gapX-80\@xl-{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@xl->*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@xl-{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@xl->*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@xl-{margin:-40px !important}.gap-80\@xl->*{padding:40px !important}}@media screen and (max-width: 1199px){.gapX-80\@lg-{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@lg->*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@lg-{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@lg->*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@lg-{margin:-40px !important}.gap-80\@lg->*{padding:40px !important}}@media screen and (max-width: 991px){.gapX-80\@md-{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@md->*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@md-{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@md->*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@md-{margin:-40px !important}.gap-80\@md->*{padding:40px !important}}@media screen and (max-width: 767px){.gapX-80\@sm-{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@sm->*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@sm-{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@sm->*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@sm-{margin:-40px !important}.gap-80\@sm->*{padding:40px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-80\@lg{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@lg>*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@lg{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@lg>*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@lg{margin:-40px !important}.gap-80\@lg>*{padding:40px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-80\@md{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@md>*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@md{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@md>*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@md{margin:-40px !important}.gap-80\@md>*{padding:40px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-80\@sm{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@sm>*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@sm{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@sm>*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@sm{margin:-40px !important}.gap-80\@sm>*{padding:40px !important}}.gapX-90{margin-left:-45px !important;margin-right:-45px !important}.gapX-90>*{padding-left:45px !important;padding-right:45px !important}.gapY-90{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90>*{padding-top:45px !important;padding-bottom:45px !important}.gap-90{margin:-45px !important}.gap-90>*{padding:45px !important}@media screen and (min-width: 1440px){.gapX-90\@xl\+{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@xl\+>*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@xl\+{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@xl\+>*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@xl\+{margin:-45px !important}.gap-90\@xl\+>*{padding:45px !important}}@media screen and (min-width: 1200px){.gapX-90\@lg\+{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@lg\+>*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@lg\+{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@lg\+>*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@lg\+{margin:-45px !important}.gap-90\@lg\+>*{padding:45px !important}}@media screen and (min-width: 992px){.gapX-90\@md\+{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@md\+>*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@md\+{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@md\+>*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@md\+{margin:-45px !important}.gap-90\@md\+>*{padding:45px !important}}@media screen and (min-width: 768px){.gapX-90\@sm\+{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@sm\+>*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@sm\+{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@sm\+>*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@sm\+{margin:-45px !important}.gap-90\@sm\+>*{padding:45px !important}}@media screen and (min-width: 0){.gapX-90\@xs\+{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@xs\+>*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@xs\+{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@xs\+>*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@xs\+{margin:-45px !important}.gap-90\@xs\+>*{padding:45px !important}}@media screen and (max-width: 1439px){.gapX-90\@xl-{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@xl->*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@xl-{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@xl->*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@xl-{margin:-45px !important}.gap-90\@xl->*{padding:45px !important}}@media screen and (max-width: 1199px){.gapX-90\@lg-{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@lg->*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@lg-{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@lg->*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@lg-{margin:-45px !important}.gap-90\@lg->*{padding:45px !important}}@media screen and (max-width: 991px){.gapX-90\@md-{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@md->*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@md-{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@md->*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@md-{margin:-45px !important}.gap-90\@md->*{padding:45px !important}}@media screen and (max-width: 767px){.gapX-90\@sm-{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@sm->*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@sm-{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@sm->*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@sm-{margin:-45px !important}.gap-90\@sm->*{padding:45px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-90\@lg{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@lg>*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@lg{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@lg>*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@lg{margin:-45px !important}.gap-90\@lg>*{padding:45px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-90\@md{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@md>*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@md{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@md>*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@md{margin:-45px !important}.gap-90\@md>*{padding:45px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-90\@sm{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@sm>*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@sm{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@sm>*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@sm{margin:-45px !important}.gap-90\@sm>*{padding:45px !important}}.gapX-100{margin-left:-50px !important;margin-right:-50px !important}.gapX-100>*{padding-left:50px !important;padding-right:50px !important}.gapY-100{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100>*{padding-top:50px !important;padding-bottom:50px !important}.gap-100{margin:-50px !important}.gap-100>*{padding:50px !important}@media screen and (min-width: 1440px){.gapX-100\@xl\+{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@xl\+>*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@xl\+{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@xl\+>*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@xl\+{margin:-50px !important}.gap-100\@xl\+>*{padding:50px !important}}@media screen and (min-width: 1200px){.gapX-100\@lg\+{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@lg\+>*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@lg\+{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@lg\+>*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@lg\+{margin:-50px !important}.gap-100\@lg\+>*{padding:50px !important}}@media screen and (min-width: 992px){.gapX-100\@md\+{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@md\+>*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@md\+{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@md\+>*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@md\+{margin:-50px !important}.gap-100\@md\+>*{padding:50px !important}}@media screen and (min-width: 768px){.gapX-100\@sm\+{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@sm\+>*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@sm\+{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@sm\+>*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@sm\+{margin:-50px !important}.gap-100\@sm\+>*{padding:50px !important}}@media screen and (min-width: 0){.gapX-100\@xs\+{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@xs\+>*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@xs\+{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@xs\+>*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@xs\+{margin:-50px !important}.gap-100\@xs\+>*{padding:50px !important}}@media screen and (max-width: 1439px){.gapX-100\@xl-{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@xl->*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@xl-{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@xl->*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@xl-{margin:-50px !important}.gap-100\@xl->*{padding:50px !important}}@media screen and (max-width: 1199px){.gapX-100\@lg-{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@lg->*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@lg-{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@lg->*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@lg-{margin:-50px !important}.gap-100\@lg->*{padding:50px !important}}@media screen and (max-width: 991px){.gapX-100\@md-{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@md->*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@md-{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@md->*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@md-{margin:-50px !important}.gap-100\@md->*{padding:50px !important}}@media screen and (max-width: 767px){.gapX-100\@sm-{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@sm->*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@sm-{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@sm->*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@sm-{margin:-50px !important}.gap-100\@sm->*{padding:50px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-100\@lg{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@lg>*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@lg{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@lg>*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@lg{margin:-50px !important}.gap-100\@lg>*{padding:50px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-100\@md{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@md>*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@md{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@md>*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@md{margin:-50px !important}.gap-100\@md>*{padding:50px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-100\@sm{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@sm>*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@sm{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@sm>*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@sm{margin:-50px !important}.gap-100\@sm>*{padding:50px !important}}.gapX-110{margin-left:-55px !important;margin-right:-55px !important}.gapX-110>*{padding-left:55px !important;padding-right:55px !important}.gapY-110{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110>*{padding-top:55px !important;padding-bottom:55px !important}.gap-110{margin:-55px !important}.gap-110>*{padding:55px !important}@media screen and (min-width: 1440px){.gapX-110\@xl\+{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@xl\+>*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@xl\+{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@xl\+>*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@xl\+{margin:-55px !important}.gap-110\@xl\+>*{padding:55px !important}}@media screen and (min-width: 1200px){.gapX-110\@lg\+{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@lg\+>*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@lg\+{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@lg\+>*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@lg\+{margin:-55px !important}.gap-110\@lg\+>*{padding:55px !important}}@media screen and (min-width: 992px){.gapX-110\@md\+{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@md\+>*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@md\+{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@md\+>*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@md\+{margin:-55px !important}.gap-110\@md\+>*{padding:55px !important}}@media screen and (min-width: 768px){.gapX-110\@sm\+{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@sm\+>*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@sm\+{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@sm\+>*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@sm\+{margin:-55px !important}.gap-110\@sm\+>*{padding:55px !important}}@media screen and (min-width: 0){.gapX-110\@xs\+{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@xs\+>*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@xs\+{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@xs\+>*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@xs\+{margin:-55px !important}.gap-110\@xs\+>*{padding:55px !important}}@media screen and (max-width: 1439px){.gapX-110\@xl-{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@xl->*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@xl-{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@xl->*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@xl-{margin:-55px !important}.gap-110\@xl->*{padding:55px !important}}@media screen and (max-width: 1199px){.gapX-110\@lg-{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@lg->*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@lg-{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@lg->*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@lg-{margin:-55px !important}.gap-110\@lg->*{padding:55px !important}}@media screen and (max-width: 991px){.gapX-110\@md-{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@md->*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@md-{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@md->*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@md-{margin:-55px !important}.gap-110\@md->*{padding:55px !important}}@media screen and (max-width: 767px){.gapX-110\@sm-{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@sm->*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@sm-{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@sm->*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@sm-{margin:-55px !important}.gap-110\@sm->*{padding:55px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-110\@lg{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@lg>*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@lg{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@lg>*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@lg{margin:-55px !important}.gap-110\@lg>*{padding:55px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-110\@md{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@md>*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@md{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@md>*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@md{margin:-55px !important}.gap-110\@md>*{padding:55px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-110\@sm{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@sm>*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@sm{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@sm>*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@sm{margin:-55px !important}.gap-110\@sm>*{padding:55px !important}}.gapX-120{margin-left:-60px !important;margin-right:-60px !important}.gapX-120>*{padding-left:60px !important;padding-right:60px !important}.gapY-120{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120>*{padding-top:60px !important;padding-bottom:60px !important}.gap-120{margin:-60px !important}.gap-120>*{padding:60px !important}@media screen and (min-width: 1440px){.gapX-120\@xl\+{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@xl\+>*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@xl\+{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@xl\+>*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@xl\+{margin:-60px !important}.gap-120\@xl\+>*{padding:60px !important}}@media screen and (min-width: 1200px){.gapX-120\@lg\+{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@lg\+>*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@lg\+{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@lg\+>*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@lg\+{margin:-60px !important}.gap-120\@lg\+>*{padding:60px !important}}@media screen and (min-width: 992px){.gapX-120\@md\+{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@md\+>*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@md\+{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@md\+>*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@md\+{margin:-60px !important}.gap-120\@md\+>*{padding:60px !important}}@media screen and (min-width: 768px){.gapX-120\@sm\+{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@sm\+>*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@sm\+{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@sm\+>*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@sm\+{margin:-60px !important}.gap-120\@sm\+>*{padding:60px !important}}@media screen and (min-width: 0){.gapX-120\@xs\+{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@xs\+>*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@xs\+{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@xs\+>*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@xs\+{margin:-60px !important}.gap-120\@xs\+>*{padding:60px !important}}@media screen and (max-width: 1439px){.gapX-120\@xl-{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@xl->*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@xl-{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@xl->*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@xl-{margin:-60px !important}.gap-120\@xl->*{padding:60px !important}}@media screen and (max-width: 1199px){.gapX-120\@lg-{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@lg->*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@lg-{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@lg->*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@lg-{margin:-60px !important}.gap-120\@lg->*{padding:60px !important}}@media screen and (max-width: 991px){.gapX-120\@md-{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@md->*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@md-{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@md->*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@md-{margin:-60px !important}.gap-120\@md->*{padding:60px !important}}@media screen and (max-width: 767px){.gapX-120\@sm-{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@sm->*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@sm-{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@sm->*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@sm-{margin:-60px !important}.gap-120\@sm->*{padding:60px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-120\@lg{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@lg>*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@lg{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@lg>*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@lg{margin:-60px !important}.gap-120\@lg>*{padding:60px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-120\@md{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@md>*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@md{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@md>*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@md{margin:-60px !important}.gap-120\@md>*{padding:60px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-120\@sm{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@sm>*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@sm{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@sm>*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@sm{margin:-60px !important}.gap-120\@sm>*{padding:60px !important}}.gapX-130{margin-left:-65px !important;margin-right:-65px !important}.gapX-130>*{padding-left:65px !important;padding-right:65px !important}.gapY-130{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130>*{padding-top:65px !important;padding-bottom:65px !important}.gap-130{margin:-65px !important}.gap-130>*{padding:65px !important}@media screen and (min-width: 1440px){.gapX-130\@xl\+{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@xl\+>*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@xl\+{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@xl\+>*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@xl\+{margin:-65px !important}.gap-130\@xl\+>*{padding:65px !important}}@media screen and (min-width: 1200px){.gapX-130\@lg\+{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@lg\+>*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@lg\+{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@lg\+>*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@lg\+{margin:-65px !important}.gap-130\@lg\+>*{padding:65px !important}}@media screen and (min-width: 992px){.gapX-130\@md\+{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@md\+>*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@md\+{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@md\+>*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@md\+{margin:-65px !important}.gap-130\@md\+>*{padding:65px !important}}@media screen and (min-width: 768px){.gapX-130\@sm\+{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@sm\+>*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@sm\+{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@sm\+>*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@sm\+{margin:-65px !important}.gap-130\@sm\+>*{padding:65px !important}}@media screen and (min-width: 0){.gapX-130\@xs\+{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@xs\+>*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@xs\+{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@xs\+>*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@xs\+{margin:-65px !important}.gap-130\@xs\+>*{padding:65px !important}}@media screen and (max-width: 1439px){.gapX-130\@xl-{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@xl->*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@xl-{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@xl->*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@xl-{margin:-65px !important}.gap-130\@xl->*{padding:65px !important}}@media screen and (max-width: 1199px){.gapX-130\@lg-{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@lg->*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@lg-{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@lg->*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@lg-{margin:-65px !important}.gap-130\@lg->*{padding:65px !important}}@media screen and (max-width: 991px){.gapX-130\@md-{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@md->*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@md-{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@md->*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@md-{margin:-65px !important}.gap-130\@md->*{padding:65px !important}}@media screen and (max-width: 767px){.gapX-130\@sm-{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@sm->*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@sm-{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@sm->*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@sm-{margin:-65px !important}.gap-130\@sm->*{padding:65px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-130\@lg{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@lg>*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@lg{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@lg>*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@lg{margin:-65px !important}.gap-130\@lg>*{padding:65px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-130\@md{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@md>*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@md{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@md>*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@md{margin:-65px !important}.gap-130\@md>*{padding:65px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-130\@sm{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@sm>*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@sm{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@sm>*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@sm{margin:-65px !important}.gap-130\@sm>*{padding:65px !important}}.gapX-140{margin-left:-70px !important;margin-right:-70px !important}.gapX-140>*{padding-left:70px !important;padding-right:70px !important}.gapY-140{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140>*{padding-top:70px !important;padding-bottom:70px !important}.gap-140{margin:-70px !important}.gap-140>*{padding:70px !important}@media screen and (min-width: 1440px){.gapX-140\@xl\+{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@xl\+>*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@xl\+{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@xl\+>*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@xl\+{margin:-70px !important}.gap-140\@xl\+>*{padding:70px !important}}@media screen and (min-width: 1200px){.gapX-140\@lg\+{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@lg\+>*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@lg\+{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@lg\+>*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@lg\+{margin:-70px !important}.gap-140\@lg\+>*{padding:70px !important}}@media screen and (min-width: 992px){.gapX-140\@md\+{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@md\+>*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@md\+{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@md\+>*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@md\+{margin:-70px !important}.gap-140\@md\+>*{padding:70px !important}}@media screen and (min-width: 768px){.gapX-140\@sm\+{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@sm\+>*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@sm\+{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@sm\+>*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@sm\+{margin:-70px !important}.gap-140\@sm\+>*{padding:70px !important}}@media screen and (min-width: 0){.gapX-140\@xs\+{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@xs\+>*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@xs\+{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@xs\+>*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@xs\+{margin:-70px !important}.gap-140\@xs\+>*{padding:70px !important}}@media screen and (max-width: 1439px){.gapX-140\@xl-{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@xl->*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@xl-{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@xl->*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@xl-{margin:-70px !important}.gap-140\@xl->*{padding:70px !important}}@media screen and (max-width: 1199px){.gapX-140\@lg-{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@lg->*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@lg-{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@lg->*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@lg-{margin:-70px !important}.gap-140\@lg->*{padding:70px !important}}@media screen and (max-width: 991px){.gapX-140\@md-{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@md->*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@md-{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@md->*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@md-{margin:-70px !important}.gap-140\@md->*{padding:70px !important}}@media screen and (max-width: 767px){.gapX-140\@sm-{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@sm->*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@sm-{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@sm->*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@sm-{margin:-70px !important}.gap-140\@sm->*{padding:70px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-140\@lg{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@lg>*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@lg{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@lg>*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@lg{margin:-70px !important}.gap-140\@lg>*{padding:70px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-140\@md{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@md>*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@md{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@md>*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@md{margin:-70px !important}.gap-140\@md>*{padding:70px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-140\@sm{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@sm>*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@sm{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@sm>*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@sm{margin:-70px !important}.gap-140\@sm>*{padding:70px !important}}.gapX-150{margin-left:-75px !important;margin-right:-75px !important}.gapX-150>*{padding-left:75px !important;padding-right:75px !important}.gapY-150{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150>*{padding-top:75px !important;padding-bottom:75px !important}.gap-150{margin:-75px !important}.gap-150>*{padding:75px !important}@media screen and (min-width: 1440px){.gapX-150\@xl\+{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@xl\+>*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@xl\+{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@xl\+>*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@xl\+{margin:-75px !important}.gap-150\@xl\+>*{padding:75px !important}}@media screen and (min-width: 1200px){.gapX-150\@lg\+{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@lg\+>*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@lg\+{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@lg\+>*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@lg\+{margin:-75px !important}.gap-150\@lg\+>*{padding:75px !important}}@media screen and (min-width: 992px){.gapX-150\@md\+{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@md\+>*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@md\+{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@md\+>*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@md\+{margin:-75px !important}.gap-150\@md\+>*{padding:75px !important}}@media screen and (min-width: 768px){.gapX-150\@sm\+{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@sm\+>*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@sm\+{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@sm\+>*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@sm\+{margin:-75px !important}.gap-150\@sm\+>*{padding:75px !important}}@media screen and (min-width: 0){.gapX-150\@xs\+{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@xs\+>*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@xs\+{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@xs\+>*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@xs\+{margin:-75px !important}.gap-150\@xs\+>*{padding:75px !important}}@media screen and (max-width: 1439px){.gapX-150\@xl-{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@xl->*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@xl-{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@xl->*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@xl-{margin:-75px !important}.gap-150\@xl->*{padding:75px !important}}@media screen and (max-width: 1199px){.gapX-150\@lg-{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@lg->*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@lg-{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@lg->*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@lg-{margin:-75px !important}.gap-150\@lg->*{padding:75px !important}}@media screen and (max-width: 991px){.gapX-150\@md-{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@md->*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@md-{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@md->*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@md-{margin:-75px !important}.gap-150\@md->*{padding:75px !important}}@media screen and (max-width: 767px){.gapX-150\@sm-{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@sm->*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@sm-{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@sm->*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@sm-{margin:-75px !important}.gap-150\@sm->*{padding:75px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-150\@lg{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@lg>*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@lg{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@lg>*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@lg{margin:-75px !important}.gap-150\@lg>*{padding:75px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-150\@md{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@md>*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@md{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@md>*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@md{margin:-75px !important}.gap-150\@md>*{padding:75px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-150\@sm{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@sm>*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@sm{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@sm>*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@sm{margin:-75px !important}.gap-150\@sm>*{padding:75px !important}}.gapX-160{margin-left:-80px !important;margin-right:-80px !important}.gapX-160>*{padding-left:80px !important;padding-right:80px !important}.gapY-160{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160>*{padding-top:80px !important;padding-bottom:80px !important}.gap-160{margin:-80px !important}.gap-160>*{padding:80px !important}@media screen and (min-width: 1440px){.gapX-160\@xl\+{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@xl\+>*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@xl\+{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@xl\+>*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@xl\+{margin:-80px !important}.gap-160\@xl\+>*{padding:80px !important}}@media screen and (min-width: 1200px){.gapX-160\@lg\+{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@lg\+>*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@lg\+{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@lg\+>*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@lg\+{margin:-80px !important}.gap-160\@lg\+>*{padding:80px !important}}@media screen and (min-width: 992px){.gapX-160\@md\+{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@md\+>*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@md\+{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@md\+>*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@md\+{margin:-80px !important}.gap-160\@md\+>*{padding:80px !important}}@media screen and (min-width: 768px){.gapX-160\@sm\+{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@sm\+>*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@sm\+{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@sm\+>*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@sm\+{margin:-80px !important}.gap-160\@sm\+>*{padding:80px !important}}@media screen and (min-width: 0){.gapX-160\@xs\+{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@xs\+>*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@xs\+{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@xs\+>*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@xs\+{margin:-80px !important}.gap-160\@xs\+>*{padding:80px !important}}@media screen and (max-width: 1439px){.gapX-160\@xl-{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@xl->*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@xl-{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@xl->*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@xl-{margin:-80px !important}.gap-160\@xl->*{padding:80px !important}}@media screen and (max-width: 1199px){.gapX-160\@lg-{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@lg->*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@lg-{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@lg->*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@lg-{margin:-80px !important}.gap-160\@lg->*{padding:80px !important}}@media screen and (max-width: 991px){.gapX-160\@md-{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@md->*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@md-{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@md->*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@md-{margin:-80px !important}.gap-160\@md->*{padding:80px !important}}@media screen and (max-width: 767px){.gapX-160\@sm-{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@sm->*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@sm-{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@sm->*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@sm-{margin:-80px !important}.gap-160\@sm->*{padding:80px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-160\@lg{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@lg>*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@lg{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@lg>*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@lg{margin:-80px !important}.gap-160\@lg>*{padding:80px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-160\@md{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@md>*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@md{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@md>*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@md{margin:-80px !important}.gap-160\@md>*{padding:80px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-160\@sm{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@sm>*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@sm{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@sm>*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@sm{margin:-80px !important}.gap-160\@sm>*{padding:80px !important}}.peers{box-sizing:border-box;display:flex !important;align-items:flex-start;justify-content:flex-start;flex-flow:row wrap;height:auto;max-width:100%;margin:0;padding:0}.peer{display:block;height:auto;flex:0 0 auto}.peer-greed{flex:1 1 auto}.peers-greed>.peer,.peers-greed>.peers{flex:1 1 auto}.peer>img{max-width:none}.peer-greed>img{max-width:100%}.layers{display:flex;flex-flow:column nowrap;align-items:center}.d-f{display:flex}.d-if{display:inline-flex}@media screen and (min-width: 1440px){.d-f\@xl\+{display:flex}.d-if\@xl\+{display:inline-flex}}@media screen and (min-width: 1200px){.d-f\@lg\+{display:flex}.d-if\@lg\+{display:inline-flex}}@media screen and (min-width: 992px){.d-f\@md\+{display:flex}.d-if\@md\+{display:inline-flex}}@media screen and (min-width: 768px){.d-f\@sm\+{display:flex}.d-if\@sm\+{display:inline-flex}}@media screen and (min-width: 0){.d-f\@xs\+{display:flex}.d-if\@xs\+{display:inline-flex}}@media screen and (max-width: 1439px){.d-f\@xl-{display:flex}.d-if\@xl-{display:inline-flex}}@media screen and (max-width: 1199px){.d-f\@lg-{display:flex}.d-if\@lg-{display:inline-flex}}@media screen and (max-width: 991px){.d-f\@md-{display:flex}.d-if\@md-{display:inline-flex}}@media screen and (max-width: 767px){.d-f\@sm-{display:flex}.d-if\@sm-{display:inline-flex}}@media screen and (min-width: 1199px)and (max-width: 1439px){.d-f\@lg{display:flex}.d-if\@lg{display:inline-flex}}@media screen and (min-width: 991px)and (max-width: 1199px){.d-f\@md{display:flex}.d-if\@md{display:inline-flex}}@media screen and (min-width: 767px)and (max-width: 991px){.d-f\@sm{display:flex}.d-if\@sm{display:inline-flex}}.fxw-w{flex-wrap:wrap}.fxw-wr{flex-wrap:wrap-reverse}.fxw-nw{flex-wrap:nowrap}@media screen and (min-width: 1440px){.fxw-w\@xl\+{flex-wrap:wrap}.fxw-wr\@xl\+{flex-wrap:wrap-reverse}.fxw-nw\@xl\+{flex-wrap:nowrap}}@media screen and (min-width: 1200px){.fxw-w\@lg\+{flex-wrap:wrap}.fxw-wr\@lg\+{flex-wrap:wrap-reverse}.fxw-nw\@lg\+{flex-wrap:nowrap}}@media screen and (min-width: 992px){.fxw-w\@md\+{flex-wrap:wrap}.fxw-wr\@md\+{flex-wrap:wrap-reverse}.fxw-nw\@md\+{flex-wrap:nowrap}}@media screen and (min-width: 768px){.fxw-w\@sm\+{flex-wrap:wrap}.fxw-wr\@sm\+{flex-wrap:wrap-reverse}.fxw-nw\@sm\+{flex-wrap:nowrap}}@media screen and (min-width: 0){.fxw-w\@xs\+{flex-wrap:wrap}.fxw-wr\@xs\+{flex-wrap:wrap-reverse}.fxw-nw\@xs\+{flex-wrap:nowrap}}@media screen and (max-width: 1439px){.fxw-w\@xl-{flex-wrap:wrap}.fxw-wr\@xl-{flex-wrap:wrap-reverse}.fxw-nw\@xl-{flex-wrap:nowrap}}@media screen and (max-width: 1199px){.fxw-w\@lg-{flex-wrap:wrap}.fxw-wr\@lg-{flex-wrap:wrap-reverse}.fxw-nw\@lg-{flex-wrap:nowrap}}@media screen and (max-width: 991px){.fxw-w\@md-{flex-wrap:wrap}.fxw-wr\@md-{flex-wrap:wrap-reverse}.fxw-nw\@md-{flex-wrap:nowrap}}@media screen and (max-width: 767px){.fxw-w\@sm-{flex-wrap:wrap}.fxw-wr\@sm-{flex-wrap:wrap-reverse}.fxw-nw\@sm-{flex-wrap:nowrap}}@media screen and (min-width: 1199px)and (max-width: 1439px){.fxw-w\@lg{flex-wrap:wrap}.fxw-wr\@lg{flex-wrap:wrap-reverse}.fxw-nw\@lg{flex-wrap:nowrap}}@media screen and (min-width: 991px)and (max-width: 1199px){.fxw-w\@md{flex-wrap:wrap}.fxw-wr\@md{flex-wrap:wrap-reverse}.fxw-nw\@md{flex-wrap:nowrap}}@media screen and (min-width: 767px)and (max-width: 991px){.fxw-w\@sm{flex-wrap:wrap}.fxw-wr\@sm{flex-wrap:wrap-reverse}.fxw-nw\@sm{flex-wrap:nowrap}}.fxd-c{flex-direction:column}.fxd-cr{flex-direction:column-reverse}.fxd-r{flex-direction:row}.fxd-rr{flex-direction:row-reverse}@media screen and (min-width: 1440px){.fxd-c\@xl\+{flex-direction:column}.fxd-cr\@xl\+{flex-direction:column-reverse}.fxd-r\@xl\+{flex-direction:row}.fxd-rr\@xl\+{flex-direction:row-reverse}}@media screen and (min-width: 1200px){.fxd-c\@lg\+{flex-direction:column}.fxd-cr\@lg\+{flex-direction:column-reverse}.fxd-r\@lg\+{flex-direction:row}.fxd-rr\@lg\+{flex-direction:row-reverse}}@media screen and (min-width: 992px){.fxd-c\@md\+{flex-direction:column}.fxd-cr\@md\+{flex-direction:column-reverse}.fxd-r\@md\+{flex-direction:row}.fxd-rr\@md\+{flex-direction:row-reverse}}@media screen and (min-width: 768px){.fxd-c\@sm\+{flex-direction:column}.fxd-cr\@sm\+{flex-direction:column-reverse}.fxd-r\@sm\+{flex-direction:row}.fxd-rr\@sm\+{flex-direction:row-reverse}}@media screen and (min-width: 0){.fxd-c\@xs\+{flex-direction:column}.fxd-cr\@xs\+{flex-direction:column-reverse}.fxd-r\@xs\+{flex-direction:row}.fxd-rr\@xs\+{flex-direction:row-reverse}}@media screen and (max-width: 1439px){.fxd-c\@xl-{flex-direction:column}.fxd-cr\@xl-{flex-direction:column-reverse}.fxd-r\@xl-{flex-direction:row}.fxd-rr\@xl-{flex-direction:row-reverse}}@media screen and (max-width: 1199px){.fxd-c\@lg-{flex-direction:column}.fxd-cr\@lg-{flex-direction:column-reverse}.fxd-r\@lg-{flex-direction:row}.fxd-rr\@lg-{flex-direction:row-reverse}}@media screen and (max-width: 991px){.fxd-c\@md-{flex-direction:column}.fxd-cr\@md-{flex-direction:column-reverse}.fxd-r\@md-{flex-direction:row}.fxd-rr\@md-{flex-direction:row-reverse}}@media screen and (max-width: 767px){.fxd-c\@sm-{flex-direction:column}.fxd-cr\@sm-{flex-direction:column-reverse}.fxd-r\@sm-{flex-direction:row}.fxd-rr\@sm-{flex-direction:row-reverse}}@media screen and (min-width: 1199px)and (max-width: 1439px){.fxd-c\@lg{flex-direction:column}.fxd-cr\@lg{flex-direction:column-reverse}.fxd-r\@lg{flex-direction:row}.fxd-rr\@lg{flex-direction:row-reverse}}@media screen and (min-width: 991px)and (max-width: 1199px){.fxd-c\@md{flex-direction:column}.fxd-cr\@md{flex-direction:column-reverse}.fxd-r\@md{flex-direction:row}.fxd-rr\@md{flex-direction:row-reverse}}@media screen and (min-width: 767px)and (max-width: 991px){.fxd-c\@sm{flex-direction:column}.fxd-cr\@sm{flex-direction:column-reverse}.fxd-r\@sm{flex-direction:row}.fxd-rr\@sm{flex-direction:row-reverse}}.ai-fs{align-items:flex-start}.ai-fe{align-items:flex-end}.ai-c{align-items:center}.ai-b{align-items:baseline}.ai-s{align-items:stretch}@media screen and (min-width: 1440px){.ai-fs\@xl\+{align-items:flex-start}.ai-fe\@xl\+{align-items:flex-end}.ai-c\@xl\+{align-items:center}.ai-b\@xl\+{align-items:baseline}.ai-s\@xl\+{align-items:stretch}}@media screen and (min-width: 1200px){.ai-fs\@lg\+{align-items:flex-start}.ai-fe\@lg\+{align-items:flex-end}.ai-c\@lg\+{align-items:center}.ai-b\@lg\+{align-items:baseline}.ai-s\@lg\+{align-items:stretch}}@media screen and (min-width: 992px){.ai-fs\@md\+{align-items:flex-start}.ai-fe\@md\+{align-items:flex-end}.ai-c\@md\+{align-items:center}.ai-b\@md\+{align-items:baseline}.ai-s\@md\+{align-items:stretch}}@media screen and (min-width: 768px){.ai-fs\@sm\+{align-items:flex-start}.ai-fe\@sm\+{align-items:flex-end}.ai-c\@sm\+{align-items:center}.ai-b\@sm\+{align-items:baseline}.ai-s\@sm\+{align-items:stretch}}@media screen and (min-width: 0){.ai-fs\@xs\+{align-items:flex-start}.ai-fe\@xs\+{align-items:flex-end}.ai-c\@xs\+{align-items:center}.ai-b\@xs\+{align-items:baseline}.ai-s\@xs\+{align-items:stretch}}@media screen and (max-width: 1439px){.ai-fs\@xl-{align-items:flex-start}.ai-fe\@xl-{align-items:flex-end}.ai-c\@xl-{align-items:center}.ai-b\@xl-{align-items:baseline}.ai-s\@xl-{align-items:stretch}}@media screen and (max-width: 1199px){.ai-fs\@lg-{align-items:flex-start}.ai-fe\@lg-{align-items:flex-end}.ai-c\@lg-{align-items:center}.ai-b\@lg-{align-items:baseline}.ai-s\@lg-{align-items:stretch}}@media screen and (max-width: 991px){.ai-fs\@md-{align-items:flex-start}.ai-fe\@md-{align-items:flex-end}.ai-c\@md-{align-items:center}.ai-b\@md-{align-items:baseline}.ai-s\@md-{align-items:stretch}}@media screen and (max-width: 767px){.ai-fs\@sm-{align-items:flex-start}.ai-fe\@sm-{align-items:flex-end}.ai-c\@sm-{align-items:center}.ai-b\@sm-{align-items:baseline}.ai-s\@sm-{align-items:stretch}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ai-fs\@lg{align-items:flex-start}.ai-fe\@lg{align-items:flex-end}.ai-c\@lg{align-items:center}.ai-b\@lg{align-items:baseline}.ai-s\@lg{align-items:stretch}}@media screen and (min-width: 991px)and (max-width: 1199px){.ai-fs\@md{align-items:flex-start}.ai-fe\@md{align-items:flex-end}.ai-c\@md{align-items:center}.ai-b\@md{align-items:baseline}.ai-s\@md{align-items:stretch}}@media screen and (min-width: 767px)and (max-width: 991px){.ai-fs\@sm{align-items:flex-start}.ai-fe\@sm{align-items:flex-end}.ai-c\@sm{align-items:center}.ai-b\@sm{align-items:baseline}.ai-s\@sm{align-items:stretch}}.as-fs{align-self:flex-start}.as-fe{align-self:flex-end}.as-c{align-self:center}.as-b{align-self:baseline}.as-s{align-self:stretch}@media screen and (min-width: 1440px){.as-fs\@xl\+{align-self:flex-start}.as-fe\@xl\+{align-self:flex-end}.as-c\@xl\+{align-self:center}.as-b\@xl\+{align-self:baseline}.as-s\@xl\+{align-self:stretch}}@media screen and (min-width: 1200px){.as-fs\@lg\+{align-self:flex-start}.as-fe\@lg\+{align-self:flex-end}.as-c\@lg\+{align-self:center}.as-b\@lg\+{align-self:baseline}.as-s\@lg\+{align-self:stretch}}@media screen and (min-width: 992px){.as-fs\@md\+{align-self:flex-start}.as-fe\@md\+{align-self:flex-end}.as-c\@md\+{align-self:center}.as-b\@md\+{align-self:baseline}.as-s\@md\+{align-self:stretch}}@media screen and (min-width: 768px){.as-fs\@sm\+{align-self:flex-start}.as-fe\@sm\+{align-self:flex-end}.as-c\@sm\+{align-self:center}.as-b\@sm\+{align-self:baseline}.as-s\@sm\+{align-self:stretch}}@media screen and (min-width: 0){.as-fs\@xs\+{align-self:flex-start}.as-fe\@xs\+{align-self:flex-end}.as-c\@xs\+{align-self:center}.as-b\@xs\+{align-self:baseline}.as-s\@xs\+{align-self:stretch}}@media screen and (max-width: 1439px){.as-fs\@xl-{align-self:flex-start}.as-fe\@xl-{align-self:flex-end}.as-c\@xl-{align-self:center}.as-b\@xl-{align-self:baseline}.as-s\@xl-{align-self:stretch}}@media screen and (max-width: 1199px){.as-fs\@lg-{align-self:flex-start}.as-fe\@lg-{align-self:flex-end}.as-c\@lg-{align-self:center}.as-b\@lg-{align-self:baseline}.as-s\@lg-{align-self:stretch}}@media screen and (max-width: 991px){.as-fs\@md-{align-self:flex-start}.as-fe\@md-{align-self:flex-end}.as-c\@md-{align-self:center}.as-b\@md-{align-self:baseline}.as-s\@md-{align-self:stretch}}@media screen and (max-width: 767px){.as-fs\@sm-{align-self:flex-start}.as-fe\@sm-{align-self:flex-end}.as-c\@sm-{align-self:center}.as-b\@sm-{align-self:baseline}.as-s\@sm-{align-self:stretch}}@media screen and (min-width: 1199px)and (max-width: 1439px){.as-fs\@lg{align-self:flex-start}.as-fe\@lg{align-self:flex-end}.as-c\@lg{align-self:center}.as-b\@lg{align-self:baseline}.as-s\@lg{align-self:stretch}}@media screen and (min-width: 991px)and (max-width: 1199px){.as-fs\@md{align-self:flex-start}.as-fe\@md{align-self:flex-end}.as-c\@md{align-self:center}.as-b\@md{align-self:baseline}.as-s\@md{align-self:stretch}}@media screen and (min-width: 767px)and (max-width: 991px){.as-fs\@sm{align-self:flex-start}.as-fe\@sm{align-self:flex-end}.as-c\@sm{align-self:center}.as-b\@sm{align-self:baseline}.as-s\@sm{align-self:stretch}}.ac-fs{align-content:flex-start}.ac-fe{align-content:flex-end}.ac-c{align-content:center}.ac-s{align-content:stretch}.ac-sb{align-content:space-between}.ac-sa{align-content:space-around}@media screen and (min-width: 1440px){.ac-fs\@xl\+{align-content:flex-start}.ac-fe\@xl\+{align-content:flex-end}.ac-c\@xl\+{align-content:center}.ac-s\@xl\+{align-content:stretch}.ac-sb\@xl\+{align-content:space-between}.ac-sa\@xl\+{align-content:space-around}}@media screen and (min-width: 1200px){.ac-fs\@lg\+{align-content:flex-start}.ac-fe\@lg\+{align-content:flex-end}.ac-c\@lg\+{align-content:center}.ac-s\@lg\+{align-content:stretch}.ac-sb\@lg\+{align-content:space-between}.ac-sa\@lg\+{align-content:space-around}}@media screen and (min-width: 992px){.ac-fs\@md\+{align-content:flex-start}.ac-fe\@md\+{align-content:flex-end}.ac-c\@md\+{align-content:center}.ac-s\@md\+{align-content:stretch}.ac-sb\@md\+{align-content:space-between}.ac-sa\@md\+{align-content:space-around}}@media screen and (min-width: 768px){.ac-fs\@sm\+{align-content:flex-start}.ac-fe\@sm\+{align-content:flex-end}.ac-c\@sm\+{align-content:center}.ac-s\@sm\+{align-content:stretch}.ac-sb\@sm\+{align-content:space-between}.ac-sa\@sm\+{align-content:space-around}}@media screen and (min-width: 0){.ac-fs\@xs\+{align-content:flex-start}.ac-fe\@xs\+{align-content:flex-end}.ac-c\@xs\+{align-content:center}.ac-s\@xs\+{align-content:stretch}.ac-sb\@xs\+{align-content:space-between}.ac-sa\@xs\+{align-content:space-around}}@media screen and (max-width: 1439px){.ac-fs\@xl-{align-content:flex-start}.ac-fe\@xl-{align-content:flex-end}.ac-c\@xl-{align-content:center}.ac-s\@xl-{align-content:stretch}.ac-sb\@xl-{align-content:space-between}.ac-sa\@xl-{align-content:space-around}}@media screen and (max-width: 1199px){.ac-fs\@lg-{align-content:flex-start}.ac-fe\@lg-{align-content:flex-end}.ac-c\@lg-{align-content:center}.ac-s\@lg-{align-content:stretch}.ac-sb\@lg-{align-content:space-between}.ac-sa\@lg-{align-content:space-around}}@media screen and (max-width: 991px){.ac-fs\@md-{align-content:flex-start}.ac-fe\@md-{align-content:flex-end}.ac-c\@md-{align-content:center}.ac-s\@md-{align-content:stretch}.ac-sb\@md-{align-content:space-between}.ac-sa\@md-{align-content:space-around}}@media screen and (max-width: 767px){.ac-fs\@sm-{align-content:flex-start}.ac-fe\@sm-{align-content:flex-end}.ac-c\@sm-{align-content:center}.ac-s\@sm-{align-content:stretch}.ac-sb\@sm-{align-content:space-between}.ac-sa\@sm-{align-content:space-around}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ac-fs\@lg{align-content:flex-start}.ac-fe\@lg{align-content:flex-end}.ac-c\@lg{align-content:center}.ac-s\@lg{align-content:stretch}.ac-sb\@lg{align-content:space-between}.ac-sa\@lg{align-content:space-around}}@media screen and (min-width: 991px)and (max-width: 1199px){.ac-fs\@md{align-content:flex-start}.ac-fe\@md{align-content:flex-end}.ac-c\@md{align-content:center}.ac-s\@md{align-content:stretch}.ac-sb\@md{align-content:space-between}.ac-sa\@md{align-content:space-around}}@media screen and (min-width: 767px)and (max-width: 991px){.ac-fs\@sm{align-content:flex-start}.ac-fe\@sm{align-content:flex-end}.ac-c\@sm{align-content:center}.ac-s\@sm{align-content:stretch}.ac-sb\@sm{align-content:space-between}.ac-sa\@sm{align-content:space-around}}.jc-fs{justify-content:flex-start}.jc-fe{justify-content:flex-end}.jc-c{justify-content:center}.jc-sb{justify-content:space-between}.jc-sa{justify-content:space-around}@media screen and (min-width: 1440px){.jc-fs\@xl\+{justify-content:flex-start}.jc-fe\@xl\+{justify-content:flex-end}.jc-c\@xl\+{justify-content:center}.jc-sb\@xl\+{justify-content:space-between}.jc-sa\@xl\+{justify-content:space-around}}@media screen and (min-width: 1200px){.jc-fs\@lg\+{justify-content:flex-start}.jc-fe\@lg\+{justify-content:flex-end}.jc-c\@lg\+{justify-content:center}.jc-sb\@lg\+{justify-content:space-between}.jc-sa\@lg\+{justify-content:space-around}}@media screen and (min-width: 992px){.jc-fs\@md\+{justify-content:flex-start}.jc-fe\@md\+{justify-content:flex-end}.jc-c\@md\+{justify-content:center}.jc-sb\@md\+{justify-content:space-between}.jc-sa\@md\+{justify-content:space-around}}@media screen and (min-width: 768px){.jc-fs\@sm\+{justify-content:flex-start}.jc-fe\@sm\+{justify-content:flex-end}.jc-c\@sm\+{justify-content:center}.jc-sb\@sm\+{justify-content:space-between}.jc-sa\@sm\+{justify-content:space-around}}@media screen and (min-width: 0){.jc-fs\@xs\+{justify-content:flex-start}.jc-fe\@xs\+{justify-content:flex-end}.jc-c\@xs\+{justify-content:center}.jc-sb\@xs\+{justify-content:space-between}.jc-sa\@xs\+{justify-content:space-around}}@media screen and (max-width: 1439px){.jc-fs\@xl-{justify-content:flex-start}.jc-fe\@xl-{justify-content:flex-end}.jc-c\@xl-{justify-content:center}.jc-sb\@xl-{justify-content:space-between}.jc-sa\@xl-{justify-content:space-around}}@media screen and (max-width: 1199px){.jc-fs\@lg-{justify-content:flex-start}.jc-fe\@lg-{justify-content:flex-end}.jc-c\@lg-{justify-content:center}.jc-sb\@lg-{justify-content:space-between}.jc-sa\@lg-{justify-content:space-around}}@media screen and (max-width: 991px){.jc-fs\@md-{justify-content:flex-start}.jc-fe\@md-{justify-content:flex-end}.jc-c\@md-{justify-content:center}.jc-sb\@md-{justify-content:space-between}.jc-sa\@md-{justify-content:space-around}}@media screen and (max-width: 767px){.jc-fs\@sm-{justify-content:flex-start}.jc-fe\@sm-{justify-content:flex-end}.jc-c\@sm-{justify-content:center}.jc-sb\@sm-{justify-content:space-between}.jc-sa\@sm-{justify-content:space-around}}@media screen and (min-width: 1199px)and (max-width: 1439px){.jc-fs\@lg{justify-content:flex-start}.jc-fe\@lg{justify-content:flex-end}.jc-c\@lg{justify-content:center}.jc-sb\@lg{justify-content:space-between}.jc-sa\@lg{justify-content:space-around}}@media screen and (min-width: 991px)and (max-width: 1199px){.jc-fs\@md{justify-content:flex-start}.jc-fe\@md{justify-content:flex-end}.jc-c\@md{justify-content:center}.jc-sb\@md{justify-content:space-between}.jc-sa\@md{justify-content:space-around}}@media screen and (min-width: 767px)and (max-width: 991px){.jc-fs\@sm{justify-content:flex-start}.jc-fe\@sm{justify-content:flex-end}.jc-c\@sm{justify-content:center}.jc-sb\@sm{justify-content:space-between}.jc-sa\@sm{justify-content:space-around}}.fx-n{flex:none}.fx-1{flex:1}@media screen and (min-width: 1440px){.fx-n\@xl\+{flex:none}.fx-1\@xl\+{flex:1}}@media screen and (min-width: 1200px){.fx-n\@lg\+{flex:none}.fx-1\@lg\+{flex:1}}@media screen and (min-width: 992px){.fx-n\@md\+{flex:none}.fx-1\@md\+{flex:1}}@media screen and (min-width: 768px){.fx-n\@sm\+{flex:none}.fx-1\@sm\+{flex:1}}@media screen and (min-width: 0){.fx-n\@xs\+{flex:none}.fx-1\@xs\+{flex:1}}@media screen and (max-width: 1439px){.fx-n\@xl-{flex:none}.fx-1\@xl-{flex:1}}@media screen and (max-width: 1199px){.fx-n\@lg-{flex:none}.fx-1\@lg-{flex:1}}@media screen and (max-width: 991px){.fx-n\@md-{flex:none}.fx-1\@md-{flex:1}}@media screen and (max-width: 767px){.fx-n\@sm-{flex:none}.fx-1\@sm-{flex:1}}@media screen and (min-width: 1199px)and (max-width: 1439px){.fx-n\@lg{flex:none}.fx-1\@lg{flex:1}}@media screen and (min-width: 991px)and (max-width: 1199px){.fx-n\@md{flex:none}.fx-1\@md{flex:1}}@media screen and (min-width: 767px)and (max-width: 991px){.fx-n\@sm{flex:none}.fx-1\@sm{flex:1}}.fxb-a{flex-basis:auto}.fxb-0{flex-basis:0}@media screen and (min-width: 1440px){.fxb-a\@xl\+{flex-basis:auto}.fxb-0\@xl\+{flex-basis:0}}@media screen and (min-width: 1200px){.fxb-a\@lg\+{flex-basis:auto}.fxb-0\@lg\+{flex-basis:0}}@media screen and (min-width: 992px){.fxb-a\@md\+{flex-basis:auto}.fxb-0\@md\+{flex-basis:0}}@media screen and (min-width: 768px){.fxb-a\@sm\+{flex-basis:auto}.fxb-0\@sm\+{flex-basis:0}}@media screen and (min-width: 0){.fxb-a\@xs\+{flex-basis:auto}.fxb-0\@xs\+{flex-basis:0}}@media screen and (max-width: 1439px){.fxb-a\@xl-{flex-basis:auto}.fxb-0\@xl-{flex-basis:0}}@media screen and (max-width: 1199px){.fxb-a\@lg-{flex-basis:auto}.fxb-0\@lg-{flex-basis:0}}@media screen and (max-width: 991px){.fxb-a\@md-{flex-basis:auto}.fxb-0\@md-{flex-basis:0}}@media screen and (max-width: 767px){.fxb-a\@sm-{flex-basis:auto}.fxb-0\@sm-{flex-basis:0}}@media screen and (min-width: 1199px)and (max-width: 1439px){.fxb-a\@lg{flex-basis:auto}.fxb-0\@lg{flex-basis:0}}@media screen and (min-width: 991px)and (max-width: 1199px){.fxb-a\@md{flex-basis:auto}.fxb-0\@md{flex-basis:0}}@media screen and (min-width: 767px)and (max-width: 991px){.fxb-a\@sm{flex-basis:auto}.fxb-0\@sm{flex-basis:0}}.fxg-1{flex-grow:1}.fxg-0{flex-grow:0}@media screen and (min-width: 1440px){.fxg-1\@xl\+{flex-grow:1}.fxg-0\@xl\+{flex-grow:0}}@media screen and (min-width: 1200px){.fxg-1\@lg\+{flex-grow:1}.fxg-0\@lg\+{flex-grow:0}}@media screen and (min-width: 992px){.fxg-1\@md\+{flex-grow:1}.fxg-0\@md\+{flex-grow:0}}@media screen and (min-width: 768px){.fxg-1\@sm\+{flex-grow:1}.fxg-0\@sm\+{flex-grow:0}}@media screen and (min-width: 0){.fxg-1\@xs\+{flex-grow:1}.fxg-0\@xs\+{flex-grow:0}}@media screen and (max-width: 1439px){.fxg-1\@xl-{flex-grow:1}.fxg-0\@xl-{flex-grow:0}}@media screen and (max-width: 1199px){.fxg-1\@lg-{flex-grow:1}.fxg-0\@lg-{flex-grow:0}}@media screen and (max-width: 991px){.fxg-1\@md-{flex-grow:1}.fxg-0\@md-{flex-grow:0}}@media screen and (max-width: 767px){.fxg-1\@sm-{flex-grow:1}.fxg-0\@sm-{flex-grow:0}}@media screen and (min-width: 1199px)and (max-width: 1439px){.fxg-1\@lg{flex-grow:1}.fxg-0\@lg{flex-grow:0}}@media screen and (min-width: 991px)and (max-width: 1199px){.fxg-1\@md{flex-grow:1}.fxg-0\@md{flex-grow:0}}@media screen and (min-width: 767px)and (max-width: 991px){.fxg-1\@sm{flex-grow:1}.fxg-0\@sm{flex-grow:0}}.fxs-1{flex-shrink:1}.fxs-0{flex-shrink:0}@media screen and (min-width: 1440px){.fxs-1\@xl\+{flex-shrink:1}.fxs-0\@xl\+{flex-shrink:0}}@media screen and (min-width: 1200px){.fxs-1\@lg\+{flex-shrink:1}.fxs-0\@lg\+{flex-shrink:0}}@media screen and (min-width: 992px){.fxs-1\@md\+{flex-shrink:1}.fxs-0\@md\+{flex-shrink:0}}@media screen and (min-width: 768px){.fxs-1\@sm\+{flex-shrink:1}.fxs-0\@sm\+{flex-shrink:0}}@media screen and (min-width: 0){.fxs-1\@xs\+{flex-shrink:1}.fxs-0\@xs\+{flex-shrink:0}}@media screen and (max-width: 1439px){.fxs-1\@xl-{flex-shrink:1}.fxs-0\@xl-{flex-shrink:0}}@media screen and (max-width: 1199px){.fxs-1\@lg-{flex-shrink:1}.fxs-0\@lg-{flex-shrink:0}}@media screen and (max-width: 991px){.fxs-1\@md-{flex-shrink:1}.fxs-0\@md-{flex-shrink:0}}@media screen and (max-width: 767px){.fxs-1\@sm-{flex-shrink:1}.fxs-0\@sm-{flex-shrink:0}}@media screen and (min-width: 1199px)and (max-width: 1439px){.fxs-1\@lg{flex-shrink:1}.fxs-0\@lg{flex-shrink:0}}@media screen and (min-width: 991px)and (max-width: 1199px){.fxs-1\@md{flex-shrink:1}.fxs-0\@md{flex-shrink:0}}@media screen and (min-width: 767px)and (max-width: 991px){.fxs-1\@sm{flex-shrink:1}.fxs-0\@sm{flex-shrink:0}}.ord-0{order:0}@media screen and (min-width: 1440px){.ord-0\@xl\+{order:0}}@media screen and (min-width: 1200px){.ord-0\@lg\+{order:0}}@media screen and (min-width: 992px){.ord-0\@md\+{order:0}}@media screen and (min-width: 768px){.ord-0\@sm\+{order:0}}@media screen and (min-width: 0){.ord-0\@xs\+{order:0}}@media screen and (max-width: 1439px){.ord-0\@xl-{order:0}}@media screen and (max-width: 1199px){.ord-0\@lg-{order:0}}@media screen and (max-width: 991px){.ord-0\@md-{order:0}}@media screen and (max-width: 767px){.ord-0\@sm-{order:0}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-0\@lg{order:0}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-0\@md{order:0}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-0\@sm{order:0}}.ord-1{order:1}@media screen and (min-width: 1440px){.ord-1\@xl\+{order:1}}@media screen and (min-width: 1200px){.ord-1\@lg\+{order:1}}@media screen and (min-width: 992px){.ord-1\@md\+{order:1}}@media screen and (min-width: 768px){.ord-1\@sm\+{order:1}}@media screen and (min-width: 0){.ord-1\@xs\+{order:1}}@media screen and (max-width: 1439px){.ord-1\@xl-{order:1}}@media screen and (max-width: 1199px){.ord-1\@lg-{order:1}}@media screen and (max-width: 991px){.ord-1\@md-{order:1}}@media screen and (max-width: 767px){.ord-1\@sm-{order:1}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-1\@lg{order:1}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-1\@md{order:1}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-1\@sm{order:1}}.ord-2{order:2}@media screen and (min-width: 1440px){.ord-2\@xl\+{order:2}}@media screen and (min-width: 1200px){.ord-2\@lg\+{order:2}}@media screen and (min-width: 992px){.ord-2\@md\+{order:2}}@media screen and (min-width: 768px){.ord-2\@sm\+{order:2}}@media screen and (min-width: 0){.ord-2\@xs\+{order:2}}@media screen and (max-width: 1439px){.ord-2\@xl-{order:2}}@media screen and (max-width: 1199px){.ord-2\@lg-{order:2}}@media screen and (max-width: 991px){.ord-2\@md-{order:2}}@media screen and (max-width: 767px){.ord-2\@sm-{order:2}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-2\@lg{order:2}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-2\@md{order:2}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-2\@sm{order:2}}.ord-3{order:3}@media screen and (min-width: 1440px){.ord-3\@xl\+{order:3}}@media screen and (min-width: 1200px){.ord-3\@lg\+{order:3}}@media screen and (min-width: 992px){.ord-3\@md\+{order:3}}@media screen and (min-width: 768px){.ord-3\@sm\+{order:3}}@media screen and (min-width: 0){.ord-3\@xs\+{order:3}}@media screen and (max-width: 1439px){.ord-3\@xl-{order:3}}@media screen and (max-width: 1199px){.ord-3\@lg-{order:3}}@media screen and (max-width: 991px){.ord-3\@md-{order:3}}@media screen and (max-width: 767px){.ord-3\@sm-{order:3}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-3\@lg{order:3}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-3\@md{order:3}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-3\@sm{order:3}}.ord-4{order:4}@media screen and (min-width: 1440px){.ord-4\@xl\+{order:4}}@media screen and (min-width: 1200px){.ord-4\@lg\+{order:4}}@media screen and (min-width: 992px){.ord-4\@md\+{order:4}}@media screen and (min-width: 768px){.ord-4\@sm\+{order:4}}@media screen and (min-width: 0){.ord-4\@xs\+{order:4}}@media screen and (max-width: 1439px){.ord-4\@xl-{order:4}}@media screen and (max-width: 1199px){.ord-4\@lg-{order:4}}@media screen and (max-width: 991px){.ord-4\@md-{order:4}}@media screen and (max-width: 767px){.ord-4\@sm-{order:4}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-4\@lg{order:4}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-4\@md{order:4}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-4\@sm{order:4}}.ord-5{order:5}@media screen and (min-width: 1440px){.ord-5\@xl\+{order:5}}@media screen and (min-width: 1200px){.ord-5\@lg\+{order:5}}@media screen and (min-width: 992px){.ord-5\@md\+{order:5}}@media screen and (min-width: 768px){.ord-5\@sm\+{order:5}}@media screen and (min-width: 0){.ord-5\@xs\+{order:5}}@media screen and (max-width: 1439px){.ord-5\@xl-{order:5}}@media screen and (max-width: 1199px){.ord-5\@lg-{order:5}}@media screen and (max-width: 991px){.ord-5\@md-{order:5}}@media screen and (max-width: 767px){.ord-5\@sm-{order:5}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-5\@lg{order:5}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-5\@md{order:5}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-5\@sm{order:5}}.ord-6{order:6}@media screen and (min-width: 1440px){.ord-6\@xl\+{order:6}}@media screen and (min-width: 1200px){.ord-6\@lg\+{order:6}}@media screen and (min-width: 992px){.ord-6\@md\+{order:6}}@media screen and (min-width: 768px){.ord-6\@sm\+{order:6}}@media screen and (min-width: 0){.ord-6\@xs\+{order:6}}@media screen and (max-width: 1439px){.ord-6\@xl-{order:6}}@media screen and (max-width: 1199px){.ord-6\@lg-{order:6}}@media screen and (max-width: 991px){.ord-6\@md-{order:6}}@media screen and (max-width: 767px){.ord-6\@sm-{order:6}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-6\@lg{order:6}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-6\@md{order:6}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-6\@sm{order:6}}.ord-7{order:7}@media screen and (min-width: 1440px){.ord-7\@xl\+{order:7}}@media screen and (min-width: 1200px){.ord-7\@lg\+{order:7}}@media screen and (min-width: 992px){.ord-7\@md\+{order:7}}@media screen and (min-width: 768px){.ord-7\@sm\+{order:7}}@media screen and (min-width: 0){.ord-7\@xs\+{order:7}}@media screen and (max-width: 1439px){.ord-7\@xl-{order:7}}@media screen and (max-width: 1199px){.ord-7\@lg-{order:7}}@media screen and (max-width: 991px){.ord-7\@md-{order:7}}@media screen and (max-width: 767px){.ord-7\@sm-{order:7}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-7\@lg{order:7}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-7\@md{order:7}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-7\@sm{order:7}}.ord-8{order:8}@media screen and (min-width: 1440px){.ord-8\@xl\+{order:8}}@media screen and (min-width: 1200px){.ord-8\@lg\+{order:8}}@media screen and (min-width: 992px){.ord-8\@md\+{order:8}}@media screen and (min-width: 768px){.ord-8\@sm\+{order:8}}@media screen and (min-width: 0){.ord-8\@xs\+{order:8}}@media screen and (max-width: 1439px){.ord-8\@xl-{order:8}}@media screen and (max-width: 1199px){.ord-8\@lg-{order:8}}@media screen and (max-width: 991px){.ord-8\@md-{order:8}}@media screen and (max-width: 767px){.ord-8\@sm-{order:8}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-8\@lg{order:8}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-8\@md{order:8}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-8\@sm{order:8}}.ord-9{order:9}@media screen and (min-width: 1440px){.ord-9\@xl\+{order:9}}@media screen and (min-width: 1200px){.ord-9\@lg\+{order:9}}@media screen and (min-width: 992px){.ord-9\@md\+{order:9}}@media screen and (min-width: 768px){.ord-9\@sm\+{order:9}}@media screen and (min-width: 0){.ord-9\@xs\+{order:9}}@media screen and (max-width: 1439px){.ord-9\@xl-{order:9}}@media screen and (max-width: 1199px){.ord-9\@lg-{order:9}}@media screen and (max-width: 991px){.ord-9\@md-{order:9}}@media screen and (max-width: 767px){.ord-9\@sm-{order:9}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-9\@lg{order:9}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-9\@md{order:9}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-9\@sm{order:9}}.ord-10{order:10}@media screen and (min-width: 1440px){.ord-10\@xl\+{order:10}}@media screen and (min-width: 1200px){.ord-10\@lg\+{order:10}}@media screen and (min-width: 992px){.ord-10\@md\+{order:10}}@media screen and (min-width: 768px){.ord-10\@sm\+{order:10}}@media screen and (min-width: 0){.ord-10\@xs\+{order:10}}@media screen and (max-width: 1439px){.ord-10\@xl-{order:10}}@media screen and (max-width: 1199px){.ord-10\@lg-{order:10}}@media screen and (max-width: 991px){.ord-10\@md-{order:10}}@media screen and (max-width: 767px){.ord-10\@sm-{order:10}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-10\@lg{order:10}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-10\@md{order:10}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-10\@sm{order:10}}.ord-11{order:11}@media screen and (min-width: 1440px){.ord-11\@xl\+{order:11}}@media screen and (min-width: 1200px){.ord-11\@lg\+{order:11}}@media screen and (min-width: 992px){.ord-11\@md\+{order:11}}@media screen and (min-width: 768px){.ord-11\@sm\+{order:11}}@media screen and (min-width: 0){.ord-11\@xs\+{order:11}}@media screen and (max-width: 1439px){.ord-11\@xl-{order:11}}@media screen and (max-width: 1199px){.ord-11\@lg-{order:11}}@media screen and (max-width: 991px){.ord-11\@md-{order:11}}@media screen and (max-width: 767px){.ord-11\@sm-{order:11}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-11\@lg{order:11}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-11\@md{order:11}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-11\@sm{order:11}}.ord-12{order:12}@media screen and (min-width: 1440px){.ord-12\@xl\+{order:12}}@media screen and (min-width: 1200px){.ord-12\@lg\+{order:12}}@media screen and (min-width: 992px){.ord-12\@md\+{order:12}}@media screen and (min-width: 768px){.ord-12\@sm\+{order:12}}@media screen and (min-width: 0){.ord-12\@xs\+{order:12}}@media screen and (max-width: 1439px){.ord-12\@xl-{order:12}}@media screen and (max-width: 1199px){.ord-12\@lg-{order:12}}@media screen and (max-width: 991px){.ord-12\@md-{order:12}}@media screen and (max-width: 767px){.ord-12\@sm-{order:12}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-12\@lg{order:12}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-12\@md{order:12}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-12\@sm{order:12}}.d-b{display:block !important}.d-ib{display:inline-block !important}.d-i{display:inline !important}.d-tb{display:table !important}.d-tbc{display:table-cell !important}.d-n{display:none !important}@media screen and (min-width: 1440px){.d-b\@xl\+{display:block !important}.d-ib\@xl\+{display:inline-block !important}.d-i\@xl\+{display:inline !important}.d-tb\@xl\+{display:table !important}.d-tbc\@xl\+{display:table-cell !important}.d-n\@xl\+{display:none !important}}@media screen and (min-width: 1200px){.d-b\@lg\+{display:block !important}.d-ib\@lg\+{display:inline-block !important}.d-i\@lg\+{display:inline !important}.d-tb\@lg\+{display:table !important}.d-tbc\@lg\+{display:table-cell !important}.d-n\@lg\+{display:none !important}}@media screen and (min-width: 992px){.d-b\@md\+{display:block !important}.d-ib\@md\+{display:inline-block !important}.d-i\@md\+{display:inline !important}.d-tb\@md\+{display:table !important}.d-tbc\@md\+{display:table-cell !important}.d-n\@md\+{display:none !important}}@media screen and (min-width: 768px){.d-b\@sm\+{display:block !important}.d-ib\@sm\+{display:inline-block !important}.d-i\@sm\+{display:inline !important}.d-tb\@sm\+{display:table !important}.d-tbc\@sm\+{display:table-cell !important}.d-n\@sm\+{display:none !important}}@media screen and (min-width: 0){.d-b\@xs\+{display:block !important}.d-ib\@xs\+{display:inline-block !important}.d-i\@xs\+{display:inline !important}.d-tb\@xs\+{display:table !important}.d-tbc\@xs\+{display:table-cell !important}.d-n\@xs\+{display:none !important}}@media screen and (max-width: 1439px){.d-b\@xl-{display:block !important}.d-ib\@xl-{display:inline-block !important}.d-i\@xl-{display:inline !important}.d-tb\@xl-{display:table !important}.d-tbc\@xl-{display:table-cell !important}.d-n\@xl-{display:none !important}}@media screen and (max-width: 1199px){.d-b\@lg-{display:block !important}.d-ib\@lg-{display:inline-block !important}.d-i\@lg-{display:inline !important}.d-tb\@lg-{display:table !important}.d-tbc\@lg-{display:table-cell !important}.d-n\@lg-{display:none !important}}@media screen and (max-width: 991px){.d-b\@md-{display:block !important}.d-ib\@md-{display:inline-block !important}.d-i\@md-{display:inline !important}.d-tb\@md-{display:table !important}.d-tbc\@md-{display:table-cell !important}.d-n\@md-{display:none !important}}@media screen and (max-width: 767px){.d-b\@sm-{display:block !important}.d-ib\@sm-{display:inline-block !important}.d-i\@sm-{display:inline !important}.d-tb\@sm-{display:table !important}.d-tbc\@sm-{display:table-cell !important}.d-n\@sm-{display:none !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.d-b\@lg{display:block !important}.d-ib\@lg{display:inline-block !important}.d-i\@lg{display:inline !important}.d-tb\@lg{display:table !important}.d-tbc\@lg{display:table-cell !important}.d-n\@lg{display:none !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.d-b\@md{display:block !important}.d-ib\@md{display:inline-block !important}.d-i\@md{display:inline !important}.d-tb\@md{display:table !important}.d-tbc\@md{display:table-cell !important}.d-n\@md{display:none !important}}@media screen and (min-width: 767px)and (max-width: 991px){.d-b\@sm{display:block !important}.d-ib\@sm{display:inline-block !important}.d-i\@sm{display:inline !important}.d-tb\@sm{display:table !important}.d-tbc\@sm{display:table-cell !important}.d-n\@sm{display:none !important}}.ov-h{overflow:hidden !important}.ov-a{overflow:auto !important}.ov-s{overflow:scroll !important}.ovY-h{overflow-y:hidden !important}.ovX-h{overflow-x:hidden !important}.ovY-a{overflow-y:auto !important}.ovX-a{overflow-x:auto !important}.ovY-s{overflow-y:scroll !important}.ovX-s{overflow-x:scroll !important}@media screen and (min-width: 1440px){.ov-h\@xl\+{overflow:hidden !important}.ov-a\@xl\+{overflow:auto !important}.ov-s\@xl\+{overflow:scroll !important}.ovY-h\@xl\+{overflow-y:hidden !important}.ovX-h\@xl\+{overflow-x:hidden !important}.ovY-a\@xl\+{overflow-y:auto !important}.ovX-a\@xl\+{overflow-x:auto !important}.ovY-s\@xl\+{overflow-y:scroll !important}.ovX-s\@xl\+{overflow-x:scroll !important}}@media screen and (min-width: 1200px){.ov-h\@lg\+{overflow:hidden !important}.ov-a\@lg\+{overflow:auto !important}.ov-s\@lg\+{overflow:scroll !important}.ovY-h\@lg\+{overflow-y:hidden !important}.ovX-h\@lg\+{overflow-x:hidden !important}.ovY-a\@lg\+{overflow-y:auto !important}.ovX-a\@lg\+{overflow-x:auto !important}.ovY-s\@lg\+{overflow-y:scroll !important}.ovX-s\@lg\+{overflow-x:scroll !important}}@media screen and (min-width: 992px){.ov-h\@md\+{overflow:hidden !important}.ov-a\@md\+{overflow:auto !important}.ov-s\@md\+{overflow:scroll !important}.ovY-h\@md\+{overflow-y:hidden !important}.ovX-h\@md\+{overflow-x:hidden !important}.ovY-a\@md\+{overflow-y:auto !important}.ovX-a\@md\+{overflow-x:auto !important}.ovY-s\@md\+{overflow-y:scroll !important}.ovX-s\@md\+{overflow-x:scroll !important}}@media screen and (min-width: 768px){.ov-h\@sm\+{overflow:hidden !important}.ov-a\@sm\+{overflow:auto !important}.ov-s\@sm\+{overflow:scroll !important}.ovY-h\@sm\+{overflow-y:hidden !important}.ovX-h\@sm\+{overflow-x:hidden !important}.ovY-a\@sm\+{overflow-y:auto !important}.ovX-a\@sm\+{overflow-x:auto !important}.ovY-s\@sm\+{overflow-y:scroll !important}.ovX-s\@sm\+{overflow-x:scroll !important}}@media screen and (min-width: 0){.ov-h\@xs\+{overflow:hidden !important}.ov-a\@xs\+{overflow:auto !important}.ov-s\@xs\+{overflow:scroll !important}.ovY-h\@xs\+{overflow-y:hidden !important}.ovX-h\@xs\+{overflow-x:hidden !important}.ovY-a\@xs\+{overflow-y:auto !important}.ovX-a\@xs\+{overflow-x:auto !important}.ovY-s\@xs\+{overflow-y:scroll !important}.ovX-s\@xs\+{overflow-x:scroll !important}}@media screen and (max-width: 1439px){.ov-h\@xl-{overflow:hidden !important}.ov-a\@xl-{overflow:auto !important}.ov-s\@xl-{overflow:scroll !important}.ovY-h\@xl-{overflow-y:hidden !important}.ovX-h\@xl-{overflow-x:hidden !important}.ovY-a\@xl-{overflow-y:auto !important}.ovX-a\@xl-{overflow-x:auto !important}.ovY-s\@xl-{overflow-y:scroll !important}.ovX-s\@xl-{overflow-x:scroll !important}}@media screen and (max-width: 1199px){.ov-h\@lg-{overflow:hidden !important}.ov-a\@lg-{overflow:auto !important}.ov-s\@lg-{overflow:scroll !important}.ovY-h\@lg-{overflow-y:hidden !important}.ovX-h\@lg-{overflow-x:hidden !important}.ovY-a\@lg-{overflow-y:auto !important}.ovX-a\@lg-{overflow-x:auto !important}.ovY-s\@lg-{overflow-y:scroll !important}.ovX-s\@lg-{overflow-x:scroll !important}}@media screen and (max-width: 991px){.ov-h\@md-{overflow:hidden !important}.ov-a\@md-{overflow:auto !important}.ov-s\@md-{overflow:scroll !important}.ovY-h\@md-{overflow-y:hidden !important}.ovX-h\@md-{overflow-x:hidden !important}.ovY-a\@md-{overflow-y:auto !important}.ovX-a\@md-{overflow-x:auto !important}.ovY-s\@md-{overflow-y:scroll !important}.ovX-s\@md-{overflow-x:scroll !important}}@media screen and (max-width: 767px){.ov-h\@sm-{overflow:hidden !important}.ov-a\@sm-{overflow:auto !important}.ov-s\@sm-{overflow:scroll !important}.ovY-h\@sm-{overflow-y:hidden !important}.ovX-h\@sm-{overflow-x:hidden !important}.ovY-a\@sm-{overflow-y:auto !important}.ovX-a\@sm-{overflow-x:auto !important}.ovY-s\@sm-{overflow-y:scroll !important}.ovX-s\@sm-{overflow-x:scroll !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ov-h\@lg{overflow:hidden !important}.ov-a\@lg{overflow:auto !important}.ov-s\@lg{overflow:scroll !important}.ovY-h\@lg{overflow-y:hidden !important}.ovX-h\@lg{overflow-x:hidden !important}.ovY-a\@lg{overflow-y:auto !important}.ovX-a\@lg{overflow-x:auto !important}.ovY-s\@lg{overflow-y:scroll !important}.ovX-s\@lg{overflow-x:scroll !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.ov-h\@md{overflow:hidden !important}.ov-a\@md{overflow:auto !important}.ov-s\@md{overflow:scroll !important}.ovY-h\@md{overflow-y:hidden !important}.ovX-h\@md{overflow-x:hidden !important}.ovY-a\@md{overflow-y:auto !important}.ovX-a\@md{overflow-x:auto !important}.ovY-s\@md{overflow-y:scroll !important}.ovX-s\@md{overflow-x:scroll !important}}@media screen and (min-width: 767px)and (max-width: 991px){.ov-h\@sm{overflow:hidden !important}.ov-a\@sm{overflow:auto !important}.ov-s\@sm{overflow:scroll !important}.ovY-h\@sm{overflow-y:hidden !important}.ovX-h\@sm{overflow-x:hidden !important}.ovY-a\@sm{overflow-y:auto !important}.ovX-a\@sm{overflow-x:auto !important}.ovY-s\@sm{overflow-y:scroll !important}.ovX-s\@sm{overflow-x:scroll !important}}.fl-l{float:left !important}.fl-r{float:right !important}.fl-n{float:none !important}@media screen and (min-width: 1440px){.fl-l\@xl\+{float:left !important}.fl-r\@xl\+{float:right !important}.fl-n\@xl\+{float:none !important}}@media screen and (min-width: 1200px){.fl-l\@lg\+{float:left !important}.fl-r\@lg\+{float:right !important}.fl-n\@lg\+{float:none !important}}@media screen and (min-width: 992px){.fl-l\@md\+{float:left !important}.fl-r\@md\+{float:right !important}.fl-n\@md\+{float:none !important}}@media screen and (min-width: 768px){.fl-l\@sm\+{float:left !important}.fl-r\@sm\+{float:right !important}.fl-n\@sm\+{float:none !important}}@media screen and (min-width: 0){.fl-l\@xs\+{float:left !important}.fl-r\@xs\+{float:right !important}.fl-n\@xs\+{float:none !important}}@media screen and (max-width: 1439px){.fl-l\@xl-{float:left !important}.fl-r\@xl-{float:right !important}.fl-n\@xl-{float:none !important}}@media screen and (max-width: 1199px){.fl-l\@lg-{float:left !important}.fl-r\@lg-{float:right !important}.fl-n\@lg-{float:none !important}}@media screen and (max-width: 991px){.fl-l\@md-{float:left !important}.fl-r\@md-{float:right !important}.fl-n\@md-{float:none !important}}@media screen and (max-width: 767px){.fl-l\@sm-{float:left !important}.fl-r\@sm-{float:right !important}.fl-n\@sm-{float:none !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.fl-l\@lg{float:left !important}.fl-r\@lg{float:right !important}.fl-n\@lg{float:none !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.fl-l\@md{float:left !important}.fl-r\@md{float:right !important}.fl-n\@md{float:none !important}}@media screen and (min-width: 767px)and (max-width: 991px){.fl-l\@sm{float:left !important}.fl-r\@sm{float:right !important}.fl-n\@sm{float:none !important}}.va-t{vertical-align:top !important}.va-m{vertical-align:middle !important}.va-b{vertical-align:bottom !important}@media screen and (min-width: 1440px){.va-t\@xl\+{vertical-align:top !important}.va-m\@xl\+{vertical-align:middle !important}.va-b\@xl\+{vertical-align:bottom !important}}@media screen and (min-width: 1200px){.va-t\@lg\+{vertical-align:top !important}.va-m\@lg\+{vertical-align:middle !important}.va-b\@lg\+{vertical-align:bottom !important}}@media screen and (min-width: 992px){.va-t\@md\+{vertical-align:top !important}.va-m\@md\+{vertical-align:middle !important}.va-b\@md\+{vertical-align:bottom !important}}@media screen and (min-width: 768px){.va-t\@sm\+{vertical-align:top !important}.va-m\@sm\+{vertical-align:middle !important}.va-b\@sm\+{vertical-align:bottom !important}}@media screen and (min-width: 0){.va-t\@xs\+{vertical-align:top !important}.va-m\@xs\+{vertical-align:middle !important}.va-b\@xs\+{vertical-align:bottom !important}}@media screen and (max-width: 1439px){.va-t\@xl-{vertical-align:top !important}.va-m\@xl-{vertical-align:middle !important}.va-b\@xl-{vertical-align:bottom !important}}@media screen and (max-width: 1199px){.va-t\@lg-{vertical-align:top !important}.va-m\@lg-{vertical-align:middle !important}.va-b\@lg-{vertical-align:bottom !important}}@media screen and (max-width: 991px){.va-t\@md-{vertical-align:top !important}.va-m\@md-{vertical-align:middle !important}.va-b\@md-{vertical-align:bottom !important}}@media screen and (max-width: 767px){.va-t\@sm-{vertical-align:top !important}.va-m\@sm-{vertical-align:middle !important}.va-b\@sm-{vertical-align:bottom !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.va-t\@lg{vertical-align:top !important}.va-m\@lg{vertical-align:middle !important}.va-b\@lg{vertical-align:bottom !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.va-t\@md{vertical-align:top !important}.va-m\@md{vertical-align:middle !important}.va-b\@md{vertical-align:bottom !important}}@media screen and (min-width: 767px)and (max-width: 991px){.va-t\@sm{vertical-align:top !important}.va-m\@sm{vertical-align:middle !important}.va-b\@sm{vertical-align:bottom !important}}.pos-s{position:static !important}.pos-st{position:sticky !important}.pos-r{position:relative !important}.pos-a{position:absolute !important}.pos-f{position:fixed !important}@media screen and (min-width: 1440px){.pos-s\@xl\+{position:static !important}.pos-st\@xl\+{position:sticky !important}.pos-r\@xl\+{position:relative !important}.pos-a\@xl\+{position:absolute !important}.pos-f\@xl\+{position:fixed !important}}@media screen and (min-width: 1200px){.pos-s\@lg\+{position:static !important}.pos-st\@lg\+{position:sticky !important}.pos-r\@lg\+{position:relative !important}.pos-a\@lg\+{position:absolute !important}.pos-f\@lg\+{position:fixed !important}}@media screen and (min-width: 992px){.pos-s\@md\+{position:static !important}.pos-st\@md\+{position:sticky !important}.pos-r\@md\+{position:relative !important}.pos-a\@md\+{position:absolute !important}.pos-f\@md\+{position:fixed !important}}@media screen and (min-width: 768px){.pos-s\@sm\+{position:static !important}.pos-st\@sm\+{position:sticky !important}.pos-r\@sm\+{position:relative !important}.pos-a\@sm\+{position:absolute !important}.pos-f\@sm\+{position:fixed !important}}@media screen and (min-width: 0){.pos-s\@xs\+{position:static !important}.pos-st\@xs\+{position:sticky !important}.pos-r\@xs\+{position:relative !important}.pos-a\@xs\+{position:absolute !important}.pos-f\@xs\+{position:fixed !important}}@media screen and (max-width: 1439px){.pos-s\@xl-{position:static !important}.pos-st\@xl-{position:sticky !important}.pos-r\@xl-{position:relative !important}.pos-a\@xl-{position:absolute !important}.pos-f\@xl-{position:fixed !important}}@media screen and (max-width: 1199px){.pos-s\@lg-{position:static !important}.pos-st\@lg-{position:sticky !important}.pos-r\@lg-{position:relative !important}.pos-a\@lg-{position:absolute !important}.pos-f\@lg-{position:fixed !important}}@media screen and (max-width: 991px){.pos-s\@md-{position:static !important}.pos-st\@md-{position:sticky !important}.pos-r\@md-{position:relative !important}.pos-a\@md-{position:absolute !important}.pos-f\@md-{position:fixed !important}}@media screen and (max-width: 767px){.pos-s\@sm-{position:static !important}.pos-st\@sm-{position:sticky !important}.pos-r\@sm-{position:relative !important}.pos-a\@sm-{position:absolute !important}.pos-f\@sm-{position:fixed !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.pos-s\@lg{position:static !important}.pos-st\@lg{position:sticky !important}.pos-r\@lg{position:relative !important}.pos-a\@lg{position:absolute !important}.pos-f\@lg{position:fixed !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.pos-s\@md{position:static !important}.pos-st\@md{position:sticky !important}.pos-r\@md{position:relative !important}.pos-a\@md{position:absolute !important}.pos-f\@md{position:fixed !important}}@media screen and (min-width: 767px)and (max-width: 991px){.pos-s\@sm{position:static !important}.pos-st\@sm{position:sticky !important}.pos-r\@sm{position:relative !important}.pos-a\@sm{position:absolute !important}.pos-f\@sm{position:fixed !important}}.z-0{z-index:0 !important}@media screen and (min-width: 1440px){.z-0\@xl\+{z-index:0 !important}}@media screen and (min-width: 1200px){.z-0\@lg\+{z-index:0 !important}}@media screen and (min-width: 992px){.z-0\@md\+{z-index:0 !important}}@media screen and (min-width: 768px){.z-0\@sm\+{z-index:0 !important}}@media screen and (min-width: 0){.z-0\@xs\+{z-index:0 !important}}@media screen and (max-width: 1439px){.z-0\@xl-{z-index:0 !important}}@media screen and (max-width: 1199px){.z-0\@lg-{z-index:0 !important}}@media screen and (max-width: 991px){.z-0\@md-{z-index:0 !important}}@media screen and (max-width: 767px){.z-0\@sm-{z-index:0 !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.z-0\@lg{z-index:0 !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.z-0\@md{z-index:0 !important}}@media screen and (min-width: 767px)and (max-width: 991px){.z-0\@sm{z-index:0 !important}}.z-1{z-index:1000 !important}@media screen and (min-width: 1440px){.z-1\@xl\+{z-index:1000 !important}}@media screen and (min-width: 1200px){.z-1\@lg\+{z-index:1000 !important}}@media screen and (min-width: 992px){.z-1\@md\+{z-index:1000 !important}}@media screen and (min-width: 768px){.z-1\@sm\+{z-index:1000 !important}}@media screen and (min-width: 0){.z-1\@xs\+{z-index:1000 !important}}@media screen and (max-width: 1439px){.z-1\@xl-{z-index:1000 !important}}@media screen and (max-width: 1199px){.z-1\@lg-{z-index:1000 !important}}@media screen and (max-width: 991px){.z-1\@md-{z-index:1000 !important}}@media screen and (max-width: 767px){.z-1\@sm-{z-index:1000 !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.z-1\@lg{z-index:1000 !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.z-1\@md{z-index:1000 !important}}@media screen and (min-width: 767px)and (max-width: 991px){.z-1\@sm{z-index:1000 !important}}.z-2{z-index:2000 !important}@media screen and (min-width: 1440px){.z-2\@xl\+{z-index:2000 !important}}@media screen and (min-width: 1200px){.z-2\@lg\+{z-index:2000 !important}}@media screen and (min-width: 992px){.z-2\@md\+{z-index:2000 !important}}@media screen and (min-width: 768px){.z-2\@sm\+{z-index:2000 !important}}@media screen and (min-width: 0){.z-2\@xs\+{z-index:2000 !important}}@media screen and (max-width: 1439px){.z-2\@xl-{z-index:2000 !important}}@media screen and (max-width: 1199px){.z-2\@lg-{z-index:2000 !important}}@media screen and (max-width: 991px){.z-2\@md-{z-index:2000 !important}}@media screen and (max-width: 767px){.z-2\@sm-{z-index:2000 !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.z-2\@lg{z-index:2000 !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.z-2\@md{z-index:2000 !important}}@media screen and (min-width: 767px)and (max-width: 991px){.z-2\@sm{z-index:2000 !important}}.z-3{z-index:3000 !important}@media screen and (min-width: 1440px){.z-3\@xl\+{z-index:3000 !important}}@media screen and (min-width: 1200px){.z-3\@lg\+{z-index:3000 !important}}@media screen and (min-width: 992px){.z-3\@md\+{z-index:3000 !important}}@media screen and (min-width: 768px){.z-3\@sm\+{z-index:3000 !important}}@media screen and (min-width: 0){.z-3\@xs\+{z-index:3000 !important}}@media screen and (max-width: 1439px){.z-3\@xl-{z-index:3000 !important}}@media screen and (max-width: 1199px){.z-3\@lg-{z-index:3000 !important}}@media screen and (max-width: 991px){.z-3\@md-{z-index:3000 !important}}@media screen and (max-width: 767px){.z-3\@sm-{z-index:3000 !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.z-3\@lg{z-index:3000 !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.z-3\@md{z-index:3000 !important}}@media screen and (min-width: 767px)and (max-width: 991px){.z-3\@sm{z-index:3000 !important}}.z-4{z-index:4000 !important}@media screen and (min-width: 1440px){.z-4\@xl\+{z-index:4000 !important}}@media screen and (min-width: 1200px){.z-4\@lg\+{z-index:4000 !important}}@media screen and (min-width: 992px){.z-4\@md\+{z-index:4000 !important}}@media screen and (min-width: 768px){.z-4\@sm\+{z-index:4000 !important}}@media screen and (min-width: 0){.z-4\@xs\+{z-index:4000 !important}}@media screen and (max-width: 1439px){.z-4\@xl-{z-index:4000 !important}}@media screen and (max-width: 1199px){.z-4\@lg-{z-index:4000 !important}}@media screen and (max-width: 991px){.z-4\@md-{z-index:4000 !important}}@media screen and (max-width: 767px){.z-4\@sm-{z-index:4000 !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.z-4\@lg{z-index:4000 !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.z-4\@md{z-index:4000 !important}}@media screen and (min-width: 767px)and (max-width: 991px){.z-4\@sm{z-index:4000 !important}}.z-5{z-index:5000 !important}@media screen and (min-width: 1440px){.z-5\@xl\+{z-index:5000 !important}}@media screen and (min-width: 1200px){.z-5\@lg\+{z-index:5000 !important}}@media screen and (min-width: 992px){.z-5\@md\+{z-index:5000 !important}}@media screen and (min-width: 768px){.z-5\@sm\+{z-index:5000 !important}}@media screen and (min-width: 0){.z-5\@xs\+{z-index:5000 !important}}@media screen and (max-width: 1439px){.z-5\@xl-{z-index:5000 !important}}@media screen and (max-width: 1199px){.z-5\@lg-{z-index:5000 !important}}@media screen and (max-width: 991px){.z-5\@md-{z-index:5000 !important}}@media screen and (max-width: 767px){.z-5\@sm-{z-index:5000 !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.z-5\@lg{z-index:5000 !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.z-5\@md{z-index:5000 !important}}@media screen and (min-width: 767px)and (max-width: 991px){.z-5\@sm{z-index:5000 !important}}.z-6{z-index:6000 !important}@media screen and (min-width: 1440px){.z-6\@xl\+{z-index:6000 !important}}@media screen and (min-width: 1200px){.z-6\@lg\+{z-index:6000 !important}}@media screen and (min-width: 992px){.z-6\@md\+{z-index:6000 !important}}@media screen and (min-width: 768px){.z-6\@sm\+{z-index:6000 !important}}@media screen and (min-width: 0){.z-6\@xs\+{z-index:6000 !important}}@media screen and (max-width: 1439px){.z-6\@xl-{z-index:6000 !important}}@media screen and (max-width: 1199px){.z-6\@lg-{z-index:6000 !important}}@media screen and (max-width: 991px){.z-6\@md-{z-index:6000 !important}}@media screen and (max-width: 767px){.z-6\@sm-{z-index:6000 !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.z-6\@lg{z-index:6000 !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.z-6\@md{z-index:6000 !important}}@media screen and (min-width: 767px)and (max-width: 991px){.z-6\@sm{z-index:6000 !important}}.z-7{z-index:7000 !important}@media screen and (min-width: 1440px){.z-7\@xl\+{z-index:7000 !important}}@media screen and (min-width: 1200px){.z-7\@lg\+{z-index:7000 !important}}@media screen and (min-width: 992px){.z-7\@md\+{z-index:7000 !important}}@media screen and (min-width: 768px){.z-7\@sm\+{z-index:7000 !important}}@media screen and (min-width: 0){.z-7\@xs\+{z-index:7000 !important}}@media screen and (max-width: 1439px){.z-7\@xl-{z-index:7000 !important}}@media screen and (max-width: 1199px){.z-7\@lg-{z-index:7000 !important}}@media screen and (max-width: 991px){.z-7\@md-{z-index:7000 !important}}@media screen and (max-width: 767px){.z-7\@sm-{z-index:7000 !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.z-7\@lg{z-index:7000 !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.z-7\@md{z-index:7000 !important}}@media screen and (min-width: 767px)and (max-width: 991px){.z-7\@sm{z-index:7000 !important}}.z-8{z-index:8000 !important}@media screen and (min-width: 1440px){.z-8\@xl\+{z-index:8000 !important}}@media screen and (min-width: 1200px){.z-8\@lg\+{z-index:8000 !important}}@media screen and (min-width: 992px){.z-8\@md\+{z-index:8000 !important}}@media screen and (min-width: 768px){.z-8\@sm\+{z-index:8000 !important}}@media screen and (min-width: 0){.z-8\@xs\+{z-index:8000 !important}}@media screen and (max-width: 1439px){.z-8\@xl-{z-index:8000 !important}}@media screen and (max-width: 1199px){.z-8\@lg-{z-index:8000 !important}}@media screen and (max-width: 991px){.z-8\@md-{z-index:8000 !important}}@media screen and (max-width: 767px){.z-8\@sm-{z-index:8000 !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.z-8\@lg{z-index:8000 !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.z-8\@md{z-index:8000 !important}}@media screen and (min-width: 767px)and (max-width: 991px){.z-8\@sm{z-index:8000 !important}}.z-9{z-index:9000 !important}@media screen and (min-width: 1440px){.z-9\@xl\+{z-index:9000 !important}}@media screen and (min-width: 1200px){.z-9\@lg\+{z-index:9000 !important}}@media screen and (min-width: 992px){.z-9\@md\+{z-index:9000 !important}}@media screen and (min-width: 768px){.z-9\@sm\+{z-index:9000 !important}}@media screen and (min-width: 0){.z-9\@xs\+{z-index:9000 !important}}@media screen and (max-width: 1439px){.z-9\@xl-{z-index:9000 !important}}@media screen and (max-width: 1199px){.z-9\@lg-{z-index:9000 !important}}@media screen and (max-width: 991px){.z-9\@md-{z-index:9000 !important}}@media screen and (max-width: 767px){.z-9\@sm-{z-index:9000 !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.z-9\@lg{z-index:9000 !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.z-9\@md{z-index:9000 !important}}@media screen and (min-width: 767px)and (max-width: 991px){.z-9\@sm{z-index:9000 !important}}.lisp-i{list-style-position:inside}.lisp-o{list-style-position:outside}.lis-n{list-style:none}.list-c{list-style-type:circle}.list-s{list-style-type:square}.list-u{list-style-type:upper-roman}.list-l{list-style-type:lower-alpha}.m-0{margin:0px !important}.mT-0{margin-top:0px !important}.mR-0{margin-right:0px !important}.mB-0{margin-bottom:0px !important}.mL-0{margin-left:0px !important}.mY-0{margin-top:0px !important;margin-bottom:0px !important}.mX-0{margin-left:0px !important;margin-right:0px !important}.m-nv-0{margin:-0px !important}.mT-nv-0{margin-top:-0px !important}.mR-nv-0{margin-right:-0px !important}.mB-nv-0{margin-bottom:-0px !important}.mL-nv-0{margin-left:-0px !important}.mY-nv-0{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0{margin-left:-0px !important;margin-right:-0px !important}@media screen and (min-width: 1440px){.m-0\@xl\+{margin:0px !important}.mT-0\@xl\+{margin-top:0px !important}.mR-0\@xl\+{margin-right:0px !important}.mB-0\@xl\+{margin-bottom:0px !important}.mL-0\@xl\+{margin-left:0px !important}.mY-0\@xl\+{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@xl\+{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@xl\+{margin:-0px !important}.mT-nv-0\@xl\+{margin-top:-0px !important}.mR-nv-0\@xl\+{margin-right:-0px !important}.mB-nv-0\@xl\+{margin-bottom:-0px !important}.mL-nv-0\@xl\+{margin-left:-0px !important}.mY-nv-0\@xl\+{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@xl\+{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (min-width: 1200px){.m-0\@lg\+{margin:0px !important}.mT-0\@lg\+{margin-top:0px !important}.mR-0\@lg\+{margin-right:0px !important}.mB-0\@lg\+{margin-bottom:0px !important}.mL-0\@lg\+{margin-left:0px !important}.mY-0\@lg\+{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@lg\+{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@lg\+{margin:-0px !important}.mT-nv-0\@lg\+{margin-top:-0px !important}.mR-nv-0\@lg\+{margin-right:-0px !important}.mB-nv-0\@lg\+{margin-bottom:-0px !important}.mL-nv-0\@lg\+{margin-left:-0px !important}.mY-nv-0\@lg\+{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@lg\+{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (min-width: 992px){.m-0\@md\+{margin:0px !important}.mT-0\@md\+{margin-top:0px !important}.mR-0\@md\+{margin-right:0px !important}.mB-0\@md\+{margin-bottom:0px !important}.mL-0\@md\+{margin-left:0px !important}.mY-0\@md\+{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@md\+{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@md\+{margin:-0px !important}.mT-nv-0\@md\+{margin-top:-0px !important}.mR-nv-0\@md\+{margin-right:-0px !important}.mB-nv-0\@md\+{margin-bottom:-0px !important}.mL-nv-0\@md\+{margin-left:-0px !important}.mY-nv-0\@md\+{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@md\+{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (min-width: 768px){.m-0\@sm\+{margin:0px !important}.mT-0\@sm\+{margin-top:0px !important}.mR-0\@sm\+{margin-right:0px !important}.mB-0\@sm\+{margin-bottom:0px !important}.mL-0\@sm\+{margin-left:0px !important}.mY-0\@sm\+{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@sm\+{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@sm\+{margin:-0px !important}.mT-nv-0\@sm\+{margin-top:-0px !important}.mR-nv-0\@sm\+{margin-right:-0px !important}.mB-nv-0\@sm\+{margin-bottom:-0px !important}.mL-nv-0\@sm\+{margin-left:-0px !important}.mY-nv-0\@sm\+{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@sm\+{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (min-width: 0){.m-0\@xs\+{margin:0px !important}.mT-0\@xs\+{margin-top:0px !important}.mR-0\@xs\+{margin-right:0px !important}.mB-0\@xs\+{margin-bottom:0px !important}.mL-0\@xs\+{margin-left:0px !important}.mY-0\@xs\+{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@xs\+{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@xs\+{margin:-0px !important}.mT-nv-0\@xs\+{margin-top:-0px !important}.mR-nv-0\@xs\+{margin-right:-0px !important}.mB-nv-0\@xs\+{margin-bottom:-0px !important}.mL-nv-0\@xs\+{margin-left:-0px !important}.mY-nv-0\@xs\+{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@xs\+{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (max-width: 1439px){.m-0\@xl-{margin:0px !important}.mT-0\@xl-{margin-top:0px !important}.mR-0\@xl-{margin-right:0px !important}.mB-0\@xl-{margin-bottom:0px !important}.mL-0\@xl-{margin-left:0px !important}.mY-0\@xl-{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@xl-{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@xl-{margin:-0px !important}.mT-nv-0\@xl-{margin-top:-0px !important}.mR-nv-0\@xl-{margin-right:-0px !important}.mB-nv-0\@xl-{margin-bottom:-0px !important}.mL-nv-0\@xl-{margin-left:-0px !important}.mY-nv-0\@xl-{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@xl-{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (max-width: 1199px){.m-0\@lg-{margin:0px !important}.mT-0\@lg-{margin-top:0px !important}.mR-0\@lg-{margin-right:0px !important}.mB-0\@lg-{margin-bottom:0px !important}.mL-0\@lg-{margin-left:0px !important}.mY-0\@lg-{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@lg-{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@lg-{margin:-0px !important}.mT-nv-0\@lg-{margin-top:-0px !important}.mR-nv-0\@lg-{margin-right:-0px !important}.mB-nv-0\@lg-{margin-bottom:-0px !important}.mL-nv-0\@lg-{margin-left:-0px !important}.mY-nv-0\@lg-{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@lg-{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (max-width: 991px){.m-0\@md-{margin:0px !important}.mT-0\@md-{margin-top:0px !important}.mR-0\@md-{margin-right:0px !important}.mB-0\@md-{margin-bottom:0px !important}.mL-0\@md-{margin-left:0px !important}.mY-0\@md-{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@md-{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@md-{margin:-0px !important}.mT-nv-0\@md-{margin-top:-0px !important}.mR-nv-0\@md-{margin-right:-0px !important}.mB-nv-0\@md-{margin-bottom:-0px !important}.mL-nv-0\@md-{margin-left:-0px !important}.mY-nv-0\@md-{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@md-{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (max-width: 767px){.m-0\@sm-{margin:0px !important}.mT-0\@sm-{margin-top:0px !important}.mR-0\@sm-{margin-right:0px !important}.mB-0\@sm-{margin-bottom:0px !important}.mL-0\@sm-{margin-left:0px !important}.mY-0\@sm-{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@sm-{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@sm-{margin:-0px !important}.mT-nv-0\@sm-{margin-top:-0px !important}.mR-nv-0\@sm-{margin-right:-0px !important}.mB-nv-0\@sm-{margin-bottom:-0px !important}.mL-nv-0\@sm-{margin-left:-0px !important}.mY-nv-0\@sm-{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@sm-{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-0\@lg{margin:0px !important}.mT-0\@lg{margin-top:0px !important}.mR-0\@lg{margin-right:0px !important}.mB-0\@lg{margin-bottom:0px !important}.mL-0\@lg{margin-left:0px !important}.mY-0\@lg{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@lg{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@lg{margin:-0px !important}.mT-nv-0\@lg{margin-top:-0px !important}.mR-nv-0\@lg{margin-right:-0px !important}.mB-nv-0\@lg{margin-bottom:-0px !important}.mL-nv-0\@lg{margin-left:-0px !important}.mY-nv-0\@lg{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@lg{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-0\@md{margin:0px !important}.mT-0\@md{margin-top:0px !important}.mR-0\@md{margin-right:0px !important}.mB-0\@md{margin-bottom:0px !important}.mL-0\@md{margin-left:0px !important}.mY-0\@md{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@md{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@md{margin:-0px !important}.mT-nv-0\@md{margin-top:-0px !important}.mR-nv-0\@md{margin-right:-0px !important}.mB-nv-0\@md{margin-bottom:-0px !important}.mL-nv-0\@md{margin-left:-0px !important}.mY-nv-0\@md{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@md{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-0\@sm{margin:0px !important}.mT-0\@sm{margin-top:0px !important}.mR-0\@sm{margin-right:0px !important}.mB-0\@sm{margin-bottom:0px !important}.mL-0\@sm{margin-left:0px !important}.mY-0\@sm{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@sm{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@sm{margin:-0px !important}.mT-nv-0\@sm{margin-top:-0px !important}.mR-nv-0\@sm{margin-right:-0px !important}.mB-nv-0\@sm{margin-bottom:-0px !important}.mL-nv-0\@sm{margin-left:-0px !important}.mY-nv-0\@sm{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@sm{margin-left:-0px !important;margin-right:-0px !important}}.m-1{margin:1px !important}.mT-1{margin-top:1px !important}.mR-1{margin-right:1px !important}.mB-1{margin-bottom:1px !important}.mL-1{margin-left:1px !important}.mY-1{margin-top:1px !important;margin-bottom:1px !important}.mX-1{margin-left:1px !important;margin-right:1px !important}.m-nv-1{margin:-1px !important}.mT-nv-1{margin-top:-1px !important}.mR-nv-1{margin-right:-1px !important}.mB-nv-1{margin-bottom:-1px !important}.mL-nv-1{margin-left:-1px !important}.mY-nv-1{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1{margin-left:-1px !important;margin-right:-1px !important}@media screen and (min-width: 1440px){.m-1\@xl\+{margin:1px !important}.mT-1\@xl\+{margin-top:1px !important}.mR-1\@xl\+{margin-right:1px !important}.mB-1\@xl\+{margin-bottom:1px !important}.mL-1\@xl\+{margin-left:1px !important}.mY-1\@xl\+{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@xl\+{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@xl\+{margin:-1px !important}.mT-nv-1\@xl\+{margin-top:-1px !important}.mR-nv-1\@xl\+{margin-right:-1px !important}.mB-nv-1\@xl\+{margin-bottom:-1px !important}.mL-nv-1\@xl\+{margin-left:-1px !important}.mY-nv-1\@xl\+{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@xl\+{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (min-width: 1200px){.m-1\@lg\+{margin:1px !important}.mT-1\@lg\+{margin-top:1px !important}.mR-1\@lg\+{margin-right:1px !important}.mB-1\@lg\+{margin-bottom:1px !important}.mL-1\@lg\+{margin-left:1px !important}.mY-1\@lg\+{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@lg\+{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@lg\+{margin:-1px !important}.mT-nv-1\@lg\+{margin-top:-1px !important}.mR-nv-1\@lg\+{margin-right:-1px !important}.mB-nv-1\@lg\+{margin-bottom:-1px !important}.mL-nv-1\@lg\+{margin-left:-1px !important}.mY-nv-1\@lg\+{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@lg\+{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (min-width: 992px){.m-1\@md\+{margin:1px !important}.mT-1\@md\+{margin-top:1px !important}.mR-1\@md\+{margin-right:1px !important}.mB-1\@md\+{margin-bottom:1px !important}.mL-1\@md\+{margin-left:1px !important}.mY-1\@md\+{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@md\+{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@md\+{margin:-1px !important}.mT-nv-1\@md\+{margin-top:-1px !important}.mR-nv-1\@md\+{margin-right:-1px !important}.mB-nv-1\@md\+{margin-bottom:-1px !important}.mL-nv-1\@md\+{margin-left:-1px !important}.mY-nv-1\@md\+{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@md\+{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (min-width: 768px){.m-1\@sm\+{margin:1px !important}.mT-1\@sm\+{margin-top:1px !important}.mR-1\@sm\+{margin-right:1px !important}.mB-1\@sm\+{margin-bottom:1px !important}.mL-1\@sm\+{margin-left:1px !important}.mY-1\@sm\+{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@sm\+{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@sm\+{margin:-1px !important}.mT-nv-1\@sm\+{margin-top:-1px !important}.mR-nv-1\@sm\+{margin-right:-1px !important}.mB-nv-1\@sm\+{margin-bottom:-1px !important}.mL-nv-1\@sm\+{margin-left:-1px !important}.mY-nv-1\@sm\+{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@sm\+{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (min-width: 0){.m-1\@xs\+{margin:1px !important}.mT-1\@xs\+{margin-top:1px !important}.mR-1\@xs\+{margin-right:1px !important}.mB-1\@xs\+{margin-bottom:1px !important}.mL-1\@xs\+{margin-left:1px !important}.mY-1\@xs\+{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@xs\+{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@xs\+{margin:-1px !important}.mT-nv-1\@xs\+{margin-top:-1px !important}.mR-nv-1\@xs\+{margin-right:-1px !important}.mB-nv-1\@xs\+{margin-bottom:-1px !important}.mL-nv-1\@xs\+{margin-left:-1px !important}.mY-nv-1\@xs\+{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@xs\+{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (max-width: 1439px){.m-1\@xl-{margin:1px !important}.mT-1\@xl-{margin-top:1px !important}.mR-1\@xl-{margin-right:1px !important}.mB-1\@xl-{margin-bottom:1px !important}.mL-1\@xl-{margin-left:1px !important}.mY-1\@xl-{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@xl-{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@xl-{margin:-1px !important}.mT-nv-1\@xl-{margin-top:-1px !important}.mR-nv-1\@xl-{margin-right:-1px !important}.mB-nv-1\@xl-{margin-bottom:-1px !important}.mL-nv-1\@xl-{margin-left:-1px !important}.mY-nv-1\@xl-{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@xl-{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (max-width: 1199px){.m-1\@lg-{margin:1px !important}.mT-1\@lg-{margin-top:1px !important}.mR-1\@lg-{margin-right:1px !important}.mB-1\@lg-{margin-bottom:1px !important}.mL-1\@lg-{margin-left:1px !important}.mY-1\@lg-{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@lg-{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@lg-{margin:-1px !important}.mT-nv-1\@lg-{margin-top:-1px !important}.mR-nv-1\@lg-{margin-right:-1px !important}.mB-nv-1\@lg-{margin-bottom:-1px !important}.mL-nv-1\@lg-{margin-left:-1px !important}.mY-nv-1\@lg-{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@lg-{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (max-width: 991px){.m-1\@md-{margin:1px !important}.mT-1\@md-{margin-top:1px !important}.mR-1\@md-{margin-right:1px !important}.mB-1\@md-{margin-bottom:1px !important}.mL-1\@md-{margin-left:1px !important}.mY-1\@md-{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@md-{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@md-{margin:-1px !important}.mT-nv-1\@md-{margin-top:-1px !important}.mR-nv-1\@md-{margin-right:-1px !important}.mB-nv-1\@md-{margin-bottom:-1px !important}.mL-nv-1\@md-{margin-left:-1px !important}.mY-nv-1\@md-{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@md-{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (max-width: 767px){.m-1\@sm-{margin:1px !important}.mT-1\@sm-{margin-top:1px !important}.mR-1\@sm-{margin-right:1px !important}.mB-1\@sm-{margin-bottom:1px !important}.mL-1\@sm-{margin-left:1px !important}.mY-1\@sm-{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@sm-{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@sm-{margin:-1px !important}.mT-nv-1\@sm-{margin-top:-1px !important}.mR-nv-1\@sm-{margin-right:-1px !important}.mB-nv-1\@sm-{margin-bottom:-1px !important}.mL-nv-1\@sm-{margin-left:-1px !important}.mY-nv-1\@sm-{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@sm-{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-1\@lg{margin:1px !important}.mT-1\@lg{margin-top:1px !important}.mR-1\@lg{margin-right:1px !important}.mB-1\@lg{margin-bottom:1px !important}.mL-1\@lg{margin-left:1px !important}.mY-1\@lg{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@lg{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@lg{margin:-1px !important}.mT-nv-1\@lg{margin-top:-1px !important}.mR-nv-1\@lg{margin-right:-1px !important}.mB-nv-1\@lg{margin-bottom:-1px !important}.mL-nv-1\@lg{margin-left:-1px !important}.mY-nv-1\@lg{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@lg{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-1\@md{margin:1px !important}.mT-1\@md{margin-top:1px !important}.mR-1\@md{margin-right:1px !important}.mB-1\@md{margin-bottom:1px !important}.mL-1\@md{margin-left:1px !important}.mY-1\@md{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@md{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@md{margin:-1px !important}.mT-nv-1\@md{margin-top:-1px !important}.mR-nv-1\@md{margin-right:-1px !important}.mB-nv-1\@md{margin-bottom:-1px !important}.mL-nv-1\@md{margin-left:-1px !important}.mY-nv-1\@md{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@md{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-1\@sm{margin:1px !important}.mT-1\@sm{margin-top:1px !important}.mR-1\@sm{margin-right:1px !important}.mB-1\@sm{margin-bottom:1px !important}.mL-1\@sm{margin-left:1px !important}.mY-1\@sm{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@sm{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@sm{margin:-1px !important}.mT-nv-1\@sm{margin-top:-1px !important}.mR-nv-1\@sm{margin-right:-1px !important}.mB-nv-1\@sm{margin-bottom:-1px !important}.mL-nv-1\@sm{margin-left:-1px !important}.mY-nv-1\@sm{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@sm{margin-left:-1px !important;margin-right:-1px !important}}.m-2{margin:2px !important}.mT-2{margin-top:2px !important}.mR-2{margin-right:2px !important}.mB-2{margin-bottom:2px !important}.mL-2{margin-left:2px !important}.mY-2{margin-top:2px !important;margin-bottom:2px !important}.mX-2{margin-left:2px !important;margin-right:2px !important}.m-nv-2{margin:-2px !important}.mT-nv-2{margin-top:-2px !important}.mR-nv-2{margin-right:-2px !important}.mB-nv-2{margin-bottom:-2px !important}.mL-nv-2{margin-left:-2px !important}.mY-nv-2{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2{margin-left:-2px !important;margin-right:-2px !important}@media screen and (min-width: 1440px){.m-2\@xl\+{margin:2px !important}.mT-2\@xl\+{margin-top:2px !important}.mR-2\@xl\+{margin-right:2px !important}.mB-2\@xl\+{margin-bottom:2px !important}.mL-2\@xl\+{margin-left:2px !important}.mY-2\@xl\+{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@xl\+{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@xl\+{margin:-2px !important}.mT-nv-2\@xl\+{margin-top:-2px !important}.mR-nv-2\@xl\+{margin-right:-2px !important}.mB-nv-2\@xl\+{margin-bottom:-2px !important}.mL-nv-2\@xl\+{margin-left:-2px !important}.mY-nv-2\@xl\+{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@xl\+{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (min-width: 1200px){.m-2\@lg\+{margin:2px !important}.mT-2\@lg\+{margin-top:2px !important}.mR-2\@lg\+{margin-right:2px !important}.mB-2\@lg\+{margin-bottom:2px !important}.mL-2\@lg\+{margin-left:2px !important}.mY-2\@lg\+{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@lg\+{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@lg\+{margin:-2px !important}.mT-nv-2\@lg\+{margin-top:-2px !important}.mR-nv-2\@lg\+{margin-right:-2px !important}.mB-nv-2\@lg\+{margin-bottom:-2px !important}.mL-nv-2\@lg\+{margin-left:-2px !important}.mY-nv-2\@lg\+{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@lg\+{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (min-width: 992px){.m-2\@md\+{margin:2px !important}.mT-2\@md\+{margin-top:2px !important}.mR-2\@md\+{margin-right:2px !important}.mB-2\@md\+{margin-bottom:2px !important}.mL-2\@md\+{margin-left:2px !important}.mY-2\@md\+{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@md\+{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@md\+{margin:-2px !important}.mT-nv-2\@md\+{margin-top:-2px !important}.mR-nv-2\@md\+{margin-right:-2px !important}.mB-nv-2\@md\+{margin-bottom:-2px !important}.mL-nv-2\@md\+{margin-left:-2px !important}.mY-nv-2\@md\+{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@md\+{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (min-width: 768px){.m-2\@sm\+{margin:2px !important}.mT-2\@sm\+{margin-top:2px !important}.mR-2\@sm\+{margin-right:2px !important}.mB-2\@sm\+{margin-bottom:2px !important}.mL-2\@sm\+{margin-left:2px !important}.mY-2\@sm\+{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@sm\+{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@sm\+{margin:-2px !important}.mT-nv-2\@sm\+{margin-top:-2px !important}.mR-nv-2\@sm\+{margin-right:-2px !important}.mB-nv-2\@sm\+{margin-bottom:-2px !important}.mL-nv-2\@sm\+{margin-left:-2px !important}.mY-nv-2\@sm\+{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@sm\+{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (min-width: 0){.m-2\@xs\+{margin:2px !important}.mT-2\@xs\+{margin-top:2px !important}.mR-2\@xs\+{margin-right:2px !important}.mB-2\@xs\+{margin-bottom:2px !important}.mL-2\@xs\+{margin-left:2px !important}.mY-2\@xs\+{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@xs\+{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@xs\+{margin:-2px !important}.mT-nv-2\@xs\+{margin-top:-2px !important}.mR-nv-2\@xs\+{margin-right:-2px !important}.mB-nv-2\@xs\+{margin-bottom:-2px !important}.mL-nv-2\@xs\+{margin-left:-2px !important}.mY-nv-2\@xs\+{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@xs\+{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (max-width: 1439px){.m-2\@xl-{margin:2px !important}.mT-2\@xl-{margin-top:2px !important}.mR-2\@xl-{margin-right:2px !important}.mB-2\@xl-{margin-bottom:2px !important}.mL-2\@xl-{margin-left:2px !important}.mY-2\@xl-{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@xl-{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@xl-{margin:-2px !important}.mT-nv-2\@xl-{margin-top:-2px !important}.mR-nv-2\@xl-{margin-right:-2px !important}.mB-nv-2\@xl-{margin-bottom:-2px !important}.mL-nv-2\@xl-{margin-left:-2px !important}.mY-nv-2\@xl-{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@xl-{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (max-width: 1199px){.m-2\@lg-{margin:2px !important}.mT-2\@lg-{margin-top:2px !important}.mR-2\@lg-{margin-right:2px !important}.mB-2\@lg-{margin-bottom:2px !important}.mL-2\@lg-{margin-left:2px !important}.mY-2\@lg-{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@lg-{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@lg-{margin:-2px !important}.mT-nv-2\@lg-{margin-top:-2px !important}.mR-nv-2\@lg-{margin-right:-2px !important}.mB-nv-2\@lg-{margin-bottom:-2px !important}.mL-nv-2\@lg-{margin-left:-2px !important}.mY-nv-2\@lg-{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@lg-{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (max-width: 991px){.m-2\@md-{margin:2px !important}.mT-2\@md-{margin-top:2px !important}.mR-2\@md-{margin-right:2px !important}.mB-2\@md-{margin-bottom:2px !important}.mL-2\@md-{margin-left:2px !important}.mY-2\@md-{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@md-{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@md-{margin:-2px !important}.mT-nv-2\@md-{margin-top:-2px !important}.mR-nv-2\@md-{margin-right:-2px !important}.mB-nv-2\@md-{margin-bottom:-2px !important}.mL-nv-2\@md-{margin-left:-2px !important}.mY-nv-2\@md-{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@md-{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (max-width: 767px){.m-2\@sm-{margin:2px !important}.mT-2\@sm-{margin-top:2px !important}.mR-2\@sm-{margin-right:2px !important}.mB-2\@sm-{margin-bottom:2px !important}.mL-2\@sm-{margin-left:2px !important}.mY-2\@sm-{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@sm-{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@sm-{margin:-2px !important}.mT-nv-2\@sm-{margin-top:-2px !important}.mR-nv-2\@sm-{margin-right:-2px !important}.mB-nv-2\@sm-{margin-bottom:-2px !important}.mL-nv-2\@sm-{margin-left:-2px !important}.mY-nv-2\@sm-{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@sm-{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-2\@lg{margin:2px !important}.mT-2\@lg{margin-top:2px !important}.mR-2\@lg{margin-right:2px !important}.mB-2\@lg{margin-bottom:2px !important}.mL-2\@lg{margin-left:2px !important}.mY-2\@lg{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@lg{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@lg{margin:-2px !important}.mT-nv-2\@lg{margin-top:-2px !important}.mR-nv-2\@lg{margin-right:-2px !important}.mB-nv-2\@lg{margin-bottom:-2px !important}.mL-nv-2\@lg{margin-left:-2px !important}.mY-nv-2\@lg{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@lg{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-2\@md{margin:2px !important}.mT-2\@md{margin-top:2px !important}.mR-2\@md{margin-right:2px !important}.mB-2\@md{margin-bottom:2px !important}.mL-2\@md{margin-left:2px !important}.mY-2\@md{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@md{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@md{margin:-2px !important}.mT-nv-2\@md{margin-top:-2px !important}.mR-nv-2\@md{margin-right:-2px !important}.mB-nv-2\@md{margin-bottom:-2px !important}.mL-nv-2\@md{margin-left:-2px !important}.mY-nv-2\@md{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@md{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-2\@sm{margin:2px !important}.mT-2\@sm{margin-top:2px !important}.mR-2\@sm{margin-right:2px !important}.mB-2\@sm{margin-bottom:2px !important}.mL-2\@sm{margin-left:2px !important}.mY-2\@sm{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@sm{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@sm{margin:-2px !important}.mT-nv-2\@sm{margin-top:-2px !important}.mR-nv-2\@sm{margin-right:-2px !important}.mB-nv-2\@sm{margin-bottom:-2px !important}.mL-nv-2\@sm{margin-left:-2px !important}.mY-nv-2\@sm{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@sm{margin-left:-2px !important;margin-right:-2px !important}}.m-3{margin:3px !important}.mT-3{margin-top:3px !important}.mR-3{margin-right:3px !important}.mB-3{margin-bottom:3px !important}.mL-3{margin-left:3px !important}.mY-3{margin-top:3px !important;margin-bottom:3px !important}.mX-3{margin-left:3px !important;margin-right:3px !important}.m-nv-3{margin:-3px !important}.mT-nv-3{margin-top:-3px !important}.mR-nv-3{margin-right:-3px !important}.mB-nv-3{margin-bottom:-3px !important}.mL-nv-3{margin-left:-3px !important}.mY-nv-3{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3{margin-left:-3px !important;margin-right:-3px !important}@media screen and (min-width: 1440px){.m-3\@xl\+{margin:3px !important}.mT-3\@xl\+{margin-top:3px !important}.mR-3\@xl\+{margin-right:3px !important}.mB-3\@xl\+{margin-bottom:3px !important}.mL-3\@xl\+{margin-left:3px !important}.mY-3\@xl\+{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@xl\+{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@xl\+{margin:-3px !important}.mT-nv-3\@xl\+{margin-top:-3px !important}.mR-nv-3\@xl\+{margin-right:-3px !important}.mB-nv-3\@xl\+{margin-bottom:-3px !important}.mL-nv-3\@xl\+{margin-left:-3px !important}.mY-nv-3\@xl\+{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@xl\+{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (min-width: 1200px){.m-3\@lg\+{margin:3px !important}.mT-3\@lg\+{margin-top:3px !important}.mR-3\@lg\+{margin-right:3px !important}.mB-3\@lg\+{margin-bottom:3px !important}.mL-3\@lg\+{margin-left:3px !important}.mY-3\@lg\+{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@lg\+{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@lg\+{margin:-3px !important}.mT-nv-3\@lg\+{margin-top:-3px !important}.mR-nv-3\@lg\+{margin-right:-3px !important}.mB-nv-3\@lg\+{margin-bottom:-3px !important}.mL-nv-3\@lg\+{margin-left:-3px !important}.mY-nv-3\@lg\+{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@lg\+{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (min-width: 992px){.m-3\@md\+{margin:3px !important}.mT-3\@md\+{margin-top:3px !important}.mR-3\@md\+{margin-right:3px !important}.mB-3\@md\+{margin-bottom:3px !important}.mL-3\@md\+{margin-left:3px !important}.mY-3\@md\+{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@md\+{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@md\+{margin:-3px !important}.mT-nv-3\@md\+{margin-top:-3px !important}.mR-nv-3\@md\+{margin-right:-3px !important}.mB-nv-3\@md\+{margin-bottom:-3px !important}.mL-nv-3\@md\+{margin-left:-3px !important}.mY-nv-3\@md\+{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@md\+{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (min-width: 768px){.m-3\@sm\+{margin:3px !important}.mT-3\@sm\+{margin-top:3px !important}.mR-3\@sm\+{margin-right:3px !important}.mB-3\@sm\+{margin-bottom:3px !important}.mL-3\@sm\+{margin-left:3px !important}.mY-3\@sm\+{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@sm\+{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@sm\+{margin:-3px !important}.mT-nv-3\@sm\+{margin-top:-3px !important}.mR-nv-3\@sm\+{margin-right:-3px !important}.mB-nv-3\@sm\+{margin-bottom:-3px !important}.mL-nv-3\@sm\+{margin-left:-3px !important}.mY-nv-3\@sm\+{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@sm\+{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (min-width: 0){.m-3\@xs\+{margin:3px !important}.mT-3\@xs\+{margin-top:3px !important}.mR-3\@xs\+{margin-right:3px !important}.mB-3\@xs\+{margin-bottom:3px !important}.mL-3\@xs\+{margin-left:3px !important}.mY-3\@xs\+{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@xs\+{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@xs\+{margin:-3px !important}.mT-nv-3\@xs\+{margin-top:-3px !important}.mR-nv-3\@xs\+{margin-right:-3px !important}.mB-nv-3\@xs\+{margin-bottom:-3px !important}.mL-nv-3\@xs\+{margin-left:-3px !important}.mY-nv-3\@xs\+{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@xs\+{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (max-width: 1439px){.m-3\@xl-{margin:3px !important}.mT-3\@xl-{margin-top:3px !important}.mR-3\@xl-{margin-right:3px !important}.mB-3\@xl-{margin-bottom:3px !important}.mL-3\@xl-{margin-left:3px !important}.mY-3\@xl-{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@xl-{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@xl-{margin:-3px !important}.mT-nv-3\@xl-{margin-top:-3px !important}.mR-nv-3\@xl-{margin-right:-3px !important}.mB-nv-3\@xl-{margin-bottom:-3px !important}.mL-nv-3\@xl-{margin-left:-3px !important}.mY-nv-3\@xl-{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@xl-{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (max-width: 1199px){.m-3\@lg-{margin:3px !important}.mT-3\@lg-{margin-top:3px !important}.mR-3\@lg-{margin-right:3px !important}.mB-3\@lg-{margin-bottom:3px !important}.mL-3\@lg-{margin-left:3px !important}.mY-3\@lg-{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@lg-{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@lg-{margin:-3px !important}.mT-nv-3\@lg-{margin-top:-3px !important}.mR-nv-3\@lg-{margin-right:-3px !important}.mB-nv-3\@lg-{margin-bottom:-3px !important}.mL-nv-3\@lg-{margin-left:-3px !important}.mY-nv-3\@lg-{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@lg-{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (max-width: 991px){.m-3\@md-{margin:3px !important}.mT-3\@md-{margin-top:3px !important}.mR-3\@md-{margin-right:3px !important}.mB-3\@md-{margin-bottom:3px !important}.mL-3\@md-{margin-left:3px !important}.mY-3\@md-{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@md-{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@md-{margin:-3px !important}.mT-nv-3\@md-{margin-top:-3px !important}.mR-nv-3\@md-{margin-right:-3px !important}.mB-nv-3\@md-{margin-bottom:-3px !important}.mL-nv-3\@md-{margin-left:-3px !important}.mY-nv-3\@md-{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@md-{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (max-width: 767px){.m-3\@sm-{margin:3px !important}.mT-3\@sm-{margin-top:3px !important}.mR-3\@sm-{margin-right:3px !important}.mB-3\@sm-{margin-bottom:3px !important}.mL-3\@sm-{margin-left:3px !important}.mY-3\@sm-{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@sm-{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@sm-{margin:-3px !important}.mT-nv-3\@sm-{margin-top:-3px !important}.mR-nv-3\@sm-{margin-right:-3px !important}.mB-nv-3\@sm-{margin-bottom:-3px !important}.mL-nv-3\@sm-{margin-left:-3px !important}.mY-nv-3\@sm-{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@sm-{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-3\@lg{margin:3px !important}.mT-3\@lg{margin-top:3px !important}.mR-3\@lg{margin-right:3px !important}.mB-3\@lg{margin-bottom:3px !important}.mL-3\@lg{margin-left:3px !important}.mY-3\@lg{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@lg{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@lg{margin:-3px !important}.mT-nv-3\@lg{margin-top:-3px !important}.mR-nv-3\@lg{margin-right:-3px !important}.mB-nv-3\@lg{margin-bottom:-3px !important}.mL-nv-3\@lg{margin-left:-3px !important}.mY-nv-3\@lg{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@lg{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-3\@md{margin:3px !important}.mT-3\@md{margin-top:3px !important}.mR-3\@md{margin-right:3px !important}.mB-3\@md{margin-bottom:3px !important}.mL-3\@md{margin-left:3px !important}.mY-3\@md{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@md{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@md{margin:-3px !important}.mT-nv-3\@md{margin-top:-3px !important}.mR-nv-3\@md{margin-right:-3px !important}.mB-nv-3\@md{margin-bottom:-3px !important}.mL-nv-3\@md{margin-left:-3px !important}.mY-nv-3\@md{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@md{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-3\@sm{margin:3px !important}.mT-3\@sm{margin-top:3px !important}.mR-3\@sm{margin-right:3px !important}.mB-3\@sm{margin-bottom:3px !important}.mL-3\@sm{margin-left:3px !important}.mY-3\@sm{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@sm{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@sm{margin:-3px !important}.mT-nv-3\@sm{margin-top:-3px !important}.mR-nv-3\@sm{margin-right:-3px !important}.mB-nv-3\@sm{margin-bottom:-3px !important}.mL-nv-3\@sm{margin-left:-3px !important}.mY-nv-3\@sm{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@sm{margin-left:-3px !important;margin-right:-3px !important}}.m-4{margin:4px !important}.mT-4{margin-top:4px !important}.mR-4{margin-right:4px !important}.mB-4{margin-bottom:4px !important}.mL-4{margin-left:4px !important}.mY-4{margin-top:4px !important;margin-bottom:4px !important}.mX-4{margin-left:4px !important;margin-right:4px !important}.m-nv-4{margin:-4px !important}.mT-nv-4{margin-top:-4px !important}.mR-nv-4{margin-right:-4px !important}.mB-nv-4{margin-bottom:-4px !important}.mL-nv-4{margin-left:-4px !important}.mY-nv-4{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4{margin-left:-4px !important;margin-right:-4px !important}@media screen and (min-width: 1440px){.m-4\@xl\+{margin:4px !important}.mT-4\@xl\+{margin-top:4px !important}.mR-4\@xl\+{margin-right:4px !important}.mB-4\@xl\+{margin-bottom:4px !important}.mL-4\@xl\+{margin-left:4px !important}.mY-4\@xl\+{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@xl\+{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@xl\+{margin:-4px !important}.mT-nv-4\@xl\+{margin-top:-4px !important}.mR-nv-4\@xl\+{margin-right:-4px !important}.mB-nv-4\@xl\+{margin-bottom:-4px !important}.mL-nv-4\@xl\+{margin-left:-4px !important}.mY-nv-4\@xl\+{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@xl\+{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (min-width: 1200px){.m-4\@lg\+{margin:4px !important}.mT-4\@lg\+{margin-top:4px !important}.mR-4\@lg\+{margin-right:4px !important}.mB-4\@lg\+{margin-bottom:4px !important}.mL-4\@lg\+{margin-left:4px !important}.mY-4\@lg\+{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@lg\+{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@lg\+{margin:-4px !important}.mT-nv-4\@lg\+{margin-top:-4px !important}.mR-nv-4\@lg\+{margin-right:-4px !important}.mB-nv-4\@lg\+{margin-bottom:-4px !important}.mL-nv-4\@lg\+{margin-left:-4px !important}.mY-nv-4\@lg\+{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@lg\+{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (min-width: 992px){.m-4\@md\+{margin:4px !important}.mT-4\@md\+{margin-top:4px !important}.mR-4\@md\+{margin-right:4px !important}.mB-4\@md\+{margin-bottom:4px !important}.mL-4\@md\+{margin-left:4px !important}.mY-4\@md\+{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@md\+{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@md\+{margin:-4px !important}.mT-nv-4\@md\+{margin-top:-4px !important}.mR-nv-4\@md\+{margin-right:-4px !important}.mB-nv-4\@md\+{margin-bottom:-4px !important}.mL-nv-4\@md\+{margin-left:-4px !important}.mY-nv-4\@md\+{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@md\+{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (min-width: 768px){.m-4\@sm\+{margin:4px !important}.mT-4\@sm\+{margin-top:4px !important}.mR-4\@sm\+{margin-right:4px !important}.mB-4\@sm\+{margin-bottom:4px !important}.mL-4\@sm\+{margin-left:4px !important}.mY-4\@sm\+{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@sm\+{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@sm\+{margin:-4px !important}.mT-nv-4\@sm\+{margin-top:-4px !important}.mR-nv-4\@sm\+{margin-right:-4px !important}.mB-nv-4\@sm\+{margin-bottom:-4px !important}.mL-nv-4\@sm\+{margin-left:-4px !important}.mY-nv-4\@sm\+{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@sm\+{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (min-width: 0){.m-4\@xs\+{margin:4px !important}.mT-4\@xs\+{margin-top:4px !important}.mR-4\@xs\+{margin-right:4px !important}.mB-4\@xs\+{margin-bottom:4px !important}.mL-4\@xs\+{margin-left:4px !important}.mY-4\@xs\+{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@xs\+{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@xs\+{margin:-4px !important}.mT-nv-4\@xs\+{margin-top:-4px !important}.mR-nv-4\@xs\+{margin-right:-4px !important}.mB-nv-4\@xs\+{margin-bottom:-4px !important}.mL-nv-4\@xs\+{margin-left:-4px !important}.mY-nv-4\@xs\+{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@xs\+{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (max-width: 1439px){.m-4\@xl-{margin:4px !important}.mT-4\@xl-{margin-top:4px !important}.mR-4\@xl-{margin-right:4px !important}.mB-4\@xl-{margin-bottom:4px !important}.mL-4\@xl-{margin-left:4px !important}.mY-4\@xl-{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@xl-{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@xl-{margin:-4px !important}.mT-nv-4\@xl-{margin-top:-4px !important}.mR-nv-4\@xl-{margin-right:-4px !important}.mB-nv-4\@xl-{margin-bottom:-4px !important}.mL-nv-4\@xl-{margin-left:-4px !important}.mY-nv-4\@xl-{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@xl-{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (max-width: 1199px){.m-4\@lg-{margin:4px !important}.mT-4\@lg-{margin-top:4px !important}.mR-4\@lg-{margin-right:4px !important}.mB-4\@lg-{margin-bottom:4px !important}.mL-4\@lg-{margin-left:4px !important}.mY-4\@lg-{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@lg-{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@lg-{margin:-4px !important}.mT-nv-4\@lg-{margin-top:-4px !important}.mR-nv-4\@lg-{margin-right:-4px !important}.mB-nv-4\@lg-{margin-bottom:-4px !important}.mL-nv-4\@lg-{margin-left:-4px !important}.mY-nv-4\@lg-{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@lg-{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (max-width: 991px){.m-4\@md-{margin:4px !important}.mT-4\@md-{margin-top:4px !important}.mR-4\@md-{margin-right:4px !important}.mB-4\@md-{margin-bottom:4px !important}.mL-4\@md-{margin-left:4px !important}.mY-4\@md-{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@md-{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@md-{margin:-4px !important}.mT-nv-4\@md-{margin-top:-4px !important}.mR-nv-4\@md-{margin-right:-4px !important}.mB-nv-4\@md-{margin-bottom:-4px !important}.mL-nv-4\@md-{margin-left:-4px !important}.mY-nv-4\@md-{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@md-{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (max-width: 767px){.m-4\@sm-{margin:4px !important}.mT-4\@sm-{margin-top:4px !important}.mR-4\@sm-{margin-right:4px !important}.mB-4\@sm-{margin-bottom:4px !important}.mL-4\@sm-{margin-left:4px !important}.mY-4\@sm-{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@sm-{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@sm-{margin:-4px !important}.mT-nv-4\@sm-{margin-top:-4px !important}.mR-nv-4\@sm-{margin-right:-4px !important}.mB-nv-4\@sm-{margin-bottom:-4px !important}.mL-nv-4\@sm-{margin-left:-4px !important}.mY-nv-4\@sm-{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@sm-{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-4\@lg{margin:4px !important}.mT-4\@lg{margin-top:4px !important}.mR-4\@lg{margin-right:4px !important}.mB-4\@lg{margin-bottom:4px !important}.mL-4\@lg{margin-left:4px !important}.mY-4\@lg{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@lg{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@lg{margin:-4px !important}.mT-nv-4\@lg{margin-top:-4px !important}.mR-nv-4\@lg{margin-right:-4px !important}.mB-nv-4\@lg{margin-bottom:-4px !important}.mL-nv-4\@lg{margin-left:-4px !important}.mY-nv-4\@lg{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@lg{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-4\@md{margin:4px !important}.mT-4\@md{margin-top:4px !important}.mR-4\@md{margin-right:4px !important}.mB-4\@md{margin-bottom:4px !important}.mL-4\@md{margin-left:4px !important}.mY-4\@md{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@md{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@md{margin:-4px !important}.mT-nv-4\@md{margin-top:-4px !important}.mR-nv-4\@md{margin-right:-4px !important}.mB-nv-4\@md{margin-bottom:-4px !important}.mL-nv-4\@md{margin-left:-4px !important}.mY-nv-4\@md{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@md{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-4\@sm{margin:4px !important}.mT-4\@sm{margin-top:4px !important}.mR-4\@sm{margin-right:4px !important}.mB-4\@sm{margin-bottom:4px !important}.mL-4\@sm{margin-left:4px !important}.mY-4\@sm{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@sm{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@sm{margin:-4px !important}.mT-nv-4\@sm{margin-top:-4px !important}.mR-nv-4\@sm{margin-right:-4px !important}.mB-nv-4\@sm{margin-bottom:-4px !important}.mL-nv-4\@sm{margin-left:-4px !important}.mY-nv-4\@sm{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@sm{margin-left:-4px !important;margin-right:-4px !important}}.m-5{margin:5px !important}.mT-5{margin-top:5px !important}.mR-5{margin-right:5px !important}.mB-5{margin-bottom:5px !important}.mL-5{margin-left:5px !important}.mY-5{margin-top:5px !important;margin-bottom:5px !important}.mX-5{margin-left:5px !important;margin-right:5px !important}.m-nv-5{margin:-5px !important}.mT-nv-5{margin-top:-5px !important}.mR-nv-5{margin-right:-5px !important}.mB-nv-5{margin-bottom:-5px !important}.mL-nv-5{margin-left:-5px !important}.mY-nv-5{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5{margin-left:-5px !important;margin-right:-5px !important}@media screen and (min-width: 1440px){.m-5\@xl\+{margin:5px !important}.mT-5\@xl\+{margin-top:5px !important}.mR-5\@xl\+{margin-right:5px !important}.mB-5\@xl\+{margin-bottom:5px !important}.mL-5\@xl\+{margin-left:5px !important}.mY-5\@xl\+{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@xl\+{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@xl\+{margin:-5px !important}.mT-nv-5\@xl\+{margin-top:-5px !important}.mR-nv-5\@xl\+{margin-right:-5px !important}.mB-nv-5\@xl\+{margin-bottom:-5px !important}.mL-nv-5\@xl\+{margin-left:-5px !important}.mY-nv-5\@xl\+{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@xl\+{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (min-width: 1200px){.m-5\@lg\+{margin:5px !important}.mT-5\@lg\+{margin-top:5px !important}.mR-5\@lg\+{margin-right:5px !important}.mB-5\@lg\+{margin-bottom:5px !important}.mL-5\@lg\+{margin-left:5px !important}.mY-5\@lg\+{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@lg\+{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@lg\+{margin:-5px !important}.mT-nv-5\@lg\+{margin-top:-5px !important}.mR-nv-5\@lg\+{margin-right:-5px !important}.mB-nv-5\@lg\+{margin-bottom:-5px !important}.mL-nv-5\@lg\+{margin-left:-5px !important}.mY-nv-5\@lg\+{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@lg\+{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (min-width: 992px){.m-5\@md\+{margin:5px !important}.mT-5\@md\+{margin-top:5px !important}.mR-5\@md\+{margin-right:5px !important}.mB-5\@md\+{margin-bottom:5px !important}.mL-5\@md\+{margin-left:5px !important}.mY-5\@md\+{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@md\+{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@md\+{margin:-5px !important}.mT-nv-5\@md\+{margin-top:-5px !important}.mR-nv-5\@md\+{margin-right:-5px !important}.mB-nv-5\@md\+{margin-bottom:-5px !important}.mL-nv-5\@md\+{margin-left:-5px !important}.mY-nv-5\@md\+{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@md\+{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (min-width: 768px){.m-5\@sm\+{margin:5px !important}.mT-5\@sm\+{margin-top:5px !important}.mR-5\@sm\+{margin-right:5px !important}.mB-5\@sm\+{margin-bottom:5px !important}.mL-5\@sm\+{margin-left:5px !important}.mY-5\@sm\+{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@sm\+{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@sm\+{margin:-5px !important}.mT-nv-5\@sm\+{margin-top:-5px !important}.mR-nv-5\@sm\+{margin-right:-5px !important}.mB-nv-5\@sm\+{margin-bottom:-5px !important}.mL-nv-5\@sm\+{margin-left:-5px !important}.mY-nv-5\@sm\+{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@sm\+{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (min-width: 0){.m-5\@xs\+{margin:5px !important}.mT-5\@xs\+{margin-top:5px !important}.mR-5\@xs\+{margin-right:5px !important}.mB-5\@xs\+{margin-bottom:5px !important}.mL-5\@xs\+{margin-left:5px !important}.mY-5\@xs\+{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@xs\+{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@xs\+{margin:-5px !important}.mT-nv-5\@xs\+{margin-top:-5px !important}.mR-nv-5\@xs\+{margin-right:-5px !important}.mB-nv-5\@xs\+{margin-bottom:-5px !important}.mL-nv-5\@xs\+{margin-left:-5px !important}.mY-nv-5\@xs\+{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@xs\+{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (max-width: 1439px){.m-5\@xl-{margin:5px !important}.mT-5\@xl-{margin-top:5px !important}.mR-5\@xl-{margin-right:5px !important}.mB-5\@xl-{margin-bottom:5px !important}.mL-5\@xl-{margin-left:5px !important}.mY-5\@xl-{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@xl-{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@xl-{margin:-5px !important}.mT-nv-5\@xl-{margin-top:-5px !important}.mR-nv-5\@xl-{margin-right:-5px !important}.mB-nv-5\@xl-{margin-bottom:-5px !important}.mL-nv-5\@xl-{margin-left:-5px !important}.mY-nv-5\@xl-{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@xl-{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (max-width: 1199px){.m-5\@lg-{margin:5px !important}.mT-5\@lg-{margin-top:5px !important}.mR-5\@lg-{margin-right:5px !important}.mB-5\@lg-{margin-bottom:5px !important}.mL-5\@lg-{margin-left:5px !important}.mY-5\@lg-{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@lg-{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@lg-{margin:-5px !important}.mT-nv-5\@lg-{margin-top:-5px !important}.mR-nv-5\@lg-{margin-right:-5px !important}.mB-nv-5\@lg-{margin-bottom:-5px !important}.mL-nv-5\@lg-{margin-left:-5px !important}.mY-nv-5\@lg-{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@lg-{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (max-width: 991px){.m-5\@md-{margin:5px !important}.mT-5\@md-{margin-top:5px !important}.mR-5\@md-{margin-right:5px !important}.mB-5\@md-{margin-bottom:5px !important}.mL-5\@md-{margin-left:5px !important}.mY-5\@md-{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@md-{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@md-{margin:-5px !important}.mT-nv-5\@md-{margin-top:-5px !important}.mR-nv-5\@md-{margin-right:-5px !important}.mB-nv-5\@md-{margin-bottom:-5px !important}.mL-nv-5\@md-{margin-left:-5px !important}.mY-nv-5\@md-{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@md-{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (max-width: 767px){.m-5\@sm-{margin:5px !important}.mT-5\@sm-{margin-top:5px !important}.mR-5\@sm-{margin-right:5px !important}.mB-5\@sm-{margin-bottom:5px !important}.mL-5\@sm-{margin-left:5px !important}.mY-5\@sm-{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@sm-{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@sm-{margin:-5px !important}.mT-nv-5\@sm-{margin-top:-5px !important}.mR-nv-5\@sm-{margin-right:-5px !important}.mB-nv-5\@sm-{margin-bottom:-5px !important}.mL-nv-5\@sm-{margin-left:-5px !important}.mY-nv-5\@sm-{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@sm-{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-5\@lg{margin:5px !important}.mT-5\@lg{margin-top:5px !important}.mR-5\@lg{margin-right:5px !important}.mB-5\@lg{margin-bottom:5px !important}.mL-5\@lg{margin-left:5px !important}.mY-5\@lg{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@lg{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@lg{margin:-5px !important}.mT-nv-5\@lg{margin-top:-5px !important}.mR-nv-5\@lg{margin-right:-5px !important}.mB-nv-5\@lg{margin-bottom:-5px !important}.mL-nv-5\@lg{margin-left:-5px !important}.mY-nv-5\@lg{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@lg{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-5\@md{margin:5px !important}.mT-5\@md{margin-top:5px !important}.mR-5\@md{margin-right:5px !important}.mB-5\@md{margin-bottom:5px !important}.mL-5\@md{margin-left:5px !important}.mY-5\@md{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@md{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@md{margin:-5px !important}.mT-nv-5\@md{margin-top:-5px !important}.mR-nv-5\@md{margin-right:-5px !important}.mB-nv-5\@md{margin-bottom:-5px !important}.mL-nv-5\@md{margin-left:-5px !important}.mY-nv-5\@md{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@md{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-5\@sm{margin:5px !important}.mT-5\@sm{margin-top:5px !important}.mR-5\@sm{margin-right:5px !important}.mB-5\@sm{margin-bottom:5px !important}.mL-5\@sm{margin-left:5px !important}.mY-5\@sm{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@sm{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@sm{margin:-5px !important}.mT-nv-5\@sm{margin-top:-5px !important}.mR-nv-5\@sm{margin-right:-5px !important}.mB-nv-5\@sm{margin-bottom:-5px !important}.mL-nv-5\@sm{margin-left:-5px !important}.mY-nv-5\@sm{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@sm{margin-left:-5px !important;margin-right:-5px !important}}.m-10{margin:10px !important}.mT-10{margin-top:10px !important}.mR-10{margin-right:10px !important}.mB-10{margin-bottom:10px !important}.mL-10{margin-left:10px !important}.mY-10{margin-top:10px !important;margin-bottom:10px !important}.mX-10{margin-left:10px !important;margin-right:10px !important}.m-nv-10{margin:-10px !important}.mT-nv-10{margin-top:-10px !important}.mR-nv-10{margin-right:-10px !important}.mB-nv-10{margin-bottom:-10px !important}.mL-nv-10{margin-left:-10px !important}.mY-nv-10{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10{margin-left:-10px !important;margin-right:-10px !important}@media screen and (min-width: 1440px){.m-10\@xl\+{margin:10px !important}.mT-10\@xl\+{margin-top:10px !important}.mR-10\@xl\+{margin-right:10px !important}.mB-10\@xl\+{margin-bottom:10px !important}.mL-10\@xl\+{margin-left:10px !important}.mY-10\@xl\+{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@xl\+{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@xl\+{margin:-10px !important}.mT-nv-10\@xl\+{margin-top:-10px !important}.mR-nv-10\@xl\+{margin-right:-10px !important}.mB-nv-10\@xl\+{margin-bottom:-10px !important}.mL-nv-10\@xl\+{margin-left:-10px !important}.mY-nv-10\@xl\+{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@xl\+{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (min-width: 1200px){.m-10\@lg\+{margin:10px !important}.mT-10\@lg\+{margin-top:10px !important}.mR-10\@lg\+{margin-right:10px !important}.mB-10\@lg\+{margin-bottom:10px !important}.mL-10\@lg\+{margin-left:10px !important}.mY-10\@lg\+{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@lg\+{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@lg\+{margin:-10px !important}.mT-nv-10\@lg\+{margin-top:-10px !important}.mR-nv-10\@lg\+{margin-right:-10px !important}.mB-nv-10\@lg\+{margin-bottom:-10px !important}.mL-nv-10\@lg\+{margin-left:-10px !important}.mY-nv-10\@lg\+{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@lg\+{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (min-width: 992px){.m-10\@md\+{margin:10px !important}.mT-10\@md\+{margin-top:10px !important}.mR-10\@md\+{margin-right:10px !important}.mB-10\@md\+{margin-bottom:10px !important}.mL-10\@md\+{margin-left:10px !important}.mY-10\@md\+{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@md\+{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@md\+{margin:-10px !important}.mT-nv-10\@md\+{margin-top:-10px !important}.mR-nv-10\@md\+{margin-right:-10px !important}.mB-nv-10\@md\+{margin-bottom:-10px !important}.mL-nv-10\@md\+{margin-left:-10px !important}.mY-nv-10\@md\+{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@md\+{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (min-width: 768px){.m-10\@sm\+{margin:10px !important}.mT-10\@sm\+{margin-top:10px !important}.mR-10\@sm\+{margin-right:10px !important}.mB-10\@sm\+{margin-bottom:10px !important}.mL-10\@sm\+{margin-left:10px !important}.mY-10\@sm\+{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@sm\+{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@sm\+{margin:-10px !important}.mT-nv-10\@sm\+{margin-top:-10px !important}.mR-nv-10\@sm\+{margin-right:-10px !important}.mB-nv-10\@sm\+{margin-bottom:-10px !important}.mL-nv-10\@sm\+{margin-left:-10px !important}.mY-nv-10\@sm\+{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@sm\+{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (min-width: 0){.m-10\@xs\+{margin:10px !important}.mT-10\@xs\+{margin-top:10px !important}.mR-10\@xs\+{margin-right:10px !important}.mB-10\@xs\+{margin-bottom:10px !important}.mL-10\@xs\+{margin-left:10px !important}.mY-10\@xs\+{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@xs\+{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@xs\+{margin:-10px !important}.mT-nv-10\@xs\+{margin-top:-10px !important}.mR-nv-10\@xs\+{margin-right:-10px !important}.mB-nv-10\@xs\+{margin-bottom:-10px !important}.mL-nv-10\@xs\+{margin-left:-10px !important}.mY-nv-10\@xs\+{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@xs\+{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (max-width: 1439px){.m-10\@xl-{margin:10px !important}.mT-10\@xl-{margin-top:10px !important}.mR-10\@xl-{margin-right:10px !important}.mB-10\@xl-{margin-bottom:10px !important}.mL-10\@xl-{margin-left:10px !important}.mY-10\@xl-{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@xl-{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@xl-{margin:-10px !important}.mT-nv-10\@xl-{margin-top:-10px !important}.mR-nv-10\@xl-{margin-right:-10px !important}.mB-nv-10\@xl-{margin-bottom:-10px !important}.mL-nv-10\@xl-{margin-left:-10px !important}.mY-nv-10\@xl-{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@xl-{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (max-width: 1199px){.m-10\@lg-{margin:10px !important}.mT-10\@lg-{margin-top:10px !important}.mR-10\@lg-{margin-right:10px !important}.mB-10\@lg-{margin-bottom:10px !important}.mL-10\@lg-{margin-left:10px !important}.mY-10\@lg-{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@lg-{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@lg-{margin:-10px !important}.mT-nv-10\@lg-{margin-top:-10px !important}.mR-nv-10\@lg-{margin-right:-10px !important}.mB-nv-10\@lg-{margin-bottom:-10px !important}.mL-nv-10\@lg-{margin-left:-10px !important}.mY-nv-10\@lg-{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@lg-{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (max-width: 991px){.m-10\@md-{margin:10px !important}.mT-10\@md-{margin-top:10px !important}.mR-10\@md-{margin-right:10px !important}.mB-10\@md-{margin-bottom:10px !important}.mL-10\@md-{margin-left:10px !important}.mY-10\@md-{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@md-{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@md-{margin:-10px !important}.mT-nv-10\@md-{margin-top:-10px !important}.mR-nv-10\@md-{margin-right:-10px !important}.mB-nv-10\@md-{margin-bottom:-10px !important}.mL-nv-10\@md-{margin-left:-10px !important}.mY-nv-10\@md-{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@md-{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (max-width: 767px){.m-10\@sm-{margin:10px !important}.mT-10\@sm-{margin-top:10px !important}.mR-10\@sm-{margin-right:10px !important}.mB-10\@sm-{margin-bottom:10px !important}.mL-10\@sm-{margin-left:10px !important}.mY-10\@sm-{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@sm-{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@sm-{margin:-10px !important}.mT-nv-10\@sm-{margin-top:-10px !important}.mR-nv-10\@sm-{margin-right:-10px !important}.mB-nv-10\@sm-{margin-bottom:-10px !important}.mL-nv-10\@sm-{margin-left:-10px !important}.mY-nv-10\@sm-{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@sm-{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-10\@lg{margin:10px !important}.mT-10\@lg{margin-top:10px !important}.mR-10\@lg{margin-right:10px !important}.mB-10\@lg{margin-bottom:10px !important}.mL-10\@lg{margin-left:10px !important}.mY-10\@lg{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@lg{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@lg{margin:-10px !important}.mT-nv-10\@lg{margin-top:-10px !important}.mR-nv-10\@lg{margin-right:-10px !important}.mB-nv-10\@lg{margin-bottom:-10px !important}.mL-nv-10\@lg{margin-left:-10px !important}.mY-nv-10\@lg{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@lg{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-10\@md{margin:10px !important}.mT-10\@md{margin-top:10px !important}.mR-10\@md{margin-right:10px !important}.mB-10\@md{margin-bottom:10px !important}.mL-10\@md{margin-left:10px !important}.mY-10\@md{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@md{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@md{margin:-10px !important}.mT-nv-10\@md{margin-top:-10px !important}.mR-nv-10\@md{margin-right:-10px !important}.mB-nv-10\@md{margin-bottom:-10px !important}.mL-nv-10\@md{margin-left:-10px !important}.mY-nv-10\@md{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@md{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-10\@sm{margin:10px !important}.mT-10\@sm{margin-top:10px !important}.mR-10\@sm{margin-right:10px !important}.mB-10\@sm{margin-bottom:10px !important}.mL-10\@sm{margin-left:10px !important}.mY-10\@sm{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@sm{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@sm{margin:-10px !important}.mT-nv-10\@sm{margin-top:-10px !important}.mR-nv-10\@sm{margin-right:-10px !important}.mB-nv-10\@sm{margin-bottom:-10px !important}.mL-nv-10\@sm{margin-left:-10px !important}.mY-nv-10\@sm{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@sm{margin-left:-10px !important;margin-right:-10px !important}}.m-15{margin:15px !important}.mT-15{margin-top:15px !important}.mR-15{margin-right:15px !important}.mB-15{margin-bottom:15px !important}.mL-15{margin-left:15px !important}.mY-15{margin-top:15px !important;margin-bottom:15px !important}.mX-15{margin-left:15px !important;margin-right:15px !important}.m-nv-15{margin:-15px !important}.mT-nv-15{margin-top:-15px !important}.mR-nv-15{margin-right:-15px !important}.mB-nv-15{margin-bottom:-15px !important}.mL-nv-15{margin-left:-15px !important}.mY-nv-15{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15{margin-left:-15px !important;margin-right:-15px !important}@media screen and (min-width: 1440px){.m-15\@xl\+{margin:15px !important}.mT-15\@xl\+{margin-top:15px !important}.mR-15\@xl\+{margin-right:15px !important}.mB-15\@xl\+{margin-bottom:15px !important}.mL-15\@xl\+{margin-left:15px !important}.mY-15\@xl\+{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@xl\+{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@xl\+{margin:-15px !important}.mT-nv-15\@xl\+{margin-top:-15px !important}.mR-nv-15\@xl\+{margin-right:-15px !important}.mB-nv-15\@xl\+{margin-bottom:-15px !important}.mL-nv-15\@xl\+{margin-left:-15px !important}.mY-nv-15\@xl\+{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@xl\+{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (min-width: 1200px){.m-15\@lg\+{margin:15px !important}.mT-15\@lg\+{margin-top:15px !important}.mR-15\@lg\+{margin-right:15px !important}.mB-15\@lg\+{margin-bottom:15px !important}.mL-15\@lg\+{margin-left:15px !important}.mY-15\@lg\+{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@lg\+{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@lg\+{margin:-15px !important}.mT-nv-15\@lg\+{margin-top:-15px !important}.mR-nv-15\@lg\+{margin-right:-15px !important}.mB-nv-15\@lg\+{margin-bottom:-15px !important}.mL-nv-15\@lg\+{margin-left:-15px !important}.mY-nv-15\@lg\+{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@lg\+{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (min-width: 992px){.m-15\@md\+{margin:15px !important}.mT-15\@md\+{margin-top:15px !important}.mR-15\@md\+{margin-right:15px !important}.mB-15\@md\+{margin-bottom:15px !important}.mL-15\@md\+{margin-left:15px !important}.mY-15\@md\+{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@md\+{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@md\+{margin:-15px !important}.mT-nv-15\@md\+{margin-top:-15px !important}.mR-nv-15\@md\+{margin-right:-15px !important}.mB-nv-15\@md\+{margin-bottom:-15px !important}.mL-nv-15\@md\+{margin-left:-15px !important}.mY-nv-15\@md\+{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@md\+{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (min-width: 768px){.m-15\@sm\+{margin:15px !important}.mT-15\@sm\+{margin-top:15px !important}.mR-15\@sm\+{margin-right:15px !important}.mB-15\@sm\+{margin-bottom:15px !important}.mL-15\@sm\+{margin-left:15px !important}.mY-15\@sm\+{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@sm\+{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@sm\+{margin:-15px !important}.mT-nv-15\@sm\+{margin-top:-15px !important}.mR-nv-15\@sm\+{margin-right:-15px !important}.mB-nv-15\@sm\+{margin-bottom:-15px !important}.mL-nv-15\@sm\+{margin-left:-15px !important}.mY-nv-15\@sm\+{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@sm\+{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (min-width: 0){.m-15\@xs\+{margin:15px !important}.mT-15\@xs\+{margin-top:15px !important}.mR-15\@xs\+{margin-right:15px !important}.mB-15\@xs\+{margin-bottom:15px !important}.mL-15\@xs\+{margin-left:15px !important}.mY-15\@xs\+{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@xs\+{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@xs\+{margin:-15px !important}.mT-nv-15\@xs\+{margin-top:-15px !important}.mR-nv-15\@xs\+{margin-right:-15px !important}.mB-nv-15\@xs\+{margin-bottom:-15px !important}.mL-nv-15\@xs\+{margin-left:-15px !important}.mY-nv-15\@xs\+{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@xs\+{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (max-width: 1439px){.m-15\@xl-{margin:15px !important}.mT-15\@xl-{margin-top:15px !important}.mR-15\@xl-{margin-right:15px !important}.mB-15\@xl-{margin-bottom:15px !important}.mL-15\@xl-{margin-left:15px !important}.mY-15\@xl-{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@xl-{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@xl-{margin:-15px !important}.mT-nv-15\@xl-{margin-top:-15px !important}.mR-nv-15\@xl-{margin-right:-15px !important}.mB-nv-15\@xl-{margin-bottom:-15px !important}.mL-nv-15\@xl-{margin-left:-15px !important}.mY-nv-15\@xl-{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@xl-{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (max-width: 1199px){.m-15\@lg-{margin:15px !important}.mT-15\@lg-{margin-top:15px !important}.mR-15\@lg-{margin-right:15px !important}.mB-15\@lg-{margin-bottom:15px !important}.mL-15\@lg-{margin-left:15px !important}.mY-15\@lg-{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@lg-{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@lg-{margin:-15px !important}.mT-nv-15\@lg-{margin-top:-15px !important}.mR-nv-15\@lg-{margin-right:-15px !important}.mB-nv-15\@lg-{margin-bottom:-15px !important}.mL-nv-15\@lg-{margin-left:-15px !important}.mY-nv-15\@lg-{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@lg-{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (max-width: 991px){.m-15\@md-{margin:15px !important}.mT-15\@md-{margin-top:15px !important}.mR-15\@md-{margin-right:15px !important}.mB-15\@md-{margin-bottom:15px !important}.mL-15\@md-{margin-left:15px !important}.mY-15\@md-{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@md-{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@md-{margin:-15px !important}.mT-nv-15\@md-{margin-top:-15px !important}.mR-nv-15\@md-{margin-right:-15px !important}.mB-nv-15\@md-{margin-bottom:-15px !important}.mL-nv-15\@md-{margin-left:-15px !important}.mY-nv-15\@md-{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@md-{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (max-width: 767px){.m-15\@sm-{margin:15px !important}.mT-15\@sm-{margin-top:15px !important}.mR-15\@sm-{margin-right:15px !important}.mB-15\@sm-{margin-bottom:15px !important}.mL-15\@sm-{margin-left:15px !important}.mY-15\@sm-{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@sm-{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@sm-{margin:-15px !important}.mT-nv-15\@sm-{margin-top:-15px !important}.mR-nv-15\@sm-{margin-right:-15px !important}.mB-nv-15\@sm-{margin-bottom:-15px !important}.mL-nv-15\@sm-{margin-left:-15px !important}.mY-nv-15\@sm-{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@sm-{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-15\@lg{margin:15px !important}.mT-15\@lg{margin-top:15px !important}.mR-15\@lg{margin-right:15px !important}.mB-15\@lg{margin-bottom:15px !important}.mL-15\@lg{margin-left:15px !important}.mY-15\@lg{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@lg{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@lg{margin:-15px !important}.mT-nv-15\@lg{margin-top:-15px !important}.mR-nv-15\@lg{margin-right:-15px !important}.mB-nv-15\@lg{margin-bottom:-15px !important}.mL-nv-15\@lg{margin-left:-15px !important}.mY-nv-15\@lg{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@lg{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-15\@md{margin:15px !important}.mT-15\@md{margin-top:15px !important}.mR-15\@md{margin-right:15px !important}.mB-15\@md{margin-bottom:15px !important}.mL-15\@md{margin-left:15px !important}.mY-15\@md{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@md{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@md{margin:-15px !important}.mT-nv-15\@md{margin-top:-15px !important}.mR-nv-15\@md{margin-right:-15px !important}.mB-nv-15\@md{margin-bottom:-15px !important}.mL-nv-15\@md{margin-left:-15px !important}.mY-nv-15\@md{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@md{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-15\@sm{margin:15px !important}.mT-15\@sm{margin-top:15px !important}.mR-15\@sm{margin-right:15px !important}.mB-15\@sm{margin-bottom:15px !important}.mL-15\@sm{margin-left:15px !important}.mY-15\@sm{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@sm{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@sm{margin:-15px !important}.mT-nv-15\@sm{margin-top:-15px !important}.mR-nv-15\@sm{margin-right:-15px !important}.mB-nv-15\@sm{margin-bottom:-15px !important}.mL-nv-15\@sm{margin-left:-15px !important}.mY-nv-15\@sm{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@sm{margin-left:-15px !important;margin-right:-15px !important}}.m-20{margin:20px !important}.mT-20{margin-top:20px !important}.mR-20{margin-right:20px !important}.mB-20{margin-bottom:20px !important}.mL-20{margin-left:20px !important}.mY-20{margin-top:20px !important;margin-bottom:20px !important}.mX-20{margin-left:20px !important;margin-right:20px !important}.m-nv-20{margin:-20px !important}.mT-nv-20{margin-top:-20px !important}.mR-nv-20{margin-right:-20px !important}.mB-nv-20{margin-bottom:-20px !important}.mL-nv-20{margin-left:-20px !important}.mY-nv-20{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20{margin-left:-20px !important;margin-right:-20px !important}@media screen and (min-width: 1440px){.m-20\@xl\+{margin:20px !important}.mT-20\@xl\+{margin-top:20px !important}.mR-20\@xl\+{margin-right:20px !important}.mB-20\@xl\+{margin-bottom:20px !important}.mL-20\@xl\+{margin-left:20px !important}.mY-20\@xl\+{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@xl\+{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@xl\+{margin:-20px !important}.mT-nv-20\@xl\+{margin-top:-20px !important}.mR-nv-20\@xl\+{margin-right:-20px !important}.mB-nv-20\@xl\+{margin-bottom:-20px !important}.mL-nv-20\@xl\+{margin-left:-20px !important}.mY-nv-20\@xl\+{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@xl\+{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (min-width: 1200px){.m-20\@lg\+{margin:20px !important}.mT-20\@lg\+{margin-top:20px !important}.mR-20\@lg\+{margin-right:20px !important}.mB-20\@lg\+{margin-bottom:20px !important}.mL-20\@lg\+{margin-left:20px !important}.mY-20\@lg\+{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@lg\+{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@lg\+{margin:-20px !important}.mT-nv-20\@lg\+{margin-top:-20px !important}.mR-nv-20\@lg\+{margin-right:-20px !important}.mB-nv-20\@lg\+{margin-bottom:-20px !important}.mL-nv-20\@lg\+{margin-left:-20px !important}.mY-nv-20\@lg\+{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@lg\+{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (min-width: 992px){.m-20\@md\+{margin:20px !important}.mT-20\@md\+{margin-top:20px !important}.mR-20\@md\+{margin-right:20px !important}.mB-20\@md\+{margin-bottom:20px !important}.mL-20\@md\+{margin-left:20px !important}.mY-20\@md\+{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@md\+{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@md\+{margin:-20px !important}.mT-nv-20\@md\+{margin-top:-20px !important}.mR-nv-20\@md\+{margin-right:-20px !important}.mB-nv-20\@md\+{margin-bottom:-20px !important}.mL-nv-20\@md\+{margin-left:-20px !important}.mY-nv-20\@md\+{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@md\+{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (min-width: 768px){.m-20\@sm\+{margin:20px !important}.mT-20\@sm\+{margin-top:20px !important}.mR-20\@sm\+{margin-right:20px !important}.mB-20\@sm\+{margin-bottom:20px !important}.mL-20\@sm\+{margin-left:20px !important}.mY-20\@sm\+{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@sm\+{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@sm\+{margin:-20px !important}.mT-nv-20\@sm\+{margin-top:-20px !important}.mR-nv-20\@sm\+{margin-right:-20px !important}.mB-nv-20\@sm\+{margin-bottom:-20px !important}.mL-nv-20\@sm\+{margin-left:-20px !important}.mY-nv-20\@sm\+{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@sm\+{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (min-width: 0){.m-20\@xs\+{margin:20px !important}.mT-20\@xs\+{margin-top:20px !important}.mR-20\@xs\+{margin-right:20px !important}.mB-20\@xs\+{margin-bottom:20px !important}.mL-20\@xs\+{margin-left:20px !important}.mY-20\@xs\+{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@xs\+{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@xs\+{margin:-20px !important}.mT-nv-20\@xs\+{margin-top:-20px !important}.mR-nv-20\@xs\+{margin-right:-20px !important}.mB-nv-20\@xs\+{margin-bottom:-20px !important}.mL-nv-20\@xs\+{margin-left:-20px !important}.mY-nv-20\@xs\+{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@xs\+{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (max-width: 1439px){.m-20\@xl-{margin:20px !important}.mT-20\@xl-{margin-top:20px !important}.mR-20\@xl-{margin-right:20px !important}.mB-20\@xl-{margin-bottom:20px !important}.mL-20\@xl-{margin-left:20px !important}.mY-20\@xl-{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@xl-{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@xl-{margin:-20px !important}.mT-nv-20\@xl-{margin-top:-20px !important}.mR-nv-20\@xl-{margin-right:-20px !important}.mB-nv-20\@xl-{margin-bottom:-20px !important}.mL-nv-20\@xl-{margin-left:-20px !important}.mY-nv-20\@xl-{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@xl-{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (max-width: 1199px){.m-20\@lg-{margin:20px !important}.mT-20\@lg-{margin-top:20px !important}.mR-20\@lg-{margin-right:20px !important}.mB-20\@lg-{margin-bottom:20px !important}.mL-20\@lg-{margin-left:20px !important}.mY-20\@lg-{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@lg-{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@lg-{margin:-20px !important}.mT-nv-20\@lg-{margin-top:-20px !important}.mR-nv-20\@lg-{margin-right:-20px !important}.mB-nv-20\@lg-{margin-bottom:-20px !important}.mL-nv-20\@lg-{margin-left:-20px !important}.mY-nv-20\@lg-{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@lg-{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (max-width: 991px){.m-20\@md-{margin:20px !important}.mT-20\@md-{margin-top:20px !important}.mR-20\@md-{margin-right:20px !important}.mB-20\@md-{margin-bottom:20px !important}.mL-20\@md-{margin-left:20px !important}.mY-20\@md-{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@md-{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@md-{margin:-20px !important}.mT-nv-20\@md-{margin-top:-20px !important}.mR-nv-20\@md-{margin-right:-20px !important}.mB-nv-20\@md-{margin-bottom:-20px !important}.mL-nv-20\@md-{margin-left:-20px !important}.mY-nv-20\@md-{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@md-{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (max-width: 767px){.m-20\@sm-{margin:20px !important}.mT-20\@sm-{margin-top:20px !important}.mR-20\@sm-{margin-right:20px !important}.mB-20\@sm-{margin-bottom:20px !important}.mL-20\@sm-{margin-left:20px !important}.mY-20\@sm-{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@sm-{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@sm-{margin:-20px !important}.mT-nv-20\@sm-{margin-top:-20px !important}.mR-nv-20\@sm-{margin-right:-20px !important}.mB-nv-20\@sm-{margin-bottom:-20px !important}.mL-nv-20\@sm-{margin-left:-20px !important}.mY-nv-20\@sm-{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@sm-{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-20\@lg{margin:20px !important}.mT-20\@lg{margin-top:20px !important}.mR-20\@lg{margin-right:20px !important}.mB-20\@lg{margin-bottom:20px !important}.mL-20\@lg{margin-left:20px !important}.mY-20\@lg{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@lg{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@lg{margin:-20px !important}.mT-nv-20\@lg{margin-top:-20px !important}.mR-nv-20\@lg{margin-right:-20px !important}.mB-nv-20\@lg{margin-bottom:-20px !important}.mL-nv-20\@lg{margin-left:-20px !important}.mY-nv-20\@lg{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@lg{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-20\@md{margin:20px !important}.mT-20\@md{margin-top:20px !important}.mR-20\@md{margin-right:20px !important}.mB-20\@md{margin-bottom:20px !important}.mL-20\@md{margin-left:20px !important}.mY-20\@md{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@md{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@md{margin:-20px !important}.mT-nv-20\@md{margin-top:-20px !important}.mR-nv-20\@md{margin-right:-20px !important}.mB-nv-20\@md{margin-bottom:-20px !important}.mL-nv-20\@md{margin-left:-20px !important}.mY-nv-20\@md{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@md{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-20\@sm{margin:20px !important}.mT-20\@sm{margin-top:20px !important}.mR-20\@sm{margin-right:20px !important}.mB-20\@sm{margin-bottom:20px !important}.mL-20\@sm{margin-left:20px !important}.mY-20\@sm{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@sm{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@sm{margin:-20px !important}.mT-nv-20\@sm{margin-top:-20px !important}.mR-nv-20\@sm{margin-right:-20px !important}.mB-nv-20\@sm{margin-bottom:-20px !important}.mL-nv-20\@sm{margin-left:-20px !important}.mY-nv-20\@sm{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@sm{margin-left:-20px !important;margin-right:-20px !important}}.m-25{margin:25px !important}.mT-25{margin-top:25px !important}.mR-25{margin-right:25px !important}.mB-25{margin-bottom:25px !important}.mL-25{margin-left:25px !important}.mY-25{margin-top:25px !important;margin-bottom:25px !important}.mX-25{margin-left:25px !important;margin-right:25px !important}.m-nv-25{margin:-25px !important}.mT-nv-25{margin-top:-25px !important}.mR-nv-25{margin-right:-25px !important}.mB-nv-25{margin-bottom:-25px !important}.mL-nv-25{margin-left:-25px !important}.mY-nv-25{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25{margin-left:-25px !important;margin-right:-25px !important}@media screen and (min-width: 1440px){.m-25\@xl\+{margin:25px !important}.mT-25\@xl\+{margin-top:25px !important}.mR-25\@xl\+{margin-right:25px !important}.mB-25\@xl\+{margin-bottom:25px !important}.mL-25\@xl\+{margin-left:25px !important}.mY-25\@xl\+{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@xl\+{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@xl\+{margin:-25px !important}.mT-nv-25\@xl\+{margin-top:-25px !important}.mR-nv-25\@xl\+{margin-right:-25px !important}.mB-nv-25\@xl\+{margin-bottom:-25px !important}.mL-nv-25\@xl\+{margin-left:-25px !important}.mY-nv-25\@xl\+{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@xl\+{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (min-width: 1200px){.m-25\@lg\+{margin:25px !important}.mT-25\@lg\+{margin-top:25px !important}.mR-25\@lg\+{margin-right:25px !important}.mB-25\@lg\+{margin-bottom:25px !important}.mL-25\@lg\+{margin-left:25px !important}.mY-25\@lg\+{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@lg\+{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@lg\+{margin:-25px !important}.mT-nv-25\@lg\+{margin-top:-25px !important}.mR-nv-25\@lg\+{margin-right:-25px !important}.mB-nv-25\@lg\+{margin-bottom:-25px !important}.mL-nv-25\@lg\+{margin-left:-25px !important}.mY-nv-25\@lg\+{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@lg\+{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (min-width: 992px){.m-25\@md\+{margin:25px !important}.mT-25\@md\+{margin-top:25px !important}.mR-25\@md\+{margin-right:25px !important}.mB-25\@md\+{margin-bottom:25px !important}.mL-25\@md\+{margin-left:25px !important}.mY-25\@md\+{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@md\+{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@md\+{margin:-25px !important}.mT-nv-25\@md\+{margin-top:-25px !important}.mR-nv-25\@md\+{margin-right:-25px !important}.mB-nv-25\@md\+{margin-bottom:-25px !important}.mL-nv-25\@md\+{margin-left:-25px !important}.mY-nv-25\@md\+{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@md\+{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (min-width: 768px){.m-25\@sm\+{margin:25px !important}.mT-25\@sm\+{margin-top:25px !important}.mR-25\@sm\+{margin-right:25px !important}.mB-25\@sm\+{margin-bottom:25px !important}.mL-25\@sm\+{margin-left:25px !important}.mY-25\@sm\+{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@sm\+{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@sm\+{margin:-25px !important}.mT-nv-25\@sm\+{margin-top:-25px !important}.mR-nv-25\@sm\+{margin-right:-25px !important}.mB-nv-25\@sm\+{margin-bottom:-25px !important}.mL-nv-25\@sm\+{margin-left:-25px !important}.mY-nv-25\@sm\+{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@sm\+{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (min-width: 0){.m-25\@xs\+{margin:25px !important}.mT-25\@xs\+{margin-top:25px !important}.mR-25\@xs\+{margin-right:25px !important}.mB-25\@xs\+{margin-bottom:25px !important}.mL-25\@xs\+{margin-left:25px !important}.mY-25\@xs\+{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@xs\+{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@xs\+{margin:-25px !important}.mT-nv-25\@xs\+{margin-top:-25px !important}.mR-nv-25\@xs\+{margin-right:-25px !important}.mB-nv-25\@xs\+{margin-bottom:-25px !important}.mL-nv-25\@xs\+{margin-left:-25px !important}.mY-nv-25\@xs\+{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@xs\+{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (max-width: 1439px){.m-25\@xl-{margin:25px !important}.mT-25\@xl-{margin-top:25px !important}.mR-25\@xl-{margin-right:25px !important}.mB-25\@xl-{margin-bottom:25px !important}.mL-25\@xl-{margin-left:25px !important}.mY-25\@xl-{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@xl-{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@xl-{margin:-25px !important}.mT-nv-25\@xl-{margin-top:-25px !important}.mR-nv-25\@xl-{margin-right:-25px !important}.mB-nv-25\@xl-{margin-bottom:-25px !important}.mL-nv-25\@xl-{margin-left:-25px !important}.mY-nv-25\@xl-{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@xl-{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (max-width: 1199px){.m-25\@lg-{margin:25px !important}.mT-25\@lg-{margin-top:25px !important}.mR-25\@lg-{margin-right:25px !important}.mB-25\@lg-{margin-bottom:25px !important}.mL-25\@lg-{margin-left:25px !important}.mY-25\@lg-{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@lg-{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@lg-{margin:-25px !important}.mT-nv-25\@lg-{margin-top:-25px !important}.mR-nv-25\@lg-{margin-right:-25px !important}.mB-nv-25\@lg-{margin-bottom:-25px !important}.mL-nv-25\@lg-{margin-left:-25px !important}.mY-nv-25\@lg-{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@lg-{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (max-width: 991px){.m-25\@md-{margin:25px !important}.mT-25\@md-{margin-top:25px !important}.mR-25\@md-{margin-right:25px !important}.mB-25\@md-{margin-bottom:25px !important}.mL-25\@md-{margin-left:25px !important}.mY-25\@md-{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@md-{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@md-{margin:-25px !important}.mT-nv-25\@md-{margin-top:-25px !important}.mR-nv-25\@md-{margin-right:-25px !important}.mB-nv-25\@md-{margin-bottom:-25px !important}.mL-nv-25\@md-{margin-left:-25px !important}.mY-nv-25\@md-{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@md-{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (max-width: 767px){.m-25\@sm-{margin:25px !important}.mT-25\@sm-{margin-top:25px !important}.mR-25\@sm-{margin-right:25px !important}.mB-25\@sm-{margin-bottom:25px !important}.mL-25\@sm-{margin-left:25px !important}.mY-25\@sm-{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@sm-{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@sm-{margin:-25px !important}.mT-nv-25\@sm-{margin-top:-25px !important}.mR-nv-25\@sm-{margin-right:-25px !important}.mB-nv-25\@sm-{margin-bottom:-25px !important}.mL-nv-25\@sm-{margin-left:-25px !important}.mY-nv-25\@sm-{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@sm-{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-25\@lg{margin:25px !important}.mT-25\@lg{margin-top:25px !important}.mR-25\@lg{margin-right:25px !important}.mB-25\@lg{margin-bottom:25px !important}.mL-25\@lg{margin-left:25px !important}.mY-25\@lg{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@lg{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@lg{margin:-25px !important}.mT-nv-25\@lg{margin-top:-25px !important}.mR-nv-25\@lg{margin-right:-25px !important}.mB-nv-25\@lg{margin-bottom:-25px !important}.mL-nv-25\@lg{margin-left:-25px !important}.mY-nv-25\@lg{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@lg{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-25\@md{margin:25px !important}.mT-25\@md{margin-top:25px !important}.mR-25\@md{margin-right:25px !important}.mB-25\@md{margin-bottom:25px !important}.mL-25\@md{margin-left:25px !important}.mY-25\@md{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@md{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@md{margin:-25px !important}.mT-nv-25\@md{margin-top:-25px !important}.mR-nv-25\@md{margin-right:-25px !important}.mB-nv-25\@md{margin-bottom:-25px !important}.mL-nv-25\@md{margin-left:-25px !important}.mY-nv-25\@md{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@md{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-25\@sm{margin:25px !important}.mT-25\@sm{margin-top:25px !important}.mR-25\@sm{margin-right:25px !important}.mB-25\@sm{margin-bottom:25px !important}.mL-25\@sm{margin-left:25px !important}.mY-25\@sm{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@sm{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@sm{margin:-25px !important}.mT-nv-25\@sm{margin-top:-25px !important}.mR-nv-25\@sm{margin-right:-25px !important}.mB-nv-25\@sm{margin-bottom:-25px !important}.mL-nv-25\@sm{margin-left:-25px !important}.mY-nv-25\@sm{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@sm{margin-left:-25px !important;margin-right:-25px !important}}.m-30{margin:30px !important}.mT-30{margin-top:30px !important}.mR-30{margin-right:30px !important}.mB-30{margin-bottom:30px !important}.mL-30{margin-left:30px !important}.mY-30{margin-top:30px !important;margin-bottom:30px !important}.mX-30{margin-left:30px !important;margin-right:30px !important}.m-nv-30{margin:-30px !important}.mT-nv-30{margin-top:-30px !important}.mR-nv-30{margin-right:-30px !important}.mB-nv-30{margin-bottom:-30px !important}.mL-nv-30{margin-left:-30px !important}.mY-nv-30{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30{margin-left:-30px !important;margin-right:-30px !important}@media screen and (min-width: 1440px){.m-30\@xl\+{margin:30px !important}.mT-30\@xl\+{margin-top:30px !important}.mR-30\@xl\+{margin-right:30px !important}.mB-30\@xl\+{margin-bottom:30px !important}.mL-30\@xl\+{margin-left:30px !important}.mY-30\@xl\+{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@xl\+{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@xl\+{margin:-30px !important}.mT-nv-30\@xl\+{margin-top:-30px !important}.mR-nv-30\@xl\+{margin-right:-30px !important}.mB-nv-30\@xl\+{margin-bottom:-30px !important}.mL-nv-30\@xl\+{margin-left:-30px !important}.mY-nv-30\@xl\+{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@xl\+{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (min-width: 1200px){.m-30\@lg\+{margin:30px !important}.mT-30\@lg\+{margin-top:30px !important}.mR-30\@lg\+{margin-right:30px !important}.mB-30\@lg\+{margin-bottom:30px !important}.mL-30\@lg\+{margin-left:30px !important}.mY-30\@lg\+{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@lg\+{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@lg\+{margin:-30px !important}.mT-nv-30\@lg\+{margin-top:-30px !important}.mR-nv-30\@lg\+{margin-right:-30px !important}.mB-nv-30\@lg\+{margin-bottom:-30px !important}.mL-nv-30\@lg\+{margin-left:-30px !important}.mY-nv-30\@lg\+{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@lg\+{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (min-width: 992px){.m-30\@md\+{margin:30px !important}.mT-30\@md\+{margin-top:30px !important}.mR-30\@md\+{margin-right:30px !important}.mB-30\@md\+{margin-bottom:30px !important}.mL-30\@md\+{margin-left:30px !important}.mY-30\@md\+{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@md\+{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@md\+{margin:-30px !important}.mT-nv-30\@md\+{margin-top:-30px !important}.mR-nv-30\@md\+{margin-right:-30px !important}.mB-nv-30\@md\+{margin-bottom:-30px !important}.mL-nv-30\@md\+{margin-left:-30px !important}.mY-nv-30\@md\+{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@md\+{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (min-width: 768px){.m-30\@sm\+{margin:30px !important}.mT-30\@sm\+{margin-top:30px !important}.mR-30\@sm\+{margin-right:30px !important}.mB-30\@sm\+{margin-bottom:30px !important}.mL-30\@sm\+{margin-left:30px !important}.mY-30\@sm\+{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@sm\+{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@sm\+{margin:-30px !important}.mT-nv-30\@sm\+{margin-top:-30px !important}.mR-nv-30\@sm\+{margin-right:-30px !important}.mB-nv-30\@sm\+{margin-bottom:-30px !important}.mL-nv-30\@sm\+{margin-left:-30px !important}.mY-nv-30\@sm\+{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@sm\+{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (min-width: 0){.m-30\@xs\+{margin:30px !important}.mT-30\@xs\+{margin-top:30px !important}.mR-30\@xs\+{margin-right:30px !important}.mB-30\@xs\+{margin-bottom:30px !important}.mL-30\@xs\+{margin-left:30px !important}.mY-30\@xs\+{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@xs\+{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@xs\+{margin:-30px !important}.mT-nv-30\@xs\+{margin-top:-30px !important}.mR-nv-30\@xs\+{margin-right:-30px !important}.mB-nv-30\@xs\+{margin-bottom:-30px !important}.mL-nv-30\@xs\+{margin-left:-30px !important}.mY-nv-30\@xs\+{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@xs\+{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (max-width: 1439px){.m-30\@xl-{margin:30px !important}.mT-30\@xl-{margin-top:30px !important}.mR-30\@xl-{margin-right:30px !important}.mB-30\@xl-{margin-bottom:30px !important}.mL-30\@xl-{margin-left:30px !important}.mY-30\@xl-{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@xl-{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@xl-{margin:-30px !important}.mT-nv-30\@xl-{margin-top:-30px !important}.mR-nv-30\@xl-{margin-right:-30px !important}.mB-nv-30\@xl-{margin-bottom:-30px !important}.mL-nv-30\@xl-{margin-left:-30px !important}.mY-nv-30\@xl-{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@xl-{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (max-width: 1199px){.m-30\@lg-{margin:30px !important}.mT-30\@lg-{margin-top:30px !important}.mR-30\@lg-{margin-right:30px !important}.mB-30\@lg-{margin-bottom:30px !important}.mL-30\@lg-{margin-left:30px !important}.mY-30\@lg-{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@lg-{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@lg-{margin:-30px !important}.mT-nv-30\@lg-{margin-top:-30px !important}.mR-nv-30\@lg-{margin-right:-30px !important}.mB-nv-30\@lg-{margin-bottom:-30px !important}.mL-nv-30\@lg-{margin-left:-30px !important}.mY-nv-30\@lg-{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@lg-{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (max-width: 991px){.m-30\@md-{margin:30px !important}.mT-30\@md-{margin-top:30px !important}.mR-30\@md-{margin-right:30px !important}.mB-30\@md-{margin-bottom:30px !important}.mL-30\@md-{margin-left:30px !important}.mY-30\@md-{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@md-{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@md-{margin:-30px !important}.mT-nv-30\@md-{margin-top:-30px !important}.mR-nv-30\@md-{margin-right:-30px !important}.mB-nv-30\@md-{margin-bottom:-30px !important}.mL-nv-30\@md-{margin-left:-30px !important}.mY-nv-30\@md-{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@md-{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (max-width: 767px){.m-30\@sm-{margin:30px !important}.mT-30\@sm-{margin-top:30px !important}.mR-30\@sm-{margin-right:30px !important}.mB-30\@sm-{margin-bottom:30px !important}.mL-30\@sm-{margin-left:30px !important}.mY-30\@sm-{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@sm-{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@sm-{margin:-30px !important}.mT-nv-30\@sm-{margin-top:-30px !important}.mR-nv-30\@sm-{margin-right:-30px !important}.mB-nv-30\@sm-{margin-bottom:-30px !important}.mL-nv-30\@sm-{margin-left:-30px !important}.mY-nv-30\@sm-{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@sm-{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-30\@lg{margin:30px !important}.mT-30\@lg{margin-top:30px !important}.mR-30\@lg{margin-right:30px !important}.mB-30\@lg{margin-bottom:30px !important}.mL-30\@lg{margin-left:30px !important}.mY-30\@lg{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@lg{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@lg{margin:-30px !important}.mT-nv-30\@lg{margin-top:-30px !important}.mR-nv-30\@lg{margin-right:-30px !important}.mB-nv-30\@lg{margin-bottom:-30px !important}.mL-nv-30\@lg{margin-left:-30px !important}.mY-nv-30\@lg{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@lg{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-30\@md{margin:30px !important}.mT-30\@md{margin-top:30px !important}.mR-30\@md{margin-right:30px !important}.mB-30\@md{margin-bottom:30px !important}.mL-30\@md{margin-left:30px !important}.mY-30\@md{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@md{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@md{margin:-30px !important}.mT-nv-30\@md{margin-top:-30px !important}.mR-nv-30\@md{margin-right:-30px !important}.mB-nv-30\@md{margin-bottom:-30px !important}.mL-nv-30\@md{margin-left:-30px !important}.mY-nv-30\@md{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@md{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-30\@sm{margin:30px !important}.mT-30\@sm{margin-top:30px !important}.mR-30\@sm{margin-right:30px !important}.mB-30\@sm{margin-bottom:30px !important}.mL-30\@sm{margin-left:30px !important}.mY-30\@sm{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@sm{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@sm{margin:-30px !important}.mT-nv-30\@sm{margin-top:-30px !important}.mR-nv-30\@sm{margin-right:-30px !important}.mB-nv-30\@sm{margin-bottom:-30px !important}.mL-nv-30\@sm{margin-left:-30px !important}.mY-nv-30\@sm{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@sm{margin-left:-30px !important;margin-right:-30px !important}}.m-35{margin:35px !important}.mT-35{margin-top:35px !important}.mR-35{margin-right:35px !important}.mB-35{margin-bottom:35px !important}.mL-35{margin-left:35px !important}.mY-35{margin-top:35px !important;margin-bottom:35px !important}.mX-35{margin-left:35px !important;margin-right:35px !important}.m-nv-35{margin:-35px !important}.mT-nv-35{margin-top:-35px !important}.mR-nv-35{margin-right:-35px !important}.mB-nv-35{margin-bottom:-35px !important}.mL-nv-35{margin-left:-35px !important}.mY-nv-35{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35{margin-left:-35px !important;margin-right:-35px !important}@media screen and (min-width: 1440px){.m-35\@xl\+{margin:35px !important}.mT-35\@xl\+{margin-top:35px !important}.mR-35\@xl\+{margin-right:35px !important}.mB-35\@xl\+{margin-bottom:35px !important}.mL-35\@xl\+{margin-left:35px !important}.mY-35\@xl\+{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@xl\+{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@xl\+{margin:-35px !important}.mT-nv-35\@xl\+{margin-top:-35px !important}.mR-nv-35\@xl\+{margin-right:-35px !important}.mB-nv-35\@xl\+{margin-bottom:-35px !important}.mL-nv-35\@xl\+{margin-left:-35px !important}.mY-nv-35\@xl\+{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@xl\+{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (min-width: 1200px){.m-35\@lg\+{margin:35px !important}.mT-35\@lg\+{margin-top:35px !important}.mR-35\@lg\+{margin-right:35px !important}.mB-35\@lg\+{margin-bottom:35px !important}.mL-35\@lg\+{margin-left:35px !important}.mY-35\@lg\+{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@lg\+{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@lg\+{margin:-35px !important}.mT-nv-35\@lg\+{margin-top:-35px !important}.mR-nv-35\@lg\+{margin-right:-35px !important}.mB-nv-35\@lg\+{margin-bottom:-35px !important}.mL-nv-35\@lg\+{margin-left:-35px !important}.mY-nv-35\@lg\+{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@lg\+{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (min-width: 992px){.m-35\@md\+{margin:35px !important}.mT-35\@md\+{margin-top:35px !important}.mR-35\@md\+{margin-right:35px !important}.mB-35\@md\+{margin-bottom:35px !important}.mL-35\@md\+{margin-left:35px !important}.mY-35\@md\+{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@md\+{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@md\+{margin:-35px !important}.mT-nv-35\@md\+{margin-top:-35px !important}.mR-nv-35\@md\+{margin-right:-35px !important}.mB-nv-35\@md\+{margin-bottom:-35px !important}.mL-nv-35\@md\+{margin-left:-35px !important}.mY-nv-35\@md\+{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@md\+{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (min-width: 768px){.m-35\@sm\+{margin:35px !important}.mT-35\@sm\+{margin-top:35px !important}.mR-35\@sm\+{margin-right:35px !important}.mB-35\@sm\+{margin-bottom:35px !important}.mL-35\@sm\+{margin-left:35px !important}.mY-35\@sm\+{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@sm\+{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@sm\+{margin:-35px !important}.mT-nv-35\@sm\+{margin-top:-35px !important}.mR-nv-35\@sm\+{margin-right:-35px !important}.mB-nv-35\@sm\+{margin-bottom:-35px !important}.mL-nv-35\@sm\+{margin-left:-35px !important}.mY-nv-35\@sm\+{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@sm\+{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (min-width: 0){.m-35\@xs\+{margin:35px !important}.mT-35\@xs\+{margin-top:35px !important}.mR-35\@xs\+{margin-right:35px !important}.mB-35\@xs\+{margin-bottom:35px !important}.mL-35\@xs\+{margin-left:35px !important}.mY-35\@xs\+{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@xs\+{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@xs\+{margin:-35px !important}.mT-nv-35\@xs\+{margin-top:-35px !important}.mR-nv-35\@xs\+{margin-right:-35px !important}.mB-nv-35\@xs\+{margin-bottom:-35px !important}.mL-nv-35\@xs\+{margin-left:-35px !important}.mY-nv-35\@xs\+{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@xs\+{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (max-width: 1439px){.m-35\@xl-{margin:35px !important}.mT-35\@xl-{margin-top:35px !important}.mR-35\@xl-{margin-right:35px !important}.mB-35\@xl-{margin-bottom:35px !important}.mL-35\@xl-{margin-left:35px !important}.mY-35\@xl-{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@xl-{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@xl-{margin:-35px !important}.mT-nv-35\@xl-{margin-top:-35px !important}.mR-nv-35\@xl-{margin-right:-35px !important}.mB-nv-35\@xl-{margin-bottom:-35px !important}.mL-nv-35\@xl-{margin-left:-35px !important}.mY-nv-35\@xl-{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@xl-{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (max-width: 1199px){.m-35\@lg-{margin:35px !important}.mT-35\@lg-{margin-top:35px !important}.mR-35\@lg-{margin-right:35px !important}.mB-35\@lg-{margin-bottom:35px !important}.mL-35\@lg-{margin-left:35px !important}.mY-35\@lg-{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@lg-{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@lg-{margin:-35px !important}.mT-nv-35\@lg-{margin-top:-35px !important}.mR-nv-35\@lg-{margin-right:-35px !important}.mB-nv-35\@lg-{margin-bottom:-35px !important}.mL-nv-35\@lg-{margin-left:-35px !important}.mY-nv-35\@lg-{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@lg-{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (max-width: 991px){.m-35\@md-{margin:35px !important}.mT-35\@md-{margin-top:35px !important}.mR-35\@md-{margin-right:35px !important}.mB-35\@md-{margin-bottom:35px !important}.mL-35\@md-{margin-left:35px !important}.mY-35\@md-{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@md-{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@md-{margin:-35px !important}.mT-nv-35\@md-{margin-top:-35px !important}.mR-nv-35\@md-{margin-right:-35px !important}.mB-nv-35\@md-{margin-bottom:-35px !important}.mL-nv-35\@md-{margin-left:-35px !important}.mY-nv-35\@md-{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@md-{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (max-width: 767px){.m-35\@sm-{margin:35px !important}.mT-35\@sm-{margin-top:35px !important}.mR-35\@sm-{margin-right:35px !important}.mB-35\@sm-{margin-bottom:35px !important}.mL-35\@sm-{margin-left:35px !important}.mY-35\@sm-{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@sm-{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@sm-{margin:-35px !important}.mT-nv-35\@sm-{margin-top:-35px !important}.mR-nv-35\@sm-{margin-right:-35px !important}.mB-nv-35\@sm-{margin-bottom:-35px !important}.mL-nv-35\@sm-{margin-left:-35px !important}.mY-nv-35\@sm-{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@sm-{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-35\@lg{margin:35px !important}.mT-35\@lg{margin-top:35px !important}.mR-35\@lg{margin-right:35px !important}.mB-35\@lg{margin-bottom:35px !important}.mL-35\@lg{margin-left:35px !important}.mY-35\@lg{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@lg{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@lg{margin:-35px !important}.mT-nv-35\@lg{margin-top:-35px !important}.mR-nv-35\@lg{margin-right:-35px !important}.mB-nv-35\@lg{margin-bottom:-35px !important}.mL-nv-35\@lg{margin-left:-35px !important}.mY-nv-35\@lg{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@lg{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-35\@md{margin:35px !important}.mT-35\@md{margin-top:35px !important}.mR-35\@md{margin-right:35px !important}.mB-35\@md{margin-bottom:35px !important}.mL-35\@md{margin-left:35px !important}.mY-35\@md{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@md{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@md{margin:-35px !important}.mT-nv-35\@md{margin-top:-35px !important}.mR-nv-35\@md{margin-right:-35px !important}.mB-nv-35\@md{margin-bottom:-35px !important}.mL-nv-35\@md{margin-left:-35px !important}.mY-nv-35\@md{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@md{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-35\@sm{margin:35px !important}.mT-35\@sm{margin-top:35px !important}.mR-35\@sm{margin-right:35px !important}.mB-35\@sm{margin-bottom:35px !important}.mL-35\@sm{margin-left:35px !important}.mY-35\@sm{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@sm{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@sm{margin:-35px !important}.mT-nv-35\@sm{margin-top:-35px !important}.mR-nv-35\@sm{margin-right:-35px !important}.mB-nv-35\@sm{margin-bottom:-35px !important}.mL-nv-35\@sm{margin-left:-35px !important}.mY-nv-35\@sm{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@sm{margin-left:-35px !important;margin-right:-35px !important}}.m-40{margin:40px !important}.mT-40{margin-top:40px !important}.mR-40{margin-right:40px !important}.mB-40{margin-bottom:40px !important}.mL-40{margin-left:40px !important}.mY-40{margin-top:40px !important;margin-bottom:40px !important}.mX-40{margin-left:40px !important;margin-right:40px !important}.m-nv-40{margin:-40px !important}.mT-nv-40{margin-top:-40px !important}.mR-nv-40{margin-right:-40px !important}.mB-nv-40{margin-bottom:-40px !important}.mL-nv-40{margin-left:-40px !important}.mY-nv-40{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40{margin-left:-40px !important;margin-right:-40px !important}@media screen and (min-width: 1440px){.m-40\@xl\+{margin:40px !important}.mT-40\@xl\+{margin-top:40px !important}.mR-40\@xl\+{margin-right:40px !important}.mB-40\@xl\+{margin-bottom:40px !important}.mL-40\@xl\+{margin-left:40px !important}.mY-40\@xl\+{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@xl\+{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@xl\+{margin:-40px !important}.mT-nv-40\@xl\+{margin-top:-40px !important}.mR-nv-40\@xl\+{margin-right:-40px !important}.mB-nv-40\@xl\+{margin-bottom:-40px !important}.mL-nv-40\@xl\+{margin-left:-40px !important}.mY-nv-40\@xl\+{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@xl\+{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (min-width: 1200px){.m-40\@lg\+{margin:40px !important}.mT-40\@lg\+{margin-top:40px !important}.mR-40\@lg\+{margin-right:40px !important}.mB-40\@lg\+{margin-bottom:40px !important}.mL-40\@lg\+{margin-left:40px !important}.mY-40\@lg\+{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@lg\+{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@lg\+{margin:-40px !important}.mT-nv-40\@lg\+{margin-top:-40px !important}.mR-nv-40\@lg\+{margin-right:-40px !important}.mB-nv-40\@lg\+{margin-bottom:-40px !important}.mL-nv-40\@lg\+{margin-left:-40px !important}.mY-nv-40\@lg\+{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@lg\+{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (min-width: 992px){.m-40\@md\+{margin:40px !important}.mT-40\@md\+{margin-top:40px !important}.mR-40\@md\+{margin-right:40px !important}.mB-40\@md\+{margin-bottom:40px !important}.mL-40\@md\+{margin-left:40px !important}.mY-40\@md\+{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@md\+{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@md\+{margin:-40px !important}.mT-nv-40\@md\+{margin-top:-40px !important}.mR-nv-40\@md\+{margin-right:-40px !important}.mB-nv-40\@md\+{margin-bottom:-40px !important}.mL-nv-40\@md\+{margin-left:-40px !important}.mY-nv-40\@md\+{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@md\+{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (min-width: 768px){.m-40\@sm\+{margin:40px !important}.mT-40\@sm\+{margin-top:40px !important}.mR-40\@sm\+{margin-right:40px !important}.mB-40\@sm\+{margin-bottom:40px !important}.mL-40\@sm\+{margin-left:40px !important}.mY-40\@sm\+{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@sm\+{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@sm\+{margin:-40px !important}.mT-nv-40\@sm\+{margin-top:-40px !important}.mR-nv-40\@sm\+{margin-right:-40px !important}.mB-nv-40\@sm\+{margin-bottom:-40px !important}.mL-nv-40\@sm\+{margin-left:-40px !important}.mY-nv-40\@sm\+{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@sm\+{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (min-width: 0){.m-40\@xs\+{margin:40px !important}.mT-40\@xs\+{margin-top:40px !important}.mR-40\@xs\+{margin-right:40px !important}.mB-40\@xs\+{margin-bottom:40px !important}.mL-40\@xs\+{margin-left:40px !important}.mY-40\@xs\+{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@xs\+{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@xs\+{margin:-40px !important}.mT-nv-40\@xs\+{margin-top:-40px !important}.mR-nv-40\@xs\+{margin-right:-40px !important}.mB-nv-40\@xs\+{margin-bottom:-40px !important}.mL-nv-40\@xs\+{margin-left:-40px !important}.mY-nv-40\@xs\+{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@xs\+{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (max-width: 1439px){.m-40\@xl-{margin:40px !important}.mT-40\@xl-{margin-top:40px !important}.mR-40\@xl-{margin-right:40px !important}.mB-40\@xl-{margin-bottom:40px !important}.mL-40\@xl-{margin-left:40px !important}.mY-40\@xl-{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@xl-{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@xl-{margin:-40px !important}.mT-nv-40\@xl-{margin-top:-40px !important}.mR-nv-40\@xl-{margin-right:-40px !important}.mB-nv-40\@xl-{margin-bottom:-40px !important}.mL-nv-40\@xl-{margin-left:-40px !important}.mY-nv-40\@xl-{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@xl-{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (max-width: 1199px){.m-40\@lg-{margin:40px !important}.mT-40\@lg-{margin-top:40px !important}.mR-40\@lg-{margin-right:40px !important}.mB-40\@lg-{margin-bottom:40px !important}.mL-40\@lg-{margin-left:40px !important}.mY-40\@lg-{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@lg-{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@lg-{margin:-40px !important}.mT-nv-40\@lg-{margin-top:-40px !important}.mR-nv-40\@lg-{margin-right:-40px !important}.mB-nv-40\@lg-{margin-bottom:-40px !important}.mL-nv-40\@lg-{margin-left:-40px !important}.mY-nv-40\@lg-{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@lg-{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (max-width: 991px){.m-40\@md-{margin:40px !important}.mT-40\@md-{margin-top:40px !important}.mR-40\@md-{margin-right:40px !important}.mB-40\@md-{margin-bottom:40px !important}.mL-40\@md-{margin-left:40px !important}.mY-40\@md-{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@md-{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@md-{margin:-40px !important}.mT-nv-40\@md-{margin-top:-40px !important}.mR-nv-40\@md-{margin-right:-40px !important}.mB-nv-40\@md-{margin-bottom:-40px !important}.mL-nv-40\@md-{margin-left:-40px !important}.mY-nv-40\@md-{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@md-{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (max-width: 767px){.m-40\@sm-{margin:40px !important}.mT-40\@sm-{margin-top:40px !important}.mR-40\@sm-{margin-right:40px !important}.mB-40\@sm-{margin-bottom:40px !important}.mL-40\@sm-{margin-left:40px !important}.mY-40\@sm-{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@sm-{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@sm-{margin:-40px !important}.mT-nv-40\@sm-{margin-top:-40px !important}.mR-nv-40\@sm-{margin-right:-40px !important}.mB-nv-40\@sm-{margin-bottom:-40px !important}.mL-nv-40\@sm-{margin-left:-40px !important}.mY-nv-40\@sm-{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@sm-{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-40\@lg{margin:40px !important}.mT-40\@lg{margin-top:40px !important}.mR-40\@lg{margin-right:40px !important}.mB-40\@lg{margin-bottom:40px !important}.mL-40\@lg{margin-left:40px !important}.mY-40\@lg{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@lg{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@lg{margin:-40px !important}.mT-nv-40\@lg{margin-top:-40px !important}.mR-nv-40\@lg{margin-right:-40px !important}.mB-nv-40\@lg{margin-bottom:-40px !important}.mL-nv-40\@lg{margin-left:-40px !important}.mY-nv-40\@lg{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@lg{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-40\@md{margin:40px !important}.mT-40\@md{margin-top:40px !important}.mR-40\@md{margin-right:40px !important}.mB-40\@md{margin-bottom:40px !important}.mL-40\@md{margin-left:40px !important}.mY-40\@md{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@md{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@md{margin:-40px !important}.mT-nv-40\@md{margin-top:-40px !important}.mR-nv-40\@md{margin-right:-40px !important}.mB-nv-40\@md{margin-bottom:-40px !important}.mL-nv-40\@md{margin-left:-40px !important}.mY-nv-40\@md{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@md{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-40\@sm{margin:40px !important}.mT-40\@sm{margin-top:40px !important}.mR-40\@sm{margin-right:40px !important}.mB-40\@sm{margin-bottom:40px !important}.mL-40\@sm{margin-left:40px !important}.mY-40\@sm{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@sm{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@sm{margin:-40px !important}.mT-nv-40\@sm{margin-top:-40px !important}.mR-nv-40\@sm{margin-right:-40px !important}.mB-nv-40\@sm{margin-bottom:-40px !important}.mL-nv-40\@sm{margin-left:-40px !important}.mY-nv-40\@sm{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@sm{margin-left:-40px !important;margin-right:-40px !important}}.m-50{margin:50px !important}.mT-50{margin-top:50px !important}.mR-50{margin-right:50px !important}.mB-50{margin-bottom:50px !important}.mL-50{margin-left:50px !important}.mY-50{margin-top:50px !important;margin-bottom:50px !important}.mX-50{margin-left:50px !important;margin-right:50px !important}.m-nv-50{margin:-50px !important}.mT-nv-50{margin-top:-50px !important}.mR-nv-50{margin-right:-50px !important}.mB-nv-50{margin-bottom:-50px !important}.mL-nv-50{margin-left:-50px !important}.mY-nv-50{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50{margin-left:-50px !important;margin-right:-50px !important}@media screen and (min-width: 1440px){.m-50\@xl\+{margin:50px !important}.mT-50\@xl\+{margin-top:50px !important}.mR-50\@xl\+{margin-right:50px !important}.mB-50\@xl\+{margin-bottom:50px !important}.mL-50\@xl\+{margin-left:50px !important}.mY-50\@xl\+{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@xl\+{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@xl\+{margin:-50px !important}.mT-nv-50\@xl\+{margin-top:-50px !important}.mR-nv-50\@xl\+{margin-right:-50px !important}.mB-nv-50\@xl\+{margin-bottom:-50px !important}.mL-nv-50\@xl\+{margin-left:-50px !important}.mY-nv-50\@xl\+{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@xl\+{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (min-width: 1200px){.m-50\@lg\+{margin:50px !important}.mT-50\@lg\+{margin-top:50px !important}.mR-50\@lg\+{margin-right:50px !important}.mB-50\@lg\+{margin-bottom:50px !important}.mL-50\@lg\+{margin-left:50px !important}.mY-50\@lg\+{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@lg\+{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@lg\+{margin:-50px !important}.mT-nv-50\@lg\+{margin-top:-50px !important}.mR-nv-50\@lg\+{margin-right:-50px !important}.mB-nv-50\@lg\+{margin-bottom:-50px !important}.mL-nv-50\@lg\+{margin-left:-50px !important}.mY-nv-50\@lg\+{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@lg\+{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (min-width: 992px){.m-50\@md\+{margin:50px !important}.mT-50\@md\+{margin-top:50px !important}.mR-50\@md\+{margin-right:50px !important}.mB-50\@md\+{margin-bottom:50px !important}.mL-50\@md\+{margin-left:50px !important}.mY-50\@md\+{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@md\+{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@md\+{margin:-50px !important}.mT-nv-50\@md\+{margin-top:-50px !important}.mR-nv-50\@md\+{margin-right:-50px !important}.mB-nv-50\@md\+{margin-bottom:-50px !important}.mL-nv-50\@md\+{margin-left:-50px !important}.mY-nv-50\@md\+{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@md\+{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (min-width: 768px){.m-50\@sm\+{margin:50px !important}.mT-50\@sm\+{margin-top:50px !important}.mR-50\@sm\+{margin-right:50px !important}.mB-50\@sm\+{margin-bottom:50px !important}.mL-50\@sm\+{margin-left:50px !important}.mY-50\@sm\+{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@sm\+{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@sm\+{margin:-50px !important}.mT-nv-50\@sm\+{margin-top:-50px !important}.mR-nv-50\@sm\+{margin-right:-50px !important}.mB-nv-50\@sm\+{margin-bottom:-50px !important}.mL-nv-50\@sm\+{margin-left:-50px !important}.mY-nv-50\@sm\+{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@sm\+{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (min-width: 0){.m-50\@xs\+{margin:50px !important}.mT-50\@xs\+{margin-top:50px !important}.mR-50\@xs\+{margin-right:50px !important}.mB-50\@xs\+{margin-bottom:50px !important}.mL-50\@xs\+{margin-left:50px !important}.mY-50\@xs\+{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@xs\+{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@xs\+{margin:-50px !important}.mT-nv-50\@xs\+{margin-top:-50px !important}.mR-nv-50\@xs\+{margin-right:-50px !important}.mB-nv-50\@xs\+{margin-bottom:-50px !important}.mL-nv-50\@xs\+{margin-left:-50px !important}.mY-nv-50\@xs\+{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@xs\+{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (max-width: 1439px){.m-50\@xl-{margin:50px !important}.mT-50\@xl-{margin-top:50px !important}.mR-50\@xl-{margin-right:50px !important}.mB-50\@xl-{margin-bottom:50px !important}.mL-50\@xl-{margin-left:50px !important}.mY-50\@xl-{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@xl-{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@xl-{margin:-50px !important}.mT-nv-50\@xl-{margin-top:-50px !important}.mR-nv-50\@xl-{margin-right:-50px !important}.mB-nv-50\@xl-{margin-bottom:-50px !important}.mL-nv-50\@xl-{margin-left:-50px !important}.mY-nv-50\@xl-{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@xl-{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (max-width: 1199px){.m-50\@lg-{margin:50px !important}.mT-50\@lg-{margin-top:50px !important}.mR-50\@lg-{margin-right:50px !important}.mB-50\@lg-{margin-bottom:50px !important}.mL-50\@lg-{margin-left:50px !important}.mY-50\@lg-{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@lg-{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@lg-{margin:-50px !important}.mT-nv-50\@lg-{margin-top:-50px !important}.mR-nv-50\@lg-{margin-right:-50px !important}.mB-nv-50\@lg-{margin-bottom:-50px !important}.mL-nv-50\@lg-{margin-left:-50px !important}.mY-nv-50\@lg-{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@lg-{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (max-width: 991px){.m-50\@md-{margin:50px !important}.mT-50\@md-{margin-top:50px !important}.mR-50\@md-{margin-right:50px !important}.mB-50\@md-{margin-bottom:50px !important}.mL-50\@md-{margin-left:50px !important}.mY-50\@md-{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@md-{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@md-{margin:-50px !important}.mT-nv-50\@md-{margin-top:-50px !important}.mR-nv-50\@md-{margin-right:-50px !important}.mB-nv-50\@md-{margin-bottom:-50px !important}.mL-nv-50\@md-{margin-left:-50px !important}.mY-nv-50\@md-{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@md-{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (max-width: 767px){.m-50\@sm-{margin:50px !important}.mT-50\@sm-{margin-top:50px !important}.mR-50\@sm-{margin-right:50px !important}.mB-50\@sm-{margin-bottom:50px !important}.mL-50\@sm-{margin-left:50px !important}.mY-50\@sm-{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@sm-{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@sm-{margin:-50px !important}.mT-nv-50\@sm-{margin-top:-50px !important}.mR-nv-50\@sm-{margin-right:-50px !important}.mB-nv-50\@sm-{margin-bottom:-50px !important}.mL-nv-50\@sm-{margin-left:-50px !important}.mY-nv-50\@sm-{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@sm-{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-50\@lg{margin:50px !important}.mT-50\@lg{margin-top:50px !important}.mR-50\@lg{margin-right:50px !important}.mB-50\@lg{margin-bottom:50px !important}.mL-50\@lg{margin-left:50px !important}.mY-50\@lg{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@lg{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@lg{margin:-50px !important}.mT-nv-50\@lg{margin-top:-50px !important}.mR-nv-50\@lg{margin-right:-50px !important}.mB-nv-50\@lg{margin-bottom:-50px !important}.mL-nv-50\@lg{margin-left:-50px !important}.mY-nv-50\@lg{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@lg{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-50\@md{margin:50px !important}.mT-50\@md{margin-top:50px !important}.mR-50\@md{margin-right:50px !important}.mB-50\@md{margin-bottom:50px !important}.mL-50\@md{margin-left:50px !important}.mY-50\@md{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@md{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@md{margin:-50px !important}.mT-nv-50\@md{margin-top:-50px !important}.mR-nv-50\@md{margin-right:-50px !important}.mB-nv-50\@md{margin-bottom:-50px !important}.mL-nv-50\@md{margin-left:-50px !important}.mY-nv-50\@md{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@md{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-50\@sm{margin:50px !important}.mT-50\@sm{margin-top:50px !important}.mR-50\@sm{margin-right:50px !important}.mB-50\@sm{margin-bottom:50px !important}.mL-50\@sm{margin-left:50px !important}.mY-50\@sm{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@sm{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@sm{margin:-50px !important}.mT-nv-50\@sm{margin-top:-50px !important}.mR-nv-50\@sm{margin-right:-50px !important}.mB-nv-50\@sm{margin-bottom:-50px !important}.mL-nv-50\@sm{margin-left:-50px !important}.mY-nv-50\@sm{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@sm{margin-left:-50px !important;margin-right:-50px !important}}.m-60{margin:60px !important}.mT-60{margin-top:60px !important}.mR-60{margin-right:60px !important}.mB-60{margin-bottom:60px !important}.mL-60{margin-left:60px !important}.mY-60{margin-top:60px !important;margin-bottom:60px !important}.mX-60{margin-left:60px !important;margin-right:60px !important}.m-nv-60{margin:-60px !important}.mT-nv-60{margin-top:-60px !important}.mR-nv-60{margin-right:-60px !important}.mB-nv-60{margin-bottom:-60px !important}.mL-nv-60{margin-left:-60px !important}.mY-nv-60{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60{margin-left:-60px !important;margin-right:-60px !important}@media screen and (min-width: 1440px){.m-60\@xl\+{margin:60px !important}.mT-60\@xl\+{margin-top:60px !important}.mR-60\@xl\+{margin-right:60px !important}.mB-60\@xl\+{margin-bottom:60px !important}.mL-60\@xl\+{margin-left:60px !important}.mY-60\@xl\+{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@xl\+{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@xl\+{margin:-60px !important}.mT-nv-60\@xl\+{margin-top:-60px !important}.mR-nv-60\@xl\+{margin-right:-60px !important}.mB-nv-60\@xl\+{margin-bottom:-60px !important}.mL-nv-60\@xl\+{margin-left:-60px !important}.mY-nv-60\@xl\+{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@xl\+{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (min-width: 1200px){.m-60\@lg\+{margin:60px !important}.mT-60\@lg\+{margin-top:60px !important}.mR-60\@lg\+{margin-right:60px !important}.mB-60\@lg\+{margin-bottom:60px !important}.mL-60\@lg\+{margin-left:60px !important}.mY-60\@lg\+{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@lg\+{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@lg\+{margin:-60px !important}.mT-nv-60\@lg\+{margin-top:-60px !important}.mR-nv-60\@lg\+{margin-right:-60px !important}.mB-nv-60\@lg\+{margin-bottom:-60px !important}.mL-nv-60\@lg\+{margin-left:-60px !important}.mY-nv-60\@lg\+{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@lg\+{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (min-width: 992px){.m-60\@md\+{margin:60px !important}.mT-60\@md\+{margin-top:60px !important}.mR-60\@md\+{margin-right:60px !important}.mB-60\@md\+{margin-bottom:60px !important}.mL-60\@md\+{margin-left:60px !important}.mY-60\@md\+{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@md\+{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@md\+{margin:-60px !important}.mT-nv-60\@md\+{margin-top:-60px !important}.mR-nv-60\@md\+{margin-right:-60px !important}.mB-nv-60\@md\+{margin-bottom:-60px !important}.mL-nv-60\@md\+{margin-left:-60px !important}.mY-nv-60\@md\+{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@md\+{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (min-width: 768px){.m-60\@sm\+{margin:60px !important}.mT-60\@sm\+{margin-top:60px !important}.mR-60\@sm\+{margin-right:60px !important}.mB-60\@sm\+{margin-bottom:60px !important}.mL-60\@sm\+{margin-left:60px !important}.mY-60\@sm\+{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@sm\+{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@sm\+{margin:-60px !important}.mT-nv-60\@sm\+{margin-top:-60px !important}.mR-nv-60\@sm\+{margin-right:-60px !important}.mB-nv-60\@sm\+{margin-bottom:-60px !important}.mL-nv-60\@sm\+{margin-left:-60px !important}.mY-nv-60\@sm\+{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@sm\+{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (min-width: 0){.m-60\@xs\+{margin:60px !important}.mT-60\@xs\+{margin-top:60px !important}.mR-60\@xs\+{margin-right:60px !important}.mB-60\@xs\+{margin-bottom:60px !important}.mL-60\@xs\+{margin-left:60px !important}.mY-60\@xs\+{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@xs\+{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@xs\+{margin:-60px !important}.mT-nv-60\@xs\+{margin-top:-60px !important}.mR-nv-60\@xs\+{margin-right:-60px !important}.mB-nv-60\@xs\+{margin-bottom:-60px !important}.mL-nv-60\@xs\+{margin-left:-60px !important}.mY-nv-60\@xs\+{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@xs\+{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (max-width: 1439px){.m-60\@xl-{margin:60px !important}.mT-60\@xl-{margin-top:60px !important}.mR-60\@xl-{margin-right:60px !important}.mB-60\@xl-{margin-bottom:60px !important}.mL-60\@xl-{margin-left:60px !important}.mY-60\@xl-{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@xl-{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@xl-{margin:-60px !important}.mT-nv-60\@xl-{margin-top:-60px !important}.mR-nv-60\@xl-{margin-right:-60px !important}.mB-nv-60\@xl-{margin-bottom:-60px !important}.mL-nv-60\@xl-{margin-left:-60px !important}.mY-nv-60\@xl-{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@xl-{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (max-width: 1199px){.m-60\@lg-{margin:60px !important}.mT-60\@lg-{margin-top:60px !important}.mR-60\@lg-{margin-right:60px !important}.mB-60\@lg-{margin-bottom:60px !important}.mL-60\@lg-{margin-left:60px !important}.mY-60\@lg-{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@lg-{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@lg-{margin:-60px !important}.mT-nv-60\@lg-{margin-top:-60px !important}.mR-nv-60\@lg-{margin-right:-60px !important}.mB-nv-60\@lg-{margin-bottom:-60px !important}.mL-nv-60\@lg-{margin-left:-60px !important}.mY-nv-60\@lg-{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@lg-{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (max-width: 991px){.m-60\@md-{margin:60px !important}.mT-60\@md-{margin-top:60px !important}.mR-60\@md-{margin-right:60px !important}.mB-60\@md-{margin-bottom:60px !important}.mL-60\@md-{margin-left:60px !important}.mY-60\@md-{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@md-{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@md-{margin:-60px !important}.mT-nv-60\@md-{margin-top:-60px !important}.mR-nv-60\@md-{margin-right:-60px !important}.mB-nv-60\@md-{margin-bottom:-60px !important}.mL-nv-60\@md-{margin-left:-60px !important}.mY-nv-60\@md-{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@md-{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (max-width: 767px){.m-60\@sm-{margin:60px !important}.mT-60\@sm-{margin-top:60px !important}.mR-60\@sm-{margin-right:60px !important}.mB-60\@sm-{margin-bottom:60px !important}.mL-60\@sm-{margin-left:60px !important}.mY-60\@sm-{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@sm-{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@sm-{margin:-60px !important}.mT-nv-60\@sm-{margin-top:-60px !important}.mR-nv-60\@sm-{margin-right:-60px !important}.mB-nv-60\@sm-{margin-bottom:-60px !important}.mL-nv-60\@sm-{margin-left:-60px !important}.mY-nv-60\@sm-{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@sm-{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-60\@lg{margin:60px !important}.mT-60\@lg{margin-top:60px !important}.mR-60\@lg{margin-right:60px !important}.mB-60\@lg{margin-bottom:60px !important}.mL-60\@lg{margin-left:60px !important}.mY-60\@lg{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@lg{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@lg{margin:-60px !important}.mT-nv-60\@lg{margin-top:-60px !important}.mR-nv-60\@lg{margin-right:-60px !important}.mB-nv-60\@lg{margin-bottom:-60px !important}.mL-nv-60\@lg{margin-left:-60px !important}.mY-nv-60\@lg{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@lg{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-60\@md{margin:60px !important}.mT-60\@md{margin-top:60px !important}.mR-60\@md{margin-right:60px !important}.mB-60\@md{margin-bottom:60px !important}.mL-60\@md{margin-left:60px !important}.mY-60\@md{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@md{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@md{margin:-60px !important}.mT-nv-60\@md{margin-top:-60px !important}.mR-nv-60\@md{margin-right:-60px !important}.mB-nv-60\@md{margin-bottom:-60px !important}.mL-nv-60\@md{margin-left:-60px !important}.mY-nv-60\@md{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@md{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-60\@sm{margin:60px !important}.mT-60\@sm{margin-top:60px !important}.mR-60\@sm{margin-right:60px !important}.mB-60\@sm{margin-bottom:60px !important}.mL-60\@sm{margin-left:60px !important}.mY-60\@sm{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@sm{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@sm{margin:-60px !important}.mT-nv-60\@sm{margin-top:-60px !important}.mR-nv-60\@sm{margin-right:-60px !important}.mB-nv-60\@sm{margin-bottom:-60px !important}.mL-nv-60\@sm{margin-left:-60px !important}.mY-nv-60\@sm{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@sm{margin-left:-60px !important;margin-right:-60px !important}}.m-70{margin:70px !important}.mT-70{margin-top:70px !important}.mR-70{margin-right:70px !important}.mB-70{margin-bottom:70px !important}.mL-70{margin-left:70px !important}.mY-70{margin-top:70px !important;margin-bottom:70px !important}.mX-70{margin-left:70px !important;margin-right:70px !important}.m-nv-70{margin:-70px !important}.mT-nv-70{margin-top:-70px !important}.mR-nv-70{margin-right:-70px !important}.mB-nv-70{margin-bottom:-70px !important}.mL-nv-70{margin-left:-70px !important}.mY-nv-70{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70{margin-left:-70px !important;margin-right:-70px !important}@media screen and (min-width: 1440px){.m-70\@xl\+{margin:70px !important}.mT-70\@xl\+{margin-top:70px !important}.mR-70\@xl\+{margin-right:70px !important}.mB-70\@xl\+{margin-bottom:70px !important}.mL-70\@xl\+{margin-left:70px !important}.mY-70\@xl\+{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@xl\+{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@xl\+{margin:-70px !important}.mT-nv-70\@xl\+{margin-top:-70px !important}.mR-nv-70\@xl\+{margin-right:-70px !important}.mB-nv-70\@xl\+{margin-bottom:-70px !important}.mL-nv-70\@xl\+{margin-left:-70px !important}.mY-nv-70\@xl\+{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@xl\+{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (min-width: 1200px){.m-70\@lg\+{margin:70px !important}.mT-70\@lg\+{margin-top:70px !important}.mR-70\@lg\+{margin-right:70px !important}.mB-70\@lg\+{margin-bottom:70px !important}.mL-70\@lg\+{margin-left:70px !important}.mY-70\@lg\+{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@lg\+{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@lg\+{margin:-70px !important}.mT-nv-70\@lg\+{margin-top:-70px !important}.mR-nv-70\@lg\+{margin-right:-70px !important}.mB-nv-70\@lg\+{margin-bottom:-70px !important}.mL-nv-70\@lg\+{margin-left:-70px !important}.mY-nv-70\@lg\+{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@lg\+{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (min-width: 992px){.m-70\@md\+{margin:70px !important}.mT-70\@md\+{margin-top:70px !important}.mR-70\@md\+{margin-right:70px !important}.mB-70\@md\+{margin-bottom:70px !important}.mL-70\@md\+{margin-left:70px !important}.mY-70\@md\+{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@md\+{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@md\+{margin:-70px !important}.mT-nv-70\@md\+{margin-top:-70px !important}.mR-nv-70\@md\+{margin-right:-70px !important}.mB-nv-70\@md\+{margin-bottom:-70px !important}.mL-nv-70\@md\+{margin-left:-70px !important}.mY-nv-70\@md\+{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@md\+{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (min-width: 768px){.m-70\@sm\+{margin:70px !important}.mT-70\@sm\+{margin-top:70px !important}.mR-70\@sm\+{margin-right:70px !important}.mB-70\@sm\+{margin-bottom:70px !important}.mL-70\@sm\+{margin-left:70px !important}.mY-70\@sm\+{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@sm\+{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@sm\+{margin:-70px !important}.mT-nv-70\@sm\+{margin-top:-70px !important}.mR-nv-70\@sm\+{margin-right:-70px !important}.mB-nv-70\@sm\+{margin-bottom:-70px !important}.mL-nv-70\@sm\+{margin-left:-70px !important}.mY-nv-70\@sm\+{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@sm\+{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (min-width: 0){.m-70\@xs\+{margin:70px !important}.mT-70\@xs\+{margin-top:70px !important}.mR-70\@xs\+{margin-right:70px !important}.mB-70\@xs\+{margin-bottom:70px !important}.mL-70\@xs\+{margin-left:70px !important}.mY-70\@xs\+{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@xs\+{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@xs\+{margin:-70px !important}.mT-nv-70\@xs\+{margin-top:-70px !important}.mR-nv-70\@xs\+{margin-right:-70px !important}.mB-nv-70\@xs\+{margin-bottom:-70px !important}.mL-nv-70\@xs\+{margin-left:-70px !important}.mY-nv-70\@xs\+{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@xs\+{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (max-width: 1439px){.m-70\@xl-{margin:70px !important}.mT-70\@xl-{margin-top:70px !important}.mR-70\@xl-{margin-right:70px !important}.mB-70\@xl-{margin-bottom:70px !important}.mL-70\@xl-{margin-left:70px !important}.mY-70\@xl-{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@xl-{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@xl-{margin:-70px !important}.mT-nv-70\@xl-{margin-top:-70px !important}.mR-nv-70\@xl-{margin-right:-70px !important}.mB-nv-70\@xl-{margin-bottom:-70px !important}.mL-nv-70\@xl-{margin-left:-70px !important}.mY-nv-70\@xl-{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@xl-{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (max-width: 1199px){.m-70\@lg-{margin:70px !important}.mT-70\@lg-{margin-top:70px !important}.mR-70\@lg-{margin-right:70px !important}.mB-70\@lg-{margin-bottom:70px !important}.mL-70\@lg-{margin-left:70px !important}.mY-70\@lg-{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@lg-{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@lg-{margin:-70px !important}.mT-nv-70\@lg-{margin-top:-70px !important}.mR-nv-70\@lg-{margin-right:-70px !important}.mB-nv-70\@lg-{margin-bottom:-70px !important}.mL-nv-70\@lg-{margin-left:-70px !important}.mY-nv-70\@lg-{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@lg-{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (max-width: 991px){.m-70\@md-{margin:70px !important}.mT-70\@md-{margin-top:70px !important}.mR-70\@md-{margin-right:70px !important}.mB-70\@md-{margin-bottom:70px !important}.mL-70\@md-{margin-left:70px !important}.mY-70\@md-{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@md-{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@md-{margin:-70px !important}.mT-nv-70\@md-{margin-top:-70px !important}.mR-nv-70\@md-{margin-right:-70px !important}.mB-nv-70\@md-{margin-bottom:-70px !important}.mL-nv-70\@md-{margin-left:-70px !important}.mY-nv-70\@md-{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@md-{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (max-width: 767px){.m-70\@sm-{margin:70px !important}.mT-70\@sm-{margin-top:70px !important}.mR-70\@sm-{margin-right:70px !important}.mB-70\@sm-{margin-bottom:70px !important}.mL-70\@sm-{margin-left:70px !important}.mY-70\@sm-{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@sm-{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@sm-{margin:-70px !important}.mT-nv-70\@sm-{margin-top:-70px !important}.mR-nv-70\@sm-{margin-right:-70px !important}.mB-nv-70\@sm-{margin-bottom:-70px !important}.mL-nv-70\@sm-{margin-left:-70px !important}.mY-nv-70\@sm-{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@sm-{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-70\@lg{margin:70px !important}.mT-70\@lg{margin-top:70px !important}.mR-70\@lg{margin-right:70px !important}.mB-70\@lg{margin-bottom:70px !important}.mL-70\@lg{margin-left:70px !important}.mY-70\@lg{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@lg{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@lg{margin:-70px !important}.mT-nv-70\@lg{margin-top:-70px !important}.mR-nv-70\@lg{margin-right:-70px !important}.mB-nv-70\@lg{margin-bottom:-70px !important}.mL-nv-70\@lg{margin-left:-70px !important}.mY-nv-70\@lg{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@lg{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-70\@md{margin:70px !important}.mT-70\@md{margin-top:70px !important}.mR-70\@md{margin-right:70px !important}.mB-70\@md{margin-bottom:70px !important}.mL-70\@md{margin-left:70px !important}.mY-70\@md{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@md{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@md{margin:-70px !important}.mT-nv-70\@md{margin-top:-70px !important}.mR-nv-70\@md{margin-right:-70px !important}.mB-nv-70\@md{margin-bottom:-70px !important}.mL-nv-70\@md{margin-left:-70px !important}.mY-nv-70\@md{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@md{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-70\@sm{margin:70px !important}.mT-70\@sm{margin-top:70px !important}.mR-70\@sm{margin-right:70px !important}.mB-70\@sm{margin-bottom:70px !important}.mL-70\@sm{margin-left:70px !important}.mY-70\@sm{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@sm{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@sm{margin:-70px !important}.mT-nv-70\@sm{margin-top:-70px !important}.mR-nv-70\@sm{margin-right:-70px !important}.mB-nv-70\@sm{margin-bottom:-70px !important}.mL-nv-70\@sm{margin-left:-70px !important}.mY-nv-70\@sm{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@sm{margin-left:-70px !important;margin-right:-70px !important}}.m-80{margin:80px !important}.mT-80{margin-top:80px !important}.mR-80{margin-right:80px !important}.mB-80{margin-bottom:80px !important}.mL-80{margin-left:80px !important}.mY-80{margin-top:80px !important;margin-bottom:80px !important}.mX-80{margin-left:80px !important;margin-right:80px !important}.m-nv-80{margin:-80px !important}.mT-nv-80{margin-top:-80px !important}.mR-nv-80{margin-right:-80px !important}.mB-nv-80{margin-bottom:-80px !important}.mL-nv-80{margin-left:-80px !important}.mY-nv-80{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80{margin-left:-80px !important;margin-right:-80px !important}@media screen and (min-width: 1440px){.m-80\@xl\+{margin:80px !important}.mT-80\@xl\+{margin-top:80px !important}.mR-80\@xl\+{margin-right:80px !important}.mB-80\@xl\+{margin-bottom:80px !important}.mL-80\@xl\+{margin-left:80px !important}.mY-80\@xl\+{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@xl\+{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@xl\+{margin:-80px !important}.mT-nv-80\@xl\+{margin-top:-80px !important}.mR-nv-80\@xl\+{margin-right:-80px !important}.mB-nv-80\@xl\+{margin-bottom:-80px !important}.mL-nv-80\@xl\+{margin-left:-80px !important}.mY-nv-80\@xl\+{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@xl\+{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (min-width: 1200px){.m-80\@lg\+{margin:80px !important}.mT-80\@lg\+{margin-top:80px !important}.mR-80\@lg\+{margin-right:80px !important}.mB-80\@lg\+{margin-bottom:80px !important}.mL-80\@lg\+{margin-left:80px !important}.mY-80\@lg\+{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@lg\+{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@lg\+{margin:-80px !important}.mT-nv-80\@lg\+{margin-top:-80px !important}.mR-nv-80\@lg\+{margin-right:-80px !important}.mB-nv-80\@lg\+{margin-bottom:-80px !important}.mL-nv-80\@lg\+{margin-left:-80px !important}.mY-nv-80\@lg\+{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@lg\+{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (min-width: 992px){.m-80\@md\+{margin:80px !important}.mT-80\@md\+{margin-top:80px !important}.mR-80\@md\+{margin-right:80px !important}.mB-80\@md\+{margin-bottom:80px !important}.mL-80\@md\+{margin-left:80px !important}.mY-80\@md\+{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@md\+{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@md\+{margin:-80px !important}.mT-nv-80\@md\+{margin-top:-80px !important}.mR-nv-80\@md\+{margin-right:-80px !important}.mB-nv-80\@md\+{margin-bottom:-80px !important}.mL-nv-80\@md\+{margin-left:-80px !important}.mY-nv-80\@md\+{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@md\+{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (min-width: 768px){.m-80\@sm\+{margin:80px !important}.mT-80\@sm\+{margin-top:80px !important}.mR-80\@sm\+{margin-right:80px !important}.mB-80\@sm\+{margin-bottom:80px !important}.mL-80\@sm\+{margin-left:80px !important}.mY-80\@sm\+{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@sm\+{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@sm\+{margin:-80px !important}.mT-nv-80\@sm\+{margin-top:-80px !important}.mR-nv-80\@sm\+{margin-right:-80px !important}.mB-nv-80\@sm\+{margin-bottom:-80px !important}.mL-nv-80\@sm\+{margin-left:-80px !important}.mY-nv-80\@sm\+{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@sm\+{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (min-width: 0){.m-80\@xs\+{margin:80px !important}.mT-80\@xs\+{margin-top:80px !important}.mR-80\@xs\+{margin-right:80px !important}.mB-80\@xs\+{margin-bottom:80px !important}.mL-80\@xs\+{margin-left:80px !important}.mY-80\@xs\+{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@xs\+{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@xs\+{margin:-80px !important}.mT-nv-80\@xs\+{margin-top:-80px !important}.mR-nv-80\@xs\+{margin-right:-80px !important}.mB-nv-80\@xs\+{margin-bottom:-80px !important}.mL-nv-80\@xs\+{margin-left:-80px !important}.mY-nv-80\@xs\+{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@xs\+{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (max-width: 1439px){.m-80\@xl-{margin:80px !important}.mT-80\@xl-{margin-top:80px !important}.mR-80\@xl-{margin-right:80px !important}.mB-80\@xl-{margin-bottom:80px !important}.mL-80\@xl-{margin-left:80px !important}.mY-80\@xl-{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@xl-{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@xl-{margin:-80px !important}.mT-nv-80\@xl-{margin-top:-80px !important}.mR-nv-80\@xl-{margin-right:-80px !important}.mB-nv-80\@xl-{margin-bottom:-80px !important}.mL-nv-80\@xl-{margin-left:-80px !important}.mY-nv-80\@xl-{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@xl-{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (max-width: 1199px){.m-80\@lg-{margin:80px !important}.mT-80\@lg-{margin-top:80px !important}.mR-80\@lg-{margin-right:80px !important}.mB-80\@lg-{margin-bottom:80px !important}.mL-80\@lg-{margin-left:80px !important}.mY-80\@lg-{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@lg-{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@lg-{margin:-80px !important}.mT-nv-80\@lg-{margin-top:-80px !important}.mR-nv-80\@lg-{margin-right:-80px !important}.mB-nv-80\@lg-{margin-bottom:-80px !important}.mL-nv-80\@lg-{margin-left:-80px !important}.mY-nv-80\@lg-{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@lg-{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (max-width: 991px){.m-80\@md-{margin:80px !important}.mT-80\@md-{margin-top:80px !important}.mR-80\@md-{margin-right:80px !important}.mB-80\@md-{margin-bottom:80px !important}.mL-80\@md-{margin-left:80px !important}.mY-80\@md-{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@md-{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@md-{margin:-80px !important}.mT-nv-80\@md-{margin-top:-80px !important}.mR-nv-80\@md-{margin-right:-80px !important}.mB-nv-80\@md-{margin-bottom:-80px !important}.mL-nv-80\@md-{margin-left:-80px !important}.mY-nv-80\@md-{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@md-{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (max-width: 767px){.m-80\@sm-{margin:80px !important}.mT-80\@sm-{margin-top:80px !important}.mR-80\@sm-{margin-right:80px !important}.mB-80\@sm-{margin-bottom:80px !important}.mL-80\@sm-{margin-left:80px !important}.mY-80\@sm-{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@sm-{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@sm-{margin:-80px !important}.mT-nv-80\@sm-{margin-top:-80px !important}.mR-nv-80\@sm-{margin-right:-80px !important}.mB-nv-80\@sm-{margin-bottom:-80px !important}.mL-nv-80\@sm-{margin-left:-80px !important}.mY-nv-80\@sm-{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@sm-{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-80\@lg{margin:80px !important}.mT-80\@lg{margin-top:80px !important}.mR-80\@lg{margin-right:80px !important}.mB-80\@lg{margin-bottom:80px !important}.mL-80\@lg{margin-left:80px !important}.mY-80\@lg{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@lg{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@lg{margin:-80px !important}.mT-nv-80\@lg{margin-top:-80px !important}.mR-nv-80\@lg{margin-right:-80px !important}.mB-nv-80\@lg{margin-bottom:-80px !important}.mL-nv-80\@lg{margin-left:-80px !important}.mY-nv-80\@lg{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@lg{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-80\@md{margin:80px !important}.mT-80\@md{margin-top:80px !important}.mR-80\@md{margin-right:80px !important}.mB-80\@md{margin-bottom:80px !important}.mL-80\@md{margin-left:80px !important}.mY-80\@md{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@md{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@md{margin:-80px !important}.mT-nv-80\@md{margin-top:-80px !important}.mR-nv-80\@md{margin-right:-80px !important}.mB-nv-80\@md{margin-bottom:-80px !important}.mL-nv-80\@md{margin-left:-80px !important}.mY-nv-80\@md{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@md{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-80\@sm{margin:80px !important}.mT-80\@sm{margin-top:80px !important}.mR-80\@sm{margin-right:80px !important}.mB-80\@sm{margin-bottom:80px !important}.mL-80\@sm{margin-left:80px !important}.mY-80\@sm{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@sm{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@sm{margin:-80px !important}.mT-nv-80\@sm{margin-top:-80px !important}.mR-nv-80\@sm{margin-right:-80px !important}.mB-nv-80\@sm{margin-bottom:-80px !important}.mL-nv-80\@sm{margin-left:-80px !important}.mY-nv-80\@sm{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@sm{margin-left:-80px !important;margin-right:-80px !important}}.m-90{margin:90px !important}.mT-90{margin-top:90px !important}.mR-90{margin-right:90px !important}.mB-90{margin-bottom:90px !important}.mL-90{margin-left:90px !important}.mY-90{margin-top:90px !important;margin-bottom:90px !important}.mX-90{margin-left:90px !important;margin-right:90px !important}.m-nv-90{margin:-90px !important}.mT-nv-90{margin-top:-90px !important}.mR-nv-90{margin-right:-90px !important}.mB-nv-90{margin-bottom:-90px !important}.mL-nv-90{margin-left:-90px !important}.mY-nv-90{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90{margin-left:-90px !important;margin-right:-90px !important}@media screen and (min-width: 1440px){.m-90\@xl\+{margin:90px !important}.mT-90\@xl\+{margin-top:90px !important}.mR-90\@xl\+{margin-right:90px !important}.mB-90\@xl\+{margin-bottom:90px !important}.mL-90\@xl\+{margin-left:90px !important}.mY-90\@xl\+{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@xl\+{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@xl\+{margin:-90px !important}.mT-nv-90\@xl\+{margin-top:-90px !important}.mR-nv-90\@xl\+{margin-right:-90px !important}.mB-nv-90\@xl\+{margin-bottom:-90px !important}.mL-nv-90\@xl\+{margin-left:-90px !important}.mY-nv-90\@xl\+{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@xl\+{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (min-width: 1200px){.m-90\@lg\+{margin:90px !important}.mT-90\@lg\+{margin-top:90px !important}.mR-90\@lg\+{margin-right:90px !important}.mB-90\@lg\+{margin-bottom:90px !important}.mL-90\@lg\+{margin-left:90px !important}.mY-90\@lg\+{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@lg\+{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@lg\+{margin:-90px !important}.mT-nv-90\@lg\+{margin-top:-90px !important}.mR-nv-90\@lg\+{margin-right:-90px !important}.mB-nv-90\@lg\+{margin-bottom:-90px !important}.mL-nv-90\@lg\+{margin-left:-90px !important}.mY-nv-90\@lg\+{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@lg\+{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (min-width: 992px){.m-90\@md\+{margin:90px !important}.mT-90\@md\+{margin-top:90px !important}.mR-90\@md\+{margin-right:90px !important}.mB-90\@md\+{margin-bottom:90px !important}.mL-90\@md\+{margin-left:90px !important}.mY-90\@md\+{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@md\+{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@md\+{margin:-90px !important}.mT-nv-90\@md\+{margin-top:-90px !important}.mR-nv-90\@md\+{margin-right:-90px !important}.mB-nv-90\@md\+{margin-bottom:-90px !important}.mL-nv-90\@md\+{margin-left:-90px !important}.mY-nv-90\@md\+{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@md\+{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (min-width: 768px){.m-90\@sm\+{margin:90px !important}.mT-90\@sm\+{margin-top:90px !important}.mR-90\@sm\+{margin-right:90px !important}.mB-90\@sm\+{margin-bottom:90px !important}.mL-90\@sm\+{margin-left:90px !important}.mY-90\@sm\+{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@sm\+{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@sm\+{margin:-90px !important}.mT-nv-90\@sm\+{margin-top:-90px !important}.mR-nv-90\@sm\+{margin-right:-90px !important}.mB-nv-90\@sm\+{margin-bottom:-90px !important}.mL-nv-90\@sm\+{margin-left:-90px !important}.mY-nv-90\@sm\+{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@sm\+{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (min-width: 0){.m-90\@xs\+{margin:90px !important}.mT-90\@xs\+{margin-top:90px !important}.mR-90\@xs\+{margin-right:90px !important}.mB-90\@xs\+{margin-bottom:90px !important}.mL-90\@xs\+{margin-left:90px !important}.mY-90\@xs\+{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@xs\+{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@xs\+{margin:-90px !important}.mT-nv-90\@xs\+{margin-top:-90px !important}.mR-nv-90\@xs\+{margin-right:-90px !important}.mB-nv-90\@xs\+{margin-bottom:-90px !important}.mL-nv-90\@xs\+{margin-left:-90px !important}.mY-nv-90\@xs\+{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@xs\+{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (max-width: 1439px){.m-90\@xl-{margin:90px !important}.mT-90\@xl-{margin-top:90px !important}.mR-90\@xl-{margin-right:90px !important}.mB-90\@xl-{margin-bottom:90px !important}.mL-90\@xl-{margin-left:90px !important}.mY-90\@xl-{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@xl-{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@xl-{margin:-90px !important}.mT-nv-90\@xl-{margin-top:-90px !important}.mR-nv-90\@xl-{margin-right:-90px !important}.mB-nv-90\@xl-{margin-bottom:-90px !important}.mL-nv-90\@xl-{margin-left:-90px !important}.mY-nv-90\@xl-{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@xl-{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (max-width: 1199px){.m-90\@lg-{margin:90px !important}.mT-90\@lg-{margin-top:90px !important}.mR-90\@lg-{margin-right:90px !important}.mB-90\@lg-{margin-bottom:90px !important}.mL-90\@lg-{margin-left:90px !important}.mY-90\@lg-{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@lg-{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@lg-{margin:-90px !important}.mT-nv-90\@lg-{margin-top:-90px !important}.mR-nv-90\@lg-{margin-right:-90px !important}.mB-nv-90\@lg-{margin-bottom:-90px !important}.mL-nv-90\@lg-{margin-left:-90px !important}.mY-nv-90\@lg-{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@lg-{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (max-width: 991px){.m-90\@md-{margin:90px !important}.mT-90\@md-{margin-top:90px !important}.mR-90\@md-{margin-right:90px !important}.mB-90\@md-{margin-bottom:90px !important}.mL-90\@md-{margin-left:90px !important}.mY-90\@md-{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@md-{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@md-{margin:-90px !important}.mT-nv-90\@md-{margin-top:-90px !important}.mR-nv-90\@md-{margin-right:-90px !important}.mB-nv-90\@md-{margin-bottom:-90px !important}.mL-nv-90\@md-{margin-left:-90px !important}.mY-nv-90\@md-{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@md-{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (max-width: 767px){.m-90\@sm-{margin:90px !important}.mT-90\@sm-{margin-top:90px !important}.mR-90\@sm-{margin-right:90px !important}.mB-90\@sm-{margin-bottom:90px !important}.mL-90\@sm-{margin-left:90px !important}.mY-90\@sm-{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@sm-{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@sm-{margin:-90px !important}.mT-nv-90\@sm-{margin-top:-90px !important}.mR-nv-90\@sm-{margin-right:-90px !important}.mB-nv-90\@sm-{margin-bottom:-90px !important}.mL-nv-90\@sm-{margin-left:-90px !important}.mY-nv-90\@sm-{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@sm-{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-90\@lg{margin:90px !important}.mT-90\@lg{margin-top:90px !important}.mR-90\@lg{margin-right:90px !important}.mB-90\@lg{margin-bottom:90px !important}.mL-90\@lg{margin-left:90px !important}.mY-90\@lg{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@lg{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@lg{margin:-90px !important}.mT-nv-90\@lg{margin-top:-90px !important}.mR-nv-90\@lg{margin-right:-90px !important}.mB-nv-90\@lg{margin-bottom:-90px !important}.mL-nv-90\@lg{margin-left:-90px !important}.mY-nv-90\@lg{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@lg{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-90\@md{margin:90px !important}.mT-90\@md{margin-top:90px !important}.mR-90\@md{margin-right:90px !important}.mB-90\@md{margin-bottom:90px !important}.mL-90\@md{margin-left:90px !important}.mY-90\@md{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@md{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@md{margin:-90px !important}.mT-nv-90\@md{margin-top:-90px !important}.mR-nv-90\@md{margin-right:-90px !important}.mB-nv-90\@md{margin-bottom:-90px !important}.mL-nv-90\@md{margin-left:-90px !important}.mY-nv-90\@md{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@md{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-90\@sm{margin:90px !important}.mT-90\@sm{margin-top:90px !important}.mR-90\@sm{margin-right:90px !important}.mB-90\@sm{margin-bottom:90px !important}.mL-90\@sm{margin-left:90px !important}.mY-90\@sm{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@sm{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@sm{margin:-90px !important}.mT-nv-90\@sm{margin-top:-90px !important}.mR-nv-90\@sm{margin-right:-90px !important}.mB-nv-90\@sm{margin-bottom:-90px !important}.mL-nv-90\@sm{margin-left:-90px !important}.mY-nv-90\@sm{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@sm{margin-left:-90px !important;margin-right:-90px !important}}.m-100{margin:100px !important}.mT-100{margin-top:100px !important}.mR-100{margin-right:100px !important}.mB-100{margin-bottom:100px !important}.mL-100{margin-left:100px !important}.mY-100{margin-top:100px !important;margin-bottom:100px !important}.mX-100{margin-left:100px !important;margin-right:100px !important}.m-nv-100{margin:-100px !important}.mT-nv-100{margin-top:-100px !important}.mR-nv-100{margin-right:-100px !important}.mB-nv-100{margin-bottom:-100px !important}.mL-nv-100{margin-left:-100px !important}.mY-nv-100{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100{margin-left:-100px !important;margin-right:-100px !important}@media screen and (min-width: 1440px){.m-100\@xl\+{margin:100px !important}.mT-100\@xl\+{margin-top:100px !important}.mR-100\@xl\+{margin-right:100px !important}.mB-100\@xl\+{margin-bottom:100px !important}.mL-100\@xl\+{margin-left:100px !important}.mY-100\@xl\+{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@xl\+{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@xl\+{margin:-100px !important}.mT-nv-100\@xl\+{margin-top:-100px !important}.mR-nv-100\@xl\+{margin-right:-100px !important}.mB-nv-100\@xl\+{margin-bottom:-100px !important}.mL-nv-100\@xl\+{margin-left:-100px !important}.mY-nv-100\@xl\+{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@xl\+{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (min-width: 1200px){.m-100\@lg\+{margin:100px !important}.mT-100\@lg\+{margin-top:100px !important}.mR-100\@lg\+{margin-right:100px !important}.mB-100\@lg\+{margin-bottom:100px !important}.mL-100\@lg\+{margin-left:100px !important}.mY-100\@lg\+{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@lg\+{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@lg\+{margin:-100px !important}.mT-nv-100\@lg\+{margin-top:-100px !important}.mR-nv-100\@lg\+{margin-right:-100px !important}.mB-nv-100\@lg\+{margin-bottom:-100px !important}.mL-nv-100\@lg\+{margin-left:-100px !important}.mY-nv-100\@lg\+{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@lg\+{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (min-width: 992px){.m-100\@md\+{margin:100px !important}.mT-100\@md\+{margin-top:100px !important}.mR-100\@md\+{margin-right:100px !important}.mB-100\@md\+{margin-bottom:100px !important}.mL-100\@md\+{margin-left:100px !important}.mY-100\@md\+{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@md\+{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@md\+{margin:-100px !important}.mT-nv-100\@md\+{margin-top:-100px !important}.mR-nv-100\@md\+{margin-right:-100px !important}.mB-nv-100\@md\+{margin-bottom:-100px !important}.mL-nv-100\@md\+{margin-left:-100px !important}.mY-nv-100\@md\+{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@md\+{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (min-width: 768px){.m-100\@sm\+{margin:100px !important}.mT-100\@sm\+{margin-top:100px !important}.mR-100\@sm\+{margin-right:100px !important}.mB-100\@sm\+{margin-bottom:100px !important}.mL-100\@sm\+{margin-left:100px !important}.mY-100\@sm\+{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@sm\+{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@sm\+{margin:-100px !important}.mT-nv-100\@sm\+{margin-top:-100px !important}.mR-nv-100\@sm\+{margin-right:-100px !important}.mB-nv-100\@sm\+{margin-bottom:-100px !important}.mL-nv-100\@sm\+{margin-left:-100px !important}.mY-nv-100\@sm\+{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@sm\+{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (min-width: 0){.m-100\@xs\+{margin:100px !important}.mT-100\@xs\+{margin-top:100px !important}.mR-100\@xs\+{margin-right:100px !important}.mB-100\@xs\+{margin-bottom:100px !important}.mL-100\@xs\+{margin-left:100px !important}.mY-100\@xs\+{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@xs\+{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@xs\+{margin:-100px !important}.mT-nv-100\@xs\+{margin-top:-100px !important}.mR-nv-100\@xs\+{margin-right:-100px !important}.mB-nv-100\@xs\+{margin-bottom:-100px !important}.mL-nv-100\@xs\+{margin-left:-100px !important}.mY-nv-100\@xs\+{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@xs\+{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (max-width: 1439px){.m-100\@xl-{margin:100px !important}.mT-100\@xl-{margin-top:100px !important}.mR-100\@xl-{margin-right:100px !important}.mB-100\@xl-{margin-bottom:100px !important}.mL-100\@xl-{margin-left:100px !important}.mY-100\@xl-{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@xl-{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@xl-{margin:-100px !important}.mT-nv-100\@xl-{margin-top:-100px !important}.mR-nv-100\@xl-{margin-right:-100px !important}.mB-nv-100\@xl-{margin-bottom:-100px !important}.mL-nv-100\@xl-{margin-left:-100px !important}.mY-nv-100\@xl-{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@xl-{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (max-width: 1199px){.m-100\@lg-{margin:100px !important}.mT-100\@lg-{margin-top:100px !important}.mR-100\@lg-{margin-right:100px !important}.mB-100\@lg-{margin-bottom:100px !important}.mL-100\@lg-{margin-left:100px !important}.mY-100\@lg-{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@lg-{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@lg-{margin:-100px !important}.mT-nv-100\@lg-{margin-top:-100px !important}.mR-nv-100\@lg-{margin-right:-100px !important}.mB-nv-100\@lg-{margin-bottom:-100px !important}.mL-nv-100\@lg-{margin-left:-100px !important}.mY-nv-100\@lg-{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@lg-{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (max-width: 991px){.m-100\@md-{margin:100px !important}.mT-100\@md-{margin-top:100px !important}.mR-100\@md-{margin-right:100px !important}.mB-100\@md-{margin-bottom:100px !important}.mL-100\@md-{margin-left:100px !important}.mY-100\@md-{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@md-{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@md-{margin:-100px !important}.mT-nv-100\@md-{margin-top:-100px !important}.mR-nv-100\@md-{margin-right:-100px !important}.mB-nv-100\@md-{margin-bottom:-100px !important}.mL-nv-100\@md-{margin-left:-100px !important}.mY-nv-100\@md-{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@md-{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (max-width: 767px){.m-100\@sm-{margin:100px !important}.mT-100\@sm-{margin-top:100px !important}.mR-100\@sm-{margin-right:100px !important}.mB-100\@sm-{margin-bottom:100px !important}.mL-100\@sm-{margin-left:100px !important}.mY-100\@sm-{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@sm-{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@sm-{margin:-100px !important}.mT-nv-100\@sm-{margin-top:-100px !important}.mR-nv-100\@sm-{margin-right:-100px !important}.mB-nv-100\@sm-{margin-bottom:-100px !important}.mL-nv-100\@sm-{margin-left:-100px !important}.mY-nv-100\@sm-{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@sm-{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-100\@lg{margin:100px !important}.mT-100\@lg{margin-top:100px !important}.mR-100\@lg{margin-right:100px !important}.mB-100\@lg{margin-bottom:100px !important}.mL-100\@lg{margin-left:100px !important}.mY-100\@lg{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@lg{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@lg{margin:-100px !important}.mT-nv-100\@lg{margin-top:-100px !important}.mR-nv-100\@lg{margin-right:-100px !important}.mB-nv-100\@lg{margin-bottom:-100px !important}.mL-nv-100\@lg{margin-left:-100px !important}.mY-nv-100\@lg{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@lg{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-100\@md{margin:100px !important}.mT-100\@md{margin-top:100px !important}.mR-100\@md{margin-right:100px !important}.mB-100\@md{margin-bottom:100px !important}.mL-100\@md{margin-left:100px !important}.mY-100\@md{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@md{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@md{margin:-100px !important}.mT-nv-100\@md{margin-top:-100px !important}.mR-nv-100\@md{margin-right:-100px !important}.mB-nv-100\@md{margin-bottom:-100px !important}.mL-nv-100\@md{margin-left:-100px !important}.mY-nv-100\@md{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@md{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-100\@sm{margin:100px !important}.mT-100\@sm{margin-top:100px !important}.mR-100\@sm{margin-right:100px !important}.mB-100\@sm{margin-bottom:100px !important}.mL-100\@sm{margin-left:100px !important}.mY-100\@sm{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@sm{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@sm{margin:-100px !important}.mT-nv-100\@sm{margin-top:-100px !important}.mR-nv-100\@sm{margin-right:-100px !important}.mB-nv-100\@sm{margin-bottom:-100px !important}.mL-nv-100\@sm{margin-left:-100px !important}.mY-nv-100\@sm{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@sm{margin-left:-100px !important;margin-right:-100px !important}}.m-110{margin:110px !important}.mT-110{margin-top:110px !important}.mR-110{margin-right:110px !important}.mB-110{margin-bottom:110px !important}.mL-110{margin-left:110px !important}.mY-110{margin-top:110px !important;margin-bottom:110px !important}.mX-110{margin-left:110px !important;margin-right:110px !important}.m-nv-110{margin:-110px !important}.mT-nv-110{margin-top:-110px !important}.mR-nv-110{margin-right:-110px !important}.mB-nv-110{margin-bottom:-110px !important}.mL-nv-110{margin-left:-110px !important}.mY-nv-110{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110{margin-left:-110px !important;margin-right:-110px !important}@media screen and (min-width: 1440px){.m-110\@xl\+{margin:110px !important}.mT-110\@xl\+{margin-top:110px !important}.mR-110\@xl\+{margin-right:110px !important}.mB-110\@xl\+{margin-bottom:110px !important}.mL-110\@xl\+{margin-left:110px !important}.mY-110\@xl\+{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@xl\+{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@xl\+{margin:-110px !important}.mT-nv-110\@xl\+{margin-top:-110px !important}.mR-nv-110\@xl\+{margin-right:-110px !important}.mB-nv-110\@xl\+{margin-bottom:-110px !important}.mL-nv-110\@xl\+{margin-left:-110px !important}.mY-nv-110\@xl\+{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@xl\+{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (min-width: 1200px){.m-110\@lg\+{margin:110px !important}.mT-110\@lg\+{margin-top:110px !important}.mR-110\@lg\+{margin-right:110px !important}.mB-110\@lg\+{margin-bottom:110px !important}.mL-110\@lg\+{margin-left:110px !important}.mY-110\@lg\+{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@lg\+{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@lg\+{margin:-110px !important}.mT-nv-110\@lg\+{margin-top:-110px !important}.mR-nv-110\@lg\+{margin-right:-110px !important}.mB-nv-110\@lg\+{margin-bottom:-110px !important}.mL-nv-110\@lg\+{margin-left:-110px !important}.mY-nv-110\@lg\+{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@lg\+{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (min-width: 992px){.m-110\@md\+{margin:110px !important}.mT-110\@md\+{margin-top:110px !important}.mR-110\@md\+{margin-right:110px !important}.mB-110\@md\+{margin-bottom:110px !important}.mL-110\@md\+{margin-left:110px !important}.mY-110\@md\+{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@md\+{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@md\+{margin:-110px !important}.mT-nv-110\@md\+{margin-top:-110px !important}.mR-nv-110\@md\+{margin-right:-110px !important}.mB-nv-110\@md\+{margin-bottom:-110px !important}.mL-nv-110\@md\+{margin-left:-110px !important}.mY-nv-110\@md\+{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@md\+{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (min-width: 768px){.m-110\@sm\+{margin:110px !important}.mT-110\@sm\+{margin-top:110px !important}.mR-110\@sm\+{margin-right:110px !important}.mB-110\@sm\+{margin-bottom:110px !important}.mL-110\@sm\+{margin-left:110px !important}.mY-110\@sm\+{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@sm\+{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@sm\+{margin:-110px !important}.mT-nv-110\@sm\+{margin-top:-110px !important}.mR-nv-110\@sm\+{margin-right:-110px !important}.mB-nv-110\@sm\+{margin-bottom:-110px !important}.mL-nv-110\@sm\+{margin-left:-110px !important}.mY-nv-110\@sm\+{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@sm\+{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (min-width: 0){.m-110\@xs\+{margin:110px !important}.mT-110\@xs\+{margin-top:110px !important}.mR-110\@xs\+{margin-right:110px !important}.mB-110\@xs\+{margin-bottom:110px !important}.mL-110\@xs\+{margin-left:110px !important}.mY-110\@xs\+{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@xs\+{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@xs\+{margin:-110px !important}.mT-nv-110\@xs\+{margin-top:-110px !important}.mR-nv-110\@xs\+{margin-right:-110px !important}.mB-nv-110\@xs\+{margin-bottom:-110px !important}.mL-nv-110\@xs\+{margin-left:-110px !important}.mY-nv-110\@xs\+{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@xs\+{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (max-width: 1439px){.m-110\@xl-{margin:110px !important}.mT-110\@xl-{margin-top:110px !important}.mR-110\@xl-{margin-right:110px !important}.mB-110\@xl-{margin-bottom:110px !important}.mL-110\@xl-{margin-left:110px !important}.mY-110\@xl-{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@xl-{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@xl-{margin:-110px !important}.mT-nv-110\@xl-{margin-top:-110px !important}.mR-nv-110\@xl-{margin-right:-110px !important}.mB-nv-110\@xl-{margin-bottom:-110px !important}.mL-nv-110\@xl-{margin-left:-110px !important}.mY-nv-110\@xl-{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@xl-{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (max-width: 1199px){.m-110\@lg-{margin:110px !important}.mT-110\@lg-{margin-top:110px !important}.mR-110\@lg-{margin-right:110px !important}.mB-110\@lg-{margin-bottom:110px !important}.mL-110\@lg-{margin-left:110px !important}.mY-110\@lg-{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@lg-{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@lg-{margin:-110px !important}.mT-nv-110\@lg-{margin-top:-110px !important}.mR-nv-110\@lg-{margin-right:-110px !important}.mB-nv-110\@lg-{margin-bottom:-110px !important}.mL-nv-110\@lg-{margin-left:-110px !important}.mY-nv-110\@lg-{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@lg-{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (max-width: 991px){.m-110\@md-{margin:110px !important}.mT-110\@md-{margin-top:110px !important}.mR-110\@md-{margin-right:110px !important}.mB-110\@md-{margin-bottom:110px !important}.mL-110\@md-{margin-left:110px !important}.mY-110\@md-{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@md-{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@md-{margin:-110px !important}.mT-nv-110\@md-{margin-top:-110px !important}.mR-nv-110\@md-{margin-right:-110px !important}.mB-nv-110\@md-{margin-bottom:-110px !important}.mL-nv-110\@md-{margin-left:-110px !important}.mY-nv-110\@md-{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@md-{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (max-width: 767px){.m-110\@sm-{margin:110px !important}.mT-110\@sm-{margin-top:110px !important}.mR-110\@sm-{margin-right:110px !important}.mB-110\@sm-{margin-bottom:110px !important}.mL-110\@sm-{margin-left:110px !important}.mY-110\@sm-{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@sm-{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@sm-{margin:-110px !important}.mT-nv-110\@sm-{margin-top:-110px !important}.mR-nv-110\@sm-{margin-right:-110px !important}.mB-nv-110\@sm-{margin-bottom:-110px !important}.mL-nv-110\@sm-{margin-left:-110px !important}.mY-nv-110\@sm-{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@sm-{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-110\@lg{margin:110px !important}.mT-110\@lg{margin-top:110px !important}.mR-110\@lg{margin-right:110px !important}.mB-110\@lg{margin-bottom:110px !important}.mL-110\@lg{margin-left:110px !important}.mY-110\@lg{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@lg{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@lg{margin:-110px !important}.mT-nv-110\@lg{margin-top:-110px !important}.mR-nv-110\@lg{margin-right:-110px !important}.mB-nv-110\@lg{margin-bottom:-110px !important}.mL-nv-110\@lg{margin-left:-110px !important}.mY-nv-110\@lg{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@lg{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-110\@md{margin:110px !important}.mT-110\@md{margin-top:110px !important}.mR-110\@md{margin-right:110px !important}.mB-110\@md{margin-bottom:110px !important}.mL-110\@md{margin-left:110px !important}.mY-110\@md{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@md{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@md{margin:-110px !important}.mT-nv-110\@md{margin-top:-110px !important}.mR-nv-110\@md{margin-right:-110px !important}.mB-nv-110\@md{margin-bottom:-110px !important}.mL-nv-110\@md{margin-left:-110px !important}.mY-nv-110\@md{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@md{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-110\@sm{margin:110px !important}.mT-110\@sm{margin-top:110px !important}.mR-110\@sm{margin-right:110px !important}.mB-110\@sm{margin-bottom:110px !important}.mL-110\@sm{margin-left:110px !important}.mY-110\@sm{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@sm{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@sm{margin:-110px !important}.mT-nv-110\@sm{margin-top:-110px !important}.mR-nv-110\@sm{margin-right:-110px !important}.mB-nv-110\@sm{margin-bottom:-110px !important}.mL-nv-110\@sm{margin-left:-110px !important}.mY-nv-110\@sm{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@sm{margin-left:-110px !important;margin-right:-110px !important}}.m-120{margin:120px !important}.mT-120{margin-top:120px !important}.mR-120{margin-right:120px !important}.mB-120{margin-bottom:120px !important}.mL-120{margin-left:120px !important}.mY-120{margin-top:120px !important;margin-bottom:120px !important}.mX-120{margin-left:120px !important;margin-right:120px !important}.m-nv-120{margin:-120px !important}.mT-nv-120{margin-top:-120px !important}.mR-nv-120{margin-right:-120px !important}.mB-nv-120{margin-bottom:-120px !important}.mL-nv-120{margin-left:-120px !important}.mY-nv-120{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120{margin-left:-120px !important;margin-right:-120px !important}@media screen and (min-width: 1440px){.m-120\@xl\+{margin:120px !important}.mT-120\@xl\+{margin-top:120px !important}.mR-120\@xl\+{margin-right:120px !important}.mB-120\@xl\+{margin-bottom:120px !important}.mL-120\@xl\+{margin-left:120px !important}.mY-120\@xl\+{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@xl\+{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@xl\+{margin:-120px !important}.mT-nv-120\@xl\+{margin-top:-120px !important}.mR-nv-120\@xl\+{margin-right:-120px !important}.mB-nv-120\@xl\+{margin-bottom:-120px !important}.mL-nv-120\@xl\+{margin-left:-120px !important}.mY-nv-120\@xl\+{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@xl\+{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (min-width: 1200px){.m-120\@lg\+{margin:120px !important}.mT-120\@lg\+{margin-top:120px !important}.mR-120\@lg\+{margin-right:120px !important}.mB-120\@lg\+{margin-bottom:120px !important}.mL-120\@lg\+{margin-left:120px !important}.mY-120\@lg\+{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@lg\+{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@lg\+{margin:-120px !important}.mT-nv-120\@lg\+{margin-top:-120px !important}.mR-nv-120\@lg\+{margin-right:-120px !important}.mB-nv-120\@lg\+{margin-bottom:-120px !important}.mL-nv-120\@lg\+{margin-left:-120px !important}.mY-nv-120\@lg\+{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@lg\+{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (min-width: 992px){.m-120\@md\+{margin:120px !important}.mT-120\@md\+{margin-top:120px !important}.mR-120\@md\+{margin-right:120px !important}.mB-120\@md\+{margin-bottom:120px !important}.mL-120\@md\+{margin-left:120px !important}.mY-120\@md\+{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@md\+{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@md\+{margin:-120px !important}.mT-nv-120\@md\+{margin-top:-120px !important}.mR-nv-120\@md\+{margin-right:-120px !important}.mB-nv-120\@md\+{margin-bottom:-120px !important}.mL-nv-120\@md\+{margin-left:-120px !important}.mY-nv-120\@md\+{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@md\+{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (min-width: 768px){.m-120\@sm\+{margin:120px !important}.mT-120\@sm\+{margin-top:120px !important}.mR-120\@sm\+{margin-right:120px !important}.mB-120\@sm\+{margin-bottom:120px !important}.mL-120\@sm\+{margin-left:120px !important}.mY-120\@sm\+{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@sm\+{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@sm\+{margin:-120px !important}.mT-nv-120\@sm\+{margin-top:-120px !important}.mR-nv-120\@sm\+{margin-right:-120px !important}.mB-nv-120\@sm\+{margin-bottom:-120px !important}.mL-nv-120\@sm\+{margin-left:-120px !important}.mY-nv-120\@sm\+{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@sm\+{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (min-width: 0){.m-120\@xs\+{margin:120px !important}.mT-120\@xs\+{margin-top:120px !important}.mR-120\@xs\+{margin-right:120px !important}.mB-120\@xs\+{margin-bottom:120px !important}.mL-120\@xs\+{margin-left:120px !important}.mY-120\@xs\+{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@xs\+{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@xs\+{margin:-120px !important}.mT-nv-120\@xs\+{margin-top:-120px !important}.mR-nv-120\@xs\+{margin-right:-120px !important}.mB-nv-120\@xs\+{margin-bottom:-120px !important}.mL-nv-120\@xs\+{margin-left:-120px !important}.mY-nv-120\@xs\+{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@xs\+{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (max-width: 1439px){.m-120\@xl-{margin:120px !important}.mT-120\@xl-{margin-top:120px !important}.mR-120\@xl-{margin-right:120px !important}.mB-120\@xl-{margin-bottom:120px !important}.mL-120\@xl-{margin-left:120px !important}.mY-120\@xl-{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@xl-{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@xl-{margin:-120px !important}.mT-nv-120\@xl-{margin-top:-120px !important}.mR-nv-120\@xl-{margin-right:-120px !important}.mB-nv-120\@xl-{margin-bottom:-120px !important}.mL-nv-120\@xl-{margin-left:-120px !important}.mY-nv-120\@xl-{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@xl-{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (max-width: 1199px){.m-120\@lg-{margin:120px !important}.mT-120\@lg-{margin-top:120px !important}.mR-120\@lg-{margin-right:120px !important}.mB-120\@lg-{margin-bottom:120px !important}.mL-120\@lg-{margin-left:120px !important}.mY-120\@lg-{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@lg-{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@lg-{margin:-120px !important}.mT-nv-120\@lg-{margin-top:-120px !important}.mR-nv-120\@lg-{margin-right:-120px !important}.mB-nv-120\@lg-{margin-bottom:-120px !important}.mL-nv-120\@lg-{margin-left:-120px !important}.mY-nv-120\@lg-{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@lg-{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (max-width: 991px){.m-120\@md-{margin:120px !important}.mT-120\@md-{margin-top:120px !important}.mR-120\@md-{margin-right:120px !important}.mB-120\@md-{margin-bottom:120px !important}.mL-120\@md-{margin-left:120px !important}.mY-120\@md-{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@md-{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@md-{margin:-120px !important}.mT-nv-120\@md-{margin-top:-120px !important}.mR-nv-120\@md-{margin-right:-120px !important}.mB-nv-120\@md-{margin-bottom:-120px !important}.mL-nv-120\@md-{margin-left:-120px !important}.mY-nv-120\@md-{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@md-{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (max-width: 767px){.m-120\@sm-{margin:120px !important}.mT-120\@sm-{margin-top:120px !important}.mR-120\@sm-{margin-right:120px !important}.mB-120\@sm-{margin-bottom:120px !important}.mL-120\@sm-{margin-left:120px !important}.mY-120\@sm-{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@sm-{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@sm-{margin:-120px !important}.mT-nv-120\@sm-{margin-top:-120px !important}.mR-nv-120\@sm-{margin-right:-120px !important}.mB-nv-120\@sm-{margin-bottom:-120px !important}.mL-nv-120\@sm-{margin-left:-120px !important}.mY-nv-120\@sm-{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@sm-{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-120\@lg{margin:120px !important}.mT-120\@lg{margin-top:120px !important}.mR-120\@lg{margin-right:120px !important}.mB-120\@lg{margin-bottom:120px !important}.mL-120\@lg{margin-left:120px !important}.mY-120\@lg{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@lg{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@lg{margin:-120px !important}.mT-nv-120\@lg{margin-top:-120px !important}.mR-nv-120\@lg{margin-right:-120px !important}.mB-nv-120\@lg{margin-bottom:-120px !important}.mL-nv-120\@lg{margin-left:-120px !important}.mY-nv-120\@lg{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@lg{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-120\@md{margin:120px !important}.mT-120\@md{margin-top:120px !important}.mR-120\@md{margin-right:120px !important}.mB-120\@md{margin-bottom:120px !important}.mL-120\@md{margin-left:120px !important}.mY-120\@md{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@md{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@md{margin:-120px !important}.mT-nv-120\@md{margin-top:-120px !important}.mR-nv-120\@md{margin-right:-120px !important}.mB-nv-120\@md{margin-bottom:-120px !important}.mL-nv-120\@md{margin-left:-120px !important}.mY-nv-120\@md{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@md{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-120\@sm{margin:120px !important}.mT-120\@sm{margin-top:120px !important}.mR-120\@sm{margin-right:120px !important}.mB-120\@sm{margin-bottom:120px !important}.mL-120\@sm{margin-left:120px !important}.mY-120\@sm{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@sm{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@sm{margin:-120px !important}.mT-nv-120\@sm{margin-top:-120px !important}.mR-nv-120\@sm{margin-right:-120px !important}.mB-nv-120\@sm{margin-bottom:-120px !important}.mL-nv-120\@sm{margin-left:-120px !important}.mY-nv-120\@sm{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@sm{margin-left:-120px !important;margin-right:-120px !important}}.m-130{margin:130px !important}.mT-130{margin-top:130px !important}.mR-130{margin-right:130px !important}.mB-130{margin-bottom:130px !important}.mL-130{margin-left:130px !important}.mY-130{margin-top:130px !important;margin-bottom:130px !important}.mX-130{margin-left:130px !important;margin-right:130px !important}.m-nv-130{margin:-130px !important}.mT-nv-130{margin-top:-130px !important}.mR-nv-130{margin-right:-130px !important}.mB-nv-130{margin-bottom:-130px !important}.mL-nv-130{margin-left:-130px !important}.mY-nv-130{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130{margin-left:-130px !important;margin-right:-130px !important}@media screen and (min-width: 1440px){.m-130\@xl\+{margin:130px !important}.mT-130\@xl\+{margin-top:130px !important}.mR-130\@xl\+{margin-right:130px !important}.mB-130\@xl\+{margin-bottom:130px !important}.mL-130\@xl\+{margin-left:130px !important}.mY-130\@xl\+{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@xl\+{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@xl\+{margin:-130px !important}.mT-nv-130\@xl\+{margin-top:-130px !important}.mR-nv-130\@xl\+{margin-right:-130px !important}.mB-nv-130\@xl\+{margin-bottom:-130px !important}.mL-nv-130\@xl\+{margin-left:-130px !important}.mY-nv-130\@xl\+{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@xl\+{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (min-width: 1200px){.m-130\@lg\+{margin:130px !important}.mT-130\@lg\+{margin-top:130px !important}.mR-130\@lg\+{margin-right:130px !important}.mB-130\@lg\+{margin-bottom:130px !important}.mL-130\@lg\+{margin-left:130px !important}.mY-130\@lg\+{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@lg\+{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@lg\+{margin:-130px !important}.mT-nv-130\@lg\+{margin-top:-130px !important}.mR-nv-130\@lg\+{margin-right:-130px !important}.mB-nv-130\@lg\+{margin-bottom:-130px !important}.mL-nv-130\@lg\+{margin-left:-130px !important}.mY-nv-130\@lg\+{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@lg\+{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (min-width: 992px){.m-130\@md\+{margin:130px !important}.mT-130\@md\+{margin-top:130px !important}.mR-130\@md\+{margin-right:130px !important}.mB-130\@md\+{margin-bottom:130px !important}.mL-130\@md\+{margin-left:130px !important}.mY-130\@md\+{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@md\+{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@md\+{margin:-130px !important}.mT-nv-130\@md\+{margin-top:-130px !important}.mR-nv-130\@md\+{margin-right:-130px !important}.mB-nv-130\@md\+{margin-bottom:-130px !important}.mL-nv-130\@md\+{margin-left:-130px !important}.mY-nv-130\@md\+{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@md\+{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (min-width: 768px){.m-130\@sm\+{margin:130px !important}.mT-130\@sm\+{margin-top:130px !important}.mR-130\@sm\+{margin-right:130px !important}.mB-130\@sm\+{margin-bottom:130px !important}.mL-130\@sm\+{margin-left:130px !important}.mY-130\@sm\+{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@sm\+{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@sm\+{margin:-130px !important}.mT-nv-130\@sm\+{margin-top:-130px !important}.mR-nv-130\@sm\+{margin-right:-130px !important}.mB-nv-130\@sm\+{margin-bottom:-130px !important}.mL-nv-130\@sm\+{margin-left:-130px !important}.mY-nv-130\@sm\+{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@sm\+{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (min-width: 0){.m-130\@xs\+{margin:130px !important}.mT-130\@xs\+{margin-top:130px !important}.mR-130\@xs\+{margin-right:130px !important}.mB-130\@xs\+{margin-bottom:130px !important}.mL-130\@xs\+{margin-left:130px !important}.mY-130\@xs\+{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@xs\+{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@xs\+{margin:-130px !important}.mT-nv-130\@xs\+{margin-top:-130px !important}.mR-nv-130\@xs\+{margin-right:-130px !important}.mB-nv-130\@xs\+{margin-bottom:-130px !important}.mL-nv-130\@xs\+{margin-left:-130px !important}.mY-nv-130\@xs\+{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@xs\+{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (max-width: 1439px){.m-130\@xl-{margin:130px !important}.mT-130\@xl-{margin-top:130px !important}.mR-130\@xl-{margin-right:130px !important}.mB-130\@xl-{margin-bottom:130px !important}.mL-130\@xl-{margin-left:130px !important}.mY-130\@xl-{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@xl-{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@xl-{margin:-130px !important}.mT-nv-130\@xl-{margin-top:-130px !important}.mR-nv-130\@xl-{margin-right:-130px !important}.mB-nv-130\@xl-{margin-bottom:-130px !important}.mL-nv-130\@xl-{margin-left:-130px !important}.mY-nv-130\@xl-{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@xl-{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (max-width: 1199px){.m-130\@lg-{margin:130px !important}.mT-130\@lg-{margin-top:130px !important}.mR-130\@lg-{margin-right:130px !important}.mB-130\@lg-{margin-bottom:130px !important}.mL-130\@lg-{margin-left:130px !important}.mY-130\@lg-{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@lg-{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@lg-{margin:-130px !important}.mT-nv-130\@lg-{margin-top:-130px !important}.mR-nv-130\@lg-{margin-right:-130px !important}.mB-nv-130\@lg-{margin-bottom:-130px !important}.mL-nv-130\@lg-{margin-left:-130px !important}.mY-nv-130\@lg-{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@lg-{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (max-width: 991px){.m-130\@md-{margin:130px !important}.mT-130\@md-{margin-top:130px !important}.mR-130\@md-{margin-right:130px !important}.mB-130\@md-{margin-bottom:130px !important}.mL-130\@md-{margin-left:130px !important}.mY-130\@md-{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@md-{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@md-{margin:-130px !important}.mT-nv-130\@md-{margin-top:-130px !important}.mR-nv-130\@md-{margin-right:-130px !important}.mB-nv-130\@md-{margin-bottom:-130px !important}.mL-nv-130\@md-{margin-left:-130px !important}.mY-nv-130\@md-{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@md-{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (max-width: 767px){.m-130\@sm-{margin:130px !important}.mT-130\@sm-{margin-top:130px !important}.mR-130\@sm-{margin-right:130px !important}.mB-130\@sm-{margin-bottom:130px !important}.mL-130\@sm-{margin-left:130px !important}.mY-130\@sm-{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@sm-{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@sm-{margin:-130px !important}.mT-nv-130\@sm-{margin-top:-130px !important}.mR-nv-130\@sm-{margin-right:-130px !important}.mB-nv-130\@sm-{margin-bottom:-130px !important}.mL-nv-130\@sm-{margin-left:-130px !important}.mY-nv-130\@sm-{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@sm-{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-130\@lg{margin:130px !important}.mT-130\@lg{margin-top:130px !important}.mR-130\@lg{margin-right:130px !important}.mB-130\@lg{margin-bottom:130px !important}.mL-130\@lg{margin-left:130px !important}.mY-130\@lg{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@lg{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@lg{margin:-130px !important}.mT-nv-130\@lg{margin-top:-130px !important}.mR-nv-130\@lg{margin-right:-130px !important}.mB-nv-130\@lg{margin-bottom:-130px !important}.mL-nv-130\@lg{margin-left:-130px !important}.mY-nv-130\@lg{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@lg{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-130\@md{margin:130px !important}.mT-130\@md{margin-top:130px !important}.mR-130\@md{margin-right:130px !important}.mB-130\@md{margin-bottom:130px !important}.mL-130\@md{margin-left:130px !important}.mY-130\@md{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@md{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@md{margin:-130px !important}.mT-nv-130\@md{margin-top:-130px !important}.mR-nv-130\@md{margin-right:-130px !important}.mB-nv-130\@md{margin-bottom:-130px !important}.mL-nv-130\@md{margin-left:-130px !important}.mY-nv-130\@md{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@md{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-130\@sm{margin:130px !important}.mT-130\@sm{margin-top:130px !important}.mR-130\@sm{margin-right:130px !important}.mB-130\@sm{margin-bottom:130px !important}.mL-130\@sm{margin-left:130px !important}.mY-130\@sm{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@sm{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@sm{margin:-130px !important}.mT-nv-130\@sm{margin-top:-130px !important}.mR-nv-130\@sm{margin-right:-130px !important}.mB-nv-130\@sm{margin-bottom:-130px !important}.mL-nv-130\@sm{margin-left:-130px !important}.mY-nv-130\@sm{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@sm{margin-left:-130px !important;margin-right:-130px !important}}.m-140{margin:140px !important}.mT-140{margin-top:140px !important}.mR-140{margin-right:140px !important}.mB-140{margin-bottom:140px !important}.mL-140{margin-left:140px !important}.mY-140{margin-top:140px !important;margin-bottom:140px !important}.mX-140{margin-left:140px !important;margin-right:140px !important}.m-nv-140{margin:-140px !important}.mT-nv-140{margin-top:-140px !important}.mR-nv-140{margin-right:-140px !important}.mB-nv-140{margin-bottom:-140px !important}.mL-nv-140{margin-left:-140px !important}.mY-nv-140{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140{margin-left:-140px !important;margin-right:-140px !important}@media screen and (min-width: 1440px){.m-140\@xl\+{margin:140px !important}.mT-140\@xl\+{margin-top:140px !important}.mR-140\@xl\+{margin-right:140px !important}.mB-140\@xl\+{margin-bottom:140px !important}.mL-140\@xl\+{margin-left:140px !important}.mY-140\@xl\+{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@xl\+{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@xl\+{margin:-140px !important}.mT-nv-140\@xl\+{margin-top:-140px !important}.mR-nv-140\@xl\+{margin-right:-140px !important}.mB-nv-140\@xl\+{margin-bottom:-140px !important}.mL-nv-140\@xl\+{margin-left:-140px !important}.mY-nv-140\@xl\+{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@xl\+{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (min-width: 1200px){.m-140\@lg\+{margin:140px !important}.mT-140\@lg\+{margin-top:140px !important}.mR-140\@lg\+{margin-right:140px !important}.mB-140\@lg\+{margin-bottom:140px !important}.mL-140\@lg\+{margin-left:140px !important}.mY-140\@lg\+{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@lg\+{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@lg\+{margin:-140px !important}.mT-nv-140\@lg\+{margin-top:-140px !important}.mR-nv-140\@lg\+{margin-right:-140px !important}.mB-nv-140\@lg\+{margin-bottom:-140px !important}.mL-nv-140\@lg\+{margin-left:-140px !important}.mY-nv-140\@lg\+{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@lg\+{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (min-width: 992px){.m-140\@md\+{margin:140px !important}.mT-140\@md\+{margin-top:140px !important}.mR-140\@md\+{margin-right:140px !important}.mB-140\@md\+{margin-bottom:140px !important}.mL-140\@md\+{margin-left:140px !important}.mY-140\@md\+{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@md\+{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@md\+{margin:-140px !important}.mT-nv-140\@md\+{margin-top:-140px !important}.mR-nv-140\@md\+{margin-right:-140px !important}.mB-nv-140\@md\+{margin-bottom:-140px !important}.mL-nv-140\@md\+{margin-left:-140px !important}.mY-nv-140\@md\+{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@md\+{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (min-width: 768px){.m-140\@sm\+{margin:140px !important}.mT-140\@sm\+{margin-top:140px !important}.mR-140\@sm\+{margin-right:140px !important}.mB-140\@sm\+{margin-bottom:140px !important}.mL-140\@sm\+{margin-left:140px !important}.mY-140\@sm\+{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@sm\+{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@sm\+{margin:-140px !important}.mT-nv-140\@sm\+{margin-top:-140px !important}.mR-nv-140\@sm\+{margin-right:-140px !important}.mB-nv-140\@sm\+{margin-bottom:-140px !important}.mL-nv-140\@sm\+{margin-left:-140px !important}.mY-nv-140\@sm\+{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@sm\+{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (min-width: 0){.m-140\@xs\+{margin:140px !important}.mT-140\@xs\+{margin-top:140px !important}.mR-140\@xs\+{margin-right:140px !important}.mB-140\@xs\+{margin-bottom:140px !important}.mL-140\@xs\+{margin-left:140px !important}.mY-140\@xs\+{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@xs\+{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@xs\+{margin:-140px !important}.mT-nv-140\@xs\+{margin-top:-140px !important}.mR-nv-140\@xs\+{margin-right:-140px !important}.mB-nv-140\@xs\+{margin-bottom:-140px !important}.mL-nv-140\@xs\+{margin-left:-140px !important}.mY-nv-140\@xs\+{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@xs\+{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (max-width: 1439px){.m-140\@xl-{margin:140px !important}.mT-140\@xl-{margin-top:140px !important}.mR-140\@xl-{margin-right:140px !important}.mB-140\@xl-{margin-bottom:140px !important}.mL-140\@xl-{margin-left:140px !important}.mY-140\@xl-{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@xl-{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@xl-{margin:-140px !important}.mT-nv-140\@xl-{margin-top:-140px !important}.mR-nv-140\@xl-{margin-right:-140px !important}.mB-nv-140\@xl-{margin-bottom:-140px !important}.mL-nv-140\@xl-{margin-left:-140px !important}.mY-nv-140\@xl-{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@xl-{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (max-width: 1199px){.m-140\@lg-{margin:140px !important}.mT-140\@lg-{margin-top:140px !important}.mR-140\@lg-{margin-right:140px !important}.mB-140\@lg-{margin-bottom:140px !important}.mL-140\@lg-{margin-left:140px !important}.mY-140\@lg-{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@lg-{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@lg-{margin:-140px !important}.mT-nv-140\@lg-{margin-top:-140px !important}.mR-nv-140\@lg-{margin-right:-140px !important}.mB-nv-140\@lg-{margin-bottom:-140px !important}.mL-nv-140\@lg-{margin-left:-140px !important}.mY-nv-140\@lg-{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@lg-{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (max-width: 991px){.m-140\@md-{margin:140px !important}.mT-140\@md-{margin-top:140px !important}.mR-140\@md-{margin-right:140px !important}.mB-140\@md-{margin-bottom:140px !important}.mL-140\@md-{margin-left:140px !important}.mY-140\@md-{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@md-{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@md-{margin:-140px !important}.mT-nv-140\@md-{margin-top:-140px !important}.mR-nv-140\@md-{margin-right:-140px !important}.mB-nv-140\@md-{margin-bottom:-140px !important}.mL-nv-140\@md-{margin-left:-140px !important}.mY-nv-140\@md-{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@md-{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (max-width: 767px){.m-140\@sm-{margin:140px !important}.mT-140\@sm-{margin-top:140px !important}.mR-140\@sm-{margin-right:140px !important}.mB-140\@sm-{margin-bottom:140px !important}.mL-140\@sm-{margin-left:140px !important}.mY-140\@sm-{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@sm-{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@sm-{margin:-140px !important}.mT-nv-140\@sm-{margin-top:-140px !important}.mR-nv-140\@sm-{margin-right:-140px !important}.mB-nv-140\@sm-{margin-bottom:-140px !important}.mL-nv-140\@sm-{margin-left:-140px !important}.mY-nv-140\@sm-{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@sm-{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-140\@lg{margin:140px !important}.mT-140\@lg{margin-top:140px !important}.mR-140\@lg{margin-right:140px !important}.mB-140\@lg{margin-bottom:140px !important}.mL-140\@lg{margin-left:140px !important}.mY-140\@lg{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@lg{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@lg{margin:-140px !important}.mT-nv-140\@lg{margin-top:-140px !important}.mR-nv-140\@lg{margin-right:-140px !important}.mB-nv-140\@lg{margin-bottom:-140px !important}.mL-nv-140\@lg{margin-left:-140px !important}.mY-nv-140\@lg{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@lg{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-140\@md{margin:140px !important}.mT-140\@md{margin-top:140px !important}.mR-140\@md{margin-right:140px !important}.mB-140\@md{margin-bottom:140px !important}.mL-140\@md{margin-left:140px !important}.mY-140\@md{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@md{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@md{margin:-140px !important}.mT-nv-140\@md{margin-top:-140px !important}.mR-nv-140\@md{margin-right:-140px !important}.mB-nv-140\@md{margin-bottom:-140px !important}.mL-nv-140\@md{margin-left:-140px !important}.mY-nv-140\@md{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@md{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-140\@sm{margin:140px !important}.mT-140\@sm{margin-top:140px !important}.mR-140\@sm{margin-right:140px !important}.mB-140\@sm{margin-bottom:140px !important}.mL-140\@sm{margin-left:140px !important}.mY-140\@sm{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@sm{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@sm{margin:-140px !important}.mT-nv-140\@sm{margin-top:-140px !important}.mR-nv-140\@sm{margin-right:-140px !important}.mB-nv-140\@sm{margin-bottom:-140px !important}.mL-nv-140\@sm{margin-left:-140px !important}.mY-nv-140\@sm{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@sm{margin-left:-140px !important;margin-right:-140px !important}}.m-150{margin:150px !important}.mT-150{margin-top:150px !important}.mR-150{margin-right:150px !important}.mB-150{margin-bottom:150px !important}.mL-150{margin-left:150px !important}.mY-150{margin-top:150px !important;margin-bottom:150px !important}.mX-150{margin-left:150px !important;margin-right:150px !important}.m-nv-150{margin:-150px !important}.mT-nv-150{margin-top:-150px !important}.mR-nv-150{margin-right:-150px !important}.mB-nv-150{margin-bottom:-150px !important}.mL-nv-150{margin-left:-150px !important}.mY-nv-150{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150{margin-left:-150px !important;margin-right:-150px !important}@media screen and (min-width: 1440px){.m-150\@xl\+{margin:150px !important}.mT-150\@xl\+{margin-top:150px !important}.mR-150\@xl\+{margin-right:150px !important}.mB-150\@xl\+{margin-bottom:150px !important}.mL-150\@xl\+{margin-left:150px !important}.mY-150\@xl\+{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@xl\+{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@xl\+{margin:-150px !important}.mT-nv-150\@xl\+{margin-top:-150px !important}.mR-nv-150\@xl\+{margin-right:-150px !important}.mB-nv-150\@xl\+{margin-bottom:-150px !important}.mL-nv-150\@xl\+{margin-left:-150px !important}.mY-nv-150\@xl\+{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@xl\+{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (min-width: 1200px){.m-150\@lg\+{margin:150px !important}.mT-150\@lg\+{margin-top:150px !important}.mR-150\@lg\+{margin-right:150px !important}.mB-150\@lg\+{margin-bottom:150px !important}.mL-150\@lg\+{margin-left:150px !important}.mY-150\@lg\+{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@lg\+{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@lg\+{margin:-150px !important}.mT-nv-150\@lg\+{margin-top:-150px !important}.mR-nv-150\@lg\+{margin-right:-150px !important}.mB-nv-150\@lg\+{margin-bottom:-150px !important}.mL-nv-150\@lg\+{margin-left:-150px !important}.mY-nv-150\@lg\+{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@lg\+{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (min-width: 992px){.m-150\@md\+{margin:150px !important}.mT-150\@md\+{margin-top:150px !important}.mR-150\@md\+{margin-right:150px !important}.mB-150\@md\+{margin-bottom:150px !important}.mL-150\@md\+{margin-left:150px !important}.mY-150\@md\+{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@md\+{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@md\+{margin:-150px !important}.mT-nv-150\@md\+{margin-top:-150px !important}.mR-nv-150\@md\+{margin-right:-150px !important}.mB-nv-150\@md\+{margin-bottom:-150px !important}.mL-nv-150\@md\+{margin-left:-150px !important}.mY-nv-150\@md\+{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@md\+{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (min-width: 768px){.m-150\@sm\+{margin:150px !important}.mT-150\@sm\+{margin-top:150px !important}.mR-150\@sm\+{margin-right:150px !important}.mB-150\@sm\+{margin-bottom:150px !important}.mL-150\@sm\+{margin-left:150px !important}.mY-150\@sm\+{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@sm\+{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@sm\+{margin:-150px !important}.mT-nv-150\@sm\+{margin-top:-150px !important}.mR-nv-150\@sm\+{margin-right:-150px !important}.mB-nv-150\@sm\+{margin-bottom:-150px !important}.mL-nv-150\@sm\+{margin-left:-150px !important}.mY-nv-150\@sm\+{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@sm\+{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (min-width: 0){.m-150\@xs\+{margin:150px !important}.mT-150\@xs\+{margin-top:150px !important}.mR-150\@xs\+{margin-right:150px !important}.mB-150\@xs\+{margin-bottom:150px !important}.mL-150\@xs\+{margin-left:150px !important}.mY-150\@xs\+{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@xs\+{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@xs\+{margin:-150px !important}.mT-nv-150\@xs\+{margin-top:-150px !important}.mR-nv-150\@xs\+{margin-right:-150px !important}.mB-nv-150\@xs\+{margin-bottom:-150px !important}.mL-nv-150\@xs\+{margin-left:-150px !important}.mY-nv-150\@xs\+{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@xs\+{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (max-width: 1439px){.m-150\@xl-{margin:150px !important}.mT-150\@xl-{margin-top:150px !important}.mR-150\@xl-{margin-right:150px !important}.mB-150\@xl-{margin-bottom:150px !important}.mL-150\@xl-{margin-left:150px !important}.mY-150\@xl-{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@xl-{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@xl-{margin:-150px !important}.mT-nv-150\@xl-{margin-top:-150px !important}.mR-nv-150\@xl-{margin-right:-150px !important}.mB-nv-150\@xl-{margin-bottom:-150px !important}.mL-nv-150\@xl-{margin-left:-150px !important}.mY-nv-150\@xl-{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@xl-{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (max-width: 1199px){.m-150\@lg-{margin:150px !important}.mT-150\@lg-{margin-top:150px !important}.mR-150\@lg-{margin-right:150px !important}.mB-150\@lg-{margin-bottom:150px !important}.mL-150\@lg-{margin-left:150px !important}.mY-150\@lg-{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@lg-{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@lg-{margin:-150px !important}.mT-nv-150\@lg-{margin-top:-150px !important}.mR-nv-150\@lg-{margin-right:-150px !important}.mB-nv-150\@lg-{margin-bottom:-150px !important}.mL-nv-150\@lg-{margin-left:-150px !important}.mY-nv-150\@lg-{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@lg-{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (max-width: 991px){.m-150\@md-{margin:150px !important}.mT-150\@md-{margin-top:150px !important}.mR-150\@md-{margin-right:150px !important}.mB-150\@md-{margin-bottom:150px !important}.mL-150\@md-{margin-left:150px !important}.mY-150\@md-{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@md-{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@md-{margin:-150px !important}.mT-nv-150\@md-{margin-top:-150px !important}.mR-nv-150\@md-{margin-right:-150px !important}.mB-nv-150\@md-{margin-bottom:-150px !important}.mL-nv-150\@md-{margin-left:-150px !important}.mY-nv-150\@md-{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@md-{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (max-width: 767px){.m-150\@sm-{margin:150px !important}.mT-150\@sm-{margin-top:150px !important}.mR-150\@sm-{margin-right:150px !important}.mB-150\@sm-{margin-bottom:150px !important}.mL-150\@sm-{margin-left:150px !important}.mY-150\@sm-{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@sm-{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@sm-{margin:-150px !important}.mT-nv-150\@sm-{margin-top:-150px !important}.mR-nv-150\@sm-{margin-right:-150px !important}.mB-nv-150\@sm-{margin-bottom:-150px !important}.mL-nv-150\@sm-{margin-left:-150px !important}.mY-nv-150\@sm-{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@sm-{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-150\@lg{margin:150px !important}.mT-150\@lg{margin-top:150px !important}.mR-150\@lg{margin-right:150px !important}.mB-150\@lg{margin-bottom:150px !important}.mL-150\@lg{margin-left:150px !important}.mY-150\@lg{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@lg{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@lg{margin:-150px !important}.mT-nv-150\@lg{margin-top:-150px !important}.mR-nv-150\@lg{margin-right:-150px !important}.mB-nv-150\@lg{margin-bottom:-150px !important}.mL-nv-150\@lg{margin-left:-150px !important}.mY-nv-150\@lg{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@lg{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-150\@md{margin:150px !important}.mT-150\@md{margin-top:150px !important}.mR-150\@md{margin-right:150px !important}.mB-150\@md{margin-bottom:150px !important}.mL-150\@md{margin-left:150px !important}.mY-150\@md{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@md{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@md{margin:-150px !important}.mT-nv-150\@md{margin-top:-150px !important}.mR-nv-150\@md{margin-right:-150px !important}.mB-nv-150\@md{margin-bottom:-150px !important}.mL-nv-150\@md{margin-left:-150px !important}.mY-nv-150\@md{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@md{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-150\@sm{margin:150px !important}.mT-150\@sm{margin-top:150px !important}.mR-150\@sm{margin-right:150px !important}.mB-150\@sm{margin-bottom:150px !important}.mL-150\@sm{margin-left:150px !important}.mY-150\@sm{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@sm{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@sm{margin:-150px !important}.mT-nv-150\@sm{margin-top:-150px !important}.mR-nv-150\@sm{margin-right:-150px !important}.mB-nv-150\@sm{margin-bottom:-150px !important}.mL-nv-150\@sm{margin-left:-150px !important}.mY-nv-150\@sm{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@sm{margin-left:-150px !important;margin-right:-150px !important}}.m-160{margin:160px !important}.mT-160{margin-top:160px !important}.mR-160{margin-right:160px !important}.mB-160{margin-bottom:160px !important}.mL-160{margin-left:160px !important}.mY-160{margin-top:160px !important;margin-bottom:160px !important}.mX-160{margin-left:160px !important;margin-right:160px !important}.m-nv-160{margin:-160px !important}.mT-nv-160{margin-top:-160px !important}.mR-nv-160{margin-right:-160px !important}.mB-nv-160{margin-bottom:-160px !important}.mL-nv-160{margin-left:-160px !important}.mY-nv-160{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160{margin-left:-160px !important;margin-right:-160px !important}@media screen and (min-width: 1440px){.m-160\@xl\+{margin:160px !important}.mT-160\@xl\+{margin-top:160px !important}.mR-160\@xl\+{margin-right:160px !important}.mB-160\@xl\+{margin-bottom:160px !important}.mL-160\@xl\+{margin-left:160px !important}.mY-160\@xl\+{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@xl\+{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@xl\+{margin:-160px !important}.mT-nv-160\@xl\+{margin-top:-160px !important}.mR-nv-160\@xl\+{margin-right:-160px !important}.mB-nv-160\@xl\+{margin-bottom:-160px !important}.mL-nv-160\@xl\+{margin-left:-160px !important}.mY-nv-160\@xl\+{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@xl\+{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (min-width: 1200px){.m-160\@lg\+{margin:160px !important}.mT-160\@lg\+{margin-top:160px !important}.mR-160\@lg\+{margin-right:160px !important}.mB-160\@lg\+{margin-bottom:160px !important}.mL-160\@lg\+{margin-left:160px !important}.mY-160\@lg\+{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@lg\+{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@lg\+{margin:-160px !important}.mT-nv-160\@lg\+{margin-top:-160px !important}.mR-nv-160\@lg\+{margin-right:-160px !important}.mB-nv-160\@lg\+{margin-bottom:-160px !important}.mL-nv-160\@lg\+{margin-left:-160px !important}.mY-nv-160\@lg\+{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@lg\+{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (min-width: 992px){.m-160\@md\+{margin:160px !important}.mT-160\@md\+{margin-top:160px !important}.mR-160\@md\+{margin-right:160px !important}.mB-160\@md\+{margin-bottom:160px !important}.mL-160\@md\+{margin-left:160px !important}.mY-160\@md\+{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@md\+{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@md\+{margin:-160px !important}.mT-nv-160\@md\+{margin-top:-160px !important}.mR-nv-160\@md\+{margin-right:-160px !important}.mB-nv-160\@md\+{margin-bottom:-160px !important}.mL-nv-160\@md\+{margin-left:-160px !important}.mY-nv-160\@md\+{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@md\+{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (min-width: 768px){.m-160\@sm\+{margin:160px !important}.mT-160\@sm\+{margin-top:160px !important}.mR-160\@sm\+{margin-right:160px !important}.mB-160\@sm\+{margin-bottom:160px !important}.mL-160\@sm\+{margin-left:160px !important}.mY-160\@sm\+{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@sm\+{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@sm\+{margin:-160px !important}.mT-nv-160\@sm\+{margin-top:-160px !important}.mR-nv-160\@sm\+{margin-right:-160px !important}.mB-nv-160\@sm\+{margin-bottom:-160px !important}.mL-nv-160\@sm\+{margin-left:-160px !important}.mY-nv-160\@sm\+{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@sm\+{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (min-width: 0){.m-160\@xs\+{margin:160px !important}.mT-160\@xs\+{margin-top:160px !important}.mR-160\@xs\+{margin-right:160px !important}.mB-160\@xs\+{margin-bottom:160px !important}.mL-160\@xs\+{margin-left:160px !important}.mY-160\@xs\+{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@xs\+{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@xs\+{margin:-160px !important}.mT-nv-160\@xs\+{margin-top:-160px !important}.mR-nv-160\@xs\+{margin-right:-160px !important}.mB-nv-160\@xs\+{margin-bottom:-160px !important}.mL-nv-160\@xs\+{margin-left:-160px !important}.mY-nv-160\@xs\+{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@xs\+{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (max-width: 1439px){.m-160\@xl-{margin:160px !important}.mT-160\@xl-{margin-top:160px !important}.mR-160\@xl-{margin-right:160px !important}.mB-160\@xl-{margin-bottom:160px !important}.mL-160\@xl-{margin-left:160px !important}.mY-160\@xl-{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@xl-{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@xl-{margin:-160px !important}.mT-nv-160\@xl-{margin-top:-160px !important}.mR-nv-160\@xl-{margin-right:-160px !important}.mB-nv-160\@xl-{margin-bottom:-160px !important}.mL-nv-160\@xl-{margin-left:-160px !important}.mY-nv-160\@xl-{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@xl-{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (max-width: 1199px){.m-160\@lg-{margin:160px !important}.mT-160\@lg-{margin-top:160px !important}.mR-160\@lg-{margin-right:160px !important}.mB-160\@lg-{margin-bottom:160px !important}.mL-160\@lg-{margin-left:160px !important}.mY-160\@lg-{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@lg-{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@lg-{margin:-160px !important}.mT-nv-160\@lg-{margin-top:-160px !important}.mR-nv-160\@lg-{margin-right:-160px !important}.mB-nv-160\@lg-{margin-bottom:-160px !important}.mL-nv-160\@lg-{margin-left:-160px !important}.mY-nv-160\@lg-{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@lg-{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (max-width: 991px){.m-160\@md-{margin:160px !important}.mT-160\@md-{margin-top:160px !important}.mR-160\@md-{margin-right:160px !important}.mB-160\@md-{margin-bottom:160px !important}.mL-160\@md-{margin-left:160px !important}.mY-160\@md-{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@md-{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@md-{margin:-160px !important}.mT-nv-160\@md-{margin-top:-160px !important}.mR-nv-160\@md-{margin-right:-160px !important}.mB-nv-160\@md-{margin-bottom:-160px !important}.mL-nv-160\@md-{margin-left:-160px !important}.mY-nv-160\@md-{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@md-{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (max-width: 767px){.m-160\@sm-{margin:160px !important}.mT-160\@sm-{margin-top:160px !important}.mR-160\@sm-{margin-right:160px !important}.mB-160\@sm-{margin-bottom:160px !important}.mL-160\@sm-{margin-left:160px !important}.mY-160\@sm-{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@sm-{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@sm-{margin:-160px !important}.mT-nv-160\@sm-{margin-top:-160px !important}.mR-nv-160\@sm-{margin-right:-160px !important}.mB-nv-160\@sm-{margin-bottom:-160px !important}.mL-nv-160\@sm-{margin-left:-160px !important}.mY-nv-160\@sm-{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@sm-{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-160\@lg{margin:160px !important}.mT-160\@lg{margin-top:160px !important}.mR-160\@lg{margin-right:160px !important}.mB-160\@lg{margin-bottom:160px !important}.mL-160\@lg{margin-left:160px !important}.mY-160\@lg{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@lg{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@lg{margin:-160px !important}.mT-nv-160\@lg{margin-top:-160px !important}.mR-nv-160\@lg{margin-right:-160px !important}.mB-nv-160\@lg{margin-bottom:-160px !important}.mL-nv-160\@lg{margin-left:-160px !important}.mY-nv-160\@lg{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@lg{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-160\@md{margin:160px !important}.mT-160\@md{margin-top:160px !important}.mR-160\@md{margin-right:160px !important}.mB-160\@md{margin-bottom:160px !important}.mL-160\@md{margin-left:160px !important}.mY-160\@md{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@md{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@md{margin:-160px !important}.mT-nv-160\@md{margin-top:-160px !important}.mR-nv-160\@md{margin-right:-160px !important}.mB-nv-160\@md{margin-bottom:-160px !important}.mL-nv-160\@md{margin-left:-160px !important}.mY-nv-160\@md{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@md{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-160\@sm{margin:160px !important}.mT-160\@sm{margin-top:160px !important}.mR-160\@sm{margin-right:160px !important}.mB-160\@sm{margin-bottom:160px !important}.mL-160\@sm{margin-left:160px !important}.mY-160\@sm{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@sm{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@sm{margin:-160px !important}.mT-nv-160\@sm{margin-top:-160px !important}.mR-nv-160\@sm{margin-right:-160px !important}.mB-nv-160\@sm{margin-bottom:-160px !important}.mL-nv-160\@sm{margin-left:-160px !important}.mY-nv-160\@sm{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@sm{margin-left:-160px !important;margin-right:-160px !important}}.m-a{margin:auto !important}.mX-a{margin-left:auto !important;margin-right:auto !important}.mT-a{margin-top:auto !important}.mR-a{margin-right:auto !important}.mB-a{margin-bottom:auto !important}.mL-a{margin-left:auto !important}@media screen and (min-width: 1440px){.m-a\@xl\+{margin:auto !important}.mX-a\@xl\+{margin-left:auto !important;margin-right:auto !important}.mT-a\@xl\+{margin-top:auto !important}.mR-a\@xl\+{margin-right:auto !important}.mB-a\@xl\+{margin-bottom:auto !important}.mL-a\@xl\+{margin-left:auto !important}}@media screen and (min-width: 1200px){.m-a\@lg\+{margin:auto !important}.mX-a\@lg\+{margin-left:auto !important;margin-right:auto !important}.mT-a\@lg\+{margin-top:auto !important}.mR-a\@lg\+{margin-right:auto !important}.mB-a\@lg\+{margin-bottom:auto !important}.mL-a\@lg\+{margin-left:auto !important}}@media screen and (min-width: 992px){.m-a\@md\+{margin:auto !important}.mX-a\@md\+{margin-left:auto !important;margin-right:auto !important}.mT-a\@md\+{margin-top:auto !important}.mR-a\@md\+{margin-right:auto !important}.mB-a\@md\+{margin-bottom:auto !important}.mL-a\@md\+{margin-left:auto !important}}@media screen and (min-width: 768px){.m-a\@sm\+{margin:auto !important}.mX-a\@sm\+{margin-left:auto !important;margin-right:auto !important}.mT-a\@sm\+{margin-top:auto !important}.mR-a\@sm\+{margin-right:auto !important}.mB-a\@sm\+{margin-bottom:auto !important}.mL-a\@sm\+{margin-left:auto !important}}@media screen and (min-width: 0){.m-a\@xs\+{margin:auto !important}.mX-a\@xs\+{margin-left:auto !important;margin-right:auto !important}.mT-a\@xs\+{margin-top:auto !important}.mR-a\@xs\+{margin-right:auto !important}.mB-a\@xs\+{margin-bottom:auto !important}.mL-a\@xs\+{margin-left:auto !important}}@media screen and (max-width: 1439px){.m-a\@xl-{margin:auto !important}.mX-a\@xl-{margin-left:auto !important;margin-right:auto !important}.mT-a\@xl-{margin-top:auto !important}.mR-a\@xl-{margin-right:auto !important}.mB-a\@xl-{margin-bottom:auto !important}.mL-a\@xl-{margin-left:auto !important}}@media screen and (max-width: 1199px){.m-a\@lg-{margin:auto !important}.mX-a\@lg-{margin-left:auto !important;margin-right:auto !important}.mT-a\@lg-{margin-top:auto !important}.mR-a\@lg-{margin-right:auto !important}.mB-a\@lg-{margin-bottom:auto !important}.mL-a\@lg-{margin-left:auto !important}}@media screen and (max-width: 991px){.m-a\@md-{margin:auto !important}.mX-a\@md-{margin-left:auto !important;margin-right:auto !important}.mT-a\@md-{margin-top:auto !important}.mR-a\@md-{margin-right:auto !important}.mB-a\@md-{margin-bottom:auto !important}.mL-a\@md-{margin-left:auto !important}}@media screen and (max-width: 767px){.m-a\@sm-{margin:auto !important}.mX-a\@sm-{margin-left:auto !important;margin-right:auto !important}.mT-a\@sm-{margin-top:auto !important}.mR-a\@sm-{margin-right:auto !important}.mB-a\@sm-{margin-bottom:auto !important}.mL-a\@sm-{margin-left:auto !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-a\@lg{margin:auto !important}.mX-a\@lg{margin-left:auto !important;margin-right:auto !important}.mT-a\@lg{margin-top:auto !important}.mR-a\@lg{margin-right:auto !important}.mB-a\@lg{margin-bottom:auto !important}.mL-a\@lg{margin-left:auto !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-a\@md{margin:auto !important}.mX-a\@md{margin-left:auto !important;margin-right:auto !important}.mT-a\@md{margin-top:auto !important}.mR-a\@md{margin-right:auto !important}.mB-a\@md{margin-bottom:auto !important}.mL-a\@md{margin-left:auto !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-a\@sm{margin:auto !important}.mX-a\@sm{margin-left:auto !important;margin-right:auto !important}.mT-a\@sm{margin-top:auto !important}.mR-a\@sm{margin-right:auto !important}.mB-a\@sm{margin-bottom:auto !important}.mL-a\@sm{margin-left:auto !important}}.bgsz-cv{background-size:cover}.bgsz-ct{background-size:contain}.bgsz-full{background-size:100% 100%}.bgpX-c{background-position-x:center}.bgpX-t{background-position-x:top}.bgpX-r{background-position-x:right}.bgpX-l{background-position-x:left}.bgpX-b{background-position-x:bottom}.bgpY-c{background-position-y:center}.bgpY-t{background-position-y:top}.bgpY-r{background-position-y:right}.bgpY-l{background-position-y:left}.bgpY-b{background-position-y:bottom}.bgr-n{background-repeat:no-repeat}.bgr-y{background-repeat:repeat-y}.bgr-x{background-repeat:repeat-x}.of-ct{object-fit:contain}.of-cv{object-fit:cover}.of-f{object-fit:fill}.of-n{object-fit:none}.of-sd{object-fit:scale-down}.rsz-v{resize:vertical}.rsz-h{resize:horizontal}.op-0{opacity:0}.op-10p{opacity:.1}.op-20p{opacity:.2}.op-30p{opacity:.3}.op-40p{opacity:.4}.op-50p{opacity:.5}.op-60p{opacity:.6}.op-70p{opacity:.7}.op-80p{opacity:.8}.op-90p{opacity:.9}.op-100p{opacity:1}.cur-na{cursor:not-allowed}.cur-p{cursor:pointer}.cur-a{cursor:auto}.vis-v{visibility:visible}.vis-h{visibility:hidden}.p-0{padding:0px !important}.pT-0{padding-top:0px !important}.pR-0{padding-right:0px !important}.pB-0{padding-bottom:0px !important}.pL-0{padding-left:0px !important}.pY-0{padding-top:0px !important;padding-bottom:0px !important}.pX-0{padding-left:0px !important;padding-right:0px !important}@media screen and (min-width: 1440px){.p-0\@xl\+{padding:0px !important}.pT-0\@xl\+{padding-top:0px !important}.pR-0\@xl\+{padding-right:0px !important}.pB-0\@xl\+{padding-bottom:0px !important}.pL-0\@xl\+{padding-left:0px !important}.pY-0\@xl\+{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@xl\+{padding-left:0px !important;padding-right:0px !important}}@media screen and (min-width: 1200px){.p-0\@lg\+{padding:0px !important}.pT-0\@lg\+{padding-top:0px !important}.pR-0\@lg\+{padding-right:0px !important}.pB-0\@lg\+{padding-bottom:0px !important}.pL-0\@lg\+{padding-left:0px !important}.pY-0\@lg\+{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@lg\+{padding-left:0px !important;padding-right:0px !important}}@media screen and (min-width: 992px){.p-0\@md\+{padding:0px !important}.pT-0\@md\+{padding-top:0px !important}.pR-0\@md\+{padding-right:0px !important}.pB-0\@md\+{padding-bottom:0px !important}.pL-0\@md\+{padding-left:0px !important}.pY-0\@md\+{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@md\+{padding-left:0px !important;padding-right:0px !important}}@media screen and (min-width: 768px){.p-0\@sm\+{padding:0px !important}.pT-0\@sm\+{padding-top:0px !important}.pR-0\@sm\+{padding-right:0px !important}.pB-0\@sm\+{padding-bottom:0px !important}.pL-0\@sm\+{padding-left:0px !important}.pY-0\@sm\+{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@sm\+{padding-left:0px !important;padding-right:0px !important}}@media screen and (min-width: 0){.p-0\@xs\+{padding:0px !important}.pT-0\@xs\+{padding-top:0px !important}.pR-0\@xs\+{padding-right:0px !important}.pB-0\@xs\+{padding-bottom:0px !important}.pL-0\@xs\+{padding-left:0px !important}.pY-0\@xs\+{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@xs\+{padding-left:0px !important;padding-right:0px !important}}@media screen and (max-width: 1439px){.p-0\@xl-{padding:0px !important}.pT-0\@xl-{padding-top:0px !important}.pR-0\@xl-{padding-right:0px !important}.pB-0\@xl-{padding-bottom:0px !important}.pL-0\@xl-{padding-left:0px !important}.pY-0\@xl-{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@xl-{padding-left:0px !important;padding-right:0px !important}}@media screen and (max-width: 1199px){.p-0\@lg-{padding:0px !important}.pT-0\@lg-{padding-top:0px !important}.pR-0\@lg-{padding-right:0px !important}.pB-0\@lg-{padding-bottom:0px !important}.pL-0\@lg-{padding-left:0px !important}.pY-0\@lg-{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@lg-{padding-left:0px !important;padding-right:0px !important}}@media screen and (max-width: 991px){.p-0\@md-{padding:0px !important}.pT-0\@md-{padding-top:0px !important}.pR-0\@md-{padding-right:0px !important}.pB-0\@md-{padding-bottom:0px !important}.pL-0\@md-{padding-left:0px !important}.pY-0\@md-{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@md-{padding-left:0px !important;padding-right:0px !important}}@media screen and (max-width: 767px){.p-0\@sm-{padding:0px !important}.pT-0\@sm-{padding-top:0px !important}.pR-0\@sm-{padding-right:0px !important}.pB-0\@sm-{padding-bottom:0px !important}.pL-0\@sm-{padding-left:0px !important}.pY-0\@sm-{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@sm-{padding-left:0px !important;padding-right:0px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-0\@lg{padding:0px !important}.pT-0\@lg{padding-top:0px !important}.pR-0\@lg{padding-right:0px !important}.pB-0\@lg{padding-bottom:0px !important}.pL-0\@lg{padding-left:0px !important}.pY-0\@lg{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@lg{padding-left:0px !important;padding-right:0px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-0\@md{padding:0px !important}.pT-0\@md{padding-top:0px !important}.pR-0\@md{padding-right:0px !important}.pB-0\@md{padding-bottom:0px !important}.pL-0\@md{padding-left:0px !important}.pY-0\@md{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@md{padding-left:0px !important;padding-right:0px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-0\@sm{padding:0px !important}.pT-0\@sm{padding-top:0px !important}.pR-0\@sm{padding-right:0px !important}.pB-0\@sm{padding-bottom:0px !important}.pL-0\@sm{padding-left:0px !important}.pY-0\@sm{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@sm{padding-left:0px !important;padding-right:0px !important}}.p-1{padding:1px !important}.pT-1{padding-top:1px !important}.pR-1{padding-right:1px !important}.pB-1{padding-bottom:1px !important}.pL-1{padding-left:1px !important}.pY-1{padding-top:1px !important;padding-bottom:1px !important}.pX-1{padding-left:1px !important;padding-right:1px !important}@media screen and (min-width: 1440px){.p-1\@xl\+{padding:1px !important}.pT-1\@xl\+{padding-top:1px !important}.pR-1\@xl\+{padding-right:1px !important}.pB-1\@xl\+{padding-bottom:1px !important}.pL-1\@xl\+{padding-left:1px !important}.pY-1\@xl\+{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@xl\+{padding-left:1px !important;padding-right:1px !important}}@media screen and (min-width: 1200px){.p-1\@lg\+{padding:1px !important}.pT-1\@lg\+{padding-top:1px !important}.pR-1\@lg\+{padding-right:1px !important}.pB-1\@lg\+{padding-bottom:1px !important}.pL-1\@lg\+{padding-left:1px !important}.pY-1\@lg\+{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@lg\+{padding-left:1px !important;padding-right:1px !important}}@media screen and (min-width: 992px){.p-1\@md\+{padding:1px !important}.pT-1\@md\+{padding-top:1px !important}.pR-1\@md\+{padding-right:1px !important}.pB-1\@md\+{padding-bottom:1px !important}.pL-1\@md\+{padding-left:1px !important}.pY-1\@md\+{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@md\+{padding-left:1px !important;padding-right:1px !important}}@media screen and (min-width: 768px){.p-1\@sm\+{padding:1px !important}.pT-1\@sm\+{padding-top:1px !important}.pR-1\@sm\+{padding-right:1px !important}.pB-1\@sm\+{padding-bottom:1px !important}.pL-1\@sm\+{padding-left:1px !important}.pY-1\@sm\+{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@sm\+{padding-left:1px !important;padding-right:1px !important}}@media screen and (min-width: 0){.p-1\@xs\+{padding:1px !important}.pT-1\@xs\+{padding-top:1px !important}.pR-1\@xs\+{padding-right:1px !important}.pB-1\@xs\+{padding-bottom:1px !important}.pL-1\@xs\+{padding-left:1px !important}.pY-1\@xs\+{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@xs\+{padding-left:1px !important;padding-right:1px !important}}@media screen and (max-width: 1439px){.p-1\@xl-{padding:1px !important}.pT-1\@xl-{padding-top:1px !important}.pR-1\@xl-{padding-right:1px !important}.pB-1\@xl-{padding-bottom:1px !important}.pL-1\@xl-{padding-left:1px !important}.pY-1\@xl-{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@xl-{padding-left:1px !important;padding-right:1px !important}}@media screen and (max-width: 1199px){.p-1\@lg-{padding:1px !important}.pT-1\@lg-{padding-top:1px !important}.pR-1\@lg-{padding-right:1px !important}.pB-1\@lg-{padding-bottom:1px !important}.pL-1\@lg-{padding-left:1px !important}.pY-1\@lg-{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@lg-{padding-left:1px !important;padding-right:1px !important}}@media screen and (max-width: 991px){.p-1\@md-{padding:1px !important}.pT-1\@md-{padding-top:1px !important}.pR-1\@md-{padding-right:1px !important}.pB-1\@md-{padding-bottom:1px !important}.pL-1\@md-{padding-left:1px !important}.pY-1\@md-{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@md-{padding-left:1px !important;padding-right:1px !important}}@media screen and (max-width: 767px){.p-1\@sm-{padding:1px !important}.pT-1\@sm-{padding-top:1px !important}.pR-1\@sm-{padding-right:1px !important}.pB-1\@sm-{padding-bottom:1px !important}.pL-1\@sm-{padding-left:1px !important}.pY-1\@sm-{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@sm-{padding-left:1px !important;padding-right:1px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-1\@lg{padding:1px !important}.pT-1\@lg{padding-top:1px !important}.pR-1\@lg{padding-right:1px !important}.pB-1\@lg{padding-bottom:1px !important}.pL-1\@lg{padding-left:1px !important}.pY-1\@lg{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@lg{padding-left:1px !important;padding-right:1px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-1\@md{padding:1px !important}.pT-1\@md{padding-top:1px !important}.pR-1\@md{padding-right:1px !important}.pB-1\@md{padding-bottom:1px !important}.pL-1\@md{padding-left:1px !important}.pY-1\@md{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@md{padding-left:1px !important;padding-right:1px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-1\@sm{padding:1px !important}.pT-1\@sm{padding-top:1px !important}.pR-1\@sm{padding-right:1px !important}.pB-1\@sm{padding-bottom:1px !important}.pL-1\@sm{padding-left:1px !important}.pY-1\@sm{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@sm{padding-left:1px !important;padding-right:1px !important}}.p-2{padding:2px !important}.pT-2{padding-top:2px !important}.pR-2{padding-right:2px !important}.pB-2{padding-bottom:2px !important}.pL-2{padding-left:2px !important}.pY-2{padding-top:2px !important;padding-bottom:2px !important}.pX-2{padding-left:2px !important;padding-right:2px !important}@media screen and (min-width: 1440px){.p-2\@xl\+{padding:2px !important}.pT-2\@xl\+{padding-top:2px !important}.pR-2\@xl\+{padding-right:2px !important}.pB-2\@xl\+{padding-bottom:2px !important}.pL-2\@xl\+{padding-left:2px !important}.pY-2\@xl\+{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@xl\+{padding-left:2px !important;padding-right:2px !important}}@media screen and (min-width: 1200px){.p-2\@lg\+{padding:2px !important}.pT-2\@lg\+{padding-top:2px !important}.pR-2\@lg\+{padding-right:2px !important}.pB-2\@lg\+{padding-bottom:2px !important}.pL-2\@lg\+{padding-left:2px !important}.pY-2\@lg\+{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@lg\+{padding-left:2px !important;padding-right:2px !important}}@media screen and (min-width: 992px){.p-2\@md\+{padding:2px !important}.pT-2\@md\+{padding-top:2px !important}.pR-2\@md\+{padding-right:2px !important}.pB-2\@md\+{padding-bottom:2px !important}.pL-2\@md\+{padding-left:2px !important}.pY-2\@md\+{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@md\+{padding-left:2px !important;padding-right:2px !important}}@media screen and (min-width: 768px){.p-2\@sm\+{padding:2px !important}.pT-2\@sm\+{padding-top:2px !important}.pR-2\@sm\+{padding-right:2px !important}.pB-2\@sm\+{padding-bottom:2px !important}.pL-2\@sm\+{padding-left:2px !important}.pY-2\@sm\+{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@sm\+{padding-left:2px !important;padding-right:2px !important}}@media screen and (min-width: 0){.p-2\@xs\+{padding:2px !important}.pT-2\@xs\+{padding-top:2px !important}.pR-2\@xs\+{padding-right:2px !important}.pB-2\@xs\+{padding-bottom:2px !important}.pL-2\@xs\+{padding-left:2px !important}.pY-2\@xs\+{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@xs\+{padding-left:2px !important;padding-right:2px !important}}@media screen and (max-width: 1439px){.p-2\@xl-{padding:2px !important}.pT-2\@xl-{padding-top:2px !important}.pR-2\@xl-{padding-right:2px !important}.pB-2\@xl-{padding-bottom:2px !important}.pL-2\@xl-{padding-left:2px !important}.pY-2\@xl-{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@xl-{padding-left:2px !important;padding-right:2px !important}}@media screen and (max-width: 1199px){.p-2\@lg-{padding:2px !important}.pT-2\@lg-{padding-top:2px !important}.pR-2\@lg-{padding-right:2px !important}.pB-2\@lg-{padding-bottom:2px !important}.pL-2\@lg-{padding-left:2px !important}.pY-2\@lg-{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@lg-{padding-left:2px !important;padding-right:2px !important}}@media screen and (max-width: 991px){.p-2\@md-{padding:2px !important}.pT-2\@md-{padding-top:2px !important}.pR-2\@md-{padding-right:2px !important}.pB-2\@md-{padding-bottom:2px !important}.pL-2\@md-{padding-left:2px !important}.pY-2\@md-{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@md-{padding-left:2px !important;padding-right:2px !important}}@media screen and (max-width: 767px){.p-2\@sm-{padding:2px !important}.pT-2\@sm-{padding-top:2px !important}.pR-2\@sm-{padding-right:2px !important}.pB-2\@sm-{padding-bottom:2px !important}.pL-2\@sm-{padding-left:2px !important}.pY-2\@sm-{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@sm-{padding-left:2px !important;padding-right:2px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-2\@lg{padding:2px !important}.pT-2\@lg{padding-top:2px !important}.pR-2\@lg{padding-right:2px !important}.pB-2\@lg{padding-bottom:2px !important}.pL-2\@lg{padding-left:2px !important}.pY-2\@lg{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@lg{padding-left:2px !important;padding-right:2px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-2\@md{padding:2px !important}.pT-2\@md{padding-top:2px !important}.pR-2\@md{padding-right:2px !important}.pB-2\@md{padding-bottom:2px !important}.pL-2\@md{padding-left:2px !important}.pY-2\@md{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@md{padding-left:2px !important;padding-right:2px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-2\@sm{padding:2px !important}.pT-2\@sm{padding-top:2px !important}.pR-2\@sm{padding-right:2px !important}.pB-2\@sm{padding-bottom:2px !important}.pL-2\@sm{padding-left:2px !important}.pY-2\@sm{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@sm{padding-left:2px !important;padding-right:2px !important}}.p-3{padding:3px !important}.pT-3{padding-top:3px !important}.pR-3{padding-right:3px !important}.pB-3{padding-bottom:3px !important}.pL-3{padding-left:3px !important}.pY-3{padding-top:3px !important;padding-bottom:3px !important}.pX-3{padding-left:3px !important;padding-right:3px !important}@media screen and (min-width: 1440px){.p-3\@xl\+{padding:3px !important}.pT-3\@xl\+{padding-top:3px !important}.pR-3\@xl\+{padding-right:3px !important}.pB-3\@xl\+{padding-bottom:3px !important}.pL-3\@xl\+{padding-left:3px !important}.pY-3\@xl\+{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@xl\+{padding-left:3px !important;padding-right:3px !important}}@media screen and (min-width: 1200px){.p-3\@lg\+{padding:3px !important}.pT-3\@lg\+{padding-top:3px !important}.pR-3\@lg\+{padding-right:3px !important}.pB-3\@lg\+{padding-bottom:3px !important}.pL-3\@lg\+{padding-left:3px !important}.pY-3\@lg\+{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@lg\+{padding-left:3px !important;padding-right:3px !important}}@media screen and (min-width: 992px){.p-3\@md\+{padding:3px !important}.pT-3\@md\+{padding-top:3px !important}.pR-3\@md\+{padding-right:3px !important}.pB-3\@md\+{padding-bottom:3px !important}.pL-3\@md\+{padding-left:3px !important}.pY-3\@md\+{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@md\+{padding-left:3px !important;padding-right:3px !important}}@media screen and (min-width: 768px){.p-3\@sm\+{padding:3px !important}.pT-3\@sm\+{padding-top:3px !important}.pR-3\@sm\+{padding-right:3px !important}.pB-3\@sm\+{padding-bottom:3px !important}.pL-3\@sm\+{padding-left:3px !important}.pY-3\@sm\+{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@sm\+{padding-left:3px !important;padding-right:3px !important}}@media screen and (min-width: 0){.p-3\@xs\+{padding:3px !important}.pT-3\@xs\+{padding-top:3px !important}.pR-3\@xs\+{padding-right:3px !important}.pB-3\@xs\+{padding-bottom:3px !important}.pL-3\@xs\+{padding-left:3px !important}.pY-3\@xs\+{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@xs\+{padding-left:3px !important;padding-right:3px !important}}@media screen and (max-width: 1439px){.p-3\@xl-{padding:3px !important}.pT-3\@xl-{padding-top:3px !important}.pR-3\@xl-{padding-right:3px !important}.pB-3\@xl-{padding-bottom:3px !important}.pL-3\@xl-{padding-left:3px !important}.pY-3\@xl-{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@xl-{padding-left:3px !important;padding-right:3px !important}}@media screen and (max-width: 1199px){.p-3\@lg-{padding:3px !important}.pT-3\@lg-{padding-top:3px !important}.pR-3\@lg-{padding-right:3px !important}.pB-3\@lg-{padding-bottom:3px !important}.pL-3\@lg-{padding-left:3px !important}.pY-3\@lg-{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@lg-{padding-left:3px !important;padding-right:3px !important}}@media screen and (max-width: 991px){.p-3\@md-{padding:3px !important}.pT-3\@md-{padding-top:3px !important}.pR-3\@md-{padding-right:3px !important}.pB-3\@md-{padding-bottom:3px !important}.pL-3\@md-{padding-left:3px !important}.pY-3\@md-{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@md-{padding-left:3px !important;padding-right:3px !important}}@media screen and (max-width: 767px){.p-3\@sm-{padding:3px !important}.pT-3\@sm-{padding-top:3px !important}.pR-3\@sm-{padding-right:3px !important}.pB-3\@sm-{padding-bottom:3px !important}.pL-3\@sm-{padding-left:3px !important}.pY-3\@sm-{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@sm-{padding-left:3px !important;padding-right:3px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-3\@lg{padding:3px !important}.pT-3\@lg{padding-top:3px !important}.pR-3\@lg{padding-right:3px !important}.pB-3\@lg{padding-bottom:3px !important}.pL-3\@lg{padding-left:3px !important}.pY-3\@lg{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@lg{padding-left:3px !important;padding-right:3px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-3\@md{padding:3px !important}.pT-3\@md{padding-top:3px !important}.pR-3\@md{padding-right:3px !important}.pB-3\@md{padding-bottom:3px !important}.pL-3\@md{padding-left:3px !important}.pY-3\@md{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@md{padding-left:3px !important;padding-right:3px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-3\@sm{padding:3px !important}.pT-3\@sm{padding-top:3px !important}.pR-3\@sm{padding-right:3px !important}.pB-3\@sm{padding-bottom:3px !important}.pL-3\@sm{padding-left:3px !important}.pY-3\@sm{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@sm{padding-left:3px !important;padding-right:3px !important}}.p-4{padding:4px !important}.pT-4{padding-top:4px !important}.pR-4{padding-right:4px !important}.pB-4{padding-bottom:4px !important}.pL-4{padding-left:4px !important}.pY-4{padding-top:4px !important;padding-bottom:4px !important}.pX-4{padding-left:4px !important;padding-right:4px !important}@media screen and (min-width: 1440px){.p-4\@xl\+{padding:4px !important}.pT-4\@xl\+{padding-top:4px !important}.pR-4\@xl\+{padding-right:4px !important}.pB-4\@xl\+{padding-bottom:4px !important}.pL-4\@xl\+{padding-left:4px !important}.pY-4\@xl\+{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@xl\+{padding-left:4px !important;padding-right:4px !important}}@media screen and (min-width: 1200px){.p-4\@lg\+{padding:4px !important}.pT-4\@lg\+{padding-top:4px !important}.pR-4\@lg\+{padding-right:4px !important}.pB-4\@lg\+{padding-bottom:4px !important}.pL-4\@lg\+{padding-left:4px !important}.pY-4\@lg\+{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@lg\+{padding-left:4px !important;padding-right:4px !important}}@media screen and (min-width: 992px){.p-4\@md\+{padding:4px !important}.pT-4\@md\+{padding-top:4px !important}.pR-4\@md\+{padding-right:4px !important}.pB-4\@md\+{padding-bottom:4px !important}.pL-4\@md\+{padding-left:4px !important}.pY-4\@md\+{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@md\+{padding-left:4px !important;padding-right:4px !important}}@media screen and (min-width: 768px){.p-4\@sm\+{padding:4px !important}.pT-4\@sm\+{padding-top:4px !important}.pR-4\@sm\+{padding-right:4px !important}.pB-4\@sm\+{padding-bottom:4px !important}.pL-4\@sm\+{padding-left:4px !important}.pY-4\@sm\+{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@sm\+{padding-left:4px !important;padding-right:4px !important}}@media screen and (min-width: 0){.p-4\@xs\+{padding:4px !important}.pT-4\@xs\+{padding-top:4px !important}.pR-4\@xs\+{padding-right:4px !important}.pB-4\@xs\+{padding-bottom:4px !important}.pL-4\@xs\+{padding-left:4px !important}.pY-4\@xs\+{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@xs\+{padding-left:4px !important;padding-right:4px !important}}@media screen and (max-width: 1439px){.p-4\@xl-{padding:4px !important}.pT-4\@xl-{padding-top:4px !important}.pR-4\@xl-{padding-right:4px !important}.pB-4\@xl-{padding-bottom:4px !important}.pL-4\@xl-{padding-left:4px !important}.pY-4\@xl-{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@xl-{padding-left:4px !important;padding-right:4px !important}}@media screen and (max-width: 1199px){.p-4\@lg-{padding:4px !important}.pT-4\@lg-{padding-top:4px !important}.pR-4\@lg-{padding-right:4px !important}.pB-4\@lg-{padding-bottom:4px !important}.pL-4\@lg-{padding-left:4px !important}.pY-4\@lg-{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@lg-{padding-left:4px !important;padding-right:4px !important}}@media screen and (max-width: 991px){.p-4\@md-{padding:4px !important}.pT-4\@md-{padding-top:4px !important}.pR-4\@md-{padding-right:4px !important}.pB-4\@md-{padding-bottom:4px !important}.pL-4\@md-{padding-left:4px !important}.pY-4\@md-{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@md-{padding-left:4px !important;padding-right:4px !important}}@media screen and (max-width: 767px){.p-4\@sm-{padding:4px !important}.pT-4\@sm-{padding-top:4px !important}.pR-4\@sm-{padding-right:4px !important}.pB-4\@sm-{padding-bottom:4px !important}.pL-4\@sm-{padding-left:4px !important}.pY-4\@sm-{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@sm-{padding-left:4px !important;padding-right:4px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-4\@lg{padding:4px !important}.pT-4\@lg{padding-top:4px !important}.pR-4\@lg{padding-right:4px !important}.pB-4\@lg{padding-bottom:4px !important}.pL-4\@lg{padding-left:4px !important}.pY-4\@lg{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@lg{padding-left:4px !important;padding-right:4px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-4\@md{padding:4px !important}.pT-4\@md{padding-top:4px !important}.pR-4\@md{padding-right:4px !important}.pB-4\@md{padding-bottom:4px !important}.pL-4\@md{padding-left:4px !important}.pY-4\@md{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@md{padding-left:4px !important;padding-right:4px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-4\@sm{padding:4px !important}.pT-4\@sm{padding-top:4px !important}.pR-4\@sm{padding-right:4px !important}.pB-4\@sm{padding-bottom:4px !important}.pL-4\@sm{padding-left:4px !important}.pY-4\@sm{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@sm{padding-left:4px !important;padding-right:4px !important}}.p-5{padding:5px !important}.pT-5{padding-top:5px !important}.pR-5{padding-right:5px !important}.pB-5{padding-bottom:5px !important}.pL-5{padding-left:5px !important}.pY-5{padding-top:5px !important;padding-bottom:5px !important}.pX-5{padding-left:5px !important;padding-right:5px !important}@media screen and (min-width: 1440px){.p-5\@xl\+{padding:5px !important}.pT-5\@xl\+{padding-top:5px !important}.pR-5\@xl\+{padding-right:5px !important}.pB-5\@xl\+{padding-bottom:5px !important}.pL-5\@xl\+{padding-left:5px !important}.pY-5\@xl\+{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@xl\+{padding-left:5px !important;padding-right:5px !important}}@media screen and (min-width: 1200px){.p-5\@lg\+{padding:5px !important}.pT-5\@lg\+{padding-top:5px !important}.pR-5\@lg\+{padding-right:5px !important}.pB-5\@lg\+{padding-bottom:5px !important}.pL-5\@lg\+{padding-left:5px !important}.pY-5\@lg\+{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@lg\+{padding-left:5px !important;padding-right:5px !important}}@media screen and (min-width: 992px){.p-5\@md\+{padding:5px !important}.pT-5\@md\+{padding-top:5px !important}.pR-5\@md\+{padding-right:5px !important}.pB-5\@md\+{padding-bottom:5px !important}.pL-5\@md\+{padding-left:5px !important}.pY-5\@md\+{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@md\+{padding-left:5px !important;padding-right:5px !important}}@media screen and (min-width: 768px){.p-5\@sm\+{padding:5px !important}.pT-5\@sm\+{padding-top:5px !important}.pR-5\@sm\+{padding-right:5px !important}.pB-5\@sm\+{padding-bottom:5px !important}.pL-5\@sm\+{padding-left:5px !important}.pY-5\@sm\+{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@sm\+{padding-left:5px !important;padding-right:5px !important}}@media screen and (min-width: 0){.p-5\@xs\+{padding:5px !important}.pT-5\@xs\+{padding-top:5px !important}.pR-5\@xs\+{padding-right:5px !important}.pB-5\@xs\+{padding-bottom:5px !important}.pL-5\@xs\+{padding-left:5px !important}.pY-5\@xs\+{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@xs\+{padding-left:5px !important;padding-right:5px !important}}@media screen and (max-width: 1439px){.p-5\@xl-{padding:5px !important}.pT-5\@xl-{padding-top:5px !important}.pR-5\@xl-{padding-right:5px !important}.pB-5\@xl-{padding-bottom:5px !important}.pL-5\@xl-{padding-left:5px !important}.pY-5\@xl-{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@xl-{padding-left:5px !important;padding-right:5px !important}}@media screen and (max-width: 1199px){.p-5\@lg-{padding:5px !important}.pT-5\@lg-{padding-top:5px !important}.pR-5\@lg-{padding-right:5px !important}.pB-5\@lg-{padding-bottom:5px !important}.pL-5\@lg-{padding-left:5px !important}.pY-5\@lg-{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@lg-{padding-left:5px !important;padding-right:5px !important}}@media screen and (max-width: 991px){.p-5\@md-{padding:5px !important}.pT-5\@md-{padding-top:5px !important}.pR-5\@md-{padding-right:5px !important}.pB-5\@md-{padding-bottom:5px !important}.pL-5\@md-{padding-left:5px !important}.pY-5\@md-{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@md-{padding-left:5px !important;padding-right:5px !important}}@media screen and (max-width: 767px){.p-5\@sm-{padding:5px !important}.pT-5\@sm-{padding-top:5px !important}.pR-5\@sm-{padding-right:5px !important}.pB-5\@sm-{padding-bottom:5px !important}.pL-5\@sm-{padding-left:5px !important}.pY-5\@sm-{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@sm-{padding-left:5px !important;padding-right:5px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-5\@lg{padding:5px !important}.pT-5\@lg{padding-top:5px !important}.pR-5\@lg{padding-right:5px !important}.pB-5\@lg{padding-bottom:5px !important}.pL-5\@lg{padding-left:5px !important}.pY-5\@lg{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@lg{padding-left:5px !important;padding-right:5px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-5\@md{padding:5px !important}.pT-5\@md{padding-top:5px !important}.pR-5\@md{padding-right:5px !important}.pB-5\@md{padding-bottom:5px !important}.pL-5\@md{padding-left:5px !important}.pY-5\@md{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@md{padding-left:5px !important;padding-right:5px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-5\@sm{padding:5px !important}.pT-5\@sm{padding-top:5px !important}.pR-5\@sm{padding-right:5px !important}.pB-5\@sm{padding-bottom:5px !important}.pL-5\@sm{padding-left:5px !important}.pY-5\@sm{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@sm{padding-left:5px !important;padding-right:5px !important}}.p-10{padding:10px !important}.pT-10{padding-top:10px !important}.pR-10{padding-right:10px !important}.pB-10{padding-bottom:10px !important}.pL-10{padding-left:10px !important}.pY-10{padding-top:10px !important;padding-bottom:10px !important}.pX-10{padding-left:10px !important;padding-right:10px !important}@media screen and (min-width: 1440px){.p-10\@xl\+{padding:10px !important}.pT-10\@xl\+{padding-top:10px !important}.pR-10\@xl\+{padding-right:10px !important}.pB-10\@xl\+{padding-bottom:10px !important}.pL-10\@xl\+{padding-left:10px !important}.pY-10\@xl\+{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@xl\+{padding-left:10px !important;padding-right:10px !important}}@media screen and (min-width: 1200px){.p-10\@lg\+{padding:10px !important}.pT-10\@lg\+{padding-top:10px !important}.pR-10\@lg\+{padding-right:10px !important}.pB-10\@lg\+{padding-bottom:10px !important}.pL-10\@lg\+{padding-left:10px !important}.pY-10\@lg\+{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@lg\+{padding-left:10px !important;padding-right:10px !important}}@media screen and (min-width: 992px){.p-10\@md\+{padding:10px !important}.pT-10\@md\+{padding-top:10px !important}.pR-10\@md\+{padding-right:10px !important}.pB-10\@md\+{padding-bottom:10px !important}.pL-10\@md\+{padding-left:10px !important}.pY-10\@md\+{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@md\+{padding-left:10px !important;padding-right:10px !important}}@media screen and (min-width: 768px){.p-10\@sm\+{padding:10px !important}.pT-10\@sm\+{padding-top:10px !important}.pR-10\@sm\+{padding-right:10px !important}.pB-10\@sm\+{padding-bottom:10px !important}.pL-10\@sm\+{padding-left:10px !important}.pY-10\@sm\+{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@sm\+{padding-left:10px !important;padding-right:10px !important}}@media screen and (min-width: 0){.p-10\@xs\+{padding:10px !important}.pT-10\@xs\+{padding-top:10px !important}.pR-10\@xs\+{padding-right:10px !important}.pB-10\@xs\+{padding-bottom:10px !important}.pL-10\@xs\+{padding-left:10px !important}.pY-10\@xs\+{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@xs\+{padding-left:10px !important;padding-right:10px !important}}@media screen and (max-width: 1439px){.p-10\@xl-{padding:10px !important}.pT-10\@xl-{padding-top:10px !important}.pR-10\@xl-{padding-right:10px !important}.pB-10\@xl-{padding-bottom:10px !important}.pL-10\@xl-{padding-left:10px !important}.pY-10\@xl-{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@xl-{padding-left:10px !important;padding-right:10px !important}}@media screen and (max-width: 1199px){.p-10\@lg-{padding:10px !important}.pT-10\@lg-{padding-top:10px !important}.pR-10\@lg-{padding-right:10px !important}.pB-10\@lg-{padding-bottom:10px !important}.pL-10\@lg-{padding-left:10px !important}.pY-10\@lg-{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@lg-{padding-left:10px !important;padding-right:10px !important}}@media screen and (max-width: 991px){.p-10\@md-{padding:10px !important}.pT-10\@md-{padding-top:10px !important}.pR-10\@md-{padding-right:10px !important}.pB-10\@md-{padding-bottom:10px !important}.pL-10\@md-{padding-left:10px !important}.pY-10\@md-{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@md-{padding-left:10px !important;padding-right:10px !important}}@media screen and (max-width: 767px){.p-10\@sm-{padding:10px !important}.pT-10\@sm-{padding-top:10px !important}.pR-10\@sm-{padding-right:10px !important}.pB-10\@sm-{padding-bottom:10px !important}.pL-10\@sm-{padding-left:10px !important}.pY-10\@sm-{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@sm-{padding-left:10px !important;padding-right:10px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-10\@lg{padding:10px !important}.pT-10\@lg{padding-top:10px !important}.pR-10\@lg{padding-right:10px !important}.pB-10\@lg{padding-bottom:10px !important}.pL-10\@lg{padding-left:10px !important}.pY-10\@lg{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@lg{padding-left:10px !important;padding-right:10px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-10\@md{padding:10px !important}.pT-10\@md{padding-top:10px !important}.pR-10\@md{padding-right:10px !important}.pB-10\@md{padding-bottom:10px !important}.pL-10\@md{padding-left:10px !important}.pY-10\@md{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@md{padding-left:10px !important;padding-right:10px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-10\@sm{padding:10px !important}.pT-10\@sm{padding-top:10px !important}.pR-10\@sm{padding-right:10px !important}.pB-10\@sm{padding-bottom:10px !important}.pL-10\@sm{padding-left:10px !important}.pY-10\@sm{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@sm{padding-left:10px !important;padding-right:10px !important}}.p-15{padding:15px !important}.pT-15{padding-top:15px !important}.pR-15{padding-right:15px !important}.pB-15{padding-bottom:15px !important}.pL-15{padding-left:15px !important}.pY-15{padding-top:15px !important;padding-bottom:15px !important}.pX-15{padding-left:15px !important;padding-right:15px !important}@media screen and (min-width: 1440px){.p-15\@xl\+{padding:15px !important}.pT-15\@xl\+{padding-top:15px !important}.pR-15\@xl\+{padding-right:15px !important}.pB-15\@xl\+{padding-bottom:15px !important}.pL-15\@xl\+{padding-left:15px !important}.pY-15\@xl\+{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@xl\+{padding-left:15px !important;padding-right:15px !important}}@media screen and (min-width: 1200px){.p-15\@lg\+{padding:15px !important}.pT-15\@lg\+{padding-top:15px !important}.pR-15\@lg\+{padding-right:15px !important}.pB-15\@lg\+{padding-bottom:15px !important}.pL-15\@lg\+{padding-left:15px !important}.pY-15\@lg\+{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@lg\+{padding-left:15px !important;padding-right:15px !important}}@media screen and (min-width: 992px){.p-15\@md\+{padding:15px !important}.pT-15\@md\+{padding-top:15px !important}.pR-15\@md\+{padding-right:15px !important}.pB-15\@md\+{padding-bottom:15px !important}.pL-15\@md\+{padding-left:15px !important}.pY-15\@md\+{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@md\+{padding-left:15px !important;padding-right:15px !important}}@media screen and (min-width: 768px){.p-15\@sm\+{padding:15px !important}.pT-15\@sm\+{padding-top:15px !important}.pR-15\@sm\+{padding-right:15px !important}.pB-15\@sm\+{padding-bottom:15px !important}.pL-15\@sm\+{padding-left:15px !important}.pY-15\@sm\+{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@sm\+{padding-left:15px !important;padding-right:15px !important}}@media screen and (min-width: 0){.p-15\@xs\+{padding:15px !important}.pT-15\@xs\+{padding-top:15px !important}.pR-15\@xs\+{padding-right:15px !important}.pB-15\@xs\+{padding-bottom:15px !important}.pL-15\@xs\+{padding-left:15px !important}.pY-15\@xs\+{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@xs\+{padding-left:15px !important;padding-right:15px !important}}@media screen and (max-width: 1439px){.p-15\@xl-{padding:15px !important}.pT-15\@xl-{padding-top:15px !important}.pR-15\@xl-{padding-right:15px !important}.pB-15\@xl-{padding-bottom:15px !important}.pL-15\@xl-{padding-left:15px !important}.pY-15\@xl-{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@xl-{padding-left:15px !important;padding-right:15px !important}}@media screen and (max-width: 1199px){.p-15\@lg-{padding:15px !important}.pT-15\@lg-{padding-top:15px !important}.pR-15\@lg-{padding-right:15px !important}.pB-15\@lg-{padding-bottom:15px !important}.pL-15\@lg-{padding-left:15px !important}.pY-15\@lg-{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@lg-{padding-left:15px !important;padding-right:15px !important}}@media screen and (max-width: 991px){.p-15\@md-{padding:15px !important}.pT-15\@md-{padding-top:15px !important}.pR-15\@md-{padding-right:15px !important}.pB-15\@md-{padding-bottom:15px !important}.pL-15\@md-{padding-left:15px !important}.pY-15\@md-{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@md-{padding-left:15px !important;padding-right:15px !important}}@media screen and (max-width: 767px){.p-15\@sm-{padding:15px !important}.pT-15\@sm-{padding-top:15px !important}.pR-15\@sm-{padding-right:15px !important}.pB-15\@sm-{padding-bottom:15px !important}.pL-15\@sm-{padding-left:15px !important}.pY-15\@sm-{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@sm-{padding-left:15px !important;padding-right:15px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-15\@lg{padding:15px !important}.pT-15\@lg{padding-top:15px !important}.pR-15\@lg{padding-right:15px !important}.pB-15\@lg{padding-bottom:15px !important}.pL-15\@lg{padding-left:15px !important}.pY-15\@lg{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@lg{padding-left:15px !important;padding-right:15px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-15\@md{padding:15px !important}.pT-15\@md{padding-top:15px !important}.pR-15\@md{padding-right:15px !important}.pB-15\@md{padding-bottom:15px !important}.pL-15\@md{padding-left:15px !important}.pY-15\@md{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@md{padding-left:15px !important;padding-right:15px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-15\@sm{padding:15px !important}.pT-15\@sm{padding-top:15px !important}.pR-15\@sm{padding-right:15px !important}.pB-15\@sm{padding-bottom:15px !important}.pL-15\@sm{padding-left:15px !important}.pY-15\@sm{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@sm{padding-left:15px !important;padding-right:15px !important}}.p-20{padding:20px !important}.pT-20{padding-top:20px !important}.pR-20{padding-right:20px !important}.pB-20{padding-bottom:20px !important}.pL-20{padding-left:20px !important}.pY-20{padding-top:20px !important;padding-bottom:20px !important}.pX-20{padding-left:20px !important;padding-right:20px !important}@media screen and (min-width: 1440px){.p-20\@xl\+{padding:20px !important}.pT-20\@xl\+{padding-top:20px !important}.pR-20\@xl\+{padding-right:20px !important}.pB-20\@xl\+{padding-bottom:20px !important}.pL-20\@xl\+{padding-left:20px !important}.pY-20\@xl\+{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@xl\+{padding-left:20px !important;padding-right:20px !important}}@media screen and (min-width: 1200px){.p-20\@lg\+{padding:20px !important}.pT-20\@lg\+{padding-top:20px !important}.pR-20\@lg\+{padding-right:20px !important}.pB-20\@lg\+{padding-bottom:20px !important}.pL-20\@lg\+{padding-left:20px !important}.pY-20\@lg\+{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@lg\+{padding-left:20px !important;padding-right:20px !important}}@media screen and (min-width: 992px){.p-20\@md\+{padding:20px !important}.pT-20\@md\+{padding-top:20px !important}.pR-20\@md\+{padding-right:20px !important}.pB-20\@md\+{padding-bottom:20px !important}.pL-20\@md\+{padding-left:20px !important}.pY-20\@md\+{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@md\+{padding-left:20px !important;padding-right:20px !important}}@media screen and (min-width: 768px){.p-20\@sm\+{padding:20px !important}.pT-20\@sm\+{padding-top:20px !important}.pR-20\@sm\+{padding-right:20px !important}.pB-20\@sm\+{padding-bottom:20px !important}.pL-20\@sm\+{padding-left:20px !important}.pY-20\@sm\+{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@sm\+{padding-left:20px !important;padding-right:20px !important}}@media screen and (min-width: 0){.p-20\@xs\+{padding:20px !important}.pT-20\@xs\+{padding-top:20px !important}.pR-20\@xs\+{padding-right:20px !important}.pB-20\@xs\+{padding-bottom:20px !important}.pL-20\@xs\+{padding-left:20px !important}.pY-20\@xs\+{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@xs\+{padding-left:20px !important;padding-right:20px !important}}@media screen and (max-width: 1439px){.p-20\@xl-{padding:20px !important}.pT-20\@xl-{padding-top:20px !important}.pR-20\@xl-{padding-right:20px !important}.pB-20\@xl-{padding-bottom:20px !important}.pL-20\@xl-{padding-left:20px !important}.pY-20\@xl-{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@xl-{padding-left:20px !important;padding-right:20px !important}}@media screen and (max-width: 1199px){.p-20\@lg-{padding:20px !important}.pT-20\@lg-{padding-top:20px !important}.pR-20\@lg-{padding-right:20px !important}.pB-20\@lg-{padding-bottom:20px !important}.pL-20\@lg-{padding-left:20px !important}.pY-20\@lg-{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@lg-{padding-left:20px !important;padding-right:20px !important}}@media screen and (max-width: 991px){.p-20\@md-{padding:20px !important}.pT-20\@md-{padding-top:20px !important}.pR-20\@md-{padding-right:20px !important}.pB-20\@md-{padding-bottom:20px !important}.pL-20\@md-{padding-left:20px !important}.pY-20\@md-{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@md-{padding-left:20px !important;padding-right:20px !important}}@media screen and (max-width: 767px){.p-20\@sm-{padding:20px !important}.pT-20\@sm-{padding-top:20px !important}.pR-20\@sm-{padding-right:20px !important}.pB-20\@sm-{padding-bottom:20px !important}.pL-20\@sm-{padding-left:20px !important}.pY-20\@sm-{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@sm-{padding-left:20px !important;padding-right:20px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-20\@lg{padding:20px !important}.pT-20\@lg{padding-top:20px !important}.pR-20\@lg{padding-right:20px !important}.pB-20\@lg{padding-bottom:20px !important}.pL-20\@lg{padding-left:20px !important}.pY-20\@lg{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@lg{padding-left:20px !important;padding-right:20px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-20\@md{padding:20px !important}.pT-20\@md{padding-top:20px !important}.pR-20\@md{padding-right:20px !important}.pB-20\@md{padding-bottom:20px !important}.pL-20\@md{padding-left:20px !important}.pY-20\@md{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@md{padding-left:20px !important;padding-right:20px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-20\@sm{padding:20px !important}.pT-20\@sm{padding-top:20px !important}.pR-20\@sm{padding-right:20px !important}.pB-20\@sm{padding-bottom:20px !important}.pL-20\@sm{padding-left:20px !important}.pY-20\@sm{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@sm{padding-left:20px !important;padding-right:20px !important}}.p-25{padding:25px !important}.pT-25{padding-top:25px !important}.pR-25{padding-right:25px !important}.pB-25{padding-bottom:25px !important}.pL-25{padding-left:25px !important}.pY-25{padding-top:25px !important;padding-bottom:25px !important}.pX-25{padding-left:25px !important;padding-right:25px !important}@media screen and (min-width: 1440px){.p-25\@xl\+{padding:25px !important}.pT-25\@xl\+{padding-top:25px !important}.pR-25\@xl\+{padding-right:25px !important}.pB-25\@xl\+{padding-bottom:25px !important}.pL-25\@xl\+{padding-left:25px !important}.pY-25\@xl\+{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@xl\+{padding-left:25px !important;padding-right:25px !important}}@media screen and (min-width: 1200px){.p-25\@lg\+{padding:25px !important}.pT-25\@lg\+{padding-top:25px !important}.pR-25\@lg\+{padding-right:25px !important}.pB-25\@lg\+{padding-bottom:25px !important}.pL-25\@lg\+{padding-left:25px !important}.pY-25\@lg\+{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@lg\+{padding-left:25px !important;padding-right:25px !important}}@media screen and (min-width: 992px){.p-25\@md\+{padding:25px !important}.pT-25\@md\+{padding-top:25px !important}.pR-25\@md\+{padding-right:25px !important}.pB-25\@md\+{padding-bottom:25px !important}.pL-25\@md\+{padding-left:25px !important}.pY-25\@md\+{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@md\+{padding-left:25px !important;padding-right:25px !important}}@media screen and (min-width: 768px){.p-25\@sm\+{padding:25px !important}.pT-25\@sm\+{padding-top:25px !important}.pR-25\@sm\+{padding-right:25px !important}.pB-25\@sm\+{padding-bottom:25px !important}.pL-25\@sm\+{padding-left:25px !important}.pY-25\@sm\+{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@sm\+{padding-left:25px !important;padding-right:25px !important}}@media screen and (min-width: 0){.p-25\@xs\+{padding:25px !important}.pT-25\@xs\+{padding-top:25px !important}.pR-25\@xs\+{padding-right:25px !important}.pB-25\@xs\+{padding-bottom:25px !important}.pL-25\@xs\+{padding-left:25px !important}.pY-25\@xs\+{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@xs\+{padding-left:25px !important;padding-right:25px !important}}@media screen and (max-width: 1439px){.p-25\@xl-{padding:25px !important}.pT-25\@xl-{padding-top:25px !important}.pR-25\@xl-{padding-right:25px !important}.pB-25\@xl-{padding-bottom:25px !important}.pL-25\@xl-{padding-left:25px !important}.pY-25\@xl-{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@xl-{padding-left:25px !important;padding-right:25px !important}}@media screen and (max-width: 1199px){.p-25\@lg-{padding:25px !important}.pT-25\@lg-{padding-top:25px !important}.pR-25\@lg-{padding-right:25px !important}.pB-25\@lg-{padding-bottom:25px !important}.pL-25\@lg-{padding-left:25px !important}.pY-25\@lg-{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@lg-{padding-left:25px !important;padding-right:25px !important}}@media screen and (max-width: 991px){.p-25\@md-{padding:25px !important}.pT-25\@md-{padding-top:25px !important}.pR-25\@md-{padding-right:25px !important}.pB-25\@md-{padding-bottom:25px !important}.pL-25\@md-{padding-left:25px !important}.pY-25\@md-{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@md-{padding-left:25px !important;padding-right:25px !important}}@media screen and (max-width: 767px){.p-25\@sm-{padding:25px !important}.pT-25\@sm-{padding-top:25px !important}.pR-25\@sm-{padding-right:25px !important}.pB-25\@sm-{padding-bottom:25px !important}.pL-25\@sm-{padding-left:25px !important}.pY-25\@sm-{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@sm-{padding-left:25px !important;padding-right:25px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-25\@lg{padding:25px !important}.pT-25\@lg{padding-top:25px !important}.pR-25\@lg{padding-right:25px !important}.pB-25\@lg{padding-bottom:25px !important}.pL-25\@lg{padding-left:25px !important}.pY-25\@lg{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@lg{padding-left:25px !important;padding-right:25px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-25\@md{padding:25px !important}.pT-25\@md{padding-top:25px !important}.pR-25\@md{padding-right:25px !important}.pB-25\@md{padding-bottom:25px !important}.pL-25\@md{padding-left:25px !important}.pY-25\@md{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@md{padding-left:25px !important;padding-right:25px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-25\@sm{padding:25px !important}.pT-25\@sm{padding-top:25px !important}.pR-25\@sm{padding-right:25px !important}.pB-25\@sm{padding-bottom:25px !important}.pL-25\@sm{padding-left:25px !important}.pY-25\@sm{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@sm{padding-left:25px !important;padding-right:25px !important}}.p-30{padding:30px !important}.pT-30{padding-top:30px !important}.pR-30{padding-right:30px !important}.pB-30{padding-bottom:30px !important}.pL-30{padding-left:30px !important}.pY-30{padding-top:30px !important;padding-bottom:30px !important}.pX-30{padding-left:30px !important;padding-right:30px !important}@media screen and (min-width: 1440px){.p-30\@xl\+{padding:30px !important}.pT-30\@xl\+{padding-top:30px !important}.pR-30\@xl\+{padding-right:30px !important}.pB-30\@xl\+{padding-bottom:30px !important}.pL-30\@xl\+{padding-left:30px !important}.pY-30\@xl\+{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@xl\+{padding-left:30px !important;padding-right:30px !important}}@media screen and (min-width: 1200px){.p-30\@lg\+{padding:30px !important}.pT-30\@lg\+{padding-top:30px !important}.pR-30\@lg\+{padding-right:30px !important}.pB-30\@lg\+{padding-bottom:30px !important}.pL-30\@lg\+{padding-left:30px !important}.pY-30\@lg\+{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@lg\+{padding-left:30px !important;padding-right:30px !important}}@media screen and (min-width: 992px){.p-30\@md\+{padding:30px !important}.pT-30\@md\+{padding-top:30px !important}.pR-30\@md\+{padding-right:30px !important}.pB-30\@md\+{padding-bottom:30px !important}.pL-30\@md\+{padding-left:30px !important}.pY-30\@md\+{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@md\+{padding-left:30px !important;padding-right:30px !important}}@media screen and (min-width: 768px){.p-30\@sm\+{padding:30px !important}.pT-30\@sm\+{padding-top:30px !important}.pR-30\@sm\+{padding-right:30px !important}.pB-30\@sm\+{padding-bottom:30px !important}.pL-30\@sm\+{padding-left:30px !important}.pY-30\@sm\+{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@sm\+{padding-left:30px !important;padding-right:30px !important}}@media screen and (min-width: 0){.p-30\@xs\+{padding:30px !important}.pT-30\@xs\+{padding-top:30px !important}.pR-30\@xs\+{padding-right:30px !important}.pB-30\@xs\+{padding-bottom:30px !important}.pL-30\@xs\+{padding-left:30px !important}.pY-30\@xs\+{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@xs\+{padding-left:30px !important;padding-right:30px !important}}@media screen and (max-width: 1439px){.p-30\@xl-{padding:30px !important}.pT-30\@xl-{padding-top:30px !important}.pR-30\@xl-{padding-right:30px !important}.pB-30\@xl-{padding-bottom:30px !important}.pL-30\@xl-{padding-left:30px !important}.pY-30\@xl-{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@xl-{padding-left:30px !important;padding-right:30px !important}}@media screen and (max-width: 1199px){.p-30\@lg-{padding:30px !important}.pT-30\@lg-{padding-top:30px !important}.pR-30\@lg-{padding-right:30px !important}.pB-30\@lg-{padding-bottom:30px !important}.pL-30\@lg-{padding-left:30px !important}.pY-30\@lg-{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@lg-{padding-left:30px !important;padding-right:30px !important}}@media screen and (max-width: 991px){.p-30\@md-{padding:30px !important}.pT-30\@md-{padding-top:30px !important}.pR-30\@md-{padding-right:30px !important}.pB-30\@md-{padding-bottom:30px !important}.pL-30\@md-{padding-left:30px !important}.pY-30\@md-{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@md-{padding-left:30px !important;padding-right:30px !important}}@media screen and (max-width: 767px){.p-30\@sm-{padding:30px !important}.pT-30\@sm-{padding-top:30px !important}.pR-30\@sm-{padding-right:30px !important}.pB-30\@sm-{padding-bottom:30px !important}.pL-30\@sm-{padding-left:30px !important}.pY-30\@sm-{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@sm-{padding-left:30px !important;padding-right:30px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-30\@lg{padding:30px !important}.pT-30\@lg{padding-top:30px !important}.pR-30\@lg{padding-right:30px !important}.pB-30\@lg{padding-bottom:30px !important}.pL-30\@lg{padding-left:30px !important}.pY-30\@lg{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@lg{padding-left:30px !important;padding-right:30px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-30\@md{padding:30px !important}.pT-30\@md{padding-top:30px !important}.pR-30\@md{padding-right:30px !important}.pB-30\@md{padding-bottom:30px !important}.pL-30\@md{padding-left:30px !important}.pY-30\@md{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@md{padding-left:30px !important;padding-right:30px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-30\@sm{padding:30px !important}.pT-30\@sm{padding-top:30px !important}.pR-30\@sm{padding-right:30px !important}.pB-30\@sm{padding-bottom:30px !important}.pL-30\@sm{padding-left:30px !important}.pY-30\@sm{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@sm{padding-left:30px !important;padding-right:30px !important}}.p-35{padding:35px !important}.pT-35{padding-top:35px !important}.pR-35{padding-right:35px !important}.pB-35{padding-bottom:35px !important}.pL-35{padding-left:35px !important}.pY-35{padding-top:35px !important;padding-bottom:35px !important}.pX-35{padding-left:35px !important;padding-right:35px !important}@media screen and (min-width: 1440px){.p-35\@xl\+{padding:35px !important}.pT-35\@xl\+{padding-top:35px !important}.pR-35\@xl\+{padding-right:35px !important}.pB-35\@xl\+{padding-bottom:35px !important}.pL-35\@xl\+{padding-left:35px !important}.pY-35\@xl\+{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@xl\+{padding-left:35px !important;padding-right:35px !important}}@media screen and (min-width: 1200px){.p-35\@lg\+{padding:35px !important}.pT-35\@lg\+{padding-top:35px !important}.pR-35\@lg\+{padding-right:35px !important}.pB-35\@lg\+{padding-bottom:35px !important}.pL-35\@lg\+{padding-left:35px !important}.pY-35\@lg\+{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@lg\+{padding-left:35px !important;padding-right:35px !important}}@media screen and (min-width: 992px){.p-35\@md\+{padding:35px !important}.pT-35\@md\+{padding-top:35px !important}.pR-35\@md\+{padding-right:35px !important}.pB-35\@md\+{padding-bottom:35px !important}.pL-35\@md\+{padding-left:35px !important}.pY-35\@md\+{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@md\+{padding-left:35px !important;padding-right:35px !important}}@media screen and (min-width: 768px){.p-35\@sm\+{padding:35px !important}.pT-35\@sm\+{padding-top:35px !important}.pR-35\@sm\+{padding-right:35px !important}.pB-35\@sm\+{padding-bottom:35px !important}.pL-35\@sm\+{padding-left:35px !important}.pY-35\@sm\+{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@sm\+{padding-left:35px !important;padding-right:35px !important}}@media screen and (min-width: 0){.p-35\@xs\+{padding:35px !important}.pT-35\@xs\+{padding-top:35px !important}.pR-35\@xs\+{padding-right:35px !important}.pB-35\@xs\+{padding-bottom:35px !important}.pL-35\@xs\+{padding-left:35px !important}.pY-35\@xs\+{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@xs\+{padding-left:35px !important;padding-right:35px !important}}@media screen and (max-width: 1439px){.p-35\@xl-{padding:35px !important}.pT-35\@xl-{padding-top:35px !important}.pR-35\@xl-{padding-right:35px !important}.pB-35\@xl-{padding-bottom:35px !important}.pL-35\@xl-{padding-left:35px !important}.pY-35\@xl-{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@xl-{padding-left:35px !important;padding-right:35px !important}}@media screen and (max-width: 1199px){.p-35\@lg-{padding:35px !important}.pT-35\@lg-{padding-top:35px !important}.pR-35\@lg-{padding-right:35px !important}.pB-35\@lg-{padding-bottom:35px !important}.pL-35\@lg-{padding-left:35px !important}.pY-35\@lg-{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@lg-{padding-left:35px !important;padding-right:35px !important}}@media screen and (max-width: 991px){.p-35\@md-{padding:35px !important}.pT-35\@md-{padding-top:35px !important}.pR-35\@md-{padding-right:35px !important}.pB-35\@md-{padding-bottom:35px !important}.pL-35\@md-{padding-left:35px !important}.pY-35\@md-{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@md-{padding-left:35px !important;padding-right:35px !important}}@media screen and (max-width: 767px){.p-35\@sm-{padding:35px !important}.pT-35\@sm-{padding-top:35px !important}.pR-35\@sm-{padding-right:35px !important}.pB-35\@sm-{padding-bottom:35px !important}.pL-35\@sm-{padding-left:35px !important}.pY-35\@sm-{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@sm-{padding-left:35px !important;padding-right:35px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-35\@lg{padding:35px !important}.pT-35\@lg{padding-top:35px !important}.pR-35\@lg{padding-right:35px !important}.pB-35\@lg{padding-bottom:35px !important}.pL-35\@lg{padding-left:35px !important}.pY-35\@lg{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@lg{padding-left:35px !important;padding-right:35px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-35\@md{padding:35px !important}.pT-35\@md{padding-top:35px !important}.pR-35\@md{padding-right:35px !important}.pB-35\@md{padding-bottom:35px !important}.pL-35\@md{padding-left:35px !important}.pY-35\@md{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@md{padding-left:35px !important;padding-right:35px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-35\@sm{padding:35px !important}.pT-35\@sm{padding-top:35px !important}.pR-35\@sm{padding-right:35px !important}.pB-35\@sm{padding-bottom:35px !important}.pL-35\@sm{padding-left:35px !important}.pY-35\@sm{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@sm{padding-left:35px !important;padding-right:35px !important}}.p-40{padding:40px !important}.pT-40{padding-top:40px !important}.pR-40{padding-right:40px !important}.pB-40{padding-bottom:40px !important}.pL-40{padding-left:40px !important}.pY-40{padding-top:40px !important;padding-bottom:40px !important}.pX-40{padding-left:40px !important;padding-right:40px !important}@media screen and (min-width: 1440px){.p-40\@xl\+{padding:40px !important}.pT-40\@xl\+{padding-top:40px !important}.pR-40\@xl\+{padding-right:40px !important}.pB-40\@xl\+{padding-bottom:40px !important}.pL-40\@xl\+{padding-left:40px !important}.pY-40\@xl\+{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@xl\+{padding-left:40px !important;padding-right:40px !important}}@media screen and (min-width: 1200px){.p-40\@lg\+{padding:40px !important}.pT-40\@lg\+{padding-top:40px !important}.pR-40\@lg\+{padding-right:40px !important}.pB-40\@lg\+{padding-bottom:40px !important}.pL-40\@lg\+{padding-left:40px !important}.pY-40\@lg\+{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@lg\+{padding-left:40px !important;padding-right:40px !important}}@media screen and (min-width: 992px){.p-40\@md\+{padding:40px !important}.pT-40\@md\+{padding-top:40px !important}.pR-40\@md\+{padding-right:40px !important}.pB-40\@md\+{padding-bottom:40px !important}.pL-40\@md\+{padding-left:40px !important}.pY-40\@md\+{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@md\+{padding-left:40px !important;padding-right:40px !important}}@media screen and (min-width: 768px){.p-40\@sm\+{padding:40px !important}.pT-40\@sm\+{padding-top:40px !important}.pR-40\@sm\+{padding-right:40px !important}.pB-40\@sm\+{padding-bottom:40px !important}.pL-40\@sm\+{padding-left:40px !important}.pY-40\@sm\+{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@sm\+{padding-left:40px !important;padding-right:40px !important}}@media screen and (min-width: 0){.p-40\@xs\+{padding:40px !important}.pT-40\@xs\+{padding-top:40px !important}.pR-40\@xs\+{padding-right:40px !important}.pB-40\@xs\+{padding-bottom:40px !important}.pL-40\@xs\+{padding-left:40px !important}.pY-40\@xs\+{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@xs\+{padding-left:40px !important;padding-right:40px !important}}@media screen and (max-width: 1439px){.p-40\@xl-{padding:40px !important}.pT-40\@xl-{padding-top:40px !important}.pR-40\@xl-{padding-right:40px !important}.pB-40\@xl-{padding-bottom:40px !important}.pL-40\@xl-{padding-left:40px !important}.pY-40\@xl-{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@xl-{padding-left:40px !important;padding-right:40px !important}}@media screen and (max-width: 1199px){.p-40\@lg-{padding:40px !important}.pT-40\@lg-{padding-top:40px !important}.pR-40\@lg-{padding-right:40px !important}.pB-40\@lg-{padding-bottom:40px !important}.pL-40\@lg-{padding-left:40px !important}.pY-40\@lg-{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@lg-{padding-left:40px !important;padding-right:40px !important}}@media screen and (max-width: 991px){.p-40\@md-{padding:40px !important}.pT-40\@md-{padding-top:40px !important}.pR-40\@md-{padding-right:40px !important}.pB-40\@md-{padding-bottom:40px !important}.pL-40\@md-{padding-left:40px !important}.pY-40\@md-{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@md-{padding-left:40px !important;padding-right:40px !important}}@media screen and (max-width: 767px){.p-40\@sm-{padding:40px !important}.pT-40\@sm-{padding-top:40px !important}.pR-40\@sm-{padding-right:40px !important}.pB-40\@sm-{padding-bottom:40px !important}.pL-40\@sm-{padding-left:40px !important}.pY-40\@sm-{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@sm-{padding-left:40px !important;padding-right:40px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-40\@lg{padding:40px !important}.pT-40\@lg{padding-top:40px !important}.pR-40\@lg{padding-right:40px !important}.pB-40\@lg{padding-bottom:40px !important}.pL-40\@lg{padding-left:40px !important}.pY-40\@lg{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@lg{padding-left:40px !important;padding-right:40px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-40\@md{padding:40px !important}.pT-40\@md{padding-top:40px !important}.pR-40\@md{padding-right:40px !important}.pB-40\@md{padding-bottom:40px !important}.pL-40\@md{padding-left:40px !important}.pY-40\@md{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@md{padding-left:40px !important;padding-right:40px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-40\@sm{padding:40px !important}.pT-40\@sm{padding-top:40px !important}.pR-40\@sm{padding-right:40px !important}.pB-40\@sm{padding-bottom:40px !important}.pL-40\@sm{padding-left:40px !important}.pY-40\@sm{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@sm{padding-left:40px !important;padding-right:40px !important}}.p-50{padding:50px !important}.pT-50{padding-top:50px !important}.pR-50{padding-right:50px !important}.pB-50{padding-bottom:50px !important}.pL-50{padding-left:50px !important}.pY-50{padding-top:50px !important;padding-bottom:50px !important}.pX-50{padding-left:50px !important;padding-right:50px !important}@media screen and (min-width: 1440px){.p-50\@xl\+{padding:50px !important}.pT-50\@xl\+{padding-top:50px !important}.pR-50\@xl\+{padding-right:50px !important}.pB-50\@xl\+{padding-bottom:50px !important}.pL-50\@xl\+{padding-left:50px !important}.pY-50\@xl\+{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@xl\+{padding-left:50px !important;padding-right:50px !important}}@media screen and (min-width: 1200px){.p-50\@lg\+{padding:50px !important}.pT-50\@lg\+{padding-top:50px !important}.pR-50\@lg\+{padding-right:50px !important}.pB-50\@lg\+{padding-bottom:50px !important}.pL-50\@lg\+{padding-left:50px !important}.pY-50\@lg\+{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@lg\+{padding-left:50px !important;padding-right:50px !important}}@media screen and (min-width: 992px){.p-50\@md\+{padding:50px !important}.pT-50\@md\+{padding-top:50px !important}.pR-50\@md\+{padding-right:50px !important}.pB-50\@md\+{padding-bottom:50px !important}.pL-50\@md\+{padding-left:50px !important}.pY-50\@md\+{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@md\+{padding-left:50px !important;padding-right:50px !important}}@media screen and (min-width: 768px){.p-50\@sm\+{padding:50px !important}.pT-50\@sm\+{padding-top:50px !important}.pR-50\@sm\+{padding-right:50px !important}.pB-50\@sm\+{padding-bottom:50px !important}.pL-50\@sm\+{padding-left:50px !important}.pY-50\@sm\+{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@sm\+{padding-left:50px !important;padding-right:50px !important}}@media screen and (min-width: 0){.p-50\@xs\+{padding:50px !important}.pT-50\@xs\+{padding-top:50px !important}.pR-50\@xs\+{padding-right:50px !important}.pB-50\@xs\+{padding-bottom:50px !important}.pL-50\@xs\+{padding-left:50px !important}.pY-50\@xs\+{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@xs\+{padding-left:50px !important;padding-right:50px !important}}@media screen and (max-width: 1439px){.p-50\@xl-{padding:50px !important}.pT-50\@xl-{padding-top:50px !important}.pR-50\@xl-{padding-right:50px !important}.pB-50\@xl-{padding-bottom:50px !important}.pL-50\@xl-{padding-left:50px !important}.pY-50\@xl-{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@xl-{padding-left:50px !important;padding-right:50px !important}}@media screen and (max-width: 1199px){.p-50\@lg-{padding:50px !important}.pT-50\@lg-{padding-top:50px !important}.pR-50\@lg-{padding-right:50px !important}.pB-50\@lg-{padding-bottom:50px !important}.pL-50\@lg-{padding-left:50px !important}.pY-50\@lg-{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@lg-{padding-left:50px !important;padding-right:50px !important}}@media screen and (max-width: 991px){.p-50\@md-{padding:50px !important}.pT-50\@md-{padding-top:50px !important}.pR-50\@md-{padding-right:50px !important}.pB-50\@md-{padding-bottom:50px !important}.pL-50\@md-{padding-left:50px !important}.pY-50\@md-{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@md-{padding-left:50px !important;padding-right:50px !important}}@media screen and (max-width: 767px){.p-50\@sm-{padding:50px !important}.pT-50\@sm-{padding-top:50px !important}.pR-50\@sm-{padding-right:50px !important}.pB-50\@sm-{padding-bottom:50px !important}.pL-50\@sm-{padding-left:50px !important}.pY-50\@sm-{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@sm-{padding-left:50px !important;padding-right:50px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-50\@lg{padding:50px !important}.pT-50\@lg{padding-top:50px !important}.pR-50\@lg{padding-right:50px !important}.pB-50\@lg{padding-bottom:50px !important}.pL-50\@lg{padding-left:50px !important}.pY-50\@lg{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@lg{padding-left:50px !important;padding-right:50px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-50\@md{padding:50px !important}.pT-50\@md{padding-top:50px !important}.pR-50\@md{padding-right:50px !important}.pB-50\@md{padding-bottom:50px !important}.pL-50\@md{padding-left:50px !important}.pY-50\@md{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@md{padding-left:50px !important;padding-right:50px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-50\@sm{padding:50px !important}.pT-50\@sm{padding-top:50px !important}.pR-50\@sm{padding-right:50px !important}.pB-50\@sm{padding-bottom:50px !important}.pL-50\@sm{padding-left:50px !important}.pY-50\@sm{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@sm{padding-left:50px !important;padding-right:50px !important}}.p-60{padding:60px !important}.pT-60{padding-top:60px !important}.pR-60{padding-right:60px !important}.pB-60{padding-bottom:60px !important}.pL-60{padding-left:60px !important}.pY-60{padding-top:60px !important;padding-bottom:60px !important}.pX-60{padding-left:60px !important;padding-right:60px !important}@media screen and (min-width: 1440px){.p-60\@xl\+{padding:60px !important}.pT-60\@xl\+{padding-top:60px !important}.pR-60\@xl\+{padding-right:60px !important}.pB-60\@xl\+{padding-bottom:60px !important}.pL-60\@xl\+{padding-left:60px !important}.pY-60\@xl\+{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@xl\+{padding-left:60px !important;padding-right:60px !important}}@media screen and (min-width: 1200px){.p-60\@lg\+{padding:60px !important}.pT-60\@lg\+{padding-top:60px !important}.pR-60\@lg\+{padding-right:60px !important}.pB-60\@lg\+{padding-bottom:60px !important}.pL-60\@lg\+{padding-left:60px !important}.pY-60\@lg\+{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@lg\+{padding-left:60px !important;padding-right:60px !important}}@media screen and (min-width: 992px){.p-60\@md\+{padding:60px !important}.pT-60\@md\+{padding-top:60px !important}.pR-60\@md\+{padding-right:60px !important}.pB-60\@md\+{padding-bottom:60px !important}.pL-60\@md\+{padding-left:60px !important}.pY-60\@md\+{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@md\+{padding-left:60px !important;padding-right:60px !important}}@media screen and (min-width: 768px){.p-60\@sm\+{padding:60px !important}.pT-60\@sm\+{padding-top:60px !important}.pR-60\@sm\+{padding-right:60px !important}.pB-60\@sm\+{padding-bottom:60px !important}.pL-60\@sm\+{padding-left:60px !important}.pY-60\@sm\+{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@sm\+{padding-left:60px !important;padding-right:60px !important}}@media screen and (min-width: 0){.p-60\@xs\+{padding:60px !important}.pT-60\@xs\+{padding-top:60px !important}.pR-60\@xs\+{padding-right:60px !important}.pB-60\@xs\+{padding-bottom:60px !important}.pL-60\@xs\+{padding-left:60px !important}.pY-60\@xs\+{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@xs\+{padding-left:60px !important;padding-right:60px !important}}@media screen and (max-width: 1439px){.p-60\@xl-{padding:60px !important}.pT-60\@xl-{padding-top:60px !important}.pR-60\@xl-{padding-right:60px !important}.pB-60\@xl-{padding-bottom:60px !important}.pL-60\@xl-{padding-left:60px !important}.pY-60\@xl-{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@xl-{padding-left:60px !important;padding-right:60px !important}}@media screen and (max-width: 1199px){.p-60\@lg-{padding:60px !important}.pT-60\@lg-{padding-top:60px !important}.pR-60\@lg-{padding-right:60px !important}.pB-60\@lg-{padding-bottom:60px !important}.pL-60\@lg-{padding-left:60px !important}.pY-60\@lg-{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@lg-{padding-left:60px !important;padding-right:60px !important}}@media screen and (max-width: 991px){.p-60\@md-{padding:60px !important}.pT-60\@md-{padding-top:60px !important}.pR-60\@md-{padding-right:60px !important}.pB-60\@md-{padding-bottom:60px !important}.pL-60\@md-{padding-left:60px !important}.pY-60\@md-{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@md-{padding-left:60px !important;padding-right:60px !important}}@media screen and (max-width: 767px){.p-60\@sm-{padding:60px !important}.pT-60\@sm-{padding-top:60px !important}.pR-60\@sm-{padding-right:60px !important}.pB-60\@sm-{padding-bottom:60px !important}.pL-60\@sm-{padding-left:60px !important}.pY-60\@sm-{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@sm-{padding-left:60px !important;padding-right:60px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-60\@lg{padding:60px !important}.pT-60\@lg{padding-top:60px !important}.pR-60\@lg{padding-right:60px !important}.pB-60\@lg{padding-bottom:60px !important}.pL-60\@lg{padding-left:60px !important}.pY-60\@lg{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@lg{padding-left:60px !important;padding-right:60px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-60\@md{padding:60px !important}.pT-60\@md{padding-top:60px !important}.pR-60\@md{padding-right:60px !important}.pB-60\@md{padding-bottom:60px !important}.pL-60\@md{padding-left:60px !important}.pY-60\@md{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@md{padding-left:60px !important;padding-right:60px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-60\@sm{padding:60px !important}.pT-60\@sm{padding-top:60px !important}.pR-60\@sm{padding-right:60px !important}.pB-60\@sm{padding-bottom:60px !important}.pL-60\@sm{padding-left:60px !important}.pY-60\@sm{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@sm{padding-left:60px !important;padding-right:60px !important}}.p-70{padding:70px !important}.pT-70{padding-top:70px !important}.pR-70{padding-right:70px !important}.pB-70{padding-bottom:70px !important}.pL-70{padding-left:70px !important}.pY-70{padding-top:70px !important;padding-bottom:70px !important}.pX-70{padding-left:70px !important;padding-right:70px !important}@media screen and (min-width: 1440px){.p-70\@xl\+{padding:70px !important}.pT-70\@xl\+{padding-top:70px !important}.pR-70\@xl\+{padding-right:70px !important}.pB-70\@xl\+{padding-bottom:70px !important}.pL-70\@xl\+{padding-left:70px !important}.pY-70\@xl\+{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@xl\+{padding-left:70px !important;padding-right:70px !important}}@media screen and (min-width: 1200px){.p-70\@lg\+{padding:70px !important}.pT-70\@lg\+{padding-top:70px !important}.pR-70\@lg\+{padding-right:70px !important}.pB-70\@lg\+{padding-bottom:70px !important}.pL-70\@lg\+{padding-left:70px !important}.pY-70\@lg\+{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@lg\+{padding-left:70px !important;padding-right:70px !important}}@media screen and (min-width: 992px){.p-70\@md\+{padding:70px !important}.pT-70\@md\+{padding-top:70px !important}.pR-70\@md\+{padding-right:70px !important}.pB-70\@md\+{padding-bottom:70px !important}.pL-70\@md\+{padding-left:70px !important}.pY-70\@md\+{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@md\+{padding-left:70px !important;padding-right:70px !important}}@media screen and (min-width: 768px){.p-70\@sm\+{padding:70px !important}.pT-70\@sm\+{padding-top:70px !important}.pR-70\@sm\+{padding-right:70px !important}.pB-70\@sm\+{padding-bottom:70px !important}.pL-70\@sm\+{padding-left:70px !important}.pY-70\@sm\+{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@sm\+{padding-left:70px !important;padding-right:70px !important}}@media screen and (min-width: 0){.p-70\@xs\+{padding:70px !important}.pT-70\@xs\+{padding-top:70px !important}.pR-70\@xs\+{padding-right:70px !important}.pB-70\@xs\+{padding-bottom:70px !important}.pL-70\@xs\+{padding-left:70px !important}.pY-70\@xs\+{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@xs\+{padding-left:70px !important;padding-right:70px !important}}@media screen and (max-width: 1439px){.p-70\@xl-{padding:70px !important}.pT-70\@xl-{padding-top:70px !important}.pR-70\@xl-{padding-right:70px !important}.pB-70\@xl-{padding-bottom:70px !important}.pL-70\@xl-{padding-left:70px !important}.pY-70\@xl-{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@xl-{padding-left:70px !important;padding-right:70px !important}}@media screen and (max-width: 1199px){.p-70\@lg-{padding:70px !important}.pT-70\@lg-{padding-top:70px !important}.pR-70\@lg-{padding-right:70px !important}.pB-70\@lg-{padding-bottom:70px !important}.pL-70\@lg-{padding-left:70px !important}.pY-70\@lg-{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@lg-{padding-left:70px !important;padding-right:70px !important}}@media screen and (max-width: 991px){.p-70\@md-{padding:70px !important}.pT-70\@md-{padding-top:70px !important}.pR-70\@md-{padding-right:70px !important}.pB-70\@md-{padding-bottom:70px !important}.pL-70\@md-{padding-left:70px !important}.pY-70\@md-{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@md-{padding-left:70px !important;padding-right:70px !important}}@media screen and (max-width: 767px){.p-70\@sm-{padding:70px !important}.pT-70\@sm-{padding-top:70px !important}.pR-70\@sm-{padding-right:70px !important}.pB-70\@sm-{padding-bottom:70px !important}.pL-70\@sm-{padding-left:70px !important}.pY-70\@sm-{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@sm-{padding-left:70px !important;padding-right:70px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-70\@lg{padding:70px !important}.pT-70\@lg{padding-top:70px !important}.pR-70\@lg{padding-right:70px !important}.pB-70\@lg{padding-bottom:70px !important}.pL-70\@lg{padding-left:70px !important}.pY-70\@lg{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@lg{padding-left:70px !important;padding-right:70px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-70\@md{padding:70px !important}.pT-70\@md{padding-top:70px !important}.pR-70\@md{padding-right:70px !important}.pB-70\@md{padding-bottom:70px !important}.pL-70\@md{padding-left:70px !important}.pY-70\@md{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@md{padding-left:70px !important;padding-right:70px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-70\@sm{padding:70px !important}.pT-70\@sm{padding-top:70px !important}.pR-70\@sm{padding-right:70px !important}.pB-70\@sm{padding-bottom:70px !important}.pL-70\@sm{padding-left:70px !important}.pY-70\@sm{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@sm{padding-left:70px !important;padding-right:70px !important}}.p-80{padding:80px !important}.pT-80{padding-top:80px !important}.pR-80{padding-right:80px !important}.pB-80{padding-bottom:80px !important}.pL-80{padding-left:80px !important}.pY-80{padding-top:80px !important;padding-bottom:80px !important}.pX-80{padding-left:80px !important;padding-right:80px !important}@media screen and (min-width: 1440px){.p-80\@xl\+{padding:80px !important}.pT-80\@xl\+{padding-top:80px !important}.pR-80\@xl\+{padding-right:80px !important}.pB-80\@xl\+{padding-bottom:80px !important}.pL-80\@xl\+{padding-left:80px !important}.pY-80\@xl\+{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@xl\+{padding-left:80px !important;padding-right:80px !important}}@media screen and (min-width: 1200px){.p-80\@lg\+{padding:80px !important}.pT-80\@lg\+{padding-top:80px !important}.pR-80\@lg\+{padding-right:80px !important}.pB-80\@lg\+{padding-bottom:80px !important}.pL-80\@lg\+{padding-left:80px !important}.pY-80\@lg\+{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@lg\+{padding-left:80px !important;padding-right:80px !important}}@media screen and (min-width: 992px){.p-80\@md\+{padding:80px !important}.pT-80\@md\+{padding-top:80px !important}.pR-80\@md\+{padding-right:80px !important}.pB-80\@md\+{padding-bottom:80px !important}.pL-80\@md\+{padding-left:80px !important}.pY-80\@md\+{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@md\+{padding-left:80px !important;padding-right:80px !important}}@media screen and (min-width: 768px){.p-80\@sm\+{padding:80px !important}.pT-80\@sm\+{padding-top:80px !important}.pR-80\@sm\+{padding-right:80px !important}.pB-80\@sm\+{padding-bottom:80px !important}.pL-80\@sm\+{padding-left:80px !important}.pY-80\@sm\+{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@sm\+{padding-left:80px !important;padding-right:80px !important}}@media screen and (min-width: 0){.p-80\@xs\+{padding:80px !important}.pT-80\@xs\+{padding-top:80px !important}.pR-80\@xs\+{padding-right:80px !important}.pB-80\@xs\+{padding-bottom:80px !important}.pL-80\@xs\+{padding-left:80px !important}.pY-80\@xs\+{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@xs\+{padding-left:80px !important;padding-right:80px !important}}@media screen and (max-width: 1439px){.p-80\@xl-{padding:80px !important}.pT-80\@xl-{padding-top:80px !important}.pR-80\@xl-{padding-right:80px !important}.pB-80\@xl-{padding-bottom:80px !important}.pL-80\@xl-{padding-left:80px !important}.pY-80\@xl-{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@xl-{padding-left:80px !important;padding-right:80px !important}}@media screen and (max-width: 1199px){.p-80\@lg-{padding:80px !important}.pT-80\@lg-{padding-top:80px !important}.pR-80\@lg-{padding-right:80px !important}.pB-80\@lg-{padding-bottom:80px !important}.pL-80\@lg-{padding-left:80px !important}.pY-80\@lg-{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@lg-{padding-left:80px !important;padding-right:80px !important}}@media screen and (max-width: 991px){.p-80\@md-{padding:80px !important}.pT-80\@md-{padding-top:80px !important}.pR-80\@md-{padding-right:80px !important}.pB-80\@md-{padding-bottom:80px !important}.pL-80\@md-{padding-left:80px !important}.pY-80\@md-{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@md-{padding-left:80px !important;padding-right:80px !important}}@media screen and (max-width: 767px){.p-80\@sm-{padding:80px !important}.pT-80\@sm-{padding-top:80px !important}.pR-80\@sm-{padding-right:80px !important}.pB-80\@sm-{padding-bottom:80px !important}.pL-80\@sm-{padding-left:80px !important}.pY-80\@sm-{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@sm-{padding-left:80px !important;padding-right:80px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-80\@lg{padding:80px !important}.pT-80\@lg{padding-top:80px !important}.pR-80\@lg{padding-right:80px !important}.pB-80\@lg{padding-bottom:80px !important}.pL-80\@lg{padding-left:80px !important}.pY-80\@lg{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@lg{padding-left:80px !important;padding-right:80px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-80\@md{padding:80px !important}.pT-80\@md{padding-top:80px !important}.pR-80\@md{padding-right:80px !important}.pB-80\@md{padding-bottom:80px !important}.pL-80\@md{padding-left:80px !important}.pY-80\@md{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@md{padding-left:80px !important;padding-right:80px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-80\@sm{padding:80px !important}.pT-80\@sm{padding-top:80px !important}.pR-80\@sm{padding-right:80px !important}.pB-80\@sm{padding-bottom:80px !important}.pL-80\@sm{padding-left:80px !important}.pY-80\@sm{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@sm{padding-left:80px !important;padding-right:80px !important}}.p-90{padding:90px !important}.pT-90{padding-top:90px !important}.pR-90{padding-right:90px !important}.pB-90{padding-bottom:90px !important}.pL-90{padding-left:90px !important}.pY-90{padding-top:90px !important;padding-bottom:90px !important}.pX-90{padding-left:90px !important;padding-right:90px !important}@media screen and (min-width: 1440px){.p-90\@xl\+{padding:90px !important}.pT-90\@xl\+{padding-top:90px !important}.pR-90\@xl\+{padding-right:90px !important}.pB-90\@xl\+{padding-bottom:90px !important}.pL-90\@xl\+{padding-left:90px !important}.pY-90\@xl\+{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@xl\+{padding-left:90px !important;padding-right:90px !important}}@media screen and (min-width: 1200px){.p-90\@lg\+{padding:90px !important}.pT-90\@lg\+{padding-top:90px !important}.pR-90\@lg\+{padding-right:90px !important}.pB-90\@lg\+{padding-bottom:90px !important}.pL-90\@lg\+{padding-left:90px !important}.pY-90\@lg\+{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@lg\+{padding-left:90px !important;padding-right:90px !important}}@media screen and (min-width: 992px){.p-90\@md\+{padding:90px !important}.pT-90\@md\+{padding-top:90px !important}.pR-90\@md\+{padding-right:90px !important}.pB-90\@md\+{padding-bottom:90px !important}.pL-90\@md\+{padding-left:90px !important}.pY-90\@md\+{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@md\+{padding-left:90px !important;padding-right:90px !important}}@media screen and (min-width: 768px){.p-90\@sm\+{padding:90px !important}.pT-90\@sm\+{padding-top:90px !important}.pR-90\@sm\+{padding-right:90px !important}.pB-90\@sm\+{padding-bottom:90px !important}.pL-90\@sm\+{padding-left:90px !important}.pY-90\@sm\+{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@sm\+{padding-left:90px !important;padding-right:90px !important}}@media screen and (min-width: 0){.p-90\@xs\+{padding:90px !important}.pT-90\@xs\+{padding-top:90px !important}.pR-90\@xs\+{padding-right:90px !important}.pB-90\@xs\+{padding-bottom:90px !important}.pL-90\@xs\+{padding-left:90px !important}.pY-90\@xs\+{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@xs\+{padding-left:90px !important;padding-right:90px !important}}@media screen and (max-width: 1439px){.p-90\@xl-{padding:90px !important}.pT-90\@xl-{padding-top:90px !important}.pR-90\@xl-{padding-right:90px !important}.pB-90\@xl-{padding-bottom:90px !important}.pL-90\@xl-{padding-left:90px !important}.pY-90\@xl-{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@xl-{padding-left:90px !important;padding-right:90px !important}}@media screen and (max-width: 1199px){.p-90\@lg-{padding:90px !important}.pT-90\@lg-{padding-top:90px !important}.pR-90\@lg-{padding-right:90px !important}.pB-90\@lg-{padding-bottom:90px !important}.pL-90\@lg-{padding-left:90px !important}.pY-90\@lg-{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@lg-{padding-left:90px !important;padding-right:90px !important}}@media screen and (max-width: 991px){.p-90\@md-{padding:90px !important}.pT-90\@md-{padding-top:90px !important}.pR-90\@md-{padding-right:90px !important}.pB-90\@md-{padding-bottom:90px !important}.pL-90\@md-{padding-left:90px !important}.pY-90\@md-{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@md-{padding-left:90px !important;padding-right:90px !important}}@media screen and (max-width: 767px){.p-90\@sm-{padding:90px !important}.pT-90\@sm-{padding-top:90px !important}.pR-90\@sm-{padding-right:90px !important}.pB-90\@sm-{padding-bottom:90px !important}.pL-90\@sm-{padding-left:90px !important}.pY-90\@sm-{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@sm-{padding-left:90px !important;padding-right:90px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-90\@lg{padding:90px !important}.pT-90\@lg{padding-top:90px !important}.pR-90\@lg{padding-right:90px !important}.pB-90\@lg{padding-bottom:90px !important}.pL-90\@lg{padding-left:90px !important}.pY-90\@lg{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@lg{padding-left:90px !important;padding-right:90px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-90\@md{padding:90px !important}.pT-90\@md{padding-top:90px !important}.pR-90\@md{padding-right:90px !important}.pB-90\@md{padding-bottom:90px !important}.pL-90\@md{padding-left:90px !important}.pY-90\@md{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@md{padding-left:90px !important;padding-right:90px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-90\@sm{padding:90px !important}.pT-90\@sm{padding-top:90px !important}.pR-90\@sm{padding-right:90px !important}.pB-90\@sm{padding-bottom:90px !important}.pL-90\@sm{padding-left:90px !important}.pY-90\@sm{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@sm{padding-left:90px !important;padding-right:90px !important}}.p-100{padding:100px !important}.pT-100{padding-top:100px !important}.pR-100{padding-right:100px !important}.pB-100{padding-bottom:100px !important}.pL-100{padding-left:100px !important}.pY-100{padding-top:100px !important;padding-bottom:100px !important}.pX-100{padding-left:100px !important;padding-right:100px !important}@media screen and (min-width: 1440px){.p-100\@xl\+{padding:100px !important}.pT-100\@xl\+{padding-top:100px !important}.pR-100\@xl\+{padding-right:100px !important}.pB-100\@xl\+{padding-bottom:100px !important}.pL-100\@xl\+{padding-left:100px !important}.pY-100\@xl\+{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@xl\+{padding-left:100px !important;padding-right:100px !important}}@media screen and (min-width: 1200px){.p-100\@lg\+{padding:100px !important}.pT-100\@lg\+{padding-top:100px !important}.pR-100\@lg\+{padding-right:100px !important}.pB-100\@lg\+{padding-bottom:100px !important}.pL-100\@lg\+{padding-left:100px !important}.pY-100\@lg\+{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@lg\+{padding-left:100px !important;padding-right:100px !important}}@media screen and (min-width: 992px){.p-100\@md\+{padding:100px !important}.pT-100\@md\+{padding-top:100px !important}.pR-100\@md\+{padding-right:100px !important}.pB-100\@md\+{padding-bottom:100px !important}.pL-100\@md\+{padding-left:100px !important}.pY-100\@md\+{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@md\+{padding-left:100px !important;padding-right:100px !important}}@media screen and (min-width: 768px){.p-100\@sm\+{padding:100px !important}.pT-100\@sm\+{padding-top:100px !important}.pR-100\@sm\+{padding-right:100px !important}.pB-100\@sm\+{padding-bottom:100px !important}.pL-100\@sm\+{padding-left:100px !important}.pY-100\@sm\+{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@sm\+{padding-left:100px !important;padding-right:100px !important}}@media screen and (min-width: 0){.p-100\@xs\+{padding:100px !important}.pT-100\@xs\+{padding-top:100px !important}.pR-100\@xs\+{padding-right:100px !important}.pB-100\@xs\+{padding-bottom:100px !important}.pL-100\@xs\+{padding-left:100px !important}.pY-100\@xs\+{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@xs\+{padding-left:100px !important;padding-right:100px !important}}@media screen and (max-width: 1439px){.p-100\@xl-{padding:100px !important}.pT-100\@xl-{padding-top:100px !important}.pR-100\@xl-{padding-right:100px !important}.pB-100\@xl-{padding-bottom:100px !important}.pL-100\@xl-{padding-left:100px !important}.pY-100\@xl-{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@xl-{padding-left:100px !important;padding-right:100px !important}}@media screen and (max-width: 1199px){.p-100\@lg-{padding:100px !important}.pT-100\@lg-{padding-top:100px !important}.pR-100\@lg-{padding-right:100px !important}.pB-100\@lg-{padding-bottom:100px !important}.pL-100\@lg-{padding-left:100px !important}.pY-100\@lg-{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@lg-{padding-left:100px !important;padding-right:100px !important}}@media screen and (max-width: 991px){.p-100\@md-{padding:100px !important}.pT-100\@md-{padding-top:100px !important}.pR-100\@md-{padding-right:100px !important}.pB-100\@md-{padding-bottom:100px !important}.pL-100\@md-{padding-left:100px !important}.pY-100\@md-{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@md-{padding-left:100px !important;padding-right:100px !important}}@media screen and (max-width: 767px){.p-100\@sm-{padding:100px !important}.pT-100\@sm-{padding-top:100px !important}.pR-100\@sm-{padding-right:100px !important}.pB-100\@sm-{padding-bottom:100px !important}.pL-100\@sm-{padding-left:100px !important}.pY-100\@sm-{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@sm-{padding-left:100px !important;padding-right:100px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-100\@lg{padding:100px !important}.pT-100\@lg{padding-top:100px !important}.pR-100\@lg{padding-right:100px !important}.pB-100\@lg{padding-bottom:100px !important}.pL-100\@lg{padding-left:100px !important}.pY-100\@lg{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@lg{padding-left:100px !important;padding-right:100px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-100\@md{padding:100px !important}.pT-100\@md{padding-top:100px !important}.pR-100\@md{padding-right:100px !important}.pB-100\@md{padding-bottom:100px !important}.pL-100\@md{padding-left:100px !important}.pY-100\@md{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@md{padding-left:100px !important;padding-right:100px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-100\@sm{padding:100px !important}.pT-100\@sm{padding-top:100px !important}.pR-100\@sm{padding-right:100px !important}.pB-100\@sm{padding-bottom:100px !important}.pL-100\@sm{padding-left:100px !important}.pY-100\@sm{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@sm{padding-left:100px !important;padding-right:100px !important}}.p-110{padding:110px !important}.pT-110{padding-top:110px !important}.pR-110{padding-right:110px !important}.pB-110{padding-bottom:110px !important}.pL-110{padding-left:110px !important}.pY-110{padding-top:110px !important;padding-bottom:110px !important}.pX-110{padding-left:110px !important;padding-right:110px !important}@media screen and (min-width: 1440px){.p-110\@xl\+{padding:110px !important}.pT-110\@xl\+{padding-top:110px !important}.pR-110\@xl\+{padding-right:110px !important}.pB-110\@xl\+{padding-bottom:110px !important}.pL-110\@xl\+{padding-left:110px !important}.pY-110\@xl\+{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@xl\+{padding-left:110px !important;padding-right:110px !important}}@media screen and (min-width: 1200px){.p-110\@lg\+{padding:110px !important}.pT-110\@lg\+{padding-top:110px !important}.pR-110\@lg\+{padding-right:110px !important}.pB-110\@lg\+{padding-bottom:110px !important}.pL-110\@lg\+{padding-left:110px !important}.pY-110\@lg\+{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@lg\+{padding-left:110px !important;padding-right:110px !important}}@media screen and (min-width: 992px){.p-110\@md\+{padding:110px !important}.pT-110\@md\+{padding-top:110px !important}.pR-110\@md\+{padding-right:110px !important}.pB-110\@md\+{padding-bottom:110px !important}.pL-110\@md\+{padding-left:110px !important}.pY-110\@md\+{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@md\+{padding-left:110px !important;padding-right:110px !important}}@media screen and (min-width: 768px){.p-110\@sm\+{padding:110px !important}.pT-110\@sm\+{padding-top:110px !important}.pR-110\@sm\+{padding-right:110px !important}.pB-110\@sm\+{padding-bottom:110px !important}.pL-110\@sm\+{padding-left:110px !important}.pY-110\@sm\+{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@sm\+{padding-left:110px !important;padding-right:110px !important}}@media screen and (min-width: 0){.p-110\@xs\+{padding:110px !important}.pT-110\@xs\+{padding-top:110px !important}.pR-110\@xs\+{padding-right:110px !important}.pB-110\@xs\+{padding-bottom:110px !important}.pL-110\@xs\+{padding-left:110px !important}.pY-110\@xs\+{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@xs\+{padding-left:110px !important;padding-right:110px !important}}@media screen and (max-width: 1439px){.p-110\@xl-{padding:110px !important}.pT-110\@xl-{padding-top:110px !important}.pR-110\@xl-{padding-right:110px !important}.pB-110\@xl-{padding-bottom:110px !important}.pL-110\@xl-{padding-left:110px !important}.pY-110\@xl-{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@xl-{padding-left:110px !important;padding-right:110px !important}}@media screen and (max-width: 1199px){.p-110\@lg-{padding:110px !important}.pT-110\@lg-{padding-top:110px !important}.pR-110\@lg-{padding-right:110px !important}.pB-110\@lg-{padding-bottom:110px !important}.pL-110\@lg-{padding-left:110px !important}.pY-110\@lg-{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@lg-{padding-left:110px !important;padding-right:110px !important}}@media screen and (max-width: 991px){.p-110\@md-{padding:110px !important}.pT-110\@md-{padding-top:110px !important}.pR-110\@md-{padding-right:110px !important}.pB-110\@md-{padding-bottom:110px !important}.pL-110\@md-{padding-left:110px !important}.pY-110\@md-{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@md-{padding-left:110px !important;padding-right:110px !important}}@media screen and (max-width: 767px){.p-110\@sm-{padding:110px !important}.pT-110\@sm-{padding-top:110px !important}.pR-110\@sm-{padding-right:110px !important}.pB-110\@sm-{padding-bottom:110px !important}.pL-110\@sm-{padding-left:110px !important}.pY-110\@sm-{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@sm-{padding-left:110px !important;padding-right:110px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-110\@lg{padding:110px !important}.pT-110\@lg{padding-top:110px !important}.pR-110\@lg{padding-right:110px !important}.pB-110\@lg{padding-bottom:110px !important}.pL-110\@lg{padding-left:110px !important}.pY-110\@lg{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@lg{padding-left:110px !important;padding-right:110px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-110\@md{padding:110px !important}.pT-110\@md{padding-top:110px !important}.pR-110\@md{padding-right:110px !important}.pB-110\@md{padding-bottom:110px !important}.pL-110\@md{padding-left:110px !important}.pY-110\@md{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@md{padding-left:110px !important;padding-right:110px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-110\@sm{padding:110px !important}.pT-110\@sm{padding-top:110px !important}.pR-110\@sm{padding-right:110px !important}.pB-110\@sm{padding-bottom:110px !important}.pL-110\@sm{padding-left:110px !important}.pY-110\@sm{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@sm{padding-left:110px !important;padding-right:110px !important}}.p-120{padding:120px !important}.pT-120{padding-top:120px !important}.pR-120{padding-right:120px !important}.pB-120{padding-bottom:120px !important}.pL-120{padding-left:120px !important}.pY-120{padding-top:120px !important;padding-bottom:120px !important}.pX-120{padding-left:120px !important;padding-right:120px !important}@media screen and (min-width: 1440px){.p-120\@xl\+{padding:120px !important}.pT-120\@xl\+{padding-top:120px !important}.pR-120\@xl\+{padding-right:120px !important}.pB-120\@xl\+{padding-bottom:120px !important}.pL-120\@xl\+{padding-left:120px !important}.pY-120\@xl\+{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@xl\+{padding-left:120px !important;padding-right:120px !important}}@media screen and (min-width: 1200px){.p-120\@lg\+{padding:120px !important}.pT-120\@lg\+{padding-top:120px !important}.pR-120\@lg\+{padding-right:120px !important}.pB-120\@lg\+{padding-bottom:120px !important}.pL-120\@lg\+{padding-left:120px !important}.pY-120\@lg\+{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@lg\+{padding-left:120px !important;padding-right:120px !important}}@media screen and (min-width: 992px){.p-120\@md\+{padding:120px !important}.pT-120\@md\+{padding-top:120px !important}.pR-120\@md\+{padding-right:120px !important}.pB-120\@md\+{padding-bottom:120px !important}.pL-120\@md\+{padding-left:120px !important}.pY-120\@md\+{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@md\+{padding-left:120px !important;padding-right:120px !important}}@media screen and (min-width: 768px){.p-120\@sm\+{padding:120px !important}.pT-120\@sm\+{padding-top:120px !important}.pR-120\@sm\+{padding-right:120px !important}.pB-120\@sm\+{padding-bottom:120px !important}.pL-120\@sm\+{padding-left:120px !important}.pY-120\@sm\+{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@sm\+{padding-left:120px !important;padding-right:120px !important}}@media screen and (min-width: 0){.p-120\@xs\+{padding:120px !important}.pT-120\@xs\+{padding-top:120px !important}.pR-120\@xs\+{padding-right:120px !important}.pB-120\@xs\+{padding-bottom:120px !important}.pL-120\@xs\+{padding-left:120px !important}.pY-120\@xs\+{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@xs\+{padding-left:120px !important;padding-right:120px !important}}@media screen and (max-width: 1439px){.p-120\@xl-{padding:120px !important}.pT-120\@xl-{padding-top:120px !important}.pR-120\@xl-{padding-right:120px !important}.pB-120\@xl-{padding-bottom:120px !important}.pL-120\@xl-{padding-left:120px !important}.pY-120\@xl-{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@xl-{padding-left:120px !important;padding-right:120px !important}}@media screen and (max-width: 1199px){.p-120\@lg-{padding:120px !important}.pT-120\@lg-{padding-top:120px !important}.pR-120\@lg-{padding-right:120px !important}.pB-120\@lg-{padding-bottom:120px !important}.pL-120\@lg-{padding-left:120px !important}.pY-120\@lg-{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@lg-{padding-left:120px !important;padding-right:120px !important}}@media screen and (max-width: 991px){.p-120\@md-{padding:120px !important}.pT-120\@md-{padding-top:120px !important}.pR-120\@md-{padding-right:120px !important}.pB-120\@md-{padding-bottom:120px !important}.pL-120\@md-{padding-left:120px !important}.pY-120\@md-{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@md-{padding-left:120px !important;padding-right:120px !important}}@media screen and (max-width: 767px){.p-120\@sm-{padding:120px !important}.pT-120\@sm-{padding-top:120px !important}.pR-120\@sm-{padding-right:120px !important}.pB-120\@sm-{padding-bottom:120px !important}.pL-120\@sm-{padding-left:120px !important}.pY-120\@sm-{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@sm-{padding-left:120px !important;padding-right:120px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-120\@lg{padding:120px !important}.pT-120\@lg{padding-top:120px !important}.pR-120\@lg{padding-right:120px !important}.pB-120\@lg{padding-bottom:120px !important}.pL-120\@lg{padding-left:120px !important}.pY-120\@lg{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@lg{padding-left:120px !important;padding-right:120px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-120\@md{padding:120px !important}.pT-120\@md{padding-top:120px !important}.pR-120\@md{padding-right:120px !important}.pB-120\@md{padding-bottom:120px !important}.pL-120\@md{padding-left:120px !important}.pY-120\@md{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@md{padding-left:120px !important;padding-right:120px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-120\@sm{padding:120px !important}.pT-120\@sm{padding-top:120px !important}.pR-120\@sm{padding-right:120px !important}.pB-120\@sm{padding-bottom:120px !important}.pL-120\@sm{padding-left:120px !important}.pY-120\@sm{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@sm{padding-left:120px !important;padding-right:120px !important}}.p-130{padding:130px !important}.pT-130{padding-top:130px !important}.pR-130{padding-right:130px !important}.pB-130{padding-bottom:130px !important}.pL-130{padding-left:130px !important}.pY-130{padding-top:130px !important;padding-bottom:130px !important}.pX-130{padding-left:130px !important;padding-right:130px !important}@media screen and (min-width: 1440px){.p-130\@xl\+{padding:130px !important}.pT-130\@xl\+{padding-top:130px !important}.pR-130\@xl\+{padding-right:130px !important}.pB-130\@xl\+{padding-bottom:130px !important}.pL-130\@xl\+{padding-left:130px !important}.pY-130\@xl\+{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@xl\+{padding-left:130px !important;padding-right:130px !important}}@media screen and (min-width: 1200px){.p-130\@lg\+{padding:130px !important}.pT-130\@lg\+{padding-top:130px !important}.pR-130\@lg\+{padding-right:130px !important}.pB-130\@lg\+{padding-bottom:130px !important}.pL-130\@lg\+{padding-left:130px !important}.pY-130\@lg\+{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@lg\+{padding-left:130px !important;padding-right:130px !important}}@media screen and (min-width: 992px){.p-130\@md\+{padding:130px !important}.pT-130\@md\+{padding-top:130px !important}.pR-130\@md\+{padding-right:130px !important}.pB-130\@md\+{padding-bottom:130px !important}.pL-130\@md\+{padding-left:130px !important}.pY-130\@md\+{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@md\+{padding-left:130px !important;padding-right:130px !important}}@media screen and (min-width: 768px){.p-130\@sm\+{padding:130px !important}.pT-130\@sm\+{padding-top:130px !important}.pR-130\@sm\+{padding-right:130px !important}.pB-130\@sm\+{padding-bottom:130px !important}.pL-130\@sm\+{padding-left:130px !important}.pY-130\@sm\+{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@sm\+{padding-left:130px !important;padding-right:130px !important}}@media screen and (min-width: 0){.p-130\@xs\+{padding:130px !important}.pT-130\@xs\+{padding-top:130px !important}.pR-130\@xs\+{padding-right:130px !important}.pB-130\@xs\+{padding-bottom:130px !important}.pL-130\@xs\+{padding-left:130px !important}.pY-130\@xs\+{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@xs\+{padding-left:130px !important;padding-right:130px !important}}@media screen and (max-width: 1439px){.p-130\@xl-{padding:130px !important}.pT-130\@xl-{padding-top:130px !important}.pR-130\@xl-{padding-right:130px !important}.pB-130\@xl-{padding-bottom:130px !important}.pL-130\@xl-{padding-left:130px !important}.pY-130\@xl-{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@xl-{padding-left:130px !important;padding-right:130px !important}}@media screen and (max-width: 1199px){.p-130\@lg-{padding:130px !important}.pT-130\@lg-{padding-top:130px !important}.pR-130\@lg-{padding-right:130px !important}.pB-130\@lg-{padding-bottom:130px !important}.pL-130\@lg-{padding-left:130px !important}.pY-130\@lg-{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@lg-{padding-left:130px !important;padding-right:130px !important}}@media screen and (max-width: 991px){.p-130\@md-{padding:130px !important}.pT-130\@md-{padding-top:130px !important}.pR-130\@md-{padding-right:130px !important}.pB-130\@md-{padding-bottom:130px !important}.pL-130\@md-{padding-left:130px !important}.pY-130\@md-{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@md-{padding-left:130px !important;padding-right:130px !important}}@media screen and (max-width: 767px){.p-130\@sm-{padding:130px !important}.pT-130\@sm-{padding-top:130px !important}.pR-130\@sm-{padding-right:130px !important}.pB-130\@sm-{padding-bottom:130px !important}.pL-130\@sm-{padding-left:130px !important}.pY-130\@sm-{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@sm-{padding-left:130px !important;padding-right:130px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-130\@lg{padding:130px !important}.pT-130\@lg{padding-top:130px !important}.pR-130\@lg{padding-right:130px !important}.pB-130\@lg{padding-bottom:130px !important}.pL-130\@lg{padding-left:130px !important}.pY-130\@lg{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@lg{padding-left:130px !important;padding-right:130px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-130\@md{padding:130px !important}.pT-130\@md{padding-top:130px !important}.pR-130\@md{padding-right:130px !important}.pB-130\@md{padding-bottom:130px !important}.pL-130\@md{padding-left:130px !important}.pY-130\@md{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@md{padding-left:130px !important;padding-right:130px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-130\@sm{padding:130px !important}.pT-130\@sm{padding-top:130px !important}.pR-130\@sm{padding-right:130px !important}.pB-130\@sm{padding-bottom:130px !important}.pL-130\@sm{padding-left:130px !important}.pY-130\@sm{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@sm{padding-left:130px !important;padding-right:130px !important}}.p-140{padding:140px !important}.pT-140{padding-top:140px !important}.pR-140{padding-right:140px !important}.pB-140{padding-bottom:140px !important}.pL-140{padding-left:140px !important}.pY-140{padding-top:140px !important;padding-bottom:140px !important}.pX-140{padding-left:140px !important;padding-right:140px !important}@media screen and (min-width: 1440px){.p-140\@xl\+{padding:140px !important}.pT-140\@xl\+{padding-top:140px !important}.pR-140\@xl\+{padding-right:140px !important}.pB-140\@xl\+{padding-bottom:140px !important}.pL-140\@xl\+{padding-left:140px !important}.pY-140\@xl\+{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@xl\+{padding-left:140px !important;padding-right:140px !important}}@media screen and (min-width: 1200px){.p-140\@lg\+{padding:140px !important}.pT-140\@lg\+{padding-top:140px !important}.pR-140\@lg\+{padding-right:140px !important}.pB-140\@lg\+{padding-bottom:140px !important}.pL-140\@lg\+{padding-left:140px !important}.pY-140\@lg\+{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@lg\+{padding-left:140px !important;padding-right:140px !important}}@media screen and (min-width: 992px){.p-140\@md\+{padding:140px !important}.pT-140\@md\+{padding-top:140px !important}.pR-140\@md\+{padding-right:140px !important}.pB-140\@md\+{padding-bottom:140px !important}.pL-140\@md\+{padding-left:140px !important}.pY-140\@md\+{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@md\+{padding-left:140px !important;padding-right:140px !important}}@media screen and (min-width: 768px){.p-140\@sm\+{padding:140px !important}.pT-140\@sm\+{padding-top:140px !important}.pR-140\@sm\+{padding-right:140px !important}.pB-140\@sm\+{padding-bottom:140px !important}.pL-140\@sm\+{padding-left:140px !important}.pY-140\@sm\+{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@sm\+{padding-left:140px !important;padding-right:140px !important}}@media screen and (min-width: 0){.p-140\@xs\+{padding:140px !important}.pT-140\@xs\+{padding-top:140px !important}.pR-140\@xs\+{padding-right:140px !important}.pB-140\@xs\+{padding-bottom:140px !important}.pL-140\@xs\+{padding-left:140px !important}.pY-140\@xs\+{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@xs\+{padding-left:140px !important;padding-right:140px !important}}@media screen and (max-width: 1439px){.p-140\@xl-{padding:140px !important}.pT-140\@xl-{padding-top:140px !important}.pR-140\@xl-{padding-right:140px !important}.pB-140\@xl-{padding-bottom:140px !important}.pL-140\@xl-{padding-left:140px !important}.pY-140\@xl-{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@xl-{padding-left:140px !important;padding-right:140px !important}}@media screen and (max-width: 1199px){.p-140\@lg-{padding:140px !important}.pT-140\@lg-{padding-top:140px !important}.pR-140\@lg-{padding-right:140px !important}.pB-140\@lg-{padding-bottom:140px !important}.pL-140\@lg-{padding-left:140px !important}.pY-140\@lg-{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@lg-{padding-left:140px !important;padding-right:140px !important}}@media screen and (max-width: 991px){.p-140\@md-{padding:140px !important}.pT-140\@md-{padding-top:140px !important}.pR-140\@md-{padding-right:140px !important}.pB-140\@md-{padding-bottom:140px !important}.pL-140\@md-{padding-left:140px !important}.pY-140\@md-{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@md-{padding-left:140px !important;padding-right:140px !important}}@media screen and (max-width: 767px){.p-140\@sm-{padding:140px !important}.pT-140\@sm-{padding-top:140px !important}.pR-140\@sm-{padding-right:140px !important}.pB-140\@sm-{padding-bottom:140px !important}.pL-140\@sm-{padding-left:140px !important}.pY-140\@sm-{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@sm-{padding-left:140px !important;padding-right:140px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-140\@lg{padding:140px !important}.pT-140\@lg{padding-top:140px !important}.pR-140\@lg{padding-right:140px !important}.pB-140\@lg{padding-bottom:140px !important}.pL-140\@lg{padding-left:140px !important}.pY-140\@lg{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@lg{padding-left:140px !important;padding-right:140px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-140\@md{padding:140px !important}.pT-140\@md{padding-top:140px !important}.pR-140\@md{padding-right:140px !important}.pB-140\@md{padding-bottom:140px !important}.pL-140\@md{padding-left:140px !important}.pY-140\@md{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@md{padding-left:140px !important;padding-right:140px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-140\@sm{padding:140px !important}.pT-140\@sm{padding-top:140px !important}.pR-140\@sm{padding-right:140px !important}.pB-140\@sm{padding-bottom:140px !important}.pL-140\@sm{padding-left:140px !important}.pY-140\@sm{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@sm{padding-left:140px !important;padding-right:140px !important}}.p-150{padding:150px !important}.pT-150{padding-top:150px !important}.pR-150{padding-right:150px !important}.pB-150{padding-bottom:150px !important}.pL-150{padding-left:150px !important}.pY-150{padding-top:150px !important;padding-bottom:150px !important}.pX-150{padding-left:150px !important;padding-right:150px !important}@media screen and (min-width: 1440px){.p-150\@xl\+{padding:150px !important}.pT-150\@xl\+{padding-top:150px !important}.pR-150\@xl\+{padding-right:150px !important}.pB-150\@xl\+{padding-bottom:150px !important}.pL-150\@xl\+{padding-left:150px !important}.pY-150\@xl\+{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@xl\+{padding-left:150px !important;padding-right:150px !important}}@media screen and (min-width: 1200px){.p-150\@lg\+{padding:150px !important}.pT-150\@lg\+{padding-top:150px !important}.pR-150\@lg\+{padding-right:150px !important}.pB-150\@lg\+{padding-bottom:150px !important}.pL-150\@lg\+{padding-left:150px !important}.pY-150\@lg\+{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@lg\+{padding-left:150px !important;padding-right:150px !important}}@media screen and (min-width: 992px){.p-150\@md\+{padding:150px !important}.pT-150\@md\+{padding-top:150px !important}.pR-150\@md\+{padding-right:150px !important}.pB-150\@md\+{padding-bottom:150px !important}.pL-150\@md\+{padding-left:150px !important}.pY-150\@md\+{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@md\+{padding-left:150px !important;padding-right:150px !important}}@media screen and (min-width: 768px){.p-150\@sm\+{padding:150px !important}.pT-150\@sm\+{padding-top:150px !important}.pR-150\@sm\+{padding-right:150px !important}.pB-150\@sm\+{padding-bottom:150px !important}.pL-150\@sm\+{padding-left:150px !important}.pY-150\@sm\+{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@sm\+{padding-left:150px !important;padding-right:150px !important}}@media screen and (min-width: 0){.p-150\@xs\+{padding:150px !important}.pT-150\@xs\+{padding-top:150px !important}.pR-150\@xs\+{padding-right:150px !important}.pB-150\@xs\+{padding-bottom:150px !important}.pL-150\@xs\+{padding-left:150px !important}.pY-150\@xs\+{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@xs\+{padding-left:150px !important;padding-right:150px !important}}@media screen and (max-width: 1439px){.p-150\@xl-{padding:150px !important}.pT-150\@xl-{padding-top:150px !important}.pR-150\@xl-{padding-right:150px !important}.pB-150\@xl-{padding-bottom:150px !important}.pL-150\@xl-{padding-left:150px !important}.pY-150\@xl-{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@xl-{padding-left:150px !important;padding-right:150px !important}}@media screen and (max-width: 1199px){.p-150\@lg-{padding:150px !important}.pT-150\@lg-{padding-top:150px !important}.pR-150\@lg-{padding-right:150px !important}.pB-150\@lg-{padding-bottom:150px !important}.pL-150\@lg-{padding-left:150px !important}.pY-150\@lg-{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@lg-{padding-left:150px !important;padding-right:150px !important}}@media screen and (max-width: 991px){.p-150\@md-{padding:150px !important}.pT-150\@md-{padding-top:150px !important}.pR-150\@md-{padding-right:150px !important}.pB-150\@md-{padding-bottom:150px !important}.pL-150\@md-{padding-left:150px !important}.pY-150\@md-{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@md-{padding-left:150px !important;padding-right:150px !important}}@media screen and (max-width: 767px){.p-150\@sm-{padding:150px !important}.pT-150\@sm-{padding-top:150px !important}.pR-150\@sm-{padding-right:150px !important}.pB-150\@sm-{padding-bottom:150px !important}.pL-150\@sm-{padding-left:150px !important}.pY-150\@sm-{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@sm-{padding-left:150px !important;padding-right:150px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-150\@lg{padding:150px !important}.pT-150\@lg{padding-top:150px !important}.pR-150\@lg{padding-right:150px !important}.pB-150\@lg{padding-bottom:150px !important}.pL-150\@lg{padding-left:150px !important}.pY-150\@lg{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@lg{padding-left:150px !important;padding-right:150px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-150\@md{padding:150px !important}.pT-150\@md{padding-top:150px !important}.pR-150\@md{padding-right:150px !important}.pB-150\@md{padding-bottom:150px !important}.pL-150\@md{padding-left:150px !important}.pY-150\@md{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@md{padding-left:150px !important;padding-right:150px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-150\@sm{padding:150px !important}.pT-150\@sm{padding-top:150px !important}.pR-150\@sm{padding-right:150px !important}.pB-150\@sm{padding-bottom:150px !important}.pL-150\@sm{padding-left:150px !important}.pY-150\@sm{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@sm{padding-left:150px !important;padding-right:150px !important}}.p-160{padding:160px !important}.pT-160{padding-top:160px !important}.pR-160{padding-right:160px !important}.pB-160{padding-bottom:160px !important}.pL-160{padding-left:160px !important}.pY-160{padding-top:160px !important;padding-bottom:160px !important}.pX-160{padding-left:160px !important;padding-right:160px !important}@media screen and (min-width: 1440px){.p-160\@xl\+{padding:160px !important}.pT-160\@xl\+{padding-top:160px !important}.pR-160\@xl\+{padding-right:160px !important}.pB-160\@xl\+{padding-bottom:160px !important}.pL-160\@xl\+{padding-left:160px !important}.pY-160\@xl\+{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@xl\+{padding-left:160px !important;padding-right:160px !important}}@media screen and (min-width: 1200px){.p-160\@lg\+{padding:160px !important}.pT-160\@lg\+{padding-top:160px !important}.pR-160\@lg\+{padding-right:160px !important}.pB-160\@lg\+{padding-bottom:160px !important}.pL-160\@lg\+{padding-left:160px !important}.pY-160\@lg\+{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@lg\+{padding-left:160px !important;padding-right:160px !important}}@media screen and (min-width: 992px){.p-160\@md\+{padding:160px !important}.pT-160\@md\+{padding-top:160px !important}.pR-160\@md\+{padding-right:160px !important}.pB-160\@md\+{padding-bottom:160px !important}.pL-160\@md\+{padding-left:160px !important}.pY-160\@md\+{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@md\+{padding-left:160px !important;padding-right:160px !important}}@media screen and (min-width: 768px){.p-160\@sm\+{padding:160px !important}.pT-160\@sm\+{padding-top:160px !important}.pR-160\@sm\+{padding-right:160px !important}.pB-160\@sm\+{padding-bottom:160px !important}.pL-160\@sm\+{padding-left:160px !important}.pY-160\@sm\+{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@sm\+{padding-left:160px !important;padding-right:160px !important}}@media screen and (min-width: 0){.p-160\@xs\+{padding:160px !important}.pT-160\@xs\+{padding-top:160px !important}.pR-160\@xs\+{padding-right:160px !important}.pB-160\@xs\+{padding-bottom:160px !important}.pL-160\@xs\+{padding-left:160px !important}.pY-160\@xs\+{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@xs\+{padding-left:160px !important;padding-right:160px !important}}@media screen and (max-width: 1439px){.p-160\@xl-{padding:160px !important}.pT-160\@xl-{padding-top:160px !important}.pR-160\@xl-{padding-right:160px !important}.pB-160\@xl-{padding-bottom:160px !important}.pL-160\@xl-{padding-left:160px !important}.pY-160\@xl-{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@xl-{padding-left:160px !important;padding-right:160px !important}}@media screen and (max-width: 1199px){.p-160\@lg-{padding:160px !important}.pT-160\@lg-{padding-top:160px !important}.pR-160\@lg-{padding-right:160px !important}.pB-160\@lg-{padding-bottom:160px !important}.pL-160\@lg-{padding-left:160px !important}.pY-160\@lg-{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@lg-{padding-left:160px !important;padding-right:160px !important}}@media screen and (max-width: 991px){.p-160\@md-{padding:160px !important}.pT-160\@md-{padding-top:160px !important}.pR-160\@md-{padding-right:160px !important}.pB-160\@md-{padding-bottom:160px !important}.pL-160\@md-{padding-left:160px !important}.pY-160\@md-{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@md-{padding-left:160px !important;padding-right:160px !important}}@media screen and (max-width: 767px){.p-160\@sm-{padding:160px !important}.pT-160\@sm-{padding-top:160px !important}.pR-160\@sm-{padding-right:160px !important}.pB-160\@sm-{padding-bottom:160px !important}.pL-160\@sm-{padding-left:160px !important}.pY-160\@sm-{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@sm-{padding-left:160px !important;padding-right:160px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-160\@lg{padding:160px !important}.pT-160\@lg{padding-top:160px !important}.pR-160\@lg{padding-right:160px !important}.pB-160\@lg{padding-bottom:160px !important}.pL-160\@lg{padding-left:160px !important}.pY-160\@lg{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@lg{padding-left:160px !important;padding-right:160px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-160\@md{padding:160px !important}.pT-160\@md{padding-top:160px !important}.pR-160\@md{padding-right:160px !important}.pB-160\@md{padding-bottom:160px !important}.pL-160\@md{padding-left:160px !important}.pY-160\@md{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@md{padding-left:160px !important;padding-right:160px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-160\@sm{padding:160px !important}.pT-160\@sm{padding-top:160px !important}.pR-160\@sm{padding-right:160px !important}.pB-160\@sm{padding-bottom:160px !important}.pL-160\@sm{padding-left:160px !important}.pY-160\@sm{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@sm{padding-left:160px !important;padding-right:160px !important}}.t-0{top:0px}.r-0{right:0px}.b-0{bottom:0px}.l-0{left:0px}@media screen and (min-width: 1440px){.t-0\@xl\+{top:0px}.r-0\@xl\+{right:0px}.b-0\@xl\+{bottom:0px}.l-0\@xl\+{left:0px}}@media screen and (min-width: 1200px){.t-0\@lg\+{top:0px}.r-0\@lg\+{right:0px}.b-0\@lg\+{bottom:0px}.l-0\@lg\+{left:0px}}@media screen and (min-width: 992px){.t-0\@md\+{top:0px}.r-0\@md\+{right:0px}.b-0\@md\+{bottom:0px}.l-0\@md\+{left:0px}}@media screen and (min-width: 768px){.t-0\@sm\+{top:0px}.r-0\@sm\+{right:0px}.b-0\@sm\+{bottom:0px}.l-0\@sm\+{left:0px}}@media screen and (min-width: 0){.t-0\@xs\+{top:0px}.r-0\@xs\+{right:0px}.b-0\@xs\+{bottom:0px}.l-0\@xs\+{left:0px}}@media screen and (max-width: 1439px){.t-0\@xl-{top:0px}.r-0\@xl-{right:0px}.b-0\@xl-{bottom:0px}.l-0\@xl-{left:0px}}@media screen and (max-width: 1199px){.t-0\@lg-{top:0px}.r-0\@lg-{right:0px}.b-0\@lg-{bottom:0px}.l-0\@lg-{left:0px}}@media screen and (max-width: 991px){.t-0\@md-{top:0px}.r-0\@md-{right:0px}.b-0\@md-{bottom:0px}.l-0\@md-{left:0px}}@media screen and (max-width: 767px){.t-0\@sm-{top:0px}.r-0\@sm-{right:0px}.b-0\@sm-{bottom:0px}.l-0\@sm-{left:0px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-0\@lg{top:0px}.r-0\@lg{right:0px}.b-0\@lg{bottom:0px}.l-0\@lg{left:0px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-0\@md{top:0px}.r-0\@md{right:0px}.b-0\@md{bottom:0px}.l-0\@md{left:0px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-0\@sm{top:0px}.r-0\@sm{right:0px}.b-0\@sm{bottom:0px}.l-0\@sm{left:0px}}.t-1{top:1px}.r-1{right:1px}.b-1{bottom:1px}.l-1{left:1px}@media screen and (min-width: 1440px){.t-1\@xl\+{top:1px}.r-1\@xl\+{right:1px}.b-1\@xl\+{bottom:1px}.l-1\@xl\+{left:1px}}@media screen and (min-width: 1200px){.t-1\@lg\+{top:1px}.r-1\@lg\+{right:1px}.b-1\@lg\+{bottom:1px}.l-1\@lg\+{left:1px}}@media screen and (min-width: 992px){.t-1\@md\+{top:1px}.r-1\@md\+{right:1px}.b-1\@md\+{bottom:1px}.l-1\@md\+{left:1px}}@media screen and (min-width: 768px){.t-1\@sm\+{top:1px}.r-1\@sm\+{right:1px}.b-1\@sm\+{bottom:1px}.l-1\@sm\+{left:1px}}@media screen and (min-width: 0){.t-1\@xs\+{top:1px}.r-1\@xs\+{right:1px}.b-1\@xs\+{bottom:1px}.l-1\@xs\+{left:1px}}@media screen and (max-width: 1439px){.t-1\@xl-{top:1px}.r-1\@xl-{right:1px}.b-1\@xl-{bottom:1px}.l-1\@xl-{left:1px}}@media screen and (max-width: 1199px){.t-1\@lg-{top:1px}.r-1\@lg-{right:1px}.b-1\@lg-{bottom:1px}.l-1\@lg-{left:1px}}@media screen and (max-width: 991px){.t-1\@md-{top:1px}.r-1\@md-{right:1px}.b-1\@md-{bottom:1px}.l-1\@md-{left:1px}}@media screen and (max-width: 767px){.t-1\@sm-{top:1px}.r-1\@sm-{right:1px}.b-1\@sm-{bottom:1px}.l-1\@sm-{left:1px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-1\@lg{top:1px}.r-1\@lg{right:1px}.b-1\@lg{bottom:1px}.l-1\@lg{left:1px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-1\@md{top:1px}.r-1\@md{right:1px}.b-1\@md{bottom:1px}.l-1\@md{left:1px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-1\@sm{top:1px}.r-1\@sm{right:1px}.b-1\@sm{bottom:1px}.l-1\@sm{left:1px}}.t-2{top:2px}.r-2{right:2px}.b-2{bottom:2px}.l-2{left:2px}@media screen and (min-width: 1440px){.t-2\@xl\+{top:2px}.r-2\@xl\+{right:2px}.b-2\@xl\+{bottom:2px}.l-2\@xl\+{left:2px}}@media screen and (min-width: 1200px){.t-2\@lg\+{top:2px}.r-2\@lg\+{right:2px}.b-2\@lg\+{bottom:2px}.l-2\@lg\+{left:2px}}@media screen and (min-width: 992px){.t-2\@md\+{top:2px}.r-2\@md\+{right:2px}.b-2\@md\+{bottom:2px}.l-2\@md\+{left:2px}}@media screen and (min-width: 768px){.t-2\@sm\+{top:2px}.r-2\@sm\+{right:2px}.b-2\@sm\+{bottom:2px}.l-2\@sm\+{left:2px}}@media screen and (min-width: 0){.t-2\@xs\+{top:2px}.r-2\@xs\+{right:2px}.b-2\@xs\+{bottom:2px}.l-2\@xs\+{left:2px}}@media screen and (max-width: 1439px){.t-2\@xl-{top:2px}.r-2\@xl-{right:2px}.b-2\@xl-{bottom:2px}.l-2\@xl-{left:2px}}@media screen and (max-width: 1199px){.t-2\@lg-{top:2px}.r-2\@lg-{right:2px}.b-2\@lg-{bottom:2px}.l-2\@lg-{left:2px}}@media screen and (max-width: 991px){.t-2\@md-{top:2px}.r-2\@md-{right:2px}.b-2\@md-{bottom:2px}.l-2\@md-{left:2px}}@media screen and (max-width: 767px){.t-2\@sm-{top:2px}.r-2\@sm-{right:2px}.b-2\@sm-{bottom:2px}.l-2\@sm-{left:2px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-2\@lg{top:2px}.r-2\@lg{right:2px}.b-2\@lg{bottom:2px}.l-2\@lg{left:2px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-2\@md{top:2px}.r-2\@md{right:2px}.b-2\@md{bottom:2px}.l-2\@md{left:2px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-2\@sm{top:2px}.r-2\@sm{right:2px}.b-2\@sm{bottom:2px}.l-2\@sm{left:2px}}.t-3{top:3px}.r-3{right:3px}.b-3{bottom:3px}.l-3{left:3px}@media screen and (min-width: 1440px){.t-3\@xl\+{top:3px}.r-3\@xl\+{right:3px}.b-3\@xl\+{bottom:3px}.l-3\@xl\+{left:3px}}@media screen and (min-width: 1200px){.t-3\@lg\+{top:3px}.r-3\@lg\+{right:3px}.b-3\@lg\+{bottom:3px}.l-3\@lg\+{left:3px}}@media screen and (min-width: 992px){.t-3\@md\+{top:3px}.r-3\@md\+{right:3px}.b-3\@md\+{bottom:3px}.l-3\@md\+{left:3px}}@media screen and (min-width: 768px){.t-3\@sm\+{top:3px}.r-3\@sm\+{right:3px}.b-3\@sm\+{bottom:3px}.l-3\@sm\+{left:3px}}@media screen and (min-width: 0){.t-3\@xs\+{top:3px}.r-3\@xs\+{right:3px}.b-3\@xs\+{bottom:3px}.l-3\@xs\+{left:3px}}@media screen and (max-width: 1439px){.t-3\@xl-{top:3px}.r-3\@xl-{right:3px}.b-3\@xl-{bottom:3px}.l-3\@xl-{left:3px}}@media screen and (max-width: 1199px){.t-3\@lg-{top:3px}.r-3\@lg-{right:3px}.b-3\@lg-{bottom:3px}.l-3\@lg-{left:3px}}@media screen and (max-width: 991px){.t-3\@md-{top:3px}.r-3\@md-{right:3px}.b-3\@md-{bottom:3px}.l-3\@md-{left:3px}}@media screen and (max-width: 767px){.t-3\@sm-{top:3px}.r-3\@sm-{right:3px}.b-3\@sm-{bottom:3px}.l-3\@sm-{left:3px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-3\@lg{top:3px}.r-3\@lg{right:3px}.b-3\@lg{bottom:3px}.l-3\@lg{left:3px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-3\@md{top:3px}.r-3\@md{right:3px}.b-3\@md{bottom:3px}.l-3\@md{left:3px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-3\@sm{top:3px}.r-3\@sm{right:3px}.b-3\@sm{bottom:3px}.l-3\@sm{left:3px}}.t-4{top:4px}.r-4{right:4px}.b-4{bottom:4px}.l-4{left:4px}@media screen and (min-width: 1440px){.t-4\@xl\+{top:4px}.r-4\@xl\+{right:4px}.b-4\@xl\+{bottom:4px}.l-4\@xl\+{left:4px}}@media screen and (min-width: 1200px){.t-4\@lg\+{top:4px}.r-4\@lg\+{right:4px}.b-4\@lg\+{bottom:4px}.l-4\@lg\+{left:4px}}@media screen and (min-width: 992px){.t-4\@md\+{top:4px}.r-4\@md\+{right:4px}.b-4\@md\+{bottom:4px}.l-4\@md\+{left:4px}}@media screen and (min-width: 768px){.t-4\@sm\+{top:4px}.r-4\@sm\+{right:4px}.b-4\@sm\+{bottom:4px}.l-4\@sm\+{left:4px}}@media screen and (min-width: 0){.t-4\@xs\+{top:4px}.r-4\@xs\+{right:4px}.b-4\@xs\+{bottom:4px}.l-4\@xs\+{left:4px}}@media screen and (max-width: 1439px){.t-4\@xl-{top:4px}.r-4\@xl-{right:4px}.b-4\@xl-{bottom:4px}.l-4\@xl-{left:4px}}@media screen and (max-width: 1199px){.t-4\@lg-{top:4px}.r-4\@lg-{right:4px}.b-4\@lg-{bottom:4px}.l-4\@lg-{left:4px}}@media screen and (max-width: 991px){.t-4\@md-{top:4px}.r-4\@md-{right:4px}.b-4\@md-{bottom:4px}.l-4\@md-{left:4px}}@media screen and (max-width: 767px){.t-4\@sm-{top:4px}.r-4\@sm-{right:4px}.b-4\@sm-{bottom:4px}.l-4\@sm-{left:4px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-4\@lg{top:4px}.r-4\@lg{right:4px}.b-4\@lg{bottom:4px}.l-4\@lg{left:4px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-4\@md{top:4px}.r-4\@md{right:4px}.b-4\@md{bottom:4px}.l-4\@md{left:4px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-4\@sm{top:4px}.r-4\@sm{right:4px}.b-4\@sm{bottom:4px}.l-4\@sm{left:4px}}.t-5{top:5px}.r-5{right:5px}.b-5{bottom:5px}.l-5{left:5px}@media screen and (min-width: 1440px){.t-5\@xl\+{top:5px}.r-5\@xl\+{right:5px}.b-5\@xl\+{bottom:5px}.l-5\@xl\+{left:5px}}@media screen and (min-width: 1200px){.t-5\@lg\+{top:5px}.r-5\@lg\+{right:5px}.b-5\@lg\+{bottom:5px}.l-5\@lg\+{left:5px}}@media screen and (min-width: 992px){.t-5\@md\+{top:5px}.r-5\@md\+{right:5px}.b-5\@md\+{bottom:5px}.l-5\@md\+{left:5px}}@media screen and (min-width: 768px){.t-5\@sm\+{top:5px}.r-5\@sm\+{right:5px}.b-5\@sm\+{bottom:5px}.l-5\@sm\+{left:5px}}@media screen and (min-width: 0){.t-5\@xs\+{top:5px}.r-5\@xs\+{right:5px}.b-5\@xs\+{bottom:5px}.l-5\@xs\+{left:5px}}@media screen and (max-width: 1439px){.t-5\@xl-{top:5px}.r-5\@xl-{right:5px}.b-5\@xl-{bottom:5px}.l-5\@xl-{left:5px}}@media screen and (max-width: 1199px){.t-5\@lg-{top:5px}.r-5\@lg-{right:5px}.b-5\@lg-{bottom:5px}.l-5\@lg-{left:5px}}@media screen and (max-width: 991px){.t-5\@md-{top:5px}.r-5\@md-{right:5px}.b-5\@md-{bottom:5px}.l-5\@md-{left:5px}}@media screen and (max-width: 767px){.t-5\@sm-{top:5px}.r-5\@sm-{right:5px}.b-5\@sm-{bottom:5px}.l-5\@sm-{left:5px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-5\@lg{top:5px}.r-5\@lg{right:5px}.b-5\@lg{bottom:5px}.l-5\@lg{left:5px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-5\@md{top:5px}.r-5\@md{right:5px}.b-5\@md{bottom:5px}.l-5\@md{left:5px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-5\@sm{top:5px}.r-5\@sm{right:5px}.b-5\@sm{bottom:5px}.l-5\@sm{left:5px}}.t-10{top:10px}.r-10{right:10px}.b-10{bottom:10px}.l-10{left:10px}@media screen and (min-width: 1440px){.t-10\@xl\+{top:10px}.r-10\@xl\+{right:10px}.b-10\@xl\+{bottom:10px}.l-10\@xl\+{left:10px}}@media screen and (min-width: 1200px){.t-10\@lg\+{top:10px}.r-10\@lg\+{right:10px}.b-10\@lg\+{bottom:10px}.l-10\@lg\+{left:10px}}@media screen and (min-width: 992px){.t-10\@md\+{top:10px}.r-10\@md\+{right:10px}.b-10\@md\+{bottom:10px}.l-10\@md\+{left:10px}}@media screen and (min-width: 768px){.t-10\@sm\+{top:10px}.r-10\@sm\+{right:10px}.b-10\@sm\+{bottom:10px}.l-10\@sm\+{left:10px}}@media screen and (min-width: 0){.t-10\@xs\+{top:10px}.r-10\@xs\+{right:10px}.b-10\@xs\+{bottom:10px}.l-10\@xs\+{left:10px}}@media screen and (max-width: 1439px){.t-10\@xl-{top:10px}.r-10\@xl-{right:10px}.b-10\@xl-{bottom:10px}.l-10\@xl-{left:10px}}@media screen and (max-width: 1199px){.t-10\@lg-{top:10px}.r-10\@lg-{right:10px}.b-10\@lg-{bottom:10px}.l-10\@lg-{left:10px}}@media screen and (max-width: 991px){.t-10\@md-{top:10px}.r-10\@md-{right:10px}.b-10\@md-{bottom:10px}.l-10\@md-{left:10px}}@media screen and (max-width: 767px){.t-10\@sm-{top:10px}.r-10\@sm-{right:10px}.b-10\@sm-{bottom:10px}.l-10\@sm-{left:10px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-10\@lg{top:10px}.r-10\@lg{right:10px}.b-10\@lg{bottom:10px}.l-10\@lg{left:10px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-10\@md{top:10px}.r-10\@md{right:10px}.b-10\@md{bottom:10px}.l-10\@md{left:10px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-10\@sm{top:10px}.r-10\@sm{right:10px}.b-10\@sm{bottom:10px}.l-10\@sm{left:10px}}.t-15{top:15px}.r-15{right:15px}.b-15{bottom:15px}.l-15{left:15px}@media screen and (min-width: 1440px){.t-15\@xl\+{top:15px}.r-15\@xl\+{right:15px}.b-15\@xl\+{bottom:15px}.l-15\@xl\+{left:15px}}@media screen and (min-width: 1200px){.t-15\@lg\+{top:15px}.r-15\@lg\+{right:15px}.b-15\@lg\+{bottom:15px}.l-15\@lg\+{left:15px}}@media screen and (min-width: 992px){.t-15\@md\+{top:15px}.r-15\@md\+{right:15px}.b-15\@md\+{bottom:15px}.l-15\@md\+{left:15px}}@media screen and (min-width: 768px){.t-15\@sm\+{top:15px}.r-15\@sm\+{right:15px}.b-15\@sm\+{bottom:15px}.l-15\@sm\+{left:15px}}@media screen and (min-width: 0){.t-15\@xs\+{top:15px}.r-15\@xs\+{right:15px}.b-15\@xs\+{bottom:15px}.l-15\@xs\+{left:15px}}@media screen and (max-width: 1439px){.t-15\@xl-{top:15px}.r-15\@xl-{right:15px}.b-15\@xl-{bottom:15px}.l-15\@xl-{left:15px}}@media screen and (max-width: 1199px){.t-15\@lg-{top:15px}.r-15\@lg-{right:15px}.b-15\@lg-{bottom:15px}.l-15\@lg-{left:15px}}@media screen and (max-width: 991px){.t-15\@md-{top:15px}.r-15\@md-{right:15px}.b-15\@md-{bottom:15px}.l-15\@md-{left:15px}}@media screen and (max-width: 767px){.t-15\@sm-{top:15px}.r-15\@sm-{right:15px}.b-15\@sm-{bottom:15px}.l-15\@sm-{left:15px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-15\@lg{top:15px}.r-15\@lg{right:15px}.b-15\@lg{bottom:15px}.l-15\@lg{left:15px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-15\@md{top:15px}.r-15\@md{right:15px}.b-15\@md{bottom:15px}.l-15\@md{left:15px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-15\@sm{top:15px}.r-15\@sm{right:15px}.b-15\@sm{bottom:15px}.l-15\@sm{left:15px}}.t-20{top:20px}.r-20{right:20px}.b-20{bottom:20px}.l-20{left:20px}@media screen and (min-width: 1440px){.t-20\@xl\+{top:20px}.r-20\@xl\+{right:20px}.b-20\@xl\+{bottom:20px}.l-20\@xl\+{left:20px}}@media screen and (min-width: 1200px){.t-20\@lg\+{top:20px}.r-20\@lg\+{right:20px}.b-20\@lg\+{bottom:20px}.l-20\@lg\+{left:20px}}@media screen and (min-width: 992px){.t-20\@md\+{top:20px}.r-20\@md\+{right:20px}.b-20\@md\+{bottom:20px}.l-20\@md\+{left:20px}}@media screen and (min-width: 768px){.t-20\@sm\+{top:20px}.r-20\@sm\+{right:20px}.b-20\@sm\+{bottom:20px}.l-20\@sm\+{left:20px}}@media screen and (min-width: 0){.t-20\@xs\+{top:20px}.r-20\@xs\+{right:20px}.b-20\@xs\+{bottom:20px}.l-20\@xs\+{left:20px}}@media screen and (max-width: 1439px){.t-20\@xl-{top:20px}.r-20\@xl-{right:20px}.b-20\@xl-{bottom:20px}.l-20\@xl-{left:20px}}@media screen and (max-width: 1199px){.t-20\@lg-{top:20px}.r-20\@lg-{right:20px}.b-20\@lg-{bottom:20px}.l-20\@lg-{left:20px}}@media screen and (max-width: 991px){.t-20\@md-{top:20px}.r-20\@md-{right:20px}.b-20\@md-{bottom:20px}.l-20\@md-{left:20px}}@media screen and (max-width: 767px){.t-20\@sm-{top:20px}.r-20\@sm-{right:20px}.b-20\@sm-{bottom:20px}.l-20\@sm-{left:20px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-20\@lg{top:20px}.r-20\@lg{right:20px}.b-20\@lg{bottom:20px}.l-20\@lg{left:20px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-20\@md{top:20px}.r-20\@md{right:20px}.b-20\@md{bottom:20px}.l-20\@md{left:20px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-20\@sm{top:20px}.r-20\@sm{right:20px}.b-20\@sm{bottom:20px}.l-20\@sm{left:20px}}.t-25{top:25px}.r-25{right:25px}.b-25{bottom:25px}.l-25{left:25px}@media screen and (min-width: 1440px){.t-25\@xl\+{top:25px}.r-25\@xl\+{right:25px}.b-25\@xl\+{bottom:25px}.l-25\@xl\+{left:25px}}@media screen and (min-width: 1200px){.t-25\@lg\+{top:25px}.r-25\@lg\+{right:25px}.b-25\@lg\+{bottom:25px}.l-25\@lg\+{left:25px}}@media screen and (min-width: 992px){.t-25\@md\+{top:25px}.r-25\@md\+{right:25px}.b-25\@md\+{bottom:25px}.l-25\@md\+{left:25px}}@media screen and (min-width: 768px){.t-25\@sm\+{top:25px}.r-25\@sm\+{right:25px}.b-25\@sm\+{bottom:25px}.l-25\@sm\+{left:25px}}@media screen and (min-width: 0){.t-25\@xs\+{top:25px}.r-25\@xs\+{right:25px}.b-25\@xs\+{bottom:25px}.l-25\@xs\+{left:25px}}@media screen and (max-width: 1439px){.t-25\@xl-{top:25px}.r-25\@xl-{right:25px}.b-25\@xl-{bottom:25px}.l-25\@xl-{left:25px}}@media screen and (max-width: 1199px){.t-25\@lg-{top:25px}.r-25\@lg-{right:25px}.b-25\@lg-{bottom:25px}.l-25\@lg-{left:25px}}@media screen and (max-width: 991px){.t-25\@md-{top:25px}.r-25\@md-{right:25px}.b-25\@md-{bottom:25px}.l-25\@md-{left:25px}}@media screen and (max-width: 767px){.t-25\@sm-{top:25px}.r-25\@sm-{right:25px}.b-25\@sm-{bottom:25px}.l-25\@sm-{left:25px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-25\@lg{top:25px}.r-25\@lg{right:25px}.b-25\@lg{bottom:25px}.l-25\@lg{left:25px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-25\@md{top:25px}.r-25\@md{right:25px}.b-25\@md{bottom:25px}.l-25\@md{left:25px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-25\@sm{top:25px}.r-25\@sm{right:25px}.b-25\@sm{bottom:25px}.l-25\@sm{left:25px}}.t-30{top:30px}.r-30{right:30px}.b-30{bottom:30px}.l-30{left:30px}@media screen and (min-width: 1440px){.t-30\@xl\+{top:30px}.r-30\@xl\+{right:30px}.b-30\@xl\+{bottom:30px}.l-30\@xl\+{left:30px}}@media screen and (min-width: 1200px){.t-30\@lg\+{top:30px}.r-30\@lg\+{right:30px}.b-30\@lg\+{bottom:30px}.l-30\@lg\+{left:30px}}@media screen and (min-width: 992px){.t-30\@md\+{top:30px}.r-30\@md\+{right:30px}.b-30\@md\+{bottom:30px}.l-30\@md\+{left:30px}}@media screen and (min-width: 768px){.t-30\@sm\+{top:30px}.r-30\@sm\+{right:30px}.b-30\@sm\+{bottom:30px}.l-30\@sm\+{left:30px}}@media screen and (min-width: 0){.t-30\@xs\+{top:30px}.r-30\@xs\+{right:30px}.b-30\@xs\+{bottom:30px}.l-30\@xs\+{left:30px}}@media screen and (max-width: 1439px){.t-30\@xl-{top:30px}.r-30\@xl-{right:30px}.b-30\@xl-{bottom:30px}.l-30\@xl-{left:30px}}@media screen and (max-width: 1199px){.t-30\@lg-{top:30px}.r-30\@lg-{right:30px}.b-30\@lg-{bottom:30px}.l-30\@lg-{left:30px}}@media screen and (max-width: 991px){.t-30\@md-{top:30px}.r-30\@md-{right:30px}.b-30\@md-{bottom:30px}.l-30\@md-{left:30px}}@media screen and (max-width: 767px){.t-30\@sm-{top:30px}.r-30\@sm-{right:30px}.b-30\@sm-{bottom:30px}.l-30\@sm-{left:30px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-30\@lg{top:30px}.r-30\@lg{right:30px}.b-30\@lg{bottom:30px}.l-30\@lg{left:30px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-30\@md{top:30px}.r-30\@md{right:30px}.b-30\@md{bottom:30px}.l-30\@md{left:30px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-30\@sm{top:30px}.r-30\@sm{right:30px}.b-30\@sm{bottom:30px}.l-30\@sm{left:30px}}.t-35{top:35px}.r-35{right:35px}.b-35{bottom:35px}.l-35{left:35px}@media screen and (min-width: 1440px){.t-35\@xl\+{top:35px}.r-35\@xl\+{right:35px}.b-35\@xl\+{bottom:35px}.l-35\@xl\+{left:35px}}@media screen and (min-width: 1200px){.t-35\@lg\+{top:35px}.r-35\@lg\+{right:35px}.b-35\@lg\+{bottom:35px}.l-35\@lg\+{left:35px}}@media screen and (min-width: 992px){.t-35\@md\+{top:35px}.r-35\@md\+{right:35px}.b-35\@md\+{bottom:35px}.l-35\@md\+{left:35px}}@media screen and (min-width: 768px){.t-35\@sm\+{top:35px}.r-35\@sm\+{right:35px}.b-35\@sm\+{bottom:35px}.l-35\@sm\+{left:35px}}@media screen and (min-width: 0){.t-35\@xs\+{top:35px}.r-35\@xs\+{right:35px}.b-35\@xs\+{bottom:35px}.l-35\@xs\+{left:35px}}@media screen and (max-width: 1439px){.t-35\@xl-{top:35px}.r-35\@xl-{right:35px}.b-35\@xl-{bottom:35px}.l-35\@xl-{left:35px}}@media screen and (max-width: 1199px){.t-35\@lg-{top:35px}.r-35\@lg-{right:35px}.b-35\@lg-{bottom:35px}.l-35\@lg-{left:35px}}@media screen and (max-width: 991px){.t-35\@md-{top:35px}.r-35\@md-{right:35px}.b-35\@md-{bottom:35px}.l-35\@md-{left:35px}}@media screen and (max-width: 767px){.t-35\@sm-{top:35px}.r-35\@sm-{right:35px}.b-35\@sm-{bottom:35px}.l-35\@sm-{left:35px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-35\@lg{top:35px}.r-35\@lg{right:35px}.b-35\@lg{bottom:35px}.l-35\@lg{left:35px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-35\@md{top:35px}.r-35\@md{right:35px}.b-35\@md{bottom:35px}.l-35\@md{left:35px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-35\@sm{top:35px}.r-35\@sm{right:35px}.b-35\@sm{bottom:35px}.l-35\@sm{left:35px}}.t-40{top:40px}.r-40{right:40px}.b-40{bottom:40px}.l-40{left:40px}@media screen and (min-width: 1440px){.t-40\@xl\+{top:40px}.r-40\@xl\+{right:40px}.b-40\@xl\+{bottom:40px}.l-40\@xl\+{left:40px}}@media screen and (min-width: 1200px){.t-40\@lg\+{top:40px}.r-40\@lg\+{right:40px}.b-40\@lg\+{bottom:40px}.l-40\@lg\+{left:40px}}@media screen and (min-width: 992px){.t-40\@md\+{top:40px}.r-40\@md\+{right:40px}.b-40\@md\+{bottom:40px}.l-40\@md\+{left:40px}}@media screen and (min-width: 768px){.t-40\@sm\+{top:40px}.r-40\@sm\+{right:40px}.b-40\@sm\+{bottom:40px}.l-40\@sm\+{left:40px}}@media screen and (min-width: 0){.t-40\@xs\+{top:40px}.r-40\@xs\+{right:40px}.b-40\@xs\+{bottom:40px}.l-40\@xs\+{left:40px}}@media screen and (max-width: 1439px){.t-40\@xl-{top:40px}.r-40\@xl-{right:40px}.b-40\@xl-{bottom:40px}.l-40\@xl-{left:40px}}@media screen and (max-width: 1199px){.t-40\@lg-{top:40px}.r-40\@lg-{right:40px}.b-40\@lg-{bottom:40px}.l-40\@lg-{left:40px}}@media screen and (max-width: 991px){.t-40\@md-{top:40px}.r-40\@md-{right:40px}.b-40\@md-{bottom:40px}.l-40\@md-{left:40px}}@media screen and (max-width: 767px){.t-40\@sm-{top:40px}.r-40\@sm-{right:40px}.b-40\@sm-{bottom:40px}.l-40\@sm-{left:40px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-40\@lg{top:40px}.r-40\@lg{right:40px}.b-40\@lg{bottom:40px}.l-40\@lg{left:40px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-40\@md{top:40px}.r-40\@md{right:40px}.b-40\@md{bottom:40px}.l-40\@md{left:40px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-40\@sm{top:40px}.r-40\@sm{right:40px}.b-40\@sm{bottom:40px}.l-40\@sm{left:40px}}.t-50{top:50px}.r-50{right:50px}.b-50{bottom:50px}.l-50{left:50px}@media screen and (min-width: 1440px){.t-50\@xl\+{top:50px}.r-50\@xl\+{right:50px}.b-50\@xl\+{bottom:50px}.l-50\@xl\+{left:50px}}@media screen and (min-width: 1200px){.t-50\@lg\+{top:50px}.r-50\@lg\+{right:50px}.b-50\@lg\+{bottom:50px}.l-50\@lg\+{left:50px}}@media screen and (min-width: 992px){.t-50\@md\+{top:50px}.r-50\@md\+{right:50px}.b-50\@md\+{bottom:50px}.l-50\@md\+{left:50px}}@media screen and (min-width: 768px){.t-50\@sm\+{top:50px}.r-50\@sm\+{right:50px}.b-50\@sm\+{bottom:50px}.l-50\@sm\+{left:50px}}@media screen and (min-width: 0){.t-50\@xs\+{top:50px}.r-50\@xs\+{right:50px}.b-50\@xs\+{bottom:50px}.l-50\@xs\+{left:50px}}@media screen and (max-width: 1439px){.t-50\@xl-{top:50px}.r-50\@xl-{right:50px}.b-50\@xl-{bottom:50px}.l-50\@xl-{left:50px}}@media screen and (max-width: 1199px){.t-50\@lg-{top:50px}.r-50\@lg-{right:50px}.b-50\@lg-{bottom:50px}.l-50\@lg-{left:50px}}@media screen and (max-width: 991px){.t-50\@md-{top:50px}.r-50\@md-{right:50px}.b-50\@md-{bottom:50px}.l-50\@md-{left:50px}}@media screen and (max-width: 767px){.t-50\@sm-{top:50px}.r-50\@sm-{right:50px}.b-50\@sm-{bottom:50px}.l-50\@sm-{left:50px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-50\@lg{top:50px}.r-50\@lg{right:50px}.b-50\@lg{bottom:50px}.l-50\@lg{left:50px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-50\@md{top:50px}.r-50\@md{right:50px}.b-50\@md{bottom:50px}.l-50\@md{left:50px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-50\@sm{top:50px}.r-50\@sm{right:50px}.b-50\@sm{bottom:50px}.l-50\@sm{left:50px}}.t-60{top:60px}.r-60{right:60px}.b-60{bottom:60px}.l-60{left:60px}@media screen and (min-width: 1440px){.t-60\@xl\+{top:60px}.r-60\@xl\+{right:60px}.b-60\@xl\+{bottom:60px}.l-60\@xl\+{left:60px}}@media screen and (min-width: 1200px){.t-60\@lg\+{top:60px}.r-60\@lg\+{right:60px}.b-60\@lg\+{bottom:60px}.l-60\@lg\+{left:60px}}@media screen and (min-width: 992px){.t-60\@md\+{top:60px}.r-60\@md\+{right:60px}.b-60\@md\+{bottom:60px}.l-60\@md\+{left:60px}}@media screen and (min-width: 768px){.t-60\@sm\+{top:60px}.r-60\@sm\+{right:60px}.b-60\@sm\+{bottom:60px}.l-60\@sm\+{left:60px}}@media screen and (min-width: 0){.t-60\@xs\+{top:60px}.r-60\@xs\+{right:60px}.b-60\@xs\+{bottom:60px}.l-60\@xs\+{left:60px}}@media screen and (max-width: 1439px){.t-60\@xl-{top:60px}.r-60\@xl-{right:60px}.b-60\@xl-{bottom:60px}.l-60\@xl-{left:60px}}@media screen and (max-width: 1199px){.t-60\@lg-{top:60px}.r-60\@lg-{right:60px}.b-60\@lg-{bottom:60px}.l-60\@lg-{left:60px}}@media screen and (max-width: 991px){.t-60\@md-{top:60px}.r-60\@md-{right:60px}.b-60\@md-{bottom:60px}.l-60\@md-{left:60px}}@media screen and (max-width: 767px){.t-60\@sm-{top:60px}.r-60\@sm-{right:60px}.b-60\@sm-{bottom:60px}.l-60\@sm-{left:60px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-60\@lg{top:60px}.r-60\@lg{right:60px}.b-60\@lg{bottom:60px}.l-60\@lg{left:60px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-60\@md{top:60px}.r-60\@md{right:60px}.b-60\@md{bottom:60px}.l-60\@md{left:60px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-60\@sm{top:60px}.r-60\@sm{right:60px}.b-60\@sm{bottom:60px}.l-60\@sm{left:60px}}.t-70{top:70px}.r-70{right:70px}.b-70{bottom:70px}.l-70{left:70px}@media screen and (min-width: 1440px){.t-70\@xl\+{top:70px}.r-70\@xl\+{right:70px}.b-70\@xl\+{bottom:70px}.l-70\@xl\+{left:70px}}@media screen and (min-width: 1200px){.t-70\@lg\+{top:70px}.r-70\@lg\+{right:70px}.b-70\@lg\+{bottom:70px}.l-70\@lg\+{left:70px}}@media screen and (min-width: 992px){.t-70\@md\+{top:70px}.r-70\@md\+{right:70px}.b-70\@md\+{bottom:70px}.l-70\@md\+{left:70px}}@media screen and (min-width: 768px){.t-70\@sm\+{top:70px}.r-70\@sm\+{right:70px}.b-70\@sm\+{bottom:70px}.l-70\@sm\+{left:70px}}@media screen and (min-width: 0){.t-70\@xs\+{top:70px}.r-70\@xs\+{right:70px}.b-70\@xs\+{bottom:70px}.l-70\@xs\+{left:70px}}@media screen and (max-width: 1439px){.t-70\@xl-{top:70px}.r-70\@xl-{right:70px}.b-70\@xl-{bottom:70px}.l-70\@xl-{left:70px}}@media screen and (max-width: 1199px){.t-70\@lg-{top:70px}.r-70\@lg-{right:70px}.b-70\@lg-{bottom:70px}.l-70\@lg-{left:70px}}@media screen and (max-width: 991px){.t-70\@md-{top:70px}.r-70\@md-{right:70px}.b-70\@md-{bottom:70px}.l-70\@md-{left:70px}}@media screen and (max-width: 767px){.t-70\@sm-{top:70px}.r-70\@sm-{right:70px}.b-70\@sm-{bottom:70px}.l-70\@sm-{left:70px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-70\@lg{top:70px}.r-70\@lg{right:70px}.b-70\@lg{bottom:70px}.l-70\@lg{left:70px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-70\@md{top:70px}.r-70\@md{right:70px}.b-70\@md{bottom:70px}.l-70\@md{left:70px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-70\@sm{top:70px}.r-70\@sm{right:70px}.b-70\@sm{bottom:70px}.l-70\@sm{left:70px}}.t-80{top:80px}.r-80{right:80px}.b-80{bottom:80px}.l-80{left:80px}@media screen and (min-width: 1440px){.t-80\@xl\+{top:80px}.r-80\@xl\+{right:80px}.b-80\@xl\+{bottom:80px}.l-80\@xl\+{left:80px}}@media screen and (min-width: 1200px){.t-80\@lg\+{top:80px}.r-80\@lg\+{right:80px}.b-80\@lg\+{bottom:80px}.l-80\@lg\+{left:80px}}@media screen and (min-width: 992px){.t-80\@md\+{top:80px}.r-80\@md\+{right:80px}.b-80\@md\+{bottom:80px}.l-80\@md\+{left:80px}}@media screen and (min-width: 768px){.t-80\@sm\+{top:80px}.r-80\@sm\+{right:80px}.b-80\@sm\+{bottom:80px}.l-80\@sm\+{left:80px}}@media screen and (min-width: 0){.t-80\@xs\+{top:80px}.r-80\@xs\+{right:80px}.b-80\@xs\+{bottom:80px}.l-80\@xs\+{left:80px}}@media screen and (max-width: 1439px){.t-80\@xl-{top:80px}.r-80\@xl-{right:80px}.b-80\@xl-{bottom:80px}.l-80\@xl-{left:80px}}@media screen and (max-width: 1199px){.t-80\@lg-{top:80px}.r-80\@lg-{right:80px}.b-80\@lg-{bottom:80px}.l-80\@lg-{left:80px}}@media screen and (max-width: 991px){.t-80\@md-{top:80px}.r-80\@md-{right:80px}.b-80\@md-{bottom:80px}.l-80\@md-{left:80px}}@media screen and (max-width: 767px){.t-80\@sm-{top:80px}.r-80\@sm-{right:80px}.b-80\@sm-{bottom:80px}.l-80\@sm-{left:80px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-80\@lg{top:80px}.r-80\@lg{right:80px}.b-80\@lg{bottom:80px}.l-80\@lg{left:80px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-80\@md{top:80px}.r-80\@md{right:80px}.b-80\@md{bottom:80px}.l-80\@md{left:80px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-80\@sm{top:80px}.r-80\@sm{right:80px}.b-80\@sm{bottom:80px}.l-80\@sm{left:80px}}.t-90{top:90px}.r-90{right:90px}.b-90{bottom:90px}.l-90{left:90px}@media screen and (min-width: 1440px){.t-90\@xl\+{top:90px}.r-90\@xl\+{right:90px}.b-90\@xl\+{bottom:90px}.l-90\@xl\+{left:90px}}@media screen and (min-width: 1200px){.t-90\@lg\+{top:90px}.r-90\@lg\+{right:90px}.b-90\@lg\+{bottom:90px}.l-90\@lg\+{left:90px}}@media screen and (min-width: 992px){.t-90\@md\+{top:90px}.r-90\@md\+{right:90px}.b-90\@md\+{bottom:90px}.l-90\@md\+{left:90px}}@media screen and (min-width: 768px){.t-90\@sm\+{top:90px}.r-90\@sm\+{right:90px}.b-90\@sm\+{bottom:90px}.l-90\@sm\+{left:90px}}@media screen and (min-width: 0){.t-90\@xs\+{top:90px}.r-90\@xs\+{right:90px}.b-90\@xs\+{bottom:90px}.l-90\@xs\+{left:90px}}@media screen and (max-width: 1439px){.t-90\@xl-{top:90px}.r-90\@xl-{right:90px}.b-90\@xl-{bottom:90px}.l-90\@xl-{left:90px}}@media screen and (max-width: 1199px){.t-90\@lg-{top:90px}.r-90\@lg-{right:90px}.b-90\@lg-{bottom:90px}.l-90\@lg-{left:90px}}@media screen and (max-width: 991px){.t-90\@md-{top:90px}.r-90\@md-{right:90px}.b-90\@md-{bottom:90px}.l-90\@md-{left:90px}}@media screen and (max-width: 767px){.t-90\@sm-{top:90px}.r-90\@sm-{right:90px}.b-90\@sm-{bottom:90px}.l-90\@sm-{left:90px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-90\@lg{top:90px}.r-90\@lg{right:90px}.b-90\@lg{bottom:90px}.l-90\@lg{left:90px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-90\@md{top:90px}.r-90\@md{right:90px}.b-90\@md{bottom:90px}.l-90\@md{left:90px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-90\@sm{top:90px}.r-90\@sm{right:90px}.b-90\@sm{bottom:90px}.l-90\@sm{left:90px}}.t-100{top:100px}.r-100{right:100px}.b-100{bottom:100px}.l-100{left:100px}@media screen and (min-width: 1440px){.t-100\@xl\+{top:100px}.r-100\@xl\+{right:100px}.b-100\@xl\+{bottom:100px}.l-100\@xl\+{left:100px}}@media screen and (min-width: 1200px){.t-100\@lg\+{top:100px}.r-100\@lg\+{right:100px}.b-100\@lg\+{bottom:100px}.l-100\@lg\+{left:100px}}@media screen and (min-width: 992px){.t-100\@md\+{top:100px}.r-100\@md\+{right:100px}.b-100\@md\+{bottom:100px}.l-100\@md\+{left:100px}}@media screen and (min-width: 768px){.t-100\@sm\+{top:100px}.r-100\@sm\+{right:100px}.b-100\@sm\+{bottom:100px}.l-100\@sm\+{left:100px}}@media screen and (min-width: 0){.t-100\@xs\+{top:100px}.r-100\@xs\+{right:100px}.b-100\@xs\+{bottom:100px}.l-100\@xs\+{left:100px}}@media screen and (max-width: 1439px){.t-100\@xl-{top:100px}.r-100\@xl-{right:100px}.b-100\@xl-{bottom:100px}.l-100\@xl-{left:100px}}@media screen and (max-width: 1199px){.t-100\@lg-{top:100px}.r-100\@lg-{right:100px}.b-100\@lg-{bottom:100px}.l-100\@lg-{left:100px}}@media screen and (max-width: 991px){.t-100\@md-{top:100px}.r-100\@md-{right:100px}.b-100\@md-{bottom:100px}.l-100\@md-{left:100px}}@media screen and (max-width: 767px){.t-100\@sm-{top:100px}.r-100\@sm-{right:100px}.b-100\@sm-{bottom:100px}.l-100\@sm-{left:100px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-100\@lg{top:100px}.r-100\@lg{right:100px}.b-100\@lg{bottom:100px}.l-100\@lg{left:100px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-100\@md{top:100px}.r-100\@md{right:100px}.b-100\@md{bottom:100px}.l-100\@md{left:100px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-100\@sm{top:100px}.r-100\@sm{right:100px}.b-100\@sm{bottom:100px}.l-100\@sm{left:100px}}.t-110{top:110px}.r-110{right:110px}.b-110{bottom:110px}.l-110{left:110px}@media screen and (min-width: 1440px){.t-110\@xl\+{top:110px}.r-110\@xl\+{right:110px}.b-110\@xl\+{bottom:110px}.l-110\@xl\+{left:110px}}@media screen and (min-width: 1200px){.t-110\@lg\+{top:110px}.r-110\@lg\+{right:110px}.b-110\@lg\+{bottom:110px}.l-110\@lg\+{left:110px}}@media screen and (min-width: 992px){.t-110\@md\+{top:110px}.r-110\@md\+{right:110px}.b-110\@md\+{bottom:110px}.l-110\@md\+{left:110px}}@media screen and (min-width: 768px){.t-110\@sm\+{top:110px}.r-110\@sm\+{right:110px}.b-110\@sm\+{bottom:110px}.l-110\@sm\+{left:110px}}@media screen and (min-width: 0){.t-110\@xs\+{top:110px}.r-110\@xs\+{right:110px}.b-110\@xs\+{bottom:110px}.l-110\@xs\+{left:110px}}@media screen and (max-width: 1439px){.t-110\@xl-{top:110px}.r-110\@xl-{right:110px}.b-110\@xl-{bottom:110px}.l-110\@xl-{left:110px}}@media screen and (max-width: 1199px){.t-110\@lg-{top:110px}.r-110\@lg-{right:110px}.b-110\@lg-{bottom:110px}.l-110\@lg-{left:110px}}@media screen and (max-width: 991px){.t-110\@md-{top:110px}.r-110\@md-{right:110px}.b-110\@md-{bottom:110px}.l-110\@md-{left:110px}}@media screen and (max-width: 767px){.t-110\@sm-{top:110px}.r-110\@sm-{right:110px}.b-110\@sm-{bottom:110px}.l-110\@sm-{left:110px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-110\@lg{top:110px}.r-110\@lg{right:110px}.b-110\@lg{bottom:110px}.l-110\@lg{left:110px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-110\@md{top:110px}.r-110\@md{right:110px}.b-110\@md{bottom:110px}.l-110\@md{left:110px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-110\@sm{top:110px}.r-110\@sm{right:110px}.b-110\@sm{bottom:110px}.l-110\@sm{left:110px}}.t-120{top:120px}.r-120{right:120px}.b-120{bottom:120px}.l-120{left:120px}@media screen and (min-width: 1440px){.t-120\@xl\+{top:120px}.r-120\@xl\+{right:120px}.b-120\@xl\+{bottom:120px}.l-120\@xl\+{left:120px}}@media screen and (min-width: 1200px){.t-120\@lg\+{top:120px}.r-120\@lg\+{right:120px}.b-120\@lg\+{bottom:120px}.l-120\@lg\+{left:120px}}@media screen and (min-width: 992px){.t-120\@md\+{top:120px}.r-120\@md\+{right:120px}.b-120\@md\+{bottom:120px}.l-120\@md\+{left:120px}}@media screen and (min-width: 768px){.t-120\@sm\+{top:120px}.r-120\@sm\+{right:120px}.b-120\@sm\+{bottom:120px}.l-120\@sm\+{left:120px}}@media screen and (min-width: 0){.t-120\@xs\+{top:120px}.r-120\@xs\+{right:120px}.b-120\@xs\+{bottom:120px}.l-120\@xs\+{left:120px}}@media screen and (max-width: 1439px){.t-120\@xl-{top:120px}.r-120\@xl-{right:120px}.b-120\@xl-{bottom:120px}.l-120\@xl-{left:120px}}@media screen and (max-width: 1199px){.t-120\@lg-{top:120px}.r-120\@lg-{right:120px}.b-120\@lg-{bottom:120px}.l-120\@lg-{left:120px}}@media screen and (max-width: 991px){.t-120\@md-{top:120px}.r-120\@md-{right:120px}.b-120\@md-{bottom:120px}.l-120\@md-{left:120px}}@media screen and (max-width: 767px){.t-120\@sm-{top:120px}.r-120\@sm-{right:120px}.b-120\@sm-{bottom:120px}.l-120\@sm-{left:120px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-120\@lg{top:120px}.r-120\@lg{right:120px}.b-120\@lg{bottom:120px}.l-120\@lg{left:120px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-120\@md{top:120px}.r-120\@md{right:120px}.b-120\@md{bottom:120px}.l-120\@md{left:120px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-120\@sm{top:120px}.r-120\@sm{right:120px}.b-120\@sm{bottom:120px}.l-120\@sm{left:120px}}.t-130{top:130px}.r-130{right:130px}.b-130{bottom:130px}.l-130{left:130px}@media screen and (min-width: 1440px){.t-130\@xl\+{top:130px}.r-130\@xl\+{right:130px}.b-130\@xl\+{bottom:130px}.l-130\@xl\+{left:130px}}@media screen and (min-width: 1200px){.t-130\@lg\+{top:130px}.r-130\@lg\+{right:130px}.b-130\@lg\+{bottom:130px}.l-130\@lg\+{left:130px}}@media screen and (min-width: 992px){.t-130\@md\+{top:130px}.r-130\@md\+{right:130px}.b-130\@md\+{bottom:130px}.l-130\@md\+{left:130px}}@media screen and (min-width: 768px){.t-130\@sm\+{top:130px}.r-130\@sm\+{right:130px}.b-130\@sm\+{bottom:130px}.l-130\@sm\+{left:130px}}@media screen and (min-width: 0){.t-130\@xs\+{top:130px}.r-130\@xs\+{right:130px}.b-130\@xs\+{bottom:130px}.l-130\@xs\+{left:130px}}@media screen and (max-width: 1439px){.t-130\@xl-{top:130px}.r-130\@xl-{right:130px}.b-130\@xl-{bottom:130px}.l-130\@xl-{left:130px}}@media screen and (max-width: 1199px){.t-130\@lg-{top:130px}.r-130\@lg-{right:130px}.b-130\@lg-{bottom:130px}.l-130\@lg-{left:130px}}@media screen and (max-width: 991px){.t-130\@md-{top:130px}.r-130\@md-{right:130px}.b-130\@md-{bottom:130px}.l-130\@md-{left:130px}}@media screen and (max-width: 767px){.t-130\@sm-{top:130px}.r-130\@sm-{right:130px}.b-130\@sm-{bottom:130px}.l-130\@sm-{left:130px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-130\@lg{top:130px}.r-130\@lg{right:130px}.b-130\@lg{bottom:130px}.l-130\@lg{left:130px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-130\@md{top:130px}.r-130\@md{right:130px}.b-130\@md{bottom:130px}.l-130\@md{left:130px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-130\@sm{top:130px}.r-130\@sm{right:130px}.b-130\@sm{bottom:130px}.l-130\@sm{left:130px}}.t-140{top:140px}.r-140{right:140px}.b-140{bottom:140px}.l-140{left:140px}@media screen and (min-width: 1440px){.t-140\@xl\+{top:140px}.r-140\@xl\+{right:140px}.b-140\@xl\+{bottom:140px}.l-140\@xl\+{left:140px}}@media screen and (min-width: 1200px){.t-140\@lg\+{top:140px}.r-140\@lg\+{right:140px}.b-140\@lg\+{bottom:140px}.l-140\@lg\+{left:140px}}@media screen and (min-width: 992px){.t-140\@md\+{top:140px}.r-140\@md\+{right:140px}.b-140\@md\+{bottom:140px}.l-140\@md\+{left:140px}}@media screen and (min-width: 768px){.t-140\@sm\+{top:140px}.r-140\@sm\+{right:140px}.b-140\@sm\+{bottom:140px}.l-140\@sm\+{left:140px}}@media screen and (min-width: 0){.t-140\@xs\+{top:140px}.r-140\@xs\+{right:140px}.b-140\@xs\+{bottom:140px}.l-140\@xs\+{left:140px}}@media screen and (max-width: 1439px){.t-140\@xl-{top:140px}.r-140\@xl-{right:140px}.b-140\@xl-{bottom:140px}.l-140\@xl-{left:140px}}@media screen and (max-width: 1199px){.t-140\@lg-{top:140px}.r-140\@lg-{right:140px}.b-140\@lg-{bottom:140px}.l-140\@lg-{left:140px}}@media screen and (max-width: 991px){.t-140\@md-{top:140px}.r-140\@md-{right:140px}.b-140\@md-{bottom:140px}.l-140\@md-{left:140px}}@media screen and (max-width: 767px){.t-140\@sm-{top:140px}.r-140\@sm-{right:140px}.b-140\@sm-{bottom:140px}.l-140\@sm-{left:140px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-140\@lg{top:140px}.r-140\@lg{right:140px}.b-140\@lg{bottom:140px}.l-140\@lg{left:140px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-140\@md{top:140px}.r-140\@md{right:140px}.b-140\@md{bottom:140px}.l-140\@md{left:140px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-140\@sm{top:140px}.r-140\@sm{right:140px}.b-140\@sm{bottom:140px}.l-140\@sm{left:140px}}.t-150{top:150px}.r-150{right:150px}.b-150{bottom:150px}.l-150{left:150px}@media screen and (min-width: 1440px){.t-150\@xl\+{top:150px}.r-150\@xl\+{right:150px}.b-150\@xl\+{bottom:150px}.l-150\@xl\+{left:150px}}@media screen and (min-width: 1200px){.t-150\@lg\+{top:150px}.r-150\@lg\+{right:150px}.b-150\@lg\+{bottom:150px}.l-150\@lg\+{left:150px}}@media screen and (min-width: 992px){.t-150\@md\+{top:150px}.r-150\@md\+{right:150px}.b-150\@md\+{bottom:150px}.l-150\@md\+{left:150px}}@media screen and (min-width: 768px){.t-150\@sm\+{top:150px}.r-150\@sm\+{right:150px}.b-150\@sm\+{bottom:150px}.l-150\@sm\+{left:150px}}@media screen and (min-width: 0){.t-150\@xs\+{top:150px}.r-150\@xs\+{right:150px}.b-150\@xs\+{bottom:150px}.l-150\@xs\+{left:150px}}@media screen and (max-width: 1439px){.t-150\@xl-{top:150px}.r-150\@xl-{right:150px}.b-150\@xl-{bottom:150px}.l-150\@xl-{left:150px}}@media screen and (max-width: 1199px){.t-150\@lg-{top:150px}.r-150\@lg-{right:150px}.b-150\@lg-{bottom:150px}.l-150\@lg-{left:150px}}@media screen and (max-width: 991px){.t-150\@md-{top:150px}.r-150\@md-{right:150px}.b-150\@md-{bottom:150px}.l-150\@md-{left:150px}}@media screen and (max-width: 767px){.t-150\@sm-{top:150px}.r-150\@sm-{right:150px}.b-150\@sm-{bottom:150px}.l-150\@sm-{left:150px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-150\@lg{top:150px}.r-150\@lg{right:150px}.b-150\@lg{bottom:150px}.l-150\@lg{left:150px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-150\@md{top:150px}.r-150\@md{right:150px}.b-150\@md{bottom:150px}.l-150\@md{left:150px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-150\@sm{top:150px}.r-150\@sm{right:150px}.b-150\@sm{bottom:150px}.l-150\@sm{left:150px}}.t-160{top:160px}.r-160{right:160px}.b-160{bottom:160px}.l-160{left:160px}@media screen and (min-width: 1440px){.t-160\@xl\+{top:160px}.r-160\@xl\+{right:160px}.b-160\@xl\+{bottom:160px}.l-160\@xl\+{left:160px}}@media screen and (min-width: 1200px){.t-160\@lg\+{top:160px}.r-160\@lg\+{right:160px}.b-160\@lg\+{bottom:160px}.l-160\@lg\+{left:160px}}@media screen and (min-width: 992px){.t-160\@md\+{top:160px}.r-160\@md\+{right:160px}.b-160\@md\+{bottom:160px}.l-160\@md\+{left:160px}}@media screen and (min-width: 768px){.t-160\@sm\+{top:160px}.r-160\@sm\+{right:160px}.b-160\@sm\+{bottom:160px}.l-160\@sm\+{left:160px}}@media screen and (min-width: 0){.t-160\@xs\+{top:160px}.r-160\@xs\+{right:160px}.b-160\@xs\+{bottom:160px}.l-160\@xs\+{left:160px}}@media screen and (max-width: 1439px){.t-160\@xl-{top:160px}.r-160\@xl-{right:160px}.b-160\@xl-{bottom:160px}.l-160\@xl-{left:160px}}@media screen and (max-width: 1199px){.t-160\@lg-{top:160px}.r-160\@lg-{right:160px}.b-160\@lg-{bottom:160px}.l-160\@lg-{left:160px}}@media screen and (max-width: 991px){.t-160\@md-{top:160px}.r-160\@md-{right:160px}.b-160\@md-{bottom:160px}.l-160\@md-{left:160px}}@media screen and (max-width: 767px){.t-160\@sm-{top:160px}.r-160\@sm-{right:160px}.b-160\@sm-{bottom:160px}.l-160\@sm-{left:160px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-160\@lg{top:160px}.r-160\@lg{right:160px}.b-160\@lg{bottom:160px}.l-160\@lg{left:160px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-160\@md{top:160px}.r-160\@md{right:160px}.b-160\@md{bottom:160px}.l-160\@md{left:160px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-160\@sm{top:160px}.r-160\@sm{right:160px}.b-160\@sm{bottom:160px}.l-160\@sm{left:160px}}.tl-50p{top:50%;left:50%}.tr-50p{top:50%;right:50%}.t-50p{top:50%}.r-50p{right:50%}.b-50p{bottom:50%}.l-50p{left:50%}@media screen and (min-width: 1440px){.tl-50p\@xl\+{top:50%;left:50%}.tr-50p\@xl\+{top:50%;right:50%}.t-50p\@xl\+{top:50%}.r-50p\@xl\+{right:50%}.b-50p\@xl\+{bottom:50%}.l-50p\@xl\+{left:50%}}@media screen and (min-width: 1200px){.tl-50p\@lg\+{top:50%;left:50%}.tr-50p\@lg\+{top:50%;right:50%}.t-50p\@lg\+{top:50%}.r-50p\@lg\+{right:50%}.b-50p\@lg\+{bottom:50%}.l-50p\@lg\+{left:50%}}@media screen and (min-width: 992px){.tl-50p\@md\+{top:50%;left:50%}.tr-50p\@md\+{top:50%;right:50%}.t-50p\@md\+{top:50%}.r-50p\@md\+{right:50%}.b-50p\@md\+{bottom:50%}.l-50p\@md\+{left:50%}}@media screen and (min-width: 768px){.tl-50p\@sm\+{top:50%;left:50%}.tr-50p\@sm\+{top:50%;right:50%}.t-50p\@sm\+{top:50%}.r-50p\@sm\+{right:50%}.b-50p\@sm\+{bottom:50%}.l-50p\@sm\+{left:50%}}@media screen and (min-width: 0){.tl-50p\@xs\+{top:50%;left:50%}.tr-50p\@xs\+{top:50%;right:50%}.t-50p\@xs\+{top:50%}.r-50p\@xs\+{right:50%}.b-50p\@xs\+{bottom:50%}.l-50p\@xs\+{left:50%}}@media screen and (max-width: 1439px){.tl-50p\@xl-{top:50%;left:50%}.tr-50p\@xl-{top:50%;right:50%}.t-50p\@xl-{top:50%}.r-50p\@xl-{right:50%}.b-50p\@xl-{bottom:50%}.l-50p\@xl-{left:50%}}@media screen and (max-width: 1199px){.tl-50p\@lg-{top:50%;left:50%}.tr-50p\@lg-{top:50%;right:50%}.t-50p\@lg-{top:50%}.r-50p\@lg-{right:50%}.b-50p\@lg-{bottom:50%}.l-50p\@lg-{left:50%}}@media screen and (max-width: 991px){.tl-50p\@md-{top:50%;left:50%}.tr-50p\@md-{top:50%;right:50%}.t-50p\@md-{top:50%}.r-50p\@md-{right:50%}.b-50p\@md-{bottom:50%}.l-50p\@md-{left:50%}}@media screen and (max-width: 767px){.tl-50p\@sm-{top:50%;left:50%}.tr-50p\@sm-{top:50%;right:50%}.t-50p\@sm-{top:50%}.r-50p\@sm-{right:50%}.b-50p\@sm-{bottom:50%}.l-50p\@sm-{left:50%}}@media screen and (min-width: 1199px)and (max-width: 1439px){.tl-50p\@lg{top:50%;left:50%}.tr-50p\@lg{top:50%;right:50%}.t-50p\@lg{top:50%}.r-50p\@lg{right:50%}.b-50p\@lg{bottom:50%}.l-50p\@lg{left:50%}}@media screen and (min-width: 991px)and (max-width: 1199px){.tl-50p\@md{top:50%;left:50%}.tr-50p\@md{top:50%;right:50%}.t-50p\@md{top:50%}.r-50p\@md{right:50%}.b-50p\@md{bottom:50%}.l-50p\@md{left:50%}}@media screen and (min-width: 767px)and (max-width: 991px){.tl-50p\@sm{top:50%;left:50%}.tr-50p\@sm{top:50%;right:50%}.t-50p\@sm{top:50%}.r-50p\@sm{right:50%}.b-50p\@sm{bottom:50%}.l-50p\@sm{left:50%}}.w-1\/4r,.sz-1\/4r{width:.25rem}.w-1\/2r,.sz-1\/2r{width:.5rem}.w-3\/4r,.sz-3\/4r{width:.75rem}.w-1r,.sz-1r{width:1rem}.w-3\/2r,.sz-3\/2r{width:1.5rem}.w-2r,.sz-2r{width:2rem}.w-5\/2r,.sz-5\/2r{width:2.5rem}.w-3r,.sz-3r{width:3rem}.w-7\/2r,.sz-7\/2r{width:3.5rem}.w-4r,.sz-4r{width:4rem}.w-9\/2r,.sz-9\/2r{width:4.5rem}.w-5r,.sz-5r{width:5rem}.w-11\/2r,.sz-11\/2r{width:5.5rem}.w-6r,.sz-6r{width:6rem}@media screen and (min-width: 1440px){.w-1\/4r\@xl\+,.sz-1\/4r\@xl\+{width:.25rem}.w-1\/2r\@xl\+,.sz-1\/2r\@xl\+{width:.5rem}.w-3\/4r\@xl\+,.sz-3\/4r\@xl\+{width:.75rem}.w-1r\@xl\+,.sz-1r\@xl\+{width:1rem}.w-3\/2r\@xl\+,.sz-3\/2r\@xl\+{width:1.5rem}.w-2r\@xl\+,.sz-2r\@xl\+{width:2rem}.w-5\/2r\@xl\+,.sz-5\/2r\@xl\+{width:2.5rem}.w-3r\@xl\+,.sz-3r\@xl\+{width:3rem}.w-7\/2r\@xl\+,.sz-7\/2r\@xl\+{width:3.5rem}.w-4r\@xl\+,.sz-4r\@xl\+{width:4rem}.w-9\/2r\@xl\+,.sz-9\/2r\@xl\+{width:4.5rem}.w-5r\@xl\+,.sz-5r\@xl\+{width:5rem}.w-11\/2r\@xl\+,.sz-11\/2r\@xl\+{width:5.5rem}.w-6r\@xl\+,.sz-6r\@xl\+{width:6rem}}@media screen and (min-width: 1200px){.w-1\/4r\@lg\+,.sz-1\/4r\@lg\+{width:.25rem}.w-1\/2r\@lg\+,.sz-1\/2r\@lg\+{width:.5rem}.w-3\/4r\@lg\+,.sz-3\/4r\@lg\+{width:.75rem}.w-1r\@lg\+,.sz-1r\@lg\+{width:1rem}.w-3\/2r\@lg\+,.sz-3\/2r\@lg\+{width:1.5rem}.w-2r\@lg\+,.sz-2r\@lg\+{width:2rem}.w-5\/2r\@lg\+,.sz-5\/2r\@lg\+{width:2.5rem}.w-3r\@lg\+,.sz-3r\@lg\+{width:3rem}.w-7\/2r\@lg\+,.sz-7\/2r\@lg\+{width:3.5rem}.w-4r\@lg\+,.sz-4r\@lg\+{width:4rem}.w-9\/2r\@lg\+,.sz-9\/2r\@lg\+{width:4.5rem}.w-5r\@lg\+,.sz-5r\@lg\+{width:5rem}.w-11\/2r\@lg\+,.sz-11\/2r\@lg\+{width:5.5rem}.w-6r\@lg\+,.sz-6r\@lg\+{width:6rem}}@media screen and (min-width: 992px){.w-1\/4r\@md\+,.sz-1\/4r\@md\+{width:.25rem}.w-1\/2r\@md\+,.sz-1\/2r\@md\+{width:.5rem}.w-3\/4r\@md\+,.sz-3\/4r\@md\+{width:.75rem}.w-1r\@md\+,.sz-1r\@md\+{width:1rem}.w-3\/2r\@md\+,.sz-3\/2r\@md\+{width:1.5rem}.w-2r\@md\+,.sz-2r\@md\+{width:2rem}.w-5\/2r\@md\+,.sz-5\/2r\@md\+{width:2.5rem}.w-3r\@md\+,.sz-3r\@md\+{width:3rem}.w-7\/2r\@md\+,.sz-7\/2r\@md\+{width:3.5rem}.w-4r\@md\+,.sz-4r\@md\+{width:4rem}.w-9\/2r\@md\+,.sz-9\/2r\@md\+{width:4.5rem}.w-5r\@md\+,.sz-5r\@md\+{width:5rem}.w-11\/2r\@md\+,.sz-11\/2r\@md\+{width:5.5rem}.w-6r\@md\+,.sz-6r\@md\+{width:6rem}}@media screen and (min-width: 768px){.w-1\/4r\@sm\+,.sz-1\/4r\@sm\+{width:.25rem}.w-1\/2r\@sm\+,.sz-1\/2r\@sm\+{width:.5rem}.w-3\/4r\@sm\+,.sz-3\/4r\@sm\+{width:.75rem}.w-1r\@sm\+,.sz-1r\@sm\+{width:1rem}.w-3\/2r\@sm\+,.sz-3\/2r\@sm\+{width:1.5rem}.w-2r\@sm\+,.sz-2r\@sm\+{width:2rem}.w-5\/2r\@sm\+,.sz-5\/2r\@sm\+{width:2.5rem}.w-3r\@sm\+,.sz-3r\@sm\+{width:3rem}.w-7\/2r\@sm\+,.sz-7\/2r\@sm\+{width:3.5rem}.w-4r\@sm\+,.sz-4r\@sm\+{width:4rem}.w-9\/2r\@sm\+,.sz-9\/2r\@sm\+{width:4.5rem}.w-5r\@sm\+,.sz-5r\@sm\+{width:5rem}.w-11\/2r\@sm\+,.sz-11\/2r\@sm\+{width:5.5rem}.w-6r\@sm\+,.sz-6r\@sm\+{width:6rem}}@media screen and (min-width: 0){.w-1\/4r\@xs\+,.sz-1\/4r\@xs\+{width:.25rem}.w-1\/2r\@xs\+,.sz-1\/2r\@xs\+{width:.5rem}.w-3\/4r\@xs\+,.sz-3\/4r\@xs\+{width:.75rem}.w-1r\@xs\+,.sz-1r\@xs\+{width:1rem}.w-3\/2r\@xs\+,.sz-3\/2r\@xs\+{width:1.5rem}.w-2r\@xs\+,.sz-2r\@xs\+{width:2rem}.w-5\/2r\@xs\+,.sz-5\/2r\@xs\+{width:2.5rem}.w-3r\@xs\+,.sz-3r\@xs\+{width:3rem}.w-7\/2r\@xs\+,.sz-7\/2r\@xs\+{width:3.5rem}.w-4r\@xs\+,.sz-4r\@xs\+{width:4rem}.w-9\/2r\@xs\+,.sz-9\/2r\@xs\+{width:4.5rem}.w-5r\@xs\+,.sz-5r\@xs\+{width:5rem}.w-11\/2r\@xs\+,.sz-11\/2r\@xs\+{width:5.5rem}.w-6r\@xs\+,.sz-6r\@xs\+{width:6rem}}@media screen and (max-width: 1439px){.w-1\/4r\@xl-,.sz-1\/4r\@xl-{width:.25rem}.w-1\/2r\@xl-,.sz-1\/2r\@xl-{width:.5rem}.w-3\/4r\@xl-,.sz-3\/4r\@xl-{width:.75rem}.w-1r\@xl-,.sz-1r\@xl-{width:1rem}.w-3\/2r\@xl-,.sz-3\/2r\@xl-{width:1.5rem}.w-2r\@xl-,.sz-2r\@xl-{width:2rem}.w-5\/2r\@xl-,.sz-5\/2r\@xl-{width:2.5rem}.w-3r\@xl-,.sz-3r\@xl-{width:3rem}.w-7\/2r\@xl-,.sz-7\/2r\@xl-{width:3.5rem}.w-4r\@xl-,.sz-4r\@xl-{width:4rem}.w-9\/2r\@xl-,.sz-9\/2r\@xl-{width:4.5rem}.w-5r\@xl-,.sz-5r\@xl-{width:5rem}.w-11\/2r\@xl-,.sz-11\/2r\@xl-{width:5.5rem}.w-6r\@xl-,.sz-6r\@xl-{width:6rem}}@media screen and (max-width: 1199px){.w-1\/4r\@lg-,.sz-1\/4r\@lg-{width:.25rem}.w-1\/2r\@lg-,.sz-1\/2r\@lg-{width:.5rem}.w-3\/4r\@lg-,.sz-3\/4r\@lg-{width:.75rem}.w-1r\@lg-,.sz-1r\@lg-{width:1rem}.w-3\/2r\@lg-,.sz-3\/2r\@lg-{width:1.5rem}.w-2r\@lg-,.sz-2r\@lg-{width:2rem}.w-5\/2r\@lg-,.sz-5\/2r\@lg-{width:2.5rem}.w-3r\@lg-,.sz-3r\@lg-{width:3rem}.w-7\/2r\@lg-,.sz-7\/2r\@lg-{width:3.5rem}.w-4r\@lg-,.sz-4r\@lg-{width:4rem}.w-9\/2r\@lg-,.sz-9\/2r\@lg-{width:4.5rem}.w-5r\@lg-,.sz-5r\@lg-{width:5rem}.w-11\/2r\@lg-,.sz-11\/2r\@lg-{width:5.5rem}.w-6r\@lg-,.sz-6r\@lg-{width:6rem}}@media screen and (max-width: 991px){.w-1\/4r\@md-,.sz-1\/4r\@md-{width:.25rem}.w-1\/2r\@md-,.sz-1\/2r\@md-{width:.5rem}.w-3\/4r\@md-,.sz-3\/4r\@md-{width:.75rem}.w-1r\@md-,.sz-1r\@md-{width:1rem}.w-3\/2r\@md-,.sz-3\/2r\@md-{width:1.5rem}.w-2r\@md-,.sz-2r\@md-{width:2rem}.w-5\/2r\@md-,.sz-5\/2r\@md-{width:2.5rem}.w-3r\@md-,.sz-3r\@md-{width:3rem}.w-7\/2r\@md-,.sz-7\/2r\@md-{width:3.5rem}.w-4r\@md-,.sz-4r\@md-{width:4rem}.w-9\/2r\@md-,.sz-9\/2r\@md-{width:4.5rem}.w-5r\@md-,.sz-5r\@md-{width:5rem}.w-11\/2r\@md-,.sz-11\/2r\@md-{width:5.5rem}.w-6r\@md-,.sz-6r\@md-{width:6rem}}@media screen and (max-width: 767px){.w-1\/4r\@sm-,.sz-1\/4r\@sm-{width:.25rem}.w-1\/2r\@sm-,.sz-1\/2r\@sm-{width:.5rem}.w-3\/4r\@sm-,.sz-3\/4r\@sm-{width:.75rem}.w-1r\@sm-,.sz-1r\@sm-{width:1rem}.w-3\/2r\@sm-,.sz-3\/2r\@sm-{width:1.5rem}.w-2r\@sm-,.sz-2r\@sm-{width:2rem}.w-5\/2r\@sm-,.sz-5\/2r\@sm-{width:2.5rem}.w-3r\@sm-,.sz-3r\@sm-{width:3rem}.w-7\/2r\@sm-,.sz-7\/2r\@sm-{width:3.5rem}.w-4r\@sm-,.sz-4r\@sm-{width:4rem}.w-9\/2r\@sm-,.sz-9\/2r\@sm-{width:4.5rem}.w-5r\@sm-,.sz-5r\@sm-{width:5rem}.w-11\/2r\@sm-,.sz-11\/2r\@sm-{width:5.5rem}.w-6r\@sm-,.sz-6r\@sm-{width:6rem}}@media screen and (min-width: 1199px)and (max-width: 1439px){.w-1\/4r\@lg,.sz-1\/4r\@lg{width:.25rem}.w-1\/2r\@lg,.sz-1\/2r\@lg{width:.5rem}.w-3\/4r\@lg,.sz-3\/4r\@lg{width:.75rem}.w-1r\@lg,.sz-1r\@lg{width:1rem}.w-3\/2r\@lg,.sz-3\/2r\@lg{width:1.5rem}.w-2r\@lg,.sz-2r\@lg{width:2rem}.w-5\/2r\@lg,.sz-5\/2r\@lg{width:2.5rem}.w-3r\@lg,.sz-3r\@lg{width:3rem}.w-7\/2r\@lg,.sz-7\/2r\@lg{width:3.5rem}.w-4r\@lg,.sz-4r\@lg{width:4rem}.w-9\/2r\@lg,.sz-9\/2r\@lg{width:4.5rem}.w-5r\@lg,.sz-5r\@lg{width:5rem}.w-11\/2r\@lg,.sz-11\/2r\@lg{width:5.5rem}.w-6r\@lg,.sz-6r\@lg{width:6rem}}@media screen and (min-width: 991px)and (max-width: 1199px){.w-1\/4r\@md,.sz-1\/4r\@md{width:.25rem}.w-1\/2r\@md,.sz-1\/2r\@md{width:.5rem}.w-3\/4r\@md,.sz-3\/4r\@md{width:.75rem}.w-1r\@md,.sz-1r\@md{width:1rem}.w-3\/2r\@md,.sz-3\/2r\@md{width:1.5rem}.w-2r\@md,.sz-2r\@md{width:2rem}.w-5\/2r\@md,.sz-5\/2r\@md{width:2.5rem}.w-3r\@md,.sz-3r\@md{width:3rem}.w-7\/2r\@md,.sz-7\/2r\@md{width:3.5rem}.w-4r\@md,.sz-4r\@md{width:4rem}.w-9\/2r\@md,.sz-9\/2r\@md{width:4.5rem}.w-5r\@md,.sz-5r\@md{width:5rem}.w-11\/2r\@md,.sz-11\/2r\@md{width:5.5rem}.w-6r\@md,.sz-6r\@md{width:6rem}}@media screen and (min-width: 767px)and (max-width: 991px){.w-1\/4r\@sm,.sz-1\/4r\@sm{width:.25rem}.w-1\/2r\@sm,.sz-1\/2r\@sm{width:.5rem}.w-3\/4r\@sm,.sz-3\/4r\@sm{width:.75rem}.w-1r\@sm,.sz-1r\@sm{width:1rem}.w-3\/2r\@sm,.sz-3\/2r\@sm{width:1.5rem}.w-2r\@sm,.sz-2r\@sm{width:2rem}.w-5\/2r\@sm,.sz-5\/2r\@sm{width:2.5rem}.w-3r\@sm,.sz-3r\@sm{width:3rem}.w-7\/2r\@sm,.sz-7\/2r\@sm{width:3.5rem}.w-4r\@sm,.sz-4r\@sm{width:4rem}.w-9\/2r\@sm,.sz-9\/2r\@sm{width:4.5rem}.w-5r\@sm,.sz-5r\@sm{width:5rem}.w-11\/2r\@sm,.sz-11\/2r\@sm{width:5.5rem}.w-6r\@sm,.sz-6r\@sm{width:6rem}}.w-0{width:0px}.w-10p{width:10%}.w-20p{width:20%}.w-30p{width:30%}.w-40p{width:40%}.w-50p{width:50%}.w-60p{width:60%}.w-70p{width:70%}.w-80p{width:80%}.w-90p{width:90%}.w-100p{width:100%}.w-1px{width:1px}.w-a{width:auto}@media screen and (min-width: 1440px){.w-0\@xl\+{width:0px}.w-10p\@xl\+{width:10%}.w-20p\@xl\+{width:20%}.w-30p\@xl\+{width:30%}.w-40p\@xl\+{width:40%}.w-50p\@xl\+{width:50%}.w-60p\@xl\+{width:60%}.w-70p\@xl\+{width:70%}.w-80p\@xl\+{width:80%}.w-90p\@xl\+{width:90%}.w-100p\@xl\+{width:100%}.w-1px\@xl\+{width:1px}.w-a\@xl\+{width:auto}}@media screen and (min-width: 1200px){.w-0\@lg\+{width:0px}.w-10p\@lg\+{width:10%}.w-20p\@lg\+{width:20%}.w-30p\@lg\+{width:30%}.w-40p\@lg\+{width:40%}.w-50p\@lg\+{width:50%}.w-60p\@lg\+{width:60%}.w-70p\@lg\+{width:70%}.w-80p\@lg\+{width:80%}.w-90p\@lg\+{width:90%}.w-100p\@lg\+{width:100%}.w-1px\@lg\+{width:1px}.w-a\@lg\+{width:auto}}@media screen and (min-width: 992px){.w-0\@md\+{width:0px}.w-10p\@md\+{width:10%}.w-20p\@md\+{width:20%}.w-30p\@md\+{width:30%}.w-40p\@md\+{width:40%}.w-50p\@md\+{width:50%}.w-60p\@md\+{width:60%}.w-70p\@md\+{width:70%}.w-80p\@md\+{width:80%}.w-90p\@md\+{width:90%}.w-100p\@md\+{width:100%}.w-1px\@md\+{width:1px}.w-a\@md\+{width:auto}}@media screen and (min-width: 768px){.w-0\@sm\+{width:0px}.w-10p\@sm\+{width:10%}.w-20p\@sm\+{width:20%}.w-30p\@sm\+{width:30%}.w-40p\@sm\+{width:40%}.w-50p\@sm\+{width:50%}.w-60p\@sm\+{width:60%}.w-70p\@sm\+{width:70%}.w-80p\@sm\+{width:80%}.w-90p\@sm\+{width:90%}.w-100p\@sm\+{width:100%}.w-1px\@sm\+{width:1px}.w-a\@sm\+{width:auto}}@media screen and (min-width: 0){.w-0\@xs\+{width:0px}.w-10p\@xs\+{width:10%}.w-20p\@xs\+{width:20%}.w-30p\@xs\+{width:30%}.w-40p\@xs\+{width:40%}.w-50p\@xs\+{width:50%}.w-60p\@xs\+{width:60%}.w-70p\@xs\+{width:70%}.w-80p\@xs\+{width:80%}.w-90p\@xs\+{width:90%}.w-100p\@xs\+{width:100%}.w-1px\@xs\+{width:1px}.w-a\@xs\+{width:auto}}@media screen and (max-width: 1439px){.w-0\@xl-{width:0px}.w-10p\@xl-{width:10%}.w-20p\@xl-{width:20%}.w-30p\@xl-{width:30%}.w-40p\@xl-{width:40%}.w-50p\@xl-{width:50%}.w-60p\@xl-{width:60%}.w-70p\@xl-{width:70%}.w-80p\@xl-{width:80%}.w-90p\@xl-{width:90%}.w-100p\@xl-{width:100%}.w-1px\@xl-{width:1px}.w-a\@xl-{width:auto}}@media screen and (max-width: 1199px){.w-0\@lg-{width:0px}.w-10p\@lg-{width:10%}.w-20p\@lg-{width:20%}.w-30p\@lg-{width:30%}.w-40p\@lg-{width:40%}.w-50p\@lg-{width:50%}.w-60p\@lg-{width:60%}.w-70p\@lg-{width:70%}.w-80p\@lg-{width:80%}.w-90p\@lg-{width:90%}.w-100p\@lg-{width:100%}.w-1px\@lg-{width:1px}.w-a\@lg-{width:auto}}@media screen and (max-width: 991px){.w-0\@md-{width:0px}.w-10p\@md-{width:10%}.w-20p\@md-{width:20%}.w-30p\@md-{width:30%}.w-40p\@md-{width:40%}.w-50p\@md-{width:50%}.w-60p\@md-{width:60%}.w-70p\@md-{width:70%}.w-80p\@md-{width:80%}.w-90p\@md-{width:90%}.w-100p\@md-{width:100%}.w-1px\@md-{width:1px}.w-a\@md-{width:auto}}@media screen and (max-width: 767px){.w-0\@sm-{width:0px}.w-10p\@sm-{width:10%}.w-20p\@sm-{width:20%}.w-30p\@sm-{width:30%}.w-40p\@sm-{width:40%}.w-50p\@sm-{width:50%}.w-60p\@sm-{width:60%}.w-70p\@sm-{width:70%}.w-80p\@sm-{width:80%}.w-90p\@sm-{width:90%}.w-100p\@sm-{width:100%}.w-1px\@sm-{width:1px}.w-a\@sm-{width:auto}}@media screen and (min-width: 1199px)and (max-width: 1439px){.w-0\@lg{width:0px}.w-10p\@lg{width:10%}.w-20p\@lg{width:20%}.w-30p\@lg{width:30%}.w-40p\@lg{width:40%}.w-50p\@lg{width:50%}.w-60p\@lg{width:60%}.w-70p\@lg{width:70%}.w-80p\@lg{width:80%}.w-90p\@lg{width:90%}.w-100p\@lg{width:100%}.w-1px\@lg{width:1px}.w-a\@lg{width:auto}}@media screen and (min-width: 991px)and (max-width: 1199px){.w-0\@md{width:0px}.w-10p\@md{width:10%}.w-20p\@md{width:20%}.w-30p\@md{width:30%}.w-40p\@md{width:40%}.w-50p\@md{width:50%}.w-60p\@md{width:60%}.w-70p\@md{width:70%}.w-80p\@md{width:80%}.w-90p\@md{width:90%}.w-100p\@md{width:100%}.w-1px\@md{width:1px}.w-a\@md{width:auto}}@media screen and (min-width: 767px)and (max-width: 991px){.w-0\@sm{width:0px}.w-10p\@sm{width:10%}.w-20p\@sm{width:20%}.w-30p\@sm{width:30%}.w-40p\@sm{width:40%}.w-50p\@sm{width:50%}.w-60p\@sm{width:60%}.w-70p\@sm{width:70%}.w-80p\@sm{width:80%}.w-90p\@sm{width:90%}.w-100p\@sm{width:100%}.w-1px\@sm{width:1px}.w-a\@sm{width:auto}}.h-1\/4r,.sz-1\/4r{height:.25rem}.h-1\/2r,.sz-1\/2r{height:.5rem}.h-3\/4r,.sz-3\/4r{height:.75rem}.h-1r,.sz-1r{height:1rem}.h-3\/2r,.sz-3\/2r{height:1.5rem}.h-2r,.sz-2r{height:2rem}.h-5\/2r,.sz-5\/2r{height:2.5rem}.h-3r,.sz-3r{height:3rem}.h-7\/2r,.sz-7\/2r{height:3.5rem}.h-4r,.sz-4r{height:4rem}.h-9\/2r,.sz-9\/2r{height:4.5rem}.h-5r,.sz-5r{height:5rem}.h-11\/2r,.sz-11\/2r{height:5.5rem}.h-6r,.sz-6r{height:6rem}@media screen and (min-width: 1440px){.h-1\/4r\@xl\+,.sz-1\/4r\@xl\+{height:.25rem}.h-1\/2r\@xl\+,.sz-1\/2r\@xl\+{height:.5rem}.h-3\/4r\@xl\+,.sz-3\/4r\@xl\+{height:.75rem}.h-1r\@xl\+,.sz-1r\@xl\+{height:1rem}.h-3\/2r\@xl\+,.sz-3\/2r\@xl\+{height:1.5rem}.h-2r\@xl\+,.sz-2r\@xl\+{height:2rem}.h-5\/2r\@xl\+,.sz-5\/2r\@xl\+{height:2.5rem}.h-3r\@xl\+,.sz-3r\@xl\+{height:3rem}.h-7\/2r\@xl\+,.sz-7\/2r\@xl\+{height:3.5rem}.h-4r\@xl\+,.sz-4r\@xl\+{height:4rem}.h-9\/2r\@xl\+,.sz-9\/2r\@xl\+{height:4.5rem}.h-5r\@xl\+,.sz-5r\@xl\+{height:5rem}.h-11\/2r\@xl\+,.sz-11\/2r\@xl\+{height:5.5rem}.h-6r\@xl\+,.sz-6r\@xl\+{height:6rem}}@media screen and (min-width: 1200px){.h-1\/4r\@lg\+,.sz-1\/4r\@lg\+{height:.25rem}.h-1\/2r\@lg\+,.sz-1\/2r\@lg\+{height:.5rem}.h-3\/4r\@lg\+,.sz-3\/4r\@lg\+{height:.75rem}.h-1r\@lg\+,.sz-1r\@lg\+{height:1rem}.h-3\/2r\@lg\+,.sz-3\/2r\@lg\+{height:1.5rem}.h-2r\@lg\+,.sz-2r\@lg\+{height:2rem}.h-5\/2r\@lg\+,.sz-5\/2r\@lg\+{height:2.5rem}.h-3r\@lg\+,.sz-3r\@lg\+{height:3rem}.h-7\/2r\@lg\+,.sz-7\/2r\@lg\+{height:3.5rem}.h-4r\@lg\+,.sz-4r\@lg\+{height:4rem}.h-9\/2r\@lg\+,.sz-9\/2r\@lg\+{height:4.5rem}.h-5r\@lg\+,.sz-5r\@lg\+{height:5rem}.h-11\/2r\@lg\+,.sz-11\/2r\@lg\+{height:5.5rem}.h-6r\@lg\+,.sz-6r\@lg\+{height:6rem}}@media screen and (min-width: 992px){.h-1\/4r\@md\+,.sz-1\/4r\@md\+{height:.25rem}.h-1\/2r\@md\+,.sz-1\/2r\@md\+{height:.5rem}.h-3\/4r\@md\+,.sz-3\/4r\@md\+{height:.75rem}.h-1r\@md\+,.sz-1r\@md\+{height:1rem}.h-3\/2r\@md\+,.sz-3\/2r\@md\+{height:1.5rem}.h-2r\@md\+,.sz-2r\@md\+{height:2rem}.h-5\/2r\@md\+,.sz-5\/2r\@md\+{height:2.5rem}.h-3r\@md\+,.sz-3r\@md\+{height:3rem}.h-7\/2r\@md\+,.sz-7\/2r\@md\+{height:3.5rem}.h-4r\@md\+,.sz-4r\@md\+{height:4rem}.h-9\/2r\@md\+,.sz-9\/2r\@md\+{height:4.5rem}.h-5r\@md\+,.sz-5r\@md\+{height:5rem}.h-11\/2r\@md\+,.sz-11\/2r\@md\+{height:5.5rem}.h-6r\@md\+,.sz-6r\@md\+{height:6rem}}@media screen and (min-width: 768px){.h-1\/4r\@sm\+,.sz-1\/4r\@sm\+{height:.25rem}.h-1\/2r\@sm\+,.sz-1\/2r\@sm\+{height:.5rem}.h-3\/4r\@sm\+,.sz-3\/4r\@sm\+{height:.75rem}.h-1r\@sm\+,.sz-1r\@sm\+{height:1rem}.h-3\/2r\@sm\+,.sz-3\/2r\@sm\+{height:1.5rem}.h-2r\@sm\+,.sz-2r\@sm\+{height:2rem}.h-5\/2r\@sm\+,.sz-5\/2r\@sm\+{height:2.5rem}.h-3r\@sm\+,.sz-3r\@sm\+{height:3rem}.h-7\/2r\@sm\+,.sz-7\/2r\@sm\+{height:3.5rem}.h-4r\@sm\+,.sz-4r\@sm\+{height:4rem}.h-9\/2r\@sm\+,.sz-9\/2r\@sm\+{height:4.5rem}.h-5r\@sm\+,.sz-5r\@sm\+{height:5rem}.h-11\/2r\@sm\+,.sz-11\/2r\@sm\+{height:5.5rem}.h-6r\@sm\+,.sz-6r\@sm\+{height:6rem}}@media screen and (min-width: 0){.h-1\/4r\@xs\+,.sz-1\/4r\@xs\+{height:.25rem}.h-1\/2r\@xs\+,.sz-1\/2r\@xs\+{height:.5rem}.h-3\/4r\@xs\+,.sz-3\/4r\@xs\+{height:.75rem}.h-1r\@xs\+,.sz-1r\@xs\+{height:1rem}.h-3\/2r\@xs\+,.sz-3\/2r\@xs\+{height:1.5rem}.h-2r\@xs\+,.sz-2r\@xs\+{height:2rem}.h-5\/2r\@xs\+,.sz-5\/2r\@xs\+{height:2.5rem}.h-3r\@xs\+,.sz-3r\@xs\+{height:3rem}.h-7\/2r\@xs\+,.sz-7\/2r\@xs\+{height:3.5rem}.h-4r\@xs\+,.sz-4r\@xs\+{height:4rem}.h-9\/2r\@xs\+,.sz-9\/2r\@xs\+{height:4.5rem}.h-5r\@xs\+,.sz-5r\@xs\+{height:5rem}.h-11\/2r\@xs\+,.sz-11\/2r\@xs\+{height:5.5rem}.h-6r\@xs\+,.sz-6r\@xs\+{height:6rem}}@media screen and (max-width: 1439px){.h-1\/4r\@xl-,.sz-1\/4r\@xl-{height:.25rem}.h-1\/2r\@xl-,.sz-1\/2r\@xl-{height:.5rem}.h-3\/4r\@xl-,.sz-3\/4r\@xl-{height:.75rem}.h-1r\@xl-,.sz-1r\@xl-{height:1rem}.h-3\/2r\@xl-,.sz-3\/2r\@xl-{height:1.5rem}.h-2r\@xl-,.sz-2r\@xl-{height:2rem}.h-5\/2r\@xl-,.sz-5\/2r\@xl-{height:2.5rem}.h-3r\@xl-,.sz-3r\@xl-{height:3rem}.h-7\/2r\@xl-,.sz-7\/2r\@xl-{height:3.5rem}.h-4r\@xl-,.sz-4r\@xl-{height:4rem}.h-9\/2r\@xl-,.sz-9\/2r\@xl-{height:4.5rem}.h-5r\@xl-,.sz-5r\@xl-{height:5rem}.h-11\/2r\@xl-,.sz-11\/2r\@xl-{height:5.5rem}.h-6r\@xl-,.sz-6r\@xl-{height:6rem}}@media screen and (max-width: 1199px){.h-1\/4r\@lg-,.sz-1\/4r\@lg-{height:.25rem}.h-1\/2r\@lg-,.sz-1\/2r\@lg-{height:.5rem}.h-3\/4r\@lg-,.sz-3\/4r\@lg-{height:.75rem}.h-1r\@lg-,.sz-1r\@lg-{height:1rem}.h-3\/2r\@lg-,.sz-3\/2r\@lg-{height:1.5rem}.h-2r\@lg-,.sz-2r\@lg-{height:2rem}.h-5\/2r\@lg-,.sz-5\/2r\@lg-{height:2.5rem}.h-3r\@lg-,.sz-3r\@lg-{height:3rem}.h-7\/2r\@lg-,.sz-7\/2r\@lg-{height:3.5rem}.h-4r\@lg-,.sz-4r\@lg-{height:4rem}.h-9\/2r\@lg-,.sz-9\/2r\@lg-{height:4.5rem}.h-5r\@lg-,.sz-5r\@lg-{height:5rem}.h-11\/2r\@lg-,.sz-11\/2r\@lg-{height:5.5rem}.h-6r\@lg-,.sz-6r\@lg-{height:6rem}}@media screen and (max-width: 991px){.h-1\/4r\@md-,.sz-1\/4r\@md-{height:.25rem}.h-1\/2r\@md-,.sz-1\/2r\@md-{height:.5rem}.h-3\/4r\@md-,.sz-3\/4r\@md-{height:.75rem}.h-1r\@md-,.sz-1r\@md-{height:1rem}.h-3\/2r\@md-,.sz-3\/2r\@md-{height:1.5rem}.h-2r\@md-,.sz-2r\@md-{height:2rem}.h-5\/2r\@md-,.sz-5\/2r\@md-{height:2.5rem}.h-3r\@md-,.sz-3r\@md-{height:3rem}.h-7\/2r\@md-,.sz-7\/2r\@md-{height:3.5rem}.h-4r\@md-,.sz-4r\@md-{height:4rem}.h-9\/2r\@md-,.sz-9\/2r\@md-{height:4.5rem}.h-5r\@md-,.sz-5r\@md-{height:5rem}.h-11\/2r\@md-,.sz-11\/2r\@md-{height:5.5rem}.h-6r\@md-,.sz-6r\@md-{height:6rem}}@media screen and (max-width: 767px){.h-1\/4r\@sm-,.sz-1\/4r\@sm-{height:.25rem}.h-1\/2r\@sm-,.sz-1\/2r\@sm-{height:.5rem}.h-3\/4r\@sm-,.sz-3\/4r\@sm-{height:.75rem}.h-1r\@sm-,.sz-1r\@sm-{height:1rem}.h-3\/2r\@sm-,.sz-3\/2r\@sm-{height:1.5rem}.h-2r\@sm-,.sz-2r\@sm-{height:2rem}.h-5\/2r\@sm-,.sz-5\/2r\@sm-{height:2.5rem}.h-3r\@sm-,.sz-3r\@sm-{height:3rem}.h-7\/2r\@sm-,.sz-7\/2r\@sm-{height:3.5rem}.h-4r\@sm-,.sz-4r\@sm-{height:4rem}.h-9\/2r\@sm-,.sz-9\/2r\@sm-{height:4.5rem}.h-5r\@sm-,.sz-5r\@sm-{height:5rem}.h-11\/2r\@sm-,.sz-11\/2r\@sm-{height:5.5rem}.h-6r\@sm-,.sz-6r\@sm-{height:6rem}}@media screen and (min-width: 1199px)and (max-width: 1439px){.h-1\/4r\@lg,.sz-1\/4r\@lg{height:.25rem}.h-1\/2r\@lg,.sz-1\/2r\@lg{height:.5rem}.h-3\/4r\@lg,.sz-3\/4r\@lg{height:.75rem}.h-1r\@lg,.sz-1r\@lg{height:1rem}.h-3\/2r\@lg,.sz-3\/2r\@lg{height:1.5rem}.h-2r\@lg,.sz-2r\@lg{height:2rem}.h-5\/2r\@lg,.sz-5\/2r\@lg{height:2.5rem}.h-3r\@lg,.sz-3r\@lg{height:3rem}.h-7\/2r\@lg,.sz-7\/2r\@lg{height:3.5rem}.h-4r\@lg,.sz-4r\@lg{height:4rem}.h-9\/2r\@lg,.sz-9\/2r\@lg{height:4.5rem}.h-5r\@lg,.sz-5r\@lg{height:5rem}.h-11\/2r\@lg,.sz-11\/2r\@lg{height:5.5rem}.h-6r\@lg,.sz-6r\@lg{height:6rem}}@media screen and (min-width: 991px)and (max-width: 1199px){.h-1\/4r\@md,.sz-1\/4r\@md{height:.25rem}.h-1\/2r\@md,.sz-1\/2r\@md{height:.5rem}.h-3\/4r\@md,.sz-3\/4r\@md{height:.75rem}.h-1r\@md,.sz-1r\@md{height:1rem}.h-3\/2r\@md,.sz-3\/2r\@md{height:1.5rem}.h-2r\@md,.sz-2r\@md{height:2rem}.h-5\/2r\@md,.sz-5\/2r\@md{height:2.5rem}.h-3r\@md,.sz-3r\@md{height:3rem}.h-7\/2r\@md,.sz-7\/2r\@md{height:3.5rem}.h-4r\@md,.sz-4r\@md{height:4rem}.h-9\/2r\@md,.sz-9\/2r\@md{height:4.5rem}.h-5r\@md,.sz-5r\@md{height:5rem}.h-11\/2r\@md,.sz-11\/2r\@md{height:5.5rem}.h-6r\@md,.sz-6r\@md{height:6rem}}@media screen and (min-width: 767px)and (max-width: 991px){.h-1\/4r\@sm,.sz-1\/4r\@sm{height:.25rem}.h-1\/2r\@sm,.sz-1\/2r\@sm{height:.5rem}.h-3\/4r\@sm,.sz-3\/4r\@sm{height:.75rem}.h-1r\@sm,.sz-1r\@sm{height:1rem}.h-3\/2r\@sm,.sz-3\/2r\@sm{height:1.5rem}.h-2r\@sm,.sz-2r\@sm{height:2rem}.h-5\/2r\@sm,.sz-5\/2r\@sm{height:2.5rem}.h-3r\@sm,.sz-3r\@sm{height:3rem}.h-7\/2r\@sm,.sz-7\/2r\@sm{height:3.5rem}.h-4r\@sm,.sz-4r\@sm{height:4rem}.h-9\/2r\@sm,.sz-9\/2r\@sm{height:4.5rem}.h-5r\@sm,.sz-5r\@sm{height:5rem}.h-11\/2r\@sm,.sz-11\/2r\@sm{height:5.5rem}.h-6r\@sm,.sz-6r\@sm{height:6rem}}.h-0{height:0}.h-auto{height:auto}.h-100p{height:100%}.h-100vh{height:100vh}@media screen and (min-width: 1440px){.h-0\@xl\+{height:0}.h-auto\@xl\+{height:auto}.h-100p\@xl\+{height:100%}.h-100vh\@xl\+{height:100vh}}@media screen and (min-width: 1200px){.h-0\@lg\+{height:0}.h-auto\@lg\+{height:auto}.h-100p\@lg\+{height:100%}.h-100vh\@lg\+{height:100vh}}@media screen and (min-width: 992px){.h-0\@md\+{height:0}.h-auto\@md\+{height:auto}.h-100p\@md\+{height:100%}.h-100vh\@md\+{height:100vh}}@media screen and (min-width: 768px){.h-0\@sm\+{height:0}.h-auto\@sm\+{height:auto}.h-100p\@sm\+{height:100%}.h-100vh\@sm\+{height:100vh}}@media screen and (min-width: 0){.h-0\@xs\+{height:0}.h-auto\@xs\+{height:auto}.h-100p\@xs\+{height:100%}.h-100vh\@xs\+{height:100vh}}@media screen and (max-width: 1439px){.h-0\@xl-{height:0}.h-auto\@xl-{height:auto}.h-100p\@xl-{height:100%}.h-100vh\@xl-{height:100vh}}@media screen and (max-width: 1199px){.h-0\@lg-{height:0}.h-auto\@lg-{height:auto}.h-100p\@lg-{height:100%}.h-100vh\@lg-{height:100vh}}@media screen and (max-width: 991px){.h-0\@md-{height:0}.h-auto\@md-{height:auto}.h-100p\@md-{height:100%}.h-100vh\@md-{height:100vh}}@media screen and (max-width: 767px){.h-0\@sm-{height:0}.h-auto\@sm-{height:auto}.h-100p\@sm-{height:100%}.h-100vh\@sm-{height:100vh}}@media screen and (min-width: 1199px)and (max-width: 1439px){.h-0\@lg{height:0}.h-auto\@lg{height:auto}.h-100p\@lg{height:100%}.h-100vh\@lg{height:100vh}}@media screen and (min-width: 991px)and (max-width: 1199px){.h-0\@md{height:0}.h-auto\@md{height:auto}.h-100p\@md{height:100%}.h-100vh\@md{height:100vh}}@media screen and (min-width: 767px)and (max-width: 991px){.h-0\@sm{height:0}.h-auto\@sm{height:auto}.h-100p\@sm{height:100%}.h-100vh\@sm{height:100vh}}.mw-100p{max-width:100%}.mh-100p{max-height:100%}@media screen and (min-width: 1440px){.mw-100p\@xl\+{max-width:100%}.mh-100p\@xl\+{max-height:100%}}@media screen and (min-width: 1200px){.mw-100p\@lg\+{max-width:100%}.mh-100p\@lg\+{max-height:100%}}@media screen and (min-width: 992px){.mw-100p\@md\+{max-width:100%}.mh-100p\@md\+{max-height:100%}}@media screen and (min-width: 768px){.mw-100p\@sm\+{max-width:100%}.mh-100p\@sm\+{max-height:100%}}@media screen and (min-width: 0){.mw-100p\@xs\+{max-width:100%}.mh-100p\@xs\+{max-height:100%}}@media screen and (max-width: 1439px){.mw-100p\@xl-{max-width:100%}.mh-100p\@xl-{max-height:100%}}@media screen and (max-width: 1199px){.mw-100p\@lg-{max-width:100%}.mh-100p\@lg-{max-height:100%}}@media screen and (max-width: 991px){.mw-100p\@md-{max-width:100%}.mh-100p\@md-{max-height:100%}}@media screen and (max-width: 767px){.mw-100p\@sm-{max-width:100%}.mh-100p\@sm-{max-height:100%}}@media screen and (min-width: 1199px)and (max-width: 1439px){.mw-100p\@lg{max-width:100%}.mh-100p\@lg{max-height:100%}}@media screen and (min-width: 991px)and (max-width: 1199px){.mw-100p\@md{max-width:100%}.mh-100p\@md{max-height:100%}}@media screen and (min-width: 767px)and (max-width: 991px){.mw-100p\@sm{max-width:100%}.mh-100p\@sm{max-height:100%}}.ta-c{text-align:center !important}.ta-l{text-align:left !important}.ta-r{text-align:right !important}@media screen and (min-width: 1440px){.ta-c\@xl\+{text-align:center !important}.ta-l\@xl\+{text-align:left !important}.ta-r\@xl\+{text-align:right !important}}@media screen and (min-width: 1200px){.ta-c\@lg\+{text-align:center !important}.ta-l\@lg\+{text-align:left !important}.ta-r\@lg\+{text-align:right !important}}@media screen and (min-width: 992px){.ta-c\@md\+{text-align:center !important}.ta-l\@md\+{text-align:left !important}.ta-r\@md\+{text-align:right !important}}@media screen and (min-width: 768px){.ta-c\@sm\+{text-align:center !important}.ta-l\@sm\+{text-align:left !important}.ta-r\@sm\+{text-align:right !important}}@media screen and (min-width: 0){.ta-c\@xs\+{text-align:center !important}.ta-l\@xs\+{text-align:left !important}.ta-r\@xs\+{text-align:right !important}}@media screen and (max-width: 1439px){.ta-c\@xl-{text-align:center !important}.ta-l\@xl-{text-align:left !important}.ta-r\@xl-{text-align:right !important}}@media screen and (max-width: 1199px){.ta-c\@lg-{text-align:center !important}.ta-l\@lg-{text-align:left !important}.ta-r\@lg-{text-align:right !important}}@media screen and (max-width: 991px){.ta-c\@md-{text-align:center !important}.ta-l\@md-{text-align:left !important}.ta-r\@md-{text-align:right !important}}@media screen and (max-width: 767px){.ta-c\@sm-{text-align:center !important}.ta-l\@sm-{text-align:left !important}.ta-r\@sm-{text-align:right !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ta-c\@lg{text-align:center !important}.ta-l\@lg{text-align:left !important}.ta-r\@lg{text-align:right !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.ta-c\@md{text-align:center !important}.ta-l\@md{text-align:left !important}.ta-r\@md{text-align:right !important}}@media screen and (min-width: 767px)and (max-width: 991px){.ta-c\@sm{text-align:center !important}.ta-l\@sm{text-align:left !important}.ta-r\@sm{text-align:right !important}}.tt-n{text-transform:none !important}.tt-u{text-transform:uppercase !important}.tt-l{text-transform:lowercase !important}.tt-c{text-transform:capitalize !important}.fs-i{font-style:italic !important}.fs-o{font-style:oblique !important}.td-n{-webkit-text-decoration:none !important;text-decoration:none !important}.td-o{-webkit-text-decoration:overline !important;text-decoration:overline !important}.td-lt{-webkit-text-decoration:line-through !important;text-decoration:line-through !important}.td-u{-webkit-text-decoration:underline !important;text-decoration:underline !important}.whs-nw{white-space:nowrap !important}.whs-p{white-space:pre !important}.whs-n{white-space:normal !important}.wob-n{word-break:normal !important}.wob-ba{word-break:break-all !important}.wob-k{word-break:keep-all !important}.wow-bw{word-wrap:break-word !important}.wow-n{word-wrap:normal !important}.tov-e{text-overflow:ellipsis !important}.fsz-xs{font-size:.75rem !important}.fsz-sm{font-size:.87rem !important}.fsz-def{font-size:1rem !important}.fsz-md{font-size:1.15rem !important}.fsz-lg{font-size:1.4rem !important}.fsz-xl{font-size:1.7rem !important}.fw-100{font-weight:100 !important}.fw-200{font-weight:200 !important}.fw-300{font-weight:300 !important}.fw-400{font-weight:400 !important}.fw-500{font-weight:500 !important}.fw-600{font-weight:600 !important}.fw-700{font-weight:700 !important}.fw-800{font-weight:800 !important}.fw-900{font-weight:900 !important}.lh-0{line-height:0 !important}.lh-1{line-height:1 !important}.lh-3\/2{line-height:1.5 !important}.bd{border:1px solid #e6ecf5 !important}.bdT{border-top:1px solid #e6ecf5 !important}.bdR{border-right:1px solid #e6ecf5 !important}.bdB{border-bottom:1px solid #e6ecf5 !important}.bdL{border-left:1px solid #e6ecf5 !important}.bdw-0{border-width:0px !important}.bdwT-0{border-top-width:0px !important}.bdwR-0{border-right-width:0px !important}.bdwB-0{border-bottom-width:0px !important}.bdwL-0{border-left-width:0px !important}.bdw-1{border-width:1px !important}.bdwT-1{border-top-width:1px !important}.bdwR-1{border-right-width:1px !important}.bdwB-1{border-bottom-width:1px !important}.bdwL-1{border-left-width:1px !important}.bdw-2{border-width:2px !important}.bdwT-2{border-top-width:2px !important}.bdwR-2{border-right-width:2px !important}.bdwB-2{border-bottom-width:2px !important}.bdwL-2{border-left-width:2px !important}.bdw-3{border-width:3px !important}.bdwT-3{border-top-width:3px !important}.bdwR-3{border-right-width:3px !important}.bdwB-3{border-bottom-width:3px !important}.bdwL-3{border-left-width:3px !important}.bdw-4{border-width:4px !important}.bdwT-4{border-top-width:4px !important}.bdwR-4{border-right-width:4px !important}.bdwB-4{border-bottom-width:4px !important}.bdwL-4{border-left-width:4px !important}.bdw-5{border-width:5px !important}.bdwT-5{border-top-width:5px !important}.bdwR-5{border-right-width:5px !important}.bdwB-5{border-bottom-width:5px !important}.bdwL-5{border-left-width:5px !important}.bdrs-0{border-radius:0px !important}.bdrsT-0{border-top-left-radius:0px !important;border-top-right-radius:0px !important}.bdrsR-0{border-top-right-radius:0px !important;border-bottom-right-radius:0px !important}.bdrsB-0{border-bottom-left-radius:0px !important;border-bottom-right-radius:0px !important}.bdrsL-0{border-top-left-radius:0px !important;border-bottom-left-radius:0px !important}.bdrs-1{border-radius:1px !important}.bdrsT-1{border-top-left-radius:1px !important;border-top-right-radius:1px !important}.bdrsR-1{border-top-right-radius:1px !important;border-bottom-right-radius:1px !important}.bdrsB-1{border-bottom-left-radius:1px !important;border-bottom-right-radius:1px !important}.bdrsL-1{border-top-left-radius:1px !important;border-bottom-left-radius:1px !important}.bdrs-2{border-radius:2px !important}.bdrsT-2{border-top-left-radius:2px !important;border-top-right-radius:2px !important}.bdrsR-2{border-top-right-radius:2px !important;border-bottom-right-radius:2px !important}.bdrsB-2{border-bottom-left-radius:2px !important;border-bottom-right-radius:2px !important}.bdrsL-2{border-top-left-radius:2px !important;border-bottom-left-radius:2px !important}.bdrs-3{border-radius:3px !important}.bdrsT-3{border-top-left-radius:3px !important;border-top-right-radius:3px !important}.bdrsR-3{border-top-right-radius:3px !important;border-bottom-right-radius:3px !important}.bdrsB-3{border-bottom-left-radius:3px !important;border-bottom-right-radius:3px !important}.bdrsL-3{border-top-left-radius:3px !important;border-bottom-left-radius:3px !important}.bdrs-4{border-radius:4px !important}.bdrsT-4{border-top-left-radius:4px !important;border-top-right-radius:4px !important}.bdrsR-4{border-top-right-radius:4px !important;border-bottom-right-radius:4px !important}.bdrsB-4{border-bottom-left-radius:4px !important;border-bottom-right-radius:4px !important}.bdrsL-4{border-top-left-radius:4px !important;border-bottom-left-radius:4px !important}.bdrs-50p{border-radius:50% !important}.bdrs-10em{border-radius:10em !important}.bds-n{border-style:none !important}.bds-s{border-style:solid !important}.bds-dt{border-style:dotted !important}.bds-ds{border-style:dashed !important}.bds-db{border-style:double !important}.bds-g{border-style:groove !important}.bds-r{border-style:ridge !important}.bds-i{border-style:inset !important}.bds-o{border-style:outset !important}.no-after::after{display:none !important}.no-before::before{display:none !important}.c-white,.cH-white:hover{color:#fff !important}.bgc-white,.bgcH-white:hover{background-color:#fff !important}.bdc-white,.bdcH-white:hover{border-color:#fff !important}.fill-white,.fillH-white:hover{fill:#fff !important}.str-white,.strH-white:hover{stroke:#fff !important}.c-red-50,.cH-red-50:hover{color:#ffebee !important}.bgc-red-50,.bgcH-red-50:hover{background-color:#ffebee !important}.bdc-red-50,.bdcH-red-50:hover{border-color:#ffebee !important}.fill-red-50,.fillH-red-50:hover{fill:#ffebee !important}.str-red-50,.strH-red-50:hover{stroke:#ffebee !important}.c-red-100,.cH-red-100:hover{color:#ffcdd2 !important}.bgc-red-100,.bgcH-red-100:hover{background-color:#ffcdd2 !important}.bdc-red-100,.bdcH-red-100:hover{border-color:#ffcdd2 !important}.fill-red-100,.fillH-red-100:hover{fill:#ffcdd2 !important}.str-red-100,.strH-red-100:hover{stroke:#ffcdd2 !important}.c-red-200,.cH-red-200:hover{color:#ef9a9a !important}.bgc-red-200,.bgcH-red-200:hover{background-color:#ef9a9a !important}.bdc-red-200,.bdcH-red-200:hover{border-color:#ef9a9a !important}.fill-red-200,.fillH-red-200:hover{fill:#ef9a9a !important}.str-red-200,.strH-red-200:hover{stroke:#ef9a9a !important}.c-red-300,.cH-red-300:hover{color:#e57373 !important}.bgc-red-300,.bgcH-red-300:hover{background-color:#e57373 !important}.bdc-red-300,.bdcH-red-300:hover{border-color:#e57373 !important}.fill-red-300,.fillH-red-300:hover{fill:#e57373 !important}.str-red-300,.strH-red-300:hover{stroke:#e57373 !important}.c-red-400,.cH-red-400:hover{color:#ef5350 !important}.bgc-red-400,.bgcH-red-400:hover{background-color:#ef5350 !important}.bdc-red-400,.bdcH-red-400:hover{border-color:#ef5350 !important}.fill-red-400,.fillH-red-400:hover{fill:#ef5350 !important}.str-red-400,.strH-red-400:hover{stroke:#ef5350 !important}.c-red-500,.cH-red-500:hover{color:#f44336 !important}.bgc-red-500,.bgcH-red-500:hover{background-color:#f44336 !important}.bdc-red-500,.bdcH-red-500:hover{border-color:#f44336 !important}.fill-red-500,.fillH-red-500:hover{fill:#f44336 !important}.str-red-500,.strH-red-500:hover{stroke:#f44336 !important}.c-red-600,.cH-red-600:hover{color:#e53935 !important}.bgc-red-600,.bgcH-red-600:hover{background-color:#e53935 !important}.bdc-red-600,.bdcH-red-600:hover{border-color:#e53935 !important}.fill-red-600,.fillH-red-600:hover{fill:#e53935 !important}.str-red-600,.strH-red-600:hover{stroke:#e53935 !important}.c-red-700,.cH-red-700:hover{color:#d32f2f !important}.bgc-red-700,.bgcH-red-700:hover{background-color:#d32f2f !important}.bdc-red-700,.bdcH-red-700:hover{border-color:#d32f2f !important}.fill-red-700,.fillH-red-700:hover{fill:#d32f2f !important}.str-red-700,.strH-red-700:hover{stroke:#d32f2f !important}.c-red-800,.cH-red-800:hover{color:#c62828 !important}.bgc-red-800,.bgcH-red-800:hover{background-color:#c62828 !important}.bdc-red-800,.bdcH-red-800:hover{border-color:#c62828 !important}.fill-red-800,.fillH-red-800:hover{fill:#c62828 !important}.str-red-800,.strH-red-800:hover{stroke:#c62828 !important}.c-red-900,.cH-red-900:hover{color:#b71c1c !important}.bgc-red-900,.bgcH-red-900:hover{background-color:#b71c1c !important}.bdc-red-900,.bdcH-red-900:hover{border-color:#b71c1c !important}.fill-red-900,.fillH-red-900:hover{fill:#b71c1c !important}.str-red-900,.strH-red-900:hover{stroke:#b71c1c !important}.c-red-a100,.cH-red-a100:hover{color:#ff8a80 !important}.bgc-red-a100,.bgcH-red-a100:hover{background-color:#ff8a80 !important}.bdc-red-a100,.bdcH-red-a100:hover{border-color:#ff8a80 !important}.fill-red-a100,.fillH-red-a100:hover{fill:#ff8a80 !important}.str-red-a100,.strH-red-a100:hover{stroke:#ff8a80 !important}.c-red-a200,.cH-red-a200:hover{color:#ff5252 !important}.bgc-red-a200,.bgcH-red-a200:hover{background-color:#ff5252 !important}.bdc-red-a200,.bdcH-red-a200:hover{border-color:#ff5252 !important}.fill-red-a200,.fillH-red-a200:hover{fill:#ff5252 !important}.str-red-a200,.strH-red-a200:hover{stroke:#ff5252 !important}.c-red-a400,.cH-red-a400:hover{color:#ff1744 !important}.bgc-red-a400,.bgcH-red-a400:hover{background-color:#ff1744 !important}.bdc-red-a400,.bdcH-red-a400:hover{border-color:#ff1744 !important}.fill-red-a400,.fillH-red-a400:hover{fill:#ff1744 !important}.str-red-a400,.strH-red-a400:hover{stroke:#ff1744 !important}.c-red-a700,.cH-red-a700:hover{color:#d50000 !important}.bgc-red-a700,.bgcH-red-a700:hover{background-color:#d50000 !important}.bdc-red-a700,.bdcH-red-a700:hover{border-color:#d50000 !important}.fill-red-a700,.fillH-red-a700:hover{fill:#d50000 !important}.str-red-a700,.strH-red-a700:hover{stroke:#d50000 !important}.c-pink-50,.cH-pink-50:hover{color:#fce4ec !important}.bgc-pink-50,.bgcH-pink-50:hover{background-color:#fce4ec !important}.bdc-pink-50,.bdcH-pink-50:hover{border-color:#fce4ec !important}.fill-pink-50,.fillH-pink-50:hover{fill:#fce4ec !important}.str-pink-50,.strH-pink-50:hover{stroke:#fce4ec !important}.c-pink-100,.cH-pink-100:hover{color:#f8bbd0 !important}.bgc-pink-100,.bgcH-pink-100:hover{background-color:#f8bbd0 !important}.bdc-pink-100,.bdcH-pink-100:hover{border-color:#f8bbd0 !important}.fill-pink-100,.fillH-pink-100:hover{fill:#f8bbd0 !important}.str-pink-100,.strH-pink-100:hover{stroke:#f8bbd0 !important}.c-pink-200,.cH-pink-200:hover{color:#f48fb1 !important}.bgc-pink-200,.bgcH-pink-200:hover{background-color:#f48fb1 !important}.bdc-pink-200,.bdcH-pink-200:hover{border-color:#f48fb1 !important}.fill-pink-200,.fillH-pink-200:hover{fill:#f48fb1 !important}.str-pink-200,.strH-pink-200:hover{stroke:#f48fb1 !important}.c-pink-300,.cH-pink-300:hover{color:#f06292 !important}.bgc-pink-300,.bgcH-pink-300:hover{background-color:#f06292 !important}.bdc-pink-300,.bdcH-pink-300:hover{border-color:#f06292 !important}.fill-pink-300,.fillH-pink-300:hover{fill:#f06292 !important}.str-pink-300,.strH-pink-300:hover{stroke:#f06292 !important}.c-pink-400,.cH-pink-400:hover{color:#ec407a !important}.bgc-pink-400,.bgcH-pink-400:hover{background-color:#ec407a !important}.bdc-pink-400,.bdcH-pink-400:hover{border-color:#ec407a !important}.fill-pink-400,.fillH-pink-400:hover{fill:#ec407a !important}.str-pink-400,.strH-pink-400:hover{stroke:#ec407a !important}.c-pink-500,.cH-pink-500:hover{color:#e91e63 !important}.bgc-pink-500,.bgcH-pink-500:hover{background-color:#e91e63 !important}.bdc-pink-500,.bdcH-pink-500:hover{border-color:#e91e63 !important}.fill-pink-500,.fillH-pink-500:hover{fill:#e91e63 !important}.str-pink-500,.strH-pink-500:hover{stroke:#e91e63 !important}.c-pink-600,.cH-pink-600:hover{color:#d81b60 !important}.bgc-pink-600,.bgcH-pink-600:hover{background-color:#d81b60 !important}.bdc-pink-600,.bdcH-pink-600:hover{border-color:#d81b60 !important}.fill-pink-600,.fillH-pink-600:hover{fill:#d81b60 !important}.str-pink-600,.strH-pink-600:hover{stroke:#d81b60 !important}.c-pink-700,.cH-pink-700:hover{color:#c2185b !important}.bgc-pink-700,.bgcH-pink-700:hover{background-color:#c2185b !important}.bdc-pink-700,.bdcH-pink-700:hover{border-color:#c2185b !important}.fill-pink-700,.fillH-pink-700:hover{fill:#c2185b !important}.str-pink-700,.strH-pink-700:hover{stroke:#c2185b !important}.c-pink-800,.cH-pink-800:hover{color:#ad1457 !important}.bgc-pink-800,.bgcH-pink-800:hover{background-color:#ad1457 !important}.bdc-pink-800,.bdcH-pink-800:hover{border-color:#ad1457 !important}.fill-pink-800,.fillH-pink-800:hover{fill:#ad1457 !important}.str-pink-800,.strH-pink-800:hover{stroke:#ad1457 !important}.c-pink-900,.cH-pink-900:hover{color:#880e4f !important}.bgc-pink-900,.bgcH-pink-900:hover{background-color:#880e4f !important}.bdc-pink-900,.bdcH-pink-900:hover{border-color:#880e4f !important}.fill-pink-900,.fillH-pink-900:hover{fill:#880e4f !important}.str-pink-900,.strH-pink-900:hover{stroke:#880e4f !important}.c-pink-a100,.cH-pink-a100:hover{color:#ff80ab !important}.bgc-pink-a100,.bgcH-pink-a100:hover{background-color:#ff80ab !important}.bdc-pink-a100,.bdcH-pink-a100:hover{border-color:#ff80ab !important}.fill-pink-a100,.fillH-pink-a100:hover{fill:#ff80ab !important}.str-pink-a100,.strH-pink-a100:hover{stroke:#ff80ab !important}.c-pink-a200,.cH-pink-a200:hover{color:#ff4081 !important}.bgc-pink-a200,.bgcH-pink-a200:hover{background-color:#ff4081 !important}.bdc-pink-a200,.bdcH-pink-a200:hover{border-color:#ff4081 !important}.fill-pink-a200,.fillH-pink-a200:hover{fill:#ff4081 !important}.str-pink-a200,.strH-pink-a200:hover{stroke:#ff4081 !important}.c-pink-a400,.cH-pink-a400:hover{color:#f50057 !important}.bgc-pink-a400,.bgcH-pink-a400:hover{background-color:#f50057 !important}.bdc-pink-a400,.bdcH-pink-a400:hover{border-color:#f50057 !important}.fill-pink-a400,.fillH-pink-a400:hover{fill:#f50057 !important}.str-pink-a400,.strH-pink-a400:hover{stroke:#f50057 !important}.c-pink-a700,.cH-pink-a700:hover{color:#c51162 !important}.bgc-pink-a700,.bgcH-pink-a700:hover{background-color:#c51162 !important}.bdc-pink-a700,.bdcH-pink-a700:hover{border-color:#c51162 !important}.fill-pink-a700,.fillH-pink-a700:hover{fill:#c51162 !important}.str-pink-a700,.strH-pink-a700:hover{stroke:#c51162 !important}.c-purple-50,.cH-purple-50:hover{color:#f3e5f5 !important}.bgc-purple-50,.bgcH-purple-50:hover{background-color:#f3e5f5 !important}.bdc-purple-50,.bdcH-purple-50:hover{border-color:#f3e5f5 !important}.fill-purple-50,.fillH-purple-50:hover{fill:#f3e5f5 !important}.str-purple-50,.strH-purple-50:hover{stroke:#f3e5f5 !important}.c-purple-100,.cH-purple-100:hover{color:#e1bee7 !important}.bgc-purple-100,.bgcH-purple-100:hover{background-color:#e1bee7 !important}.bdc-purple-100,.bdcH-purple-100:hover{border-color:#e1bee7 !important}.fill-purple-100,.fillH-purple-100:hover{fill:#e1bee7 !important}.str-purple-100,.strH-purple-100:hover{stroke:#e1bee7 !important}.c-purple-200,.cH-purple-200:hover{color:#ce93d8 !important}.bgc-purple-200,.bgcH-purple-200:hover{background-color:#ce93d8 !important}.bdc-purple-200,.bdcH-purple-200:hover{border-color:#ce93d8 !important}.fill-purple-200,.fillH-purple-200:hover{fill:#ce93d8 !important}.str-purple-200,.strH-purple-200:hover{stroke:#ce93d8 !important}.c-purple-300,.cH-purple-300:hover{color:#ba68c8 !important}.bgc-purple-300,.bgcH-purple-300:hover{background-color:#ba68c8 !important}.bdc-purple-300,.bdcH-purple-300:hover{border-color:#ba68c8 !important}.fill-purple-300,.fillH-purple-300:hover{fill:#ba68c8 !important}.str-purple-300,.strH-purple-300:hover{stroke:#ba68c8 !important}.c-purple-400,.cH-purple-400:hover{color:#ab47bc !important}.bgc-purple-400,.bgcH-purple-400:hover{background-color:#ab47bc !important}.bdc-purple-400,.bdcH-purple-400:hover{border-color:#ab47bc !important}.fill-purple-400,.fillH-purple-400:hover{fill:#ab47bc !important}.str-purple-400,.strH-purple-400:hover{stroke:#ab47bc !important}.c-purple-500,.cH-purple-500:hover{color:#9c27b0 !important}.bgc-purple-500,.bgcH-purple-500:hover{background-color:#9c27b0 !important}.bdc-purple-500,.bdcH-purple-500:hover{border-color:#9c27b0 !important}.fill-purple-500,.fillH-purple-500:hover{fill:#9c27b0 !important}.str-purple-500,.strH-purple-500:hover{stroke:#9c27b0 !important}.c-purple-600,.cH-purple-600:hover{color:#8e24aa !important}.bgc-purple-600,.bgcH-purple-600:hover{background-color:#8e24aa !important}.bdc-purple-600,.bdcH-purple-600:hover{border-color:#8e24aa !important}.fill-purple-600,.fillH-purple-600:hover{fill:#8e24aa !important}.str-purple-600,.strH-purple-600:hover{stroke:#8e24aa !important}.c-purple-700,.cH-purple-700:hover{color:#7b1fa2 !important}.bgc-purple-700,.bgcH-purple-700:hover{background-color:#7b1fa2 !important}.bdc-purple-700,.bdcH-purple-700:hover{border-color:#7b1fa2 !important}.fill-purple-700,.fillH-purple-700:hover{fill:#7b1fa2 !important}.str-purple-700,.strH-purple-700:hover{stroke:#7b1fa2 !important}.c-purple-800,.cH-purple-800:hover{color:#6a1b9a !important}.bgc-purple-800,.bgcH-purple-800:hover{background-color:#6a1b9a !important}.bdc-purple-800,.bdcH-purple-800:hover{border-color:#6a1b9a !important}.fill-purple-800,.fillH-purple-800:hover{fill:#6a1b9a !important}.str-purple-800,.strH-purple-800:hover{stroke:#6a1b9a !important}.c-purple-900,.cH-purple-900:hover{color:#4a148c !important}.bgc-purple-900,.bgcH-purple-900:hover{background-color:#4a148c !important}.bdc-purple-900,.bdcH-purple-900:hover{border-color:#4a148c !important}.fill-purple-900,.fillH-purple-900:hover{fill:#4a148c !important}.str-purple-900,.strH-purple-900:hover{stroke:#4a148c !important}.c-purple-a100,.cH-purple-a100:hover{color:#ea80fc !important}.bgc-purple-a100,.bgcH-purple-a100:hover{background-color:#ea80fc !important}.bdc-purple-a100,.bdcH-purple-a100:hover{border-color:#ea80fc !important}.fill-purple-a100,.fillH-purple-a100:hover{fill:#ea80fc !important}.str-purple-a100,.strH-purple-a100:hover{stroke:#ea80fc !important}.c-purple-a200,.cH-purple-a200:hover{color:#e040fb !important}.bgc-purple-a200,.bgcH-purple-a200:hover{background-color:#e040fb !important}.bdc-purple-a200,.bdcH-purple-a200:hover{border-color:#e040fb !important}.fill-purple-a200,.fillH-purple-a200:hover{fill:#e040fb !important}.str-purple-a200,.strH-purple-a200:hover{stroke:#e040fb !important}.c-purple-a400,.cH-purple-a400:hover{color:#d500f9 !important}.bgc-purple-a400,.bgcH-purple-a400:hover{background-color:#d500f9 !important}.bdc-purple-a400,.bdcH-purple-a400:hover{border-color:#d500f9 !important}.fill-purple-a400,.fillH-purple-a400:hover{fill:#d500f9 !important}.str-purple-a400,.strH-purple-a400:hover{stroke:#d500f9 !important}.c-purple-a700,.cH-purple-a700:hover{color:#a0f !important}.bgc-purple-a700,.bgcH-purple-a700:hover{background-color:#a0f !important}.bdc-purple-a700,.bdcH-purple-a700:hover{border-color:#a0f !important}.fill-purple-a700,.fillH-purple-a700:hover{fill:#a0f !important}.str-purple-a700,.strH-purple-a700:hover{stroke:#a0f !important}.c-deep-purple-50,.cH-deep-purple-50:hover{color:#ede7f6 !important}.bgc-deep-purple-50,.bgcH-deep-purple-50:hover{background-color:#ede7f6 !important}.bdc-deep-purple-50,.bdcH-deep-purple-50:hover{border-color:#ede7f6 !important}.fill-deep-purple-50,.fillH-deep-purple-50:hover{fill:#ede7f6 !important}.str-deep-purple-50,.strH-deep-purple-50:hover{stroke:#ede7f6 !important}.c-deep-purple-100,.cH-deep-purple-100:hover{color:#d1c4e9 !important}.bgc-deep-purple-100,.bgcH-deep-purple-100:hover{background-color:#d1c4e9 !important}.bdc-deep-purple-100,.bdcH-deep-purple-100:hover{border-color:#d1c4e9 !important}.fill-deep-purple-100,.fillH-deep-purple-100:hover{fill:#d1c4e9 !important}.str-deep-purple-100,.strH-deep-purple-100:hover{stroke:#d1c4e9 !important}.c-deep-purple-200,.cH-deep-purple-200:hover{color:#b39ddb !important}.bgc-deep-purple-200,.bgcH-deep-purple-200:hover{background-color:#b39ddb !important}.bdc-deep-purple-200,.bdcH-deep-purple-200:hover{border-color:#b39ddb !important}.fill-deep-purple-200,.fillH-deep-purple-200:hover{fill:#b39ddb !important}.str-deep-purple-200,.strH-deep-purple-200:hover{stroke:#b39ddb !important}.c-deep-purple-300,.cH-deep-purple-300:hover{color:#9575cd !important}.bgc-deep-purple-300,.bgcH-deep-purple-300:hover{background-color:#9575cd !important}.bdc-deep-purple-300,.bdcH-deep-purple-300:hover{border-color:#9575cd !important}.fill-deep-purple-300,.fillH-deep-purple-300:hover{fill:#9575cd !important}.str-deep-purple-300,.strH-deep-purple-300:hover{stroke:#9575cd !important}.c-deep-purple-400,.cH-deep-purple-400:hover{color:#7e57c2 !important}.bgc-deep-purple-400,.bgcH-deep-purple-400:hover{background-color:#7e57c2 !important}.bdc-deep-purple-400,.bdcH-deep-purple-400:hover{border-color:#7e57c2 !important}.fill-deep-purple-400,.fillH-deep-purple-400:hover{fill:#7e57c2 !important}.str-deep-purple-400,.strH-deep-purple-400:hover{stroke:#7e57c2 !important}.c-deep-purple-500,.cH-deep-purple-500:hover{color:#673ab7 !important}.bgc-deep-purple-500,.bgcH-deep-purple-500:hover{background-color:#673ab7 !important}.bdc-deep-purple-500,.bdcH-deep-purple-500:hover{border-color:#673ab7 !important}.fill-deep-purple-500,.fillH-deep-purple-500:hover{fill:#673ab7 !important}.str-deep-purple-500,.strH-deep-purple-500:hover{stroke:#673ab7 !important}.c-deep-purple-600,.cH-deep-purple-600:hover{color:#5e35b1 !important}.bgc-deep-purple-600,.bgcH-deep-purple-600:hover{background-color:#5e35b1 !important}.bdc-deep-purple-600,.bdcH-deep-purple-600:hover{border-color:#5e35b1 !important}.fill-deep-purple-600,.fillH-deep-purple-600:hover{fill:#5e35b1 !important}.str-deep-purple-600,.strH-deep-purple-600:hover{stroke:#5e35b1 !important}.c-deep-purple-700,.cH-deep-purple-700:hover{color:#512da8 !important}.bgc-deep-purple-700,.bgcH-deep-purple-700:hover{background-color:#512da8 !important}.bdc-deep-purple-700,.bdcH-deep-purple-700:hover{border-color:#512da8 !important}.fill-deep-purple-700,.fillH-deep-purple-700:hover{fill:#512da8 !important}.str-deep-purple-700,.strH-deep-purple-700:hover{stroke:#512da8 !important}.c-deep-purple-800,.cH-deep-purple-800:hover{color:#4527a0 !important}.bgc-deep-purple-800,.bgcH-deep-purple-800:hover{background-color:#4527a0 !important}.bdc-deep-purple-800,.bdcH-deep-purple-800:hover{border-color:#4527a0 !important}.fill-deep-purple-800,.fillH-deep-purple-800:hover{fill:#4527a0 !important}.str-deep-purple-800,.strH-deep-purple-800:hover{stroke:#4527a0 !important}.c-deep-purple-900,.cH-deep-purple-900:hover{color:#311b92 !important}.bgc-deep-purple-900,.bgcH-deep-purple-900:hover{background-color:#311b92 !important}.bdc-deep-purple-900,.bdcH-deep-purple-900:hover{border-color:#311b92 !important}.fill-deep-purple-900,.fillH-deep-purple-900:hover{fill:#311b92 !important}.str-deep-purple-900,.strH-deep-purple-900:hover{stroke:#311b92 !important}.c-deep-purple-a100,.cH-deep-purple-a100:hover{color:#b388ff !important}.bgc-deep-purple-a100,.bgcH-deep-purple-a100:hover{background-color:#b388ff !important}.bdc-deep-purple-a100,.bdcH-deep-purple-a100:hover{border-color:#b388ff !important}.fill-deep-purple-a100,.fillH-deep-purple-a100:hover{fill:#b388ff !important}.str-deep-purple-a100,.strH-deep-purple-a100:hover{stroke:#b388ff !important}.c-deep-purple-a200,.cH-deep-purple-a200:hover{color:#7c4dff !important}.bgc-deep-purple-a200,.bgcH-deep-purple-a200:hover{background-color:#7c4dff !important}.bdc-deep-purple-a200,.bdcH-deep-purple-a200:hover{border-color:#7c4dff !important}.fill-deep-purple-a200,.fillH-deep-purple-a200:hover{fill:#7c4dff !important}.str-deep-purple-a200,.strH-deep-purple-a200:hover{stroke:#7c4dff !important}.c-deep-purple-a400,.cH-deep-purple-a400:hover{color:#651fff !important}.bgc-deep-purple-a400,.bgcH-deep-purple-a400:hover{background-color:#651fff !important}.bdc-deep-purple-a400,.bdcH-deep-purple-a400:hover{border-color:#651fff !important}.fill-deep-purple-a400,.fillH-deep-purple-a400:hover{fill:#651fff !important}.str-deep-purple-a400,.strH-deep-purple-a400:hover{stroke:#651fff !important}.c-deep-purple-a700,.cH-deep-purple-a700:hover{color:#6200ea !important}.bgc-deep-purple-a700,.bgcH-deep-purple-a700:hover{background-color:#6200ea !important}.bdc-deep-purple-a700,.bdcH-deep-purple-a700:hover{border-color:#6200ea !important}.fill-deep-purple-a700,.fillH-deep-purple-a700:hover{fill:#6200ea !important}.str-deep-purple-a700,.strH-deep-purple-a700:hover{stroke:#6200ea !important}.c-indigo-50,.cH-indigo-50:hover{color:#e8eaf6 !important}.bgc-indigo-50,.bgcH-indigo-50:hover{background-color:#e8eaf6 !important}.bdc-indigo-50,.bdcH-indigo-50:hover{border-color:#e8eaf6 !important}.fill-indigo-50,.fillH-indigo-50:hover{fill:#e8eaf6 !important}.str-indigo-50,.strH-indigo-50:hover{stroke:#e8eaf6 !important}.c-indigo-100,.cH-indigo-100:hover{color:#c5cae9 !important}.bgc-indigo-100,.bgcH-indigo-100:hover{background-color:#c5cae9 !important}.bdc-indigo-100,.bdcH-indigo-100:hover{border-color:#c5cae9 !important}.fill-indigo-100,.fillH-indigo-100:hover{fill:#c5cae9 !important}.str-indigo-100,.strH-indigo-100:hover{stroke:#c5cae9 !important}.c-indigo-200,.cH-indigo-200:hover{color:#9fa8da !important}.bgc-indigo-200,.bgcH-indigo-200:hover{background-color:#9fa8da !important}.bdc-indigo-200,.bdcH-indigo-200:hover{border-color:#9fa8da !important}.fill-indigo-200,.fillH-indigo-200:hover{fill:#9fa8da !important}.str-indigo-200,.strH-indigo-200:hover{stroke:#9fa8da !important}.c-indigo-300,.cH-indigo-300:hover{color:#7986cb !important}.bgc-indigo-300,.bgcH-indigo-300:hover{background-color:#7986cb !important}.bdc-indigo-300,.bdcH-indigo-300:hover{border-color:#7986cb !important}.fill-indigo-300,.fillH-indigo-300:hover{fill:#7986cb !important}.str-indigo-300,.strH-indigo-300:hover{stroke:#7986cb !important}.c-indigo-400,.cH-indigo-400:hover{color:#5c6bc0 !important}.bgc-indigo-400,.bgcH-indigo-400:hover{background-color:#5c6bc0 !important}.bdc-indigo-400,.bdcH-indigo-400:hover{border-color:#5c6bc0 !important}.fill-indigo-400,.fillH-indigo-400:hover{fill:#5c6bc0 !important}.str-indigo-400,.strH-indigo-400:hover{stroke:#5c6bc0 !important}.c-indigo-500,.cH-indigo-500:hover{color:#3f51b5 !important}.bgc-indigo-500,.bgcH-indigo-500:hover{background-color:#3f51b5 !important}.bdc-indigo-500,.bdcH-indigo-500:hover{border-color:#3f51b5 !important}.fill-indigo-500,.fillH-indigo-500:hover{fill:#3f51b5 !important}.str-indigo-500,.strH-indigo-500:hover{stroke:#3f51b5 !important}.c-indigo-600,.cH-indigo-600:hover{color:#3949ab !important}.bgc-indigo-600,.bgcH-indigo-600:hover{background-color:#3949ab !important}.bdc-indigo-600,.bdcH-indigo-600:hover{border-color:#3949ab !important}.fill-indigo-600,.fillH-indigo-600:hover{fill:#3949ab !important}.str-indigo-600,.strH-indigo-600:hover{stroke:#3949ab !important}.c-indigo-700,.cH-indigo-700:hover{color:#303f9f !important}.bgc-indigo-700,.bgcH-indigo-700:hover{background-color:#303f9f !important}.bdc-indigo-700,.bdcH-indigo-700:hover{border-color:#303f9f !important}.fill-indigo-700,.fillH-indigo-700:hover{fill:#303f9f !important}.str-indigo-700,.strH-indigo-700:hover{stroke:#303f9f !important}.c-indigo-800,.cH-indigo-800:hover{color:#283593 !important}.bgc-indigo-800,.bgcH-indigo-800:hover{background-color:#283593 !important}.bdc-indigo-800,.bdcH-indigo-800:hover{border-color:#283593 !important}.fill-indigo-800,.fillH-indigo-800:hover{fill:#283593 !important}.str-indigo-800,.strH-indigo-800:hover{stroke:#283593 !important}.c-indigo-900,.cH-indigo-900:hover{color:#1a237e !important}.bgc-indigo-900,.bgcH-indigo-900:hover{background-color:#1a237e !important}.bdc-indigo-900,.bdcH-indigo-900:hover{border-color:#1a237e !important}.fill-indigo-900,.fillH-indigo-900:hover{fill:#1a237e !important}.str-indigo-900,.strH-indigo-900:hover{stroke:#1a237e !important}.c-indigo-a100,.cH-indigo-a100:hover{color:#8c9eff !important}.bgc-indigo-a100,.bgcH-indigo-a100:hover{background-color:#8c9eff !important}.bdc-indigo-a100,.bdcH-indigo-a100:hover{border-color:#8c9eff !important}.fill-indigo-a100,.fillH-indigo-a100:hover{fill:#8c9eff !important}.str-indigo-a100,.strH-indigo-a100:hover{stroke:#8c9eff !important}.c-indigo-a200,.cH-indigo-a200:hover{color:#536dfe !important}.bgc-indigo-a200,.bgcH-indigo-a200:hover{background-color:#536dfe !important}.bdc-indigo-a200,.bdcH-indigo-a200:hover{border-color:#536dfe !important}.fill-indigo-a200,.fillH-indigo-a200:hover{fill:#536dfe !important}.str-indigo-a200,.strH-indigo-a200:hover{stroke:#536dfe !important}.c-indigo-a400,.cH-indigo-a400:hover{color:#3d5afe !important}.bgc-indigo-a400,.bgcH-indigo-a400:hover{background-color:#3d5afe !important}.bdc-indigo-a400,.bdcH-indigo-a400:hover{border-color:#3d5afe !important}.fill-indigo-a400,.fillH-indigo-a400:hover{fill:#3d5afe !important}.str-indigo-a400,.strH-indigo-a400:hover{stroke:#3d5afe !important}.c-indigo-a700,.cH-indigo-a700:hover{color:#304ffe !important}.bgc-indigo-a700,.bgcH-indigo-a700:hover{background-color:#304ffe !important}.bdc-indigo-a700,.bdcH-indigo-a700:hover{border-color:#304ffe !important}.fill-indigo-a700,.fillH-indigo-a700:hover{fill:#304ffe !important}.str-indigo-a700,.strH-indigo-a700:hover{stroke:#304ffe !important}.c-blue-50,.cH-blue-50:hover{color:#e3f2fd !important}.bgc-blue-50,.bgcH-blue-50:hover{background-color:#e3f2fd !important}.bdc-blue-50,.bdcH-blue-50:hover{border-color:#e3f2fd !important}.fill-blue-50,.fillH-blue-50:hover{fill:#e3f2fd !important}.str-blue-50,.strH-blue-50:hover{stroke:#e3f2fd !important}.c-blue-100,.cH-blue-100:hover{color:#bbdefb !important}.bgc-blue-100,.bgcH-blue-100:hover{background-color:#bbdefb !important}.bdc-blue-100,.bdcH-blue-100:hover{border-color:#bbdefb !important}.fill-blue-100,.fillH-blue-100:hover{fill:#bbdefb !important}.str-blue-100,.strH-blue-100:hover{stroke:#bbdefb !important}.c-blue-200,.cH-blue-200:hover{color:#90caf9 !important}.bgc-blue-200,.bgcH-blue-200:hover{background-color:#90caf9 !important}.bdc-blue-200,.bdcH-blue-200:hover{border-color:#90caf9 !important}.fill-blue-200,.fillH-blue-200:hover{fill:#90caf9 !important}.str-blue-200,.strH-blue-200:hover{stroke:#90caf9 !important}.c-blue-300,.cH-blue-300:hover{color:#64b5f6 !important}.bgc-blue-300,.bgcH-blue-300:hover{background-color:#64b5f6 !important}.bdc-blue-300,.bdcH-blue-300:hover{border-color:#64b5f6 !important}.fill-blue-300,.fillH-blue-300:hover{fill:#64b5f6 !important}.str-blue-300,.strH-blue-300:hover{stroke:#64b5f6 !important}.c-blue-400,.cH-blue-400:hover{color:#42a5f5 !important}.bgc-blue-400,.bgcH-blue-400:hover{background-color:#42a5f5 !important}.bdc-blue-400,.bdcH-blue-400:hover{border-color:#42a5f5 !important}.fill-blue-400,.fillH-blue-400:hover{fill:#42a5f5 !important}.str-blue-400,.strH-blue-400:hover{stroke:#42a5f5 !important}.c-blue-500,.cH-blue-500:hover{color:#2196f3 !important}.bgc-blue-500,.bgcH-blue-500:hover{background-color:#2196f3 !important}.bdc-blue-500,.bdcH-blue-500:hover{border-color:#2196f3 !important}.fill-blue-500,.fillH-blue-500:hover{fill:#2196f3 !important}.str-blue-500,.strH-blue-500:hover{stroke:#2196f3 !important}.c-blue-600,.cH-blue-600:hover{color:#1e88e5 !important}.bgc-blue-600,.bgcH-blue-600:hover{background-color:#1e88e5 !important}.bdc-blue-600,.bdcH-blue-600:hover{border-color:#1e88e5 !important}.fill-blue-600,.fillH-blue-600:hover{fill:#1e88e5 !important}.str-blue-600,.strH-blue-600:hover{stroke:#1e88e5 !important}.c-blue-700,.cH-blue-700:hover{color:#1976d2 !important}.bgc-blue-700,.bgcH-blue-700:hover{background-color:#1976d2 !important}.bdc-blue-700,.bdcH-blue-700:hover{border-color:#1976d2 !important}.fill-blue-700,.fillH-blue-700:hover{fill:#1976d2 !important}.str-blue-700,.strH-blue-700:hover{stroke:#1976d2 !important}.c-blue-800,.cH-blue-800:hover{color:#1565c0 !important}.bgc-blue-800,.bgcH-blue-800:hover{background-color:#1565c0 !important}.bdc-blue-800,.bdcH-blue-800:hover{border-color:#1565c0 !important}.fill-blue-800,.fillH-blue-800:hover{fill:#1565c0 !important}.str-blue-800,.strH-blue-800:hover{stroke:#1565c0 !important}.c-blue-900,.cH-blue-900:hover{color:#0d47a1 !important}.bgc-blue-900,.bgcH-blue-900:hover{background-color:#0d47a1 !important}.bdc-blue-900,.bdcH-blue-900:hover{border-color:#0d47a1 !important}.fill-blue-900,.fillH-blue-900:hover{fill:#0d47a1 !important}.str-blue-900,.strH-blue-900:hover{stroke:#0d47a1 !important}.c-blue-a100,.cH-blue-a100:hover{color:#82b1ff !important}.bgc-blue-a100,.bgcH-blue-a100:hover{background-color:#82b1ff !important}.bdc-blue-a100,.bdcH-blue-a100:hover{border-color:#82b1ff !important}.fill-blue-a100,.fillH-blue-a100:hover{fill:#82b1ff !important}.str-blue-a100,.strH-blue-a100:hover{stroke:#82b1ff !important}.c-blue-a200,.cH-blue-a200:hover{color:#448aff !important}.bgc-blue-a200,.bgcH-blue-a200:hover{background-color:#448aff !important}.bdc-blue-a200,.bdcH-blue-a200:hover{border-color:#448aff !important}.fill-blue-a200,.fillH-blue-a200:hover{fill:#448aff !important}.str-blue-a200,.strH-blue-a200:hover{stroke:#448aff !important}.c-blue-a400,.cH-blue-a400:hover{color:#2979ff !important}.bgc-blue-a400,.bgcH-blue-a400:hover{background-color:#2979ff !important}.bdc-blue-a400,.bdcH-blue-a400:hover{border-color:#2979ff !important}.fill-blue-a400,.fillH-blue-a400:hover{fill:#2979ff !important}.str-blue-a400,.strH-blue-a400:hover{stroke:#2979ff !important}.c-blue-a700,.cH-blue-a700:hover{color:#2962ff !important}.bgc-blue-a700,.bgcH-blue-a700:hover{background-color:#2962ff !important}.bdc-blue-a700,.bdcH-blue-a700:hover{border-color:#2962ff !important}.fill-blue-a700,.fillH-blue-a700:hover{fill:#2962ff !important}.str-blue-a700,.strH-blue-a700:hover{stroke:#2962ff !important}.c-light-blue-50,.cH-light-blue-50:hover{color:#e1f5fe !important}.bgc-light-blue-50,.bgcH-light-blue-50:hover{background-color:#e1f5fe !important}.bdc-light-blue-50,.bdcH-light-blue-50:hover{border-color:#e1f5fe !important}.fill-light-blue-50,.fillH-light-blue-50:hover{fill:#e1f5fe !important}.str-light-blue-50,.strH-light-blue-50:hover{stroke:#e1f5fe !important}.c-light-blue-100,.cH-light-blue-100:hover{color:#b3e5fc !important}.bgc-light-blue-100,.bgcH-light-blue-100:hover{background-color:#b3e5fc !important}.bdc-light-blue-100,.bdcH-light-blue-100:hover{border-color:#b3e5fc !important}.fill-light-blue-100,.fillH-light-blue-100:hover{fill:#b3e5fc !important}.str-light-blue-100,.strH-light-blue-100:hover{stroke:#b3e5fc !important}.c-light-blue-200,.cH-light-blue-200:hover{color:#81d4fa !important}.bgc-light-blue-200,.bgcH-light-blue-200:hover{background-color:#81d4fa !important}.bdc-light-blue-200,.bdcH-light-blue-200:hover{border-color:#81d4fa !important}.fill-light-blue-200,.fillH-light-blue-200:hover{fill:#81d4fa !important}.str-light-blue-200,.strH-light-blue-200:hover{stroke:#81d4fa !important}.c-light-blue-300,.cH-light-blue-300:hover{color:#4fc3f7 !important}.bgc-light-blue-300,.bgcH-light-blue-300:hover{background-color:#4fc3f7 !important}.bdc-light-blue-300,.bdcH-light-blue-300:hover{border-color:#4fc3f7 !important}.fill-light-blue-300,.fillH-light-blue-300:hover{fill:#4fc3f7 !important}.str-light-blue-300,.strH-light-blue-300:hover{stroke:#4fc3f7 !important}.c-light-blue-400,.cH-light-blue-400:hover{color:#29b6f6 !important}.bgc-light-blue-400,.bgcH-light-blue-400:hover{background-color:#29b6f6 !important}.bdc-light-blue-400,.bdcH-light-blue-400:hover{border-color:#29b6f6 !important}.fill-light-blue-400,.fillH-light-blue-400:hover{fill:#29b6f6 !important}.str-light-blue-400,.strH-light-blue-400:hover{stroke:#29b6f6 !important}.c-light-blue-500,.cH-light-blue-500:hover{color:#03a9f4 !important}.bgc-light-blue-500,.bgcH-light-blue-500:hover{background-color:#03a9f4 !important}.bdc-light-blue-500,.bdcH-light-blue-500:hover{border-color:#03a9f4 !important}.fill-light-blue-500,.fillH-light-blue-500:hover{fill:#03a9f4 !important}.str-light-blue-500,.strH-light-blue-500:hover{stroke:#03a9f4 !important}.c-light-blue-600,.cH-light-blue-600:hover{color:#039be5 !important}.bgc-light-blue-600,.bgcH-light-blue-600:hover{background-color:#039be5 !important}.bdc-light-blue-600,.bdcH-light-blue-600:hover{border-color:#039be5 !important}.fill-light-blue-600,.fillH-light-blue-600:hover{fill:#039be5 !important}.str-light-blue-600,.strH-light-blue-600:hover{stroke:#039be5 !important}.c-light-blue-700,.cH-light-blue-700:hover{color:#0288d1 !important}.bgc-light-blue-700,.bgcH-light-blue-700:hover{background-color:#0288d1 !important}.bdc-light-blue-700,.bdcH-light-blue-700:hover{border-color:#0288d1 !important}.fill-light-blue-700,.fillH-light-blue-700:hover{fill:#0288d1 !important}.str-light-blue-700,.strH-light-blue-700:hover{stroke:#0288d1 !important}.c-light-blue-800,.cH-light-blue-800:hover{color:#0277bd !important}.bgc-light-blue-800,.bgcH-light-blue-800:hover{background-color:#0277bd !important}.bdc-light-blue-800,.bdcH-light-blue-800:hover{border-color:#0277bd !important}.fill-light-blue-800,.fillH-light-blue-800:hover{fill:#0277bd !important}.str-light-blue-800,.strH-light-blue-800:hover{stroke:#0277bd !important}.c-light-blue-900,.cH-light-blue-900:hover{color:#01579b !important}.bgc-light-blue-900,.bgcH-light-blue-900:hover{background-color:#01579b !important}.bdc-light-blue-900,.bdcH-light-blue-900:hover{border-color:#01579b !important}.fill-light-blue-900,.fillH-light-blue-900:hover{fill:#01579b !important}.str-light-blue-900,.strH-light-blue-900:hover{stroke:#01579b !important}.c-light-blue-a100,.cH-light-blue-a100:hover{color:#80d8ff !important}.bgc-light-blue-a100,.bgcH-light-blue-a100:hover{background-color:#80d8ff !important}.bdc-light-blue-a100,.bdcH-light-blue-a100:hover{border-color:#80d8ff !important}.fill-light-blue-a100,.fillH-light-blue-a100:hover{fill:#80d8ff !important}.str-light-blue-a100,.strH-light-blue-a100:hover{stroke:#80d8ff !important}.c-light-blue-a200,.cH-light-blue-a200:hover{color:#40c4ff !important}.bgc-light-blue-a200,.bgcH-light-blue-a200:hover{background-color:#40c4ff !important}.bdc-light-blue-a200,.bdcH-light-blue-a200:hover{border-color:#40c4ff !important}.fill-light-blue-a200,.fillH-light-blue-a200:hover{fill:#40c4ff !important}.str-light-blue-a200,.strH-light-blue-a200:hover{stroke:#40c4ff !important}.c-light-blue-a400,.cH-light-blue-a400:hover{color:#00b0ff !important}.bgc-light-blue-a400,.bgcH-light-blue-a400:hover{background-color:#00b0ff !important}.bdc-light-blue-a400,.bdcH-light-blue-a400:hover{border-color:#00b0ff !important}.fill-light-blue-a400,.fillH-light-blue-a400:hover{fill:#00b0ff !important}.str-light-blue-a400,.strH-light-blue-a400:hover{stroke:#00b0ff !important}.c-light-blue-a700,.cH-light-blue-a700:hover{color:#0091ea !important}.bgc-light-blue-a700,.bgcH-light-blue-a700:hover{background-color:#0091ea !important}.bdc-light-blue-a700,.bdcH-light-blue-a700:hover{border-color:#0091ea !important}.fill-light-blue-a700,.fillH-light-blue-a700:hover{fill:#0091ea !important}.str-light-blue-a700,.strH-light-blue-a700:hover{stroke:#0091ea !important}.c-cyan-50,.cH-cyan-50:hover{color:#e0f7fa !important}.bgc-cyan-50,.bgcH-cyan-50:hover{background-color:#e0f7fa !important}.bdc-cyan-50,.bdcH-cyan-50:hover{border-color:#e0f7fa !important}.fill-cyan-50,.fillH-cyan-50:hover{fill:#e0f7fa !important}.str-cyan-50,.strH-cyan-50:hover{stroke:#e0f7fa !important}.c-cyan-100,.cH-cyan-100:hover{color:#b2ebf2 !important}.bgc-cyan-100,.bgcH-cyan-100:hover{background-color:#b2ebf2 !important}.bdc-cyan-100,.bdcH-cyan-100:hover{border-color:#b2ebf2 !important}.fill-cyan-100,.fillH-cyan-100:hover{fill:#b2ebf2 !important}.str-cyan-100,.strH-cyan-100:hover{stroke:#b2ebf2 !important}.c-cyan-200,.cH-cyan-200:hover{color:#80deea !important}.bgc-cyan-200,.bgcH-cyan-200:hover{background-color:#80deea !important}.bdc-cyan-200,.bdcH-cyan-200:hover{border-color:#80deea !important}.fill-cyan-200,.fillH-cyan-200:hover{fill:#80deea !important}.str-cyan-200,.strH-cyan-200:hover{stroke:#80deea !important}.c-cyan-300,.cH-cyan-300:hover{color:#4dd0e1 !important}.bgc-cyan-300,.bgcH-cyan-300:hover{background-color:#4dd0e1 !important}.bdc-cyan-300,.bdcH-cyan-300:hover{border-color:#4dd0e1 !important}.fill-cyan-300,.fillH-cyan-300:hover{fill:#4dd0e1 !important}.str-cyan-300,.strH-cyan-300:hover{stroke:#4dd0e1 !important}.c-cyan-400,.cH-cyan-400:hover{color:#26c6da !important}.bgc-cyan-400,.bgcH-cyan-400:hover{background-color:#26c6da !important}.bdc-cyan-400,.bdcH-cyan-400:hover{border-color:#26c6da !important}.fill-cyan-400,.fillH-cyan-400:hover{fill:#26c6da !important}.str-cyan-400,.strH-cyan-400:hover{stroke:#26c6da !important}.c-cyan-500,.cH-cyan-500:hover{color:#00bcd4 !important}.bgc-cyan-500,.bgcH-cyan-500:hover{background-color:#00bcd4 !important}.bdc-cyan-500,.bdcH-cyan-500:hover{border-color:#00bcd4 !important}.fill-cyan-500,.fillH-cyan-500:hover{fill:#00bcd4 !important}.str-cyan-500,.strH-cyan-500:hover{stroke:#00bcd4 !important}.c-cyan-600,.cH-cyan-600:hover{color:#00acc1 !important}.bgc-cyan-600,.bgcH-cyan-600:hover{background-color:#00acc1 !important}.bdc-cyan-600,.bdcH-cyan-600:hover{border-color:#00acc1 !important}.fill-cyan-600,.fillH-cyan-600:hover{fill:#00acc1 !important}.str-cyan-600,.strH-cyan-600:hover{stroke:#00acc1 !important}.c-cyan-700,.cH-cyan-700:hover{color:#0097a7 !important}.bgc-cyan-700,.bgcH-cyan-700:hover{background-color:#0097a7 !important}.bdc-cyan-700,.bdcH-cyan-700:hover{border-color:#0097a7 !important}.fill-cyan-700,.fillH-cyan-700:hover{fill:#0097a7 !important}.str-cyan-700,.strH-cyan-700:hover{stroke:#0097a7 !important}.c-cyan-800,.cH-cyan-800:hover{color:#00838f !important}.bgc-cyan-800,.bgcH-cyan-800:hover{background-color:#00838f !important}.bdc-cyan-800,.bdcH-cyan-800:hover{border-color:#00838f !important}.fill-cyan-800,.fillH-cyan-800:hover{fill:#00838f !important}.str-cyan-800,.strH-cyan-800:hover{stroke:#00838f !important}.c-cyan-900,.cH-cyan-900:hover{color:#006064 !important}.bgc-cyan-900,.bgcH-cyan-900:hover{background-color:#006064 !important}.bdc-cyan-900,.bdcH-cyan-900:hover{border-color:#006064 !important}.fill-cyan-900,.fillH-cyan-900:hover{fill:#006064 !important}.str-cyan-900,.strH-cyan-900:hover{stroke:#006064 !important}.c-cyan-a100,.cH-cyan-a100:hover{color:#84ffff !important}.bgc-cyan-a100,.bgcH-cyan-a100:hover{background-color:#84ffff !important}.bdc-cyan-a100,.bdcH-cyan-a100:hover{border-color:#84ffff !important}.fill-cyan-a100,.fillH-cyan-a100:hover{fill:#84ffff !important}.str-cyan-a100,.strH-cyan-a100:hover{stroke:#84ffff !important}.c-cyan-a200,.cH-cyan-a200:hover{color:#18ffff !important}.bgc-cyan-a200,.bgcH-cyan-a200:hover{background-color:#18ffff !important}.bdc-cyan-a200,.bdcH-cyan-a200:hover{border-color:#18ffff !important}.fill-cyan-a200,.fillH-cyan-a200:hover{fill:#18ffff !important}.str-cyan-a200,.strH-cyan-a200:hover{stroke:#18ffff !important}.c-cyan-a400,.cH-cyan-a400:hover{color:#00e5ff !important}.bgc-cyan-a400,.bgcH-cyan-a400:hover{background-color:#00e5ff !important}.bdc-cyan-a400,.bdcH-cyan-a400:hover{border-color:#00e5ff !important}.fill-cyan-a400,.fillH-cyan-a400:hover{fill:#00e5ff !important}.str-cyan-a400,.strH-cyan-a400:hover{stroke:#00e5ff !important}.c-cyan-a700,.cH-cyan-a700:hover{color:#00b8d4 !important}.bgc-cyan-a700,.bgcH-cyan-a700:hover{background-color:#00b8d4 !important}.bdc-cyan-a700,.bdcH-cyan-a700:hover{border-color:#00b8d4 !important}.fill-cyan-a700,.fillH-cyan-a700:hover{fill:#00b8d4 !important}.str-cyan-a700,.strH-cyan-a700:hover{stroke:#00b8d4 !important}.c-teal-50,.cH-teal-50:hover{color:#e0f2f1 !important}.bgc-teal-50,.bgcH-teal-50:hover{background-color:#e0f2f1 !important}.bdc-teal-50,.bdcH-teal-50:hover{border-color:#e0f2f1 !important}.fill-teal-50,.fillH-teal-50:hover{fill:#e0f2f1 !important}.str-teal-50,.strH-teal-50:hover{stroke:#e0f2f1 !important}.c-teal-100,.cH-teal-100:hover{color:#b2dfdb !important}.bgc-teal-100,.bgcH-teal-100:hover{background-color:#b2dfdb !important}.bdc-teal-100,.bdcH-teal-100:hover{border-color:#b2dfdb !important}.fill-teal-100,.fillH-teal-100:hover{fill:#b2dfdb !important}.str-teal-100,.strH-teal-100:hover{stroke:#b2dfdb !important}.c-teal-200,.cH-teal-200:hover{color:#80cbc4 !important}.bgc-teal-200,.bgcH-teal-200:hover{background-color:#80cbc4 !important}.bdc-teal-200,.bdcH-teal-200:hover{border-color:#80cbc4 !important}.fill-teal-200,.fillH-teal-200:hover{fill:#80cbc4 !important}.str-teal-200,.strH-teal-200:hover{stroke:#80cbc4 !important}.c-teal-300,.cH-teal-300:hover{color:#4db6ac !important}.bgc-teal-300,.bgcH-teal-300:hover{background-color:#4db6ac !important}.bdc-teal-300,.bdcH-teal-300:hover{border-color:#4db6ac !important}.fill-teal-300,.fillH-teal-300:hover{fill:#4db6ac !important}.str-teal-300,.strH-teal-300:hover{stroke:#4db6ac !important}.c-teal-400,.cH-teal-400:hover{color:#26a69a !important}.bgc-teal-400,.bgcH-teal-400:hover{background-color:#26a69a !important}.bdc-teal-400,.bdcH-teal-400:hover{border-color:#26a69a !important}.fill-teal-400,.fillH-teal-400:hover{fill:#26a69a !important}.str-teal-400,.strH-teal-400:hover{stroke:#26a69a !important}.c-teal-500,.cH-teal-500:hover{color:#009688 !important}.bgc-teal-500,.bgcH-teal-500:hover{background-color:#009688 !important}.bdc-teal-500,.bdcH-teal-500:hover{border-color:#009688 !important}.fill-teal-500,.fillH-teal-500:hover{fill:#009688 !important}.str-teal-500,.strH-teal-500:hover{stroke:#009688 !important}.c-teal-600,.cH-teal-600:hover{color:#00897b !important}.bgc-teal-600,.bgcH-teal-600:hover{background-color:#00897b !important}.bdc-teal-600,.bdcH-teal-600:hover{border-color:#00897b !important}.fill-teal-600,.fillH-teal-600:hover{fill:#00897b !important}.str-teal-600,.strH-teal-600:hover{stroke:#00897b !important}.c-teal-700,.cH-teal-700:hover{color:#00796b !important}.bgc-teal-700,.bgcH-teal-700:hover{background-color:#00796b !important}.bdc-teal-700,.bdcH-teal-700:hover{border-color:#00796b !important}.fill-teal-700,.fillH-teal-700:hover{fill:#00796b !important}.str-teal-700,.strH-teal-700:hover{stroke:#00796b !important}.c-teal-800,.cH-teal-800:hover{color:#00695c !important}.bgc-teal-800,.bgcH-teal-800:hover{background-color:#00695c !important}.bdc-teal-800,.bdcH-teal-800:hover{border-color:#00695c !important}.fill-teal-800,.fillH-teal-800:hover{fill:#00695c !important}.str-teal-800,.strH-teal-800:hover{stroke:#00695c !important}.c-teal-900,.cH-teal-900:hover{color:#004d40 !important}.bgc-teal-900,.bgcH-teal-900:hover{background-color:#004d40 !important}.bdc-teal-900,.bdcH-teal-900:hover{border-color:#004d40 !important}.fill-teal-900,.fillH-teal-900:hover{fill:#004d40 !important}.str-teal-900,.strH-teal-900:hover{stroke:#004d40 !important}.c-teal-a100,.cH-teal-a100:hover{color:#a7ffeb !important}.bgc-teal-a100,.bgcH-teal-a100:hover{background-color:#a7ffeb !important}.bdc-teal-a100,.bdcH-teal-a100:hover{border-color:#a7ffeb !important}.fill-teal-a100,.fillH-teal-a100:hover{fill:#a7ffeb !important}.str-teal-a100,.strH-teal-a100:hover{stroke:#a7ffeb !important}.c-teal-a200,.cH-teal-a200:hover{color:#64ffda !important}.bgc-teal-a200,.bgcH-teal-a200:hover{background-color:#64ffda !important}.bdc-teal-a200,.bdcH-teal-a200:hover{border-color:#64ffda !important}.fill-teal-a200,.fillH-teal-a200:hover{fill:#64ffda !important}.str-teal-a200,.strH-teal-a200:hover{stroke:#64ffda !important}.c-teal-a400,.cH-teal-a400:hover{color:#1de9b6 !important}.bgc-teal-a400,.bgcH-teal-a400:hover{background-color:#1de9b6 !important}.bdc-teal-a400,.bdcH-teal-a400:hover{border-color:#1de9b6 !important}.fill-teal-a400,.fillH-teal-a400:hover{fill:#1de9b6 !important}.str-teal-a400,.strH-teal-a400:hover{stroke:#1de9b6 !important}.c-teal-a700,.cH-teal-a700:hover{color:#00bfa5 !important}.bgc-teal-a700,.bgcH-teal-a700:hover{background-color:#00bfa5 !important}.bdc-teal-a700,.bdcH-teal-a700:hover{border-color:#00bfa5 !important}.fill-teal-a700,.fillH-teal-a700:hover{fill:#00bfa5 !important}.str-teal-a700,.strH-teal-a700:hover{stroke:#00bfa5 !important}.c-green-50,.cH-green-50:hover{color:#e8f5e9 !important}.bgc-green-50,.bgcH-green-50:hover{background-color:#e8f5e9 !important}.bdc-green-50,.bdcH-green-50:hover{border-color:#e8f5e9 !important}.fill-green-50,.fillH-green-50:hover{fill:#e8f5e9 !important}.str-green-50,.strH-green-50:hover{stroke:#e8f5e9 !important}.c-green-100,.cH-green-100:hover{color:#c8e6c9 !important}.bgc-green-100,.bgcH-green-100:hover{background-color:#c8e6c9 !important}.bdc-green-100,.bdcH-green-100:hover{border-color:#c8e6c9 !important}.fill-green-100,.fillH-green-100:hover{fill:#c8e6c9 !important}.str-green-100,.strH-green-100:hover{stroke:#c8e6c9 !important}.c-green-200,.cH-green-200:hover{color:#a5d6a7 !important}.bgc-green-200,.bgcH-green-200:hover{background-color:#a5d6a7 !important}.bdc-green-200,.bdcH-green-200:hover{border-color:#a5d6a7 !important}.fill-green-200,.fillH-green-200:hover{fill:#a5d6a7 !important}.str-green-200,.strH-green-200:hover{stroke:#a5d6a7 !important}.c-green-300,.cH-green-300:hover{color:#81c784 !important}.bgc-green-300,.bgcH-green-300:hover{background-color:#81c784 !important}.bdc-green-300,.bdcH-green-300:hover{border-color:#81c784 !important}.fill-green-300,.fillH-green-300:hover{fill:#81c784 !important}.str-green-300,.strH-green-300:hover{stroke:#81c784 !important}.c-green-400,.cH-green-400:hover{color:#66bb6a !important}.bgc-green-400,.bgcH-green-400:hover{background-color:#66bb6a !important}.bdc-green-400,.bdcH-green-400:hover{border-color:#66bb6a !important}.fill-green-400,.fillH-green-400:hover{fill:#66bb6a !important}.str-green-400,.strH-green-400:hover{stroke:#66bb6a !important}.c-green-500,.cH-green-500:hover{color:#4caf50 !important}.bgc-green-500,.bgcH-green-500:hover{background-color:#4caf50 !important}.bdc-green-500,.bdcH-green-500:hover{border-color:#4caf50 !important}.fill-green-500,.fillH-green-500:hover{fill:#4caf50 !important}.str-green-500,.strH-green-500:hover{stroke:#4caf50 !important}.c-green-600,.cH-green-600:hover{color:#43a047 !important}.bgc-green-600,.bgcH-green-600:hover{background-color:#43a047 !important}.bdc-green-600,.bdcH-green-600:hover{border-color:#43a047 !important}.fill-green-600,.fillH-green-600:hover{fill:#43a047 !important}.str-green-600,.strH-green-600:hover{stroke:#43a047 !important}.c-green-700,.cH-green-700:hover{color:#388e3c !important}.bgc-green-700,.bgcH-green-700:hover{background-color:#388e3c !important}.bdc-green-700,.bdcH-green-700:hover{border-color:#388e3c !important}.fill-green-700,.fillH-green-700:hover{fill:#388e3c !important}.str-green-700,.strH-green-700:hover{stroke:#388e3c !important}.c-green-800,.cH-green-800:hover{color:#2e7d32 !important}.bgc-green-800,.bgcH-green-800:hover{background-color:#2e7d32 !important}.bdc-green-800,.bdcH-green-800:hover{border-color:#2e7d32 !important}.fill-green-800,.fillH-green-800:hover{fill:#2e7d32 !important}.str-green-800,.strH-green-800:hover{stroke:#2e7d32 !important}.c-green-900,.cH-green-900:hover{color:#1b5e20 !important}.bgc-green-900,.bgcH-green-900:hover{background-color:#1b5e20 !important}.bdc-green-900,.bdcH-green-900:hover{border-color:#1b5e20 !important}.fill-green-900,.fillH-green-900:hover{fill:#1b5e20 !important}.str-green-900,.strH-green-900:hover{stroke:#1b5e20 !important}.c-green-a100,.cH-green-a100:hover{color:#b9f6ca !important}.bgc-green-a100,.bgcH-green-a100:hover{background-color:#b9f6ca !important}.bdc-green-a100,.bdcH-green-a100:hover{border-color:#b9f6ca !important}.fill-green-a100,.fillH-green-a100:hover{fill:#b9f6ca !important}.str-green-a100,.strH-green-a100:hover{stroke:#b9f6ca !important}.c-green-a200,.cH-green-a200:hover{color:#69f0ae !important}.bgc-green-a200,.bgcH-green-a200:hover{background-color:#69f0ae !important}.bdc-green-a200,.bdcH-green-a200:hover{border-color:#69f0ae !important}.fill-green-a200,.fillH-green-a200:hover{fill:#69f0ae !important}.str-green-a200,.strH-green-a200:hover{stroke:#69f0ae !important}.c-green-a400,.cH-green-a400:hover{color:#00e676 !important}.bgc-green-a400,.bgcH-green-a400:hover{background-color:#00e676 !important}.bdc-green-a400,.bdcH-green-a400:hover{border-color:#00e676 !important}.fill-green-a400,.fillH-green-a400:hover{fill:#00e676 !important}.str-green-a400,.strH-green-a400:hover{stroke:#00e676 !important}.c-green-a700,.cH-green-a700:hover{color:#00c853 !important}.bgc-green-a700,.bgcH-green-a700:hover{background-color:#00c853 !important}.bdc-green-a700,.bdcH-green-a700:hover{border-color:#00c853 !important}.fill-green-a700,.fillH-green-a700:hover{fill:#00c853 !important}.str-green-a700,.strH-green-a700:hover{stroke:#00c853 !important}.c-light-green-50,.cH-light-green-50:hover{color:#f1f8e9 !important}.bgc-light-green-50,.bgcH-light-green-50:hover{background-color:#f1f8e9 !important}.bdc-light-green-50,.bdcH-light-green-50:hover{border-color:#f1f8e9 !important}.fill-light-green-50,.fillH-light-green-50:hover{fill:#f1f8e9 !important}.str-light-green-50,.strH-light-green-50:hover{stroke:#f1f8e9 !important}.c-light-green-100,.cH-light-green-100:hover{color:#dcedc8 !important}.bgc-light-green-100,.bgcH-light-green-100:hover{background-color:#dcedc8 !important}.bdc-light-green-100,.bdcH-light-green-100:hover{border-color:#dcedc8 !important}.fill-light-green-100,.fillH-light-green-100:hover{fill:#dcedc8 !important}.str-light-green-100,.strH-light-green-100:hover{stroke:#dcedc8 !important}.c-light-green-200,.cH-light-green-200:hover{color:#c5e1a5 !important}.bgc-light-green-200,.bgcH-light-green-200:hover{background-color:#c5e1a5 !important}.bdc-light-green-200,.bdcH-light-green-200:hover{border-color:#c5e1a5 !important}.fill-light-green-200,.fillH-light-green-200:hover{fill:#c5e1a5 !important}.str-light-green-200,.strH-light-green-200:hover{stroke:#c5e1a5 !important}.c-light-green-300,.cH-light-green-300:hover{color:#aed581 !important}.bgc-light-green-300,.bgcH-light-green-300:hover{background-color:#aed581 !important}.bdc-light-green-300,.bdcH-light-green-300:hover{border-color:#aed581 !important}.fill-light-green-300,.fillH-light-green-300:hover{fill:#aed581 !important}.str-light-green-300,.strH-light-green-300:hover{stroke:#aed581 !important}.c-light-green-400,.cH-light-green-400:hover{color:#9ccc65 !important}.bgc-light-green-400,.bgcH-light-green-400:hover{background-color:#9ccc65 !important}.bdc-light-green-400,.bdcH-light-green-400:hover{border-color:#9ccc65 !important}.fill-light-green-400,.fillH-light-green-400:hover{fill:#9ccc65 !important}.str-light-green-400,.strH-light-green-400:hover{stroke:#9ccc65 !important}.c-light-green-500,.cH-light-green-500:hover{color:#8bc34a !important}.bgc-light-green-500,.bgcH-light-green-500:hover{background-color:#8bc34a !important}.bdc-light-green-500,.bdcH-light-green-500:hover{border-color:#8bc34a !important}.fill-light-green-500,.fillH-light-green-500:hover{fill:#8bc34a !important}.str-light-green-500,.strH-light-green-500:hover{stroke:#8bc34a !important}.c-light-green-600,.cH-light-green-600:hover{color:#7cb342 !important}.bgc-light-green-600,.bgcH-light-green-600:hover{background-color:#7cb342 !important}.bdc-light-green-600,.bdcH-light-green-600:hover{border-color:#7cb342 !important}.fill-light-green-600,.fillH-light-green-600:hover{fill:#7cb342 !important}.str-light-green-600,.strH-light-green-600:hover{stroke:#7cb342 !important}.c-light-green-700,.cH-light-green-700:hover{color:#689f38 !important}.bgc-light-green-700,.bgcH-light-green-700:hover{background-color:#689f38 !important}.bdc-light-green-700,.bdcH-light-green-700:hover{border-color:#689f38 !important}.fill-light-green-700,.fillH-light-green-700:hover{fill:#689f38 !important}.str-light-green-700,.strH-light-green-700:hover{stroke:#689f38 !important}.c-light-green-800,.cH-light-green-800:hover{color:#558b2f !important}.bgc-light-green-800,.bgcH-light-green-800:hover{background-color:#558b2f !important}.bdc-light-green-800,.bdcH-light-green-800:hover{border-color:#558b2f !important}.fill-light-green-800,.fillH-light-green-800:hover{fill:#558b2f !important}.str-light-green-800,.strH-light-green-800:hover{stroke:#558b2f !important}.c-light-green-900,.cH-light-green-900:hover{color:#33691e !important}.bgc-light-green-900,.bgcH-light-green-900:hover{background-color:#33691e !important}.bdc-light-green-900,.bdcH-light-green-900:hover{border-color:#33691e !important}.fill-light-green-900,.fillH-light-green-900:hover{fill:#33691e !important}.str-light-green-900,.strH-light-green-900:hover{stroke:#33691e !important}.c-light-green-a100,.cH-light-green-a100:hover{color:#ccff90 !important}.bgc-light-green-a100,.bgcH-light-green-a100:hover{background-color:#ccff90 !important}.bdc-light-green-a100,.bdcH-light-green-a100:hover{border-color:#ccff90 !important}.fill-light-green-a100,.fillH-light-green-a100:hover{fill:#ccff90 !important}.str-light-green-a100,.strH-light-green-a100:hover{stroke:#ccff90 !important}.c-light-green-a200,.cH-light-green-a200:hover{color:#b2ff59 !important}.bgc-light-green-a200,.bgcH-light-green-a200:hover{background-color:#b2ff59 !important}.bdc-light-green-a200,.bdcH-light-green-a200:hover{border-color:#b2ff59 !important}.fill-light-green-a200,.fillH-light-green-a200:hover{fill:#b2ff59 !important}.str-light-green-a200,.strH-light-green-a200:hover{stroke:#b2ff59 !important}.c-light-green-a400,.cH-light-green-a400:hover{color:#76ff03 !important}.bgc-light-green-a400,.bgcH-light-green-a400:hover{background-color:#76ff03 !important}.bdc-light-green-a400,.bdcH-light-green-a400:hover{border-color:#76ff03 !important}.fill-light-green-a400,.fillH-light-green-a400:hover{fill:#76ff03 !important}.str-light-green-a400,.strH-light-green-a400:hover{stroke:#76ff03 !important}.c-light-green-a700,.cH-light-green-a700:hover{color:#64dd17 !important}.bgc-light-green-a700,.bgcH-light-green-a700:hover{background-color:#64dd17 !important}.bdc-light-green-a700,.bdcH-light-green-a700:hover{border-color:#64dd17 !important}.fill-light-green-a700,.fillH-light-green-a700:hover{fill:#64dd17 !important}.str-light-green-a700,.strH-light-green-a700:hover{stroke:#64dd17 !important}.c-lime-50,.cH-lime-50:hover{color:#f9fbe7 !important}.bgc-lime-50,.bgcH-lime-50:hover{background-color:#f9fbe7 !important}.bdc-lime-50,.bdcH-lime-50:hover{border-color:#f9fbe7 !important}.fill-lime-50,.fillH-lime-50:hover{fill:#f9fbe7 !important}.str-lime-50,.strH-lime-50:hover{stroke:#f9fbe7 !important}.c-lime-100,.cH-lime-100:hover{color:#f0f4c3 !important}.bgc-lime-100,.bgcH-lime-100:hover{background-color:#f0f4c3 !important}.bdc-lime-100,.bdcH-lime-100:hover{border-color:#f0f4c3 !important}.fill-lime-100,.fillH-lime-100:hover{fill:#f0f4c3 !important}.str-lime-100,.strH-lime-100:hover{stroke:#f0f4c3 !important}.c-lime-200,.cH-lime-200:hover{color:#e6ee9c !important}.bgc-lime-200,.bgcH-lime-200:hover{background-color:#e6ee9c !important}.bdc-lime-200,.bdcH-lime-200:hover{border-color:#e6ee9c !important}.fill-lime-200,.fillH-lime-200:hover{fill:#e6ee9c !important}.str-lime-200,.strH-lime-200:hover{stroke:#e6ee9c !important}.c-lime-300,.cH-lime-300:hover{color:#dce775 !important}.bgc-lime-300,.bgcH-lime-300:hover{background-color:#dce775 !important}.bdc-lime-300,.bdcH-lime-300:hover{border-color:#dce775 !important}.fill-lime-300,.fillH-lime-300:hover{fill:#dce775 !important}.str-lime-300,.strH-lime-300:hover{stroke:#dce775 !important}.c-lime-400,.cH-lime-400:hover{color:#d4e157 !important}.bgc-lime-400,.bgcH-lime-400:hover{background-color:#d4e157 !important}.bdc-lime-400,.bdcH-lime-400:hover{border-color:#d4e157 !important}.fill-lime-400,.fillH-lime-400:hover{fill:#d4e157 !important}.str-lime-400,.strH-lime-400:hover{stroke:#d4e157 !important}.c-lime-500,.cH-lime-500:hover{color:#cddc39 !important}.bgc-lime-500,.bgcH-lime-500:hover{background-color:#cddc39 !important}.bdc-lime-500,.bdcH-lime-500:hover{border-color:#cddc39 !important}.fill-lime-500,.fillH-lime-500:hover{fill:#cddc39 !important}.str-lime-500,.strH-lime-500:hover{stroke:#cddc39 !important}.c-lime-600,.cH-lime-600:hover{color:#c0ca33 !important}.bgc-lime-600,.bgcH-lime-600:hover{background-color:#c0ca33 !important}.bdc-lime-600,.bdcH-lime-600:hover{border-color:#c0ca33 !important}.fill-lime-600,.fillH-lime-600:hover{fill:#c0ca33 !important}.str-lime-600,.strH-lime-600:hover{stroke:#c0ca33 !important}.c-lime-700,.cH-lime-700:hover{color:#afb42b !important}.bgc-lime-700,.bgcH-lime-700:hover{background-color:#afb42b !important}.bdc-lime-700,.bdcH-lime-700:hover{border-color:#afb42b !important}.fill-lime-700,.fillH-lime-700:hover{fill:#afb42b !important}.str-lime-700,.strH-lime-700:hover{stroke:#afb42b !important}.c-lime-800,.cH-lime-800:hover{color:#9e9d24 !important}.bgc-lime-800,.bgcH-lime-800:hover{background-color:#9e9d24 !important}.bdc-lime-800,.bdcH-lime-800:hover{border-color:#9e9d24 !important}.fill-lime-800,.fillH-lime-800:hover{fill:#9e9d24 !important}.str-lime-800,.strH-lime-800:hover{stroke:#9e9d24 !important}.c-lime-900,.cH-lime-900:hover{color:#827717 !important}.bgc-lime-900,.bgcH-lime-900:hover{background-color:#827717 !important}.bdc-lime-900,.bdcH-lime-900:hover{border-color:#827717 !important}.fill-lime-900,.fillH-lime-900:hover{fill:#827717 !important}.str-lime-900,.strH-lime-900:hover{stroke:#827717 !important}.c-lime-a100,.cH-lime-a100:hover{color:#f4ff81 !important}.bgc-lime-a100,.bgcH-lime-a100:hover{background-color:#f4ff81 !important}.bdc-lime-a100,.bdcH-lime-a100:hover{border-color:#f4ff81 !important}.fill-lime-a100,.fillH-lime-a100:hover{fill:#f4ff81 !important}.str-lime-a100,.strH-lime-a100:hover{stroke:#f4ff81 !important}.c-lime-a200,.cH-lime-a200:hover{color:#eeff41 !important}.bgc-lime-a200,.bgcH-lime-a200:hover{background-color:#eeff41 !important}.bdc-lime-a200,.bdcH-lime-a200:hover{border-color:#eeff41 !important}.fill-lime-a200,.fillH-lime-a200:hover{fill:#eeff41 !important}.str-lime-a200,.strH-lime-a200:hover{stroke:#eeff41 !important}.c-lime-a400,.cH-lime-a400:hover{color:#c6ff00 !important}.bgc-lime-a400,.bgcH-lime-a400:hover{background-color:#c6ff00 !important}.bdc-lime-a400,.bdcH-lime-a400:hover{border-color:#c6ff00 !important}.fill-lime-a400,.fillH-lime-a400:hover{fill:#c6ff00 !important}.str-lime-a400,.strH-lime-a400:hover{stroke:#c6ff00 !important}.c-lime-a700,.cH-lime-a700:hover{color:#aeea00 !important}.bgc-lime-a700,.bgcH-lime-a700:hover{background-color:#aeea00 !important}.bdc-lime-a700,.bdcH-lime-a700:hover{border-color:#aeea00 !important}.fill-lime-a700,.fillH-lime-a700:hover{fill:#aeea00 !important}.str-lime-a700,.strH-lime-a700:hover{stroke:#aeea00 !important}.c-yellow-50,.cH-yellow-50:hover{color:#fffde7 !important}.bgc-yellow-50,.bgcH-yellow-50:hover{background-color:#fffde7 !important}.bdc-yellow-50,.bdcH-yellow-50:hover{border-color:#fffde7 !important}.fill-yellow-50,.fillH-yellow-50:hover{fill:#fffde7 !important}.str-yellow-50,.strH-yellow-50:hover{stroke:#fffde7 !important}.c-yellow-100,.cH-yellow-100:hover{color:#fff9c4 !important}.bgc-yellow-100,.bgcH-yellow-100:hover{background-color:#fff9c4 !important}.bdc-yellow-100,.bdcH-yellow-100:hover{border-color:#fff9c4 !important}.fill-yellow-100,.fillH-yellow-100:hover{fill:#fff9c4 !important}.str-yellow-100,.strH-yellow-100:hover{stroke:#fff9c4 !important}.c-yellow-200,.cH-yellow-200:hover{color:#fff59d !important}.bgc-yellow-200,.bgcH-yellow-200:hover{background-color:#fff59d !important}.bdc-yellow-200,.bdcH-yellow-200:hover{border-color:#fff59d !important}.fill-yellow-200,.fillH-yellow-200:hover{fill:#fff59d !important}.str-yellow-200,.strH-yellow-200:hover{stroke:#fff59d !important}.c-yellow-300,.cH-yellow-300:hover{color:#fff176 !important}.bgc-yellow-300,.bgcH-yellow-300:hover{background-color:#fff176 !important}.bdc-yellow-300,.bdcH-yellow-300:hover{border-color:#fff176 !important}.fill-yellow-300,.fillH-yellow-300:hover{fill:#fff176 !important}.str-yellow-300,.strH-yellow-300:hover{stroke:#fff176 !important}.c-yellow-400,.cH-yellow-400:hover{color:#ffee58 !important}.bgc-yellow-400,.bgcH-yellow-400:hover{background-color:#ffee58 !important}.bdc-yellow-400,.bdcH-yellow-400:hover{border-color:#ffee58 !important}.fill-yellow-400,.fillH-yellow-400:hover{fill:#ffee58 !important}.str-yellow-400,.strH-yellow-400:hover{stroke:#ffee58 !important}.c-yellow-500,.cH-yellow-500:hover{color:#ffeb3b !important}.bgc-yellow-500,.bgcH-yellow-500:hover{background-color:#ffeb3b !important}.bdc-yellow-500,.bdcH-yellow-500:hover{border-color:#ffeb3b !important}.fill-yellow-500,.fillH-yellow-500:hover{fill:#ffeb3b !important}.str-yellow-500,.strH-yellow-500:hover{stroke:#ffeb3b !important}.c-yellow-600,.cH-yellow-600:hover{color:#fdd835 !important}.bgc-yellow-600,.bgcH-yellow-600:hover{background-color:#fdd835 !important}.bdc-yellow-600,.bdcH-yellow-600:hover{border-color:#fdd835 !important}.fill-yellow-600,.fillH-yellow-600:hover{fill:#fdd835 !important}.str-yellow-600,.strH-yellow-600:hover{stroke:#fdd835 !important}.c-yellow-700,.cH-yellow-700:hover{color:#fbc02d !important}.bgc-yellow-700,.bgcH-yellow-700:hover{background-color:#fbc02d !important}.bdc-yellow-700,.bdcH-yellow-700:hover{border-color:#fbc02d !important}.fill-yellow-700,.fillH-yellow-700:hover{fill:#fbc02d !important}.str-yellow-700,.strH-yellow-700:hover{stroke:#fbc02d !important}.c-yellow-800,.cH-yellow-800:hover{color:#f9a825 !important}.bgc-yellow-800,.bgcH-yellow-800:hover{background-color:#f9a825 !important}.bdc-yellow-800,.bdcH-yellow-800:hover{border-color:#f9a825 !important}.fill-yellow-800,.fillH-yellow-800:hover{fill:#f9a825 !important}.str-yellow-800,.strH-yellow-800:hover{stroke:#f9a825 !important}.c-yellow-900,.cH-yellow-900:hover{color:#f57f17 !important}.bgc-yellow-900,.bgcH-yellow-900:hover{background-color:#f57f17 !important}.bdc-yellow-900,.bdcH-yellow-900:hover{border-color:#f57f17 !important}.fill-yellow-900,.fillH-yellow-900:hover{fill:#f57f17 !important}.str-yellow-900,.strH-yellow-900:hover{stroke:#f57f17 !important}.c-yellow-a100,.cH-yellow-a100:hover{color:#ffff8d !important}.bgc-yellow-a100,.bgcH-yellow-a100:hover{background-color:#ffff8d !important}.bdc-yellow-a100,.bdcH-yellow-a100:hover{border-color:#ffff8d !important}.fill-yellow-a100,.fillH-yellow-a100:hover{fill:#ffff8d !important}.str-yellow-a100,.strH-yellow-a100:hover{stroke:#ffff8d !important}.c-yellow-a200,.cH-yellow-a200:hover{color:#ff0 !important}.bgc-yellow-a200,.bgcH-yellow-a200:hover{background-color:#ff0 !important}.bdc-yellow-a200,.bdcH-yellow-a200:hover{border-color:#ff0 !important}.fill-yellow-a200,.fillH-yellow-a200:hover{fill:#ff0 !important}.str-yellow-a200,.strH-yellow-a200:hover{stroke:#ff0 !important}.c-yellow-a400,.cH-yellow-a400:hover{color:#ffea00 !important}.bgc-yellow-a400,.bgcH-yellow-a400:hover{background-color:#ffea00 !important}.bdc-yellow-a400,.bdcH-yellow-a400:hover{border-color:#ffea00 !important}.fill-yellow-a400,.fillH-yellow-a400:hover{fill:#ffea00 !important}.str-yellow-a400,.strH-yellow-a400:hover{stroke:#ffea00 !important}.c-yellow-a700,.cH-yellow-a700:hover{color:#ffd600 !important}.bgc-yellow-a700,.bgcH-yellow-a700:hover{background-color:#ffd600 !important}.bdc-yellow-a700,.bdcH-yellow-a700:hover{border-color:#ffd600 !important}.fill-yellow-a700,.fillH-yellow-a700:hover{fill:#ffd600 !important}.str-yellow-a700,.strH-yellow-a700:hover{stroke:#ffd600 !important}.c-amber-50,.cH-amber-50:hover{color:#fff8e1 !important}.bgc-amber-50,.bgcH-amber-50:hover{background-color:#fff8e1 !important}.bdc-amber-50,.bdcH-amber-50:hover{border-color:#fff8e1 !important}.fill-amber-50,.fillH-amber-50:hover{fill:#fff8e1 !important}.str-amber-50,.strH-amber-50:hover{stroke:#fff8e1 !important}.c-amber-100,.cH-amber-100:hover{color:#ffecb3 !important}.bgc-amber-100,.bgcH-amber-100:hover{background-color:#ffecb3 !important}.bdc-amber-100,.bdcH-amber-100:hover{border-color:#ffecb3 !important}.fill-amber-100,.fillH-amber-100:hover{fill:#ffecb3 !important}.str-amber-100,.strH-amber-100:hover{stroke:#ffecb3 !important}.c-amber-200,.cH-amber-200:hover{color:#ffe082 !important}.bgc-amber-200,.bgcH-amber-200:hover{background-color:#ffe082 !important}.bdc-amber-200,.bdcH-amber-200:hover{border-color:#ffe082 !important}.fill-amber-200,.fillH-amber-200:hover{fill:#ffe082 !important}.str-amber-200,.strH-amber-200:hover{stroke:#ffe082 !important}.c-amber-300,.cH-amber-300:hover{color:#ffd54f !important}.bgc-amber-300,.bgcH-amber-300:hover{background-color:#ffd54f !important}.bdc-amber-300,.bdcH-amber-300:hover{border-color:#ffd54f !important}.fill-amber-300,.fillH-amber-300:hover{fill:#ffd54f !important}.str-amber-300,.strH-amber-300:hover{stroke:#ffd54f !important}.c-amber-400,.cH-amber-400:hover{color:#ffca28 !important}.bgc-amber-400,.bgcH-amber-400:hover{background-color:#ffca28 !important}.bdc-amber-400,.bdcH-amber-400:hover{border-color:#ffca28 !important}.fill-amber-400,.fillH-amber-400:hover{fill:#ffca28 !important}.str-amber-400,.strH-amber-400:hover{stroke:#ffca28 !important}.c-amber-500,.cH-amber-500:hover{color:#ffc107 !important}.bgc-amber-500,.bgcH-amber-500:hover{background-color:#ffc107 !important}.bdc-amber-500,.bdcH-amber-500:hover{border-color:#ffc107 !important}.fill-amber-500,.fillH-amber-500:hover{fill:#ffc107 !important}.str-amber-500,.strH-amber-500:hover{stroke:#ffc107 !important}.c-amber-600,.cH-amber-600:hover{color:#ffb300 !important}.bgc-amber-600,.bgcH-amber-600:hover{background-color:#ffb300 !important}.bdc-amber-600,.bdcH-amber-600:hover{border-color:#ffb300 !important}.fill-amber-600,.fillH-amber-600:hover{fill:#ffb300 !important}.str-amber-600,.strH-amber-600:hover{stroke:#ffb300 !important}.c-amber-700,.cH-amber-700:hover{color:#ffa000 !important}.bgc-amber-700,.bgcH-amber-700:hover{background-color:#ffa000 !important}.bdc-amber-700,.bdcH-amber-700:hover{border-color:#ffa000 !important}.fill-amber-700,.fillH-amber-700:hover{fill:#ffa000 !important}.str-amber-700,.strH-amber-700:hover{stroke:#ffa000 !important}.c-amber-800,.cH-amber-800:hover{color:#ff8f00 !important}.bgc-amber-800,.bgcH-amber-800:hover{background-color:#ff8f00 !important}.bdc-amber-800,.bdcH-amber-800:hover{border-color:#ff8f00 !important}.fill-amber-800,.fillH-amber-800:hover{fill:#ff8f00 !important}.str-amber-800,.strH-amber-800:hover{stroke:#ff8f00 !important}.c-amber-900,.cH-amber-900:hover{color:#ff6f00 !important}.bgc-amber-900,.bgcH-amber-900:hover{background-color:#ff6f00 !important}.bdc-amber-900,.bdcH-amber-900:hover{border-color:#ff6f00 !important}.fill-amber-900,.fillH-amber-900:hover{fill:#ff6f00 !important}.str-amber-900,.strH-amber-900:hover{stroke:#ff6f00 !important}.c-amber-a100,.cH-amber-a100:hover{color:#ffe57f !important}.bgc-amber-a100,.bgcH-amber-a100:hover{background-color:#ffe57f !important}.bdc-amber-a100,.bdcH-amber-a100:hover{border-color:#ffe57f !important}.fill-amber-a100,.fillH-amber-a100:hover{fill:#ffe57f !important}.str-amber-a100,.strH-amber-a100:hover{stroke:#ffe57f !important}.c-amber-a200,.cH-amber-a200:hover{color:#ffd740 !important}.bgc-amber-a200,.bgcH-amber-a200:hover{background-color:#ffd740 !important}.bdc-amber-a200,.bdcH-amber-a200:hover{border-color:#ffd740 !important}.fill-amber-a200,.fillH-amber-a200:hover{fill:#ffd740 !important}.str-amber-a200,.strH-amber-a200:hover{stroke:#ffd740 !important}.c-amber-a400,.cH-amber-a400:hover{color:#ffc400 !important}.bgc-amber-a400,.bgcH-amber-a400:hover{background-color:#ffc400 !important}.bdc-amber-a400,.bdcH-amber-a400:hover{border-color:#ffc400 !important}.fill-amber-a400,.fillH-amber-a400:hover{fill:#ffc400 !important}.str-amber-a400,.strH-amber-a400:hover{stroke:#ffc400 !important}.c-amber-a700,.cH-amber-a700:hover{color:#ffab00 !important}.bgc-amber-a700,.bgcH-amber-a700:hover{background-color:#ffab00 !important}.bdc-amber-a700,.bdcH-amber-a700:hover{border-color:#ffab00 !important}.fill-amber-a700,.fillH-amber-a700:hover{fill:#ffab00 !important}.str-amber-a700,.strH-amber-a700:hover{stroke:#ffab00 !important}.c-orange-50,.cH-orange-50:hover{color:#fff3e0 !important}.bgc-orange-50,.bgcH-orange-50:hover{background-color:#fff3e0 !important}.bdc-orange-50,.bdcH-orange-50:hover{border-color:#fff3e0 !important}.fill-orange-50,.fillH-orange-50:hover{fill:#fff3e0 !important}.str-orange-50,.strH-orange-50:hover{stroke:#fff3e0 !important}.c-orange-100,.cH-orange-100:hover{color:#ffe0b2 !important}.bgc-orange-100,.bgcH-orange-100:hover{background-color:#ffe0b2 !important}.bdc-orange-100,.bdcH-orange-100:hover{border-color:#ffe0b2 !important}.fill-orange-100,.fillH-orange-100:hover{fill:#ffe0b2 !important}.str-orange-100,.strH-orange-100:hover{stroke:#ffe0b2 !important}.c-orange-200,.cH-orange-200:hover{color:#ffcc80 !important}.bgc-orange-200,.bgcH-orange-200:hover{background-color:#ffcc80 !important}.bdc-orange-200,.bdcH-orange-200:hover{border-color:#ffcc80 !important}.fill-orange-200,.fillH-orange-200:hover{fill:#ffcc80 !important}.str-orange-200,.strH-orange-200:hover{stroke:#ffcc80 !important}.c-orange-300,.cH-orange-300:hover{color:#ffb74d !important}.bgc-orange-300,.bgcH-orange-300:hover{background-color:#ffb74d !important}.bdc-orange-300,.bdcH-orange-300:hover{border-color:#ffb74d !important}.fill-orange-300,.fillH-orange-300:hover{fill:#ffb74d !important}.str-orange-300,.strH-orange-300:hover{stroke:#ffb74d !important}.c-orange-400,.cH-orange-400:hover{color:#ffa726 !important}.bgc-orange-400,.bgcH-orange-400:hover{background-color:#ffa726 !important}.bdc-orange-400,.bdcH-orange-400:hover{border-color:#ffa726 !important}.fill-orange-400,.fillH-orange-400:hover{fill:#ffa726 !important}.str-orange-400,.strH-orange-400:hover{stroke:#ffa726 !important}.c-orange-500,.cH-orange-500:hover{color:#ff9800 !important}.bgc-orange-500,.bgcH-orange-500:hover{background-color:#ff9800 !important}.bdc-orange-500,.bdcH-orange-500:hover{border-color:#ff9800 !important}.fill-orange-500,.fillH-orange-500:hover{fill:#ff9800 !important}.str-orange-500,.strH-orange-500:hover{stroke:#ff9800 !important}.c-orange-600,.cH-orange-600:hover{color:#fb8c00 !important}.bgc-orange-600,.bgcH-orange-600:hover{background-color:#fb8c00 !important}.bdc-orange-600,.bdcH-orange-600:hover{border-color:#fb8c00 !important}.fill-orange-600,.fillH-orange-600:hover{fill:#fb8c00 !important}.str-orange-600,.strH-orange-600:hover{stroke:#fb8c00 !important}.c-orange-700,.cH-orange-700:hover{color:#f57c00 !important}.bgc-orange-700,.bgcH-orange-700:hover{background-color:#f57c00 !important}.bdc-orange-700,.bdcH-orange-700:hover{border-color:#f57c00 !important}.fill-orange-700,.fillH-orange-700:hover{fill:#f57c00 !important}.str-orange-700,.strH-orange-700:hover{stroke:#f57c00 !important}.c-orange-800,.cH-orange-800:hover{color:#ef6c00 !important}.bgc-orange-800,.bgcH-orange-800:hover{background-color:#ef6c00 !important}.bdc-orange-800,.bdcH-orange-800:hover{border-color:#ef6c00 !important}.fill-orange-800,.fillH-orange-800:hover{fill:#ef6c00 !important}.str-orange-800,.strH-orange-800:hover{stroke:#ef6c00 !important}.c-orange-900,.cH-orange-900:hover{color:#e65100 !important}.bgc-orange-900,.bgcH-orange-900:hover{background-color:#e65100 !important}.bdc-orange-900,.bdcH-orange-900:hover{border-color:#e65100 !important}.fill-orange-900,.fillH-orange-900:hover{fill:#e65100 !important}.str-orange-900,.strH-orange-900:hover{stroke:#e65100 !important}.c-orange-a100,.cH-orange-a100:hover{color:#ffd180 !important}.bgc-orange-a100,.bgcH-orange-a100:hover{background-color:#ffd180 !important}.bdc-orange-a100,.bdcH-orange-a100:hover{border-color:#ffd180 !important}.fill-orange-a100,.fillH-orange-a100:hover{fill:#ffd180 !important}.str-orange-a100,.strH-orange-a100:hover{stroke:#ffd180 !important}.c-orange-a200,.cH-orange-a200:hover{color:#ffab40 !important}.bgc-orange-a200,.bgcH-orange-a200:hover{background-color:#ffab40 !important}.bdc-orange-a200,.bdcH-orange-a200:hover{border-color:#ffab40 !important}.fill-orange-a200,.fillH-orange-a200:hover{fill:#ffab40 !important}.str-orange-a200,.strH-orange-a200:hover{stroke:#ffab40 !important}.c-orange-a400,.cH-orange-a400:hover{color:#ff9100 !important}.bgc-orange-a400,.bgcH-orange-a400:hover{background-color:#ff9100 !important}.bdc-orange-a400,.bdcH-orange-a400:hover{border-color:#ff9100 !important}.fill-orange-a400,.fillH-orange-a400:hover{fill:#ff9100 !important}.str-orange-a400,.strH-orange-a400:hover{stroke:#ff9100 !important}.c-orange-a700,.cH-orange-a700:hover{color:#ff6d00 !important}.bgc-orange-a700,.bgcH-orange-a700:hover{background-color:#ff6d00 !important}.bdc-orange-a700,.bdcH-orange-a700:hover{border-color:#ff6d00 !important}.fill-orange-a700,.fillH-orange-a700:hover{fill:#ff6d00 !important}.str-orange-a700,.strH-orange-a700:hover{stroke:#ff6d00 !important}.c-deep-orange-50,.cH-deep-orange-50:hover{color:#fbe9e7 !important}.bgc-deep-orange-50,.bgcH-deep-orange-50:hover{background-color:#fbe9e7 !important}.bdc-deep-orange-50,.bdcH-deep-orange-50:hover{border-color:#fbe9e7 !important}.fill-deep-orange-50,.fillH-deep-orange-50:hover{fill:#fbe9e7 !important}.str-deep-orange-50,.strH-deep-orange-50:hover{stroke:#fbe9e7 !important}.c-deep-orange-100,.cH-deep-orange-100:hover{color:#ffccbc !important}.bgc-deep-orange-100,.bgcH-deep-orange-100:hover{background-color:#ffccbc !important}.bdc-deep-orange-100,.bdcH-deep-orange-100:hover{border-color:#ffccbc !important}.fill-deep-orange-100,.fillH-deep-orange-100:hover{fill:#ffccbc !important}.str-deep-orange-100,.strH-deep-orange-100:hover{stroke:#ffccbc !important}.c-deep-orange-200,.cH-deep-orange-200:hover{color:#ffab91 !important}.bgc-deep-orange-200,.bgcH-deep-orange-200:hover{background-color:#ffab91 !important}.bdc-deep-orange-200,.bdcH-deep-orange-200:hover{border-color:#ffab91 !important}.fill-deep-orange-200,.fillH-deep-orange-200:hover{fill:#ffab91 !important}.str-deep-orange-200,.strH-deep-orange-200:hover{stroke:#ffab91 !important}.c-deep-orange-300,.cH-deep-orange-300:hover{color:#ff8a65 !important}.bgc-deep-orange-300,.bgcH-deep-orange-300:hover{background-color:#ff8a65 !important}.bdc-deep-orange-300,.bdcH-deep-orange-300:hover{border-color:#ff8a65 !important}.fill-deep-orange-300,.fillH-deep-orange-300:hover{fill:#ff8a65 !important}.str-deep-orange-300,.strH-deep-orange-300:hover{stroke:#ff8a65 !important}.c-deep-orange-400,.cH-deep-orange-400:hover{color:#ff7043 !important}.bgc-deep-orange-400,.bgcH-deep-orange-400:hover{background-color:#ff7043 !important}.bdc-deep-orange-400,.bdcH-deep-orange-400:hover{border-color:#ff7043 !important}.fill-deep-orange-400,.fillH-deep-orange-400:hover{fill:#ff7043 !important}.str-deep-orange-400,.strH-deep-orange-400:hover{stroke:#ff7043 !important}.c-deep-orange-500,.cH-deep-orange-500:hover{color:#ff5722 !important}.bgc-deep-orange-500,.bgcH-deep-orange-500:hover{background-color:#ff5722 !important}.bdc-deep-orange-500,.bdcH-deep-orange-500:hover{border-color:#ff5722 !important}.fill-deep-orange-500,.fillH-deep-orange-500:hover{fill:#ff5722 !important}.str-deep-orange-500,.strH-deep-orange-500:hover{stroke:#ff5722 !important}.c-deep-orange-600,.cH-deep-orange-600:hover{color:#f4511e !important}.bgc-deep-orange-600,.bgcH-deep-orange-600:hover{background-color:#f4511e !important}.bdc-deep-orange-600,.bdcH-deep-orange-600:hover{border-color:#f4511e !important}.fill-deep-orange-600,.fillH-deep-orange-600:hover{fill:#f4511e !important}.str-deep-orange-600,.strH-deep-orange-600:hover{stroke:#f4511e !important}.c-deep-orange-700,.cH-deep-orange-700:hover{color:#e64a19 !important}.bgc-deep-orange-700,.bgcH-deep-orange-700:hover{background-color:#e64a19 !important}.bdc-deep-orange-700,.bdcH-deep-orange-700:hover{border-color:#e64a19 !important}.fill-deep-orange-700,.fillH-deep-orange-700:hover{fill:#e64a19 !important}.str-deep-orange-700,.strH-deep-orange-700:hover{stroke:#e64a19 !important}.c-deep-orange-800,.cH-deep-orange-800:hover{color:#d84315 !important}.bgc-deep-orange-800,.bgcH-deep-orange-800:hover{background-color:#d84315 !important}.bdc-deep-orange-800,.bdcH-deep-orange-800:hover{border-color:#d84315 !important}.fill-deep-orange-800,.fillH-deep-orange-800:hover{fill:#d84315 !important}.str-deep-orange-800,.strH-deep-orange-800:hover{stroke:#d84315 !important}.c-deep-orange-900,.cH-deep-orange-900:hover{color:#bf360c !important}.bgc-deep-orange-900,.bgcH-deep-orange-900:hover{background-color:#bf360c !important}.bdc-deep-orange-900,.bdcH-deep-orange-900:hover{border-color:#bf360c !important}.fill-deep-orange-900,.fillH-deep-orange-900:hover{fill:#bf360c !important}.str-deep-orange-900,.strH-deep-orange-900:hover{stroke:#bf360c !important}.c-deep-orange-a100,.cH-deep-orange-a100:hover{color:#ff9e80 !important}.bgc-deep-orange-a100,.bgcH-deep-orange-a100:hover{background-color:#ff9e80 !important}.bdc-deep-orange-a100,.bdcH-deep-orange-a100:hover{border-color:#ff9e80 !important}.fill-deep-orange-a100,.fillH-deep-orange-a100:hover{fill:#ff9e80 !important}.str-deep-orange-a100,.strH-deep-orange-a100:hover{stroke:#ff9e80 !important}.c-deep-orange-a200,.cH-deep-orange-a200:hover{color:#ff6e40 !important}.bgc-deep-orange-a200,.bgcH-deep-orange-a200:hover{background-color:#ff6e40 !important}.bdc-deep-orange-a200,.bdcH-deep-orange-a200:hover{border-color:#ff6e40 !important}.fill-deep-orange-a200,.fillH-deep-orange-a200:hover{fill:#ff6e40 !important}.str-deep-orange-a200,.strH-deep-orange-a200:hover{stroke:#ff6e40 !important}.c-deep-orange-a400,.cH-deep-orange-a400:hover{color:#ff3d00 !important}.bgc-deep-orange-a400,.bgcH-deep-orange-a400:hover{background-color:#ff3d00 !important}.bdc-deep-orange-a400,.bdcH-deep-orange-a400:hover{border-color:#ff3d00 !important}.fill-deep-orange-a400,.fillH-deep-orange-a400:hover{fill:#ff3d00 !important}.str-deep-orange-a400,.strH-deep-orange-a400:hover{stroke:#ff3d00 !important}.c-deep-orange-a700,.cH-deep-orange-a700:hover{color:#dd2c00 !important}.bgc-deep-orange-a700,.bgcH-deep-orange-a700:hover{background-color:#dd2c00 !important}.bdc-deep-orange-a700,.bdcH-deep-orange-a700:hover{border-color:#dd2c00 !important}.fill-deep-orange-a700,.fillH-deep-orange-a700:hover{fill:#dd2c00 !important}.str-deep-orange-a700,.strH-deep-orange-a700:hover{stroke:#dd2c00 !important}.c-brown-50,.cH-brown-50:hover{color:#efebe9 !important}.bgc-brown-50,.bgcH-brown-50:hover{background-color:#efebe9 !important}.bdc-brown-50,.bdcH-brown-50:hover{border-color:#efebe9 !important}.fill-brown-50,.fillH-brown-50:hover{fill:#efebe9 !important}.str-brown-50,.strH-brown-50:hover{stroke:#efebe9 !important}.c-brown-100,.cH-brown-100:hover{color:#d7ccc8 !important}.bgc-brown-100,.bgcH-brown-100:hover{background-color:#d7ccc8 !important}.bdc-brown-100,.bdcH-brown-100:hover{border-color:#d7ccc8 !important}.fill-brown-100,.fillH-brown-100:hover{fill:#d7ccc8 !important}.str-brown-100,.strH-brown-100:hover{stroke:#d7ccc8 !important}.c-brown-200,.cH-brown-200:hover{color:#bcaaa4 !important}.bgc-brown-200,.bgcH-brown-200:hover{background-color:#bcaaa4 !important}.bdc-brown-200,.bdcH-brown-200:hover{border-color:#bcaaa4 !important}.fill-brown-200,.fillH-brown-200:hover{fill:#bcaaa4 !important}.str-brown-200,.strH-brown-200:hover{stroke:#bcaaa4 !important}.c-brown-300,.cH-brown-300:hover{color:#a1887f !important}.bgc-brown-300,.bgcH-brown-300:hover{background-color:#a1887f !important}.bdc-brown-300,.bdcH-brown-300:hover{border-color:#a1887f !important}.fill-brown-300,.fillH-brown-300:hover{fill:#a1887f !important}.str-brown-300,.strH-brown-300:hover{stroke:#a1887f !important}.c-brown-400,.cH-brown-400:hover{color:#8d6e63 !important}.bgc-brown-400,.bgcH-brown-400:hover{background-color:#8d6e63 !important}.bdc-brown-400,.bdcH-brown-400:hover{border-color:#8d6e63 !important}.fill-brown-400,.fillH-brown-400:hover{fill:#8d6e63 !important}.str-brown-400,.strH-brown-400:hover{stroke:#8d6e63 !important}.c-brown-500,.cH-brown-500:hover{color:#795548 !important}.bgc-brown-500,.bgcH-brown-500:hover{background-color:#795548 !important}.bdc-brown-500,.bdcH-brown-500:hover{border-color:#795548 !important}.fill-brown-500,.fillH-brown-500:hover{fill:#795548 !important}.str-brown-500,.strH-brown-500:hover{stroke:#795548 !important}.c-brown-600,.cH-brown-600:hover{color:#6d4c41 !important}.bgc-brown-600,.bgcH-brown-600:hover{background-color:#6d4c41 !important}.bdc-brown-600,.bdcH-brown-600:hover{border-color:#6d4c41 !important}.fill-brown-600,.fillH-brown-600:hover{fill:#6d4c41 !important}.str-brown-600,.strH-brown-600:hover{stroke:#6d4c41 !important}.c-brown-700,.cH-brown-700:hover{color:#5d4037 !important}.bgc-brown-700,.bgcH-brown-700:hover{background-color:#5d4037 !important}.bdc-brown-700,.bdcH-brown-700:hover{border-color:#5d4037 !important}.fill-brown-700,.fillH-brown-700:hover{fill:#5d4037 !important}.str-brown-700,.strH-brown-700:hover{stroke:#5d4037 !important}.c-brown-800,.cH-brown-800:hover{color:#4e342e !important}.bgc-brown-800,.bgcH-brown-800:hover{background-color:#4e342e !important}.bdc-brown-800,.bdcH-brown-800:hover{border-color:#4e342e !important}.fill-brown-800,.fillH-brown-800:hover{fill:#4e342e !important}.str-brown-800,.strH-brown-800:hover{stroke:#4e342e !important}.c-brown-900,.cH-brown-900:hover{color:#3e2723 !important}.bgc-brown-900,.bgcH-brown-900:hover{background-color:#3e2723 !important}.bdc-brown-900,.bdcH-brown-900:hover{border-color:#3e2723 !important}.fill-brown-900,.fillH-brown-900:hover{fill:#3e2723 !important}.str-brown-900,.strH-brown-900:hover{stroke:#3e2723 !important}.c-grey-50,.cH-grey-50:hover{color:#fafafa !important}.bgc-grey-50,.bgcH-grey-50:hover{background-color:#fafafa !important}.bdc-grey-50,.bdcH-grey-50:hover{border-color:#fafafa !important}.fill-grey-50,.fillH-grey-50:hover{fill:#fafafa !important}.str-grey-50,.strH-grey-50:hover{stroke:#fafafa !important}.c-grey-100,.cH-grey-100:hover{color:#f5f5f5 !important}.bgc-grey-100,.bgcH-grey-100:hover{background-color:#f5f5f5 !important}.bdc-grey-100,.bdcH-grey-100:hover{border-color:#f5f5f5 !important}.fill-grey-100,.fillH-grey-100:hover{fill:#f5f5f5 !important}.str-grey-100,.strH-grey-100:hover{stroke:#f5f5f5 !important}.c-grey-200,.cH-grey-200:hover{color:#eee !important}.bgc-grey-200,.bgcH-grey-200:hover{background-color:#eee !important}.bdc-grey-200,.bdcH-grey-200:hover{border-color:#eee !important}.fill-grey-200,.fillH-grey-200:hover{fill:#eee !important}.str-grey-200,.strH-grey-200:hover{stroke:#eee !important}.c-grey-300,.cH-grey-300:hover{color:#e0e0e0 !important}.bgc-grey-300,.bgcH-grey-300:hover{background-color:#e0e0e0 !important}.bdc-grey-300,.bdcH-grey-300:hover{border-color:#e0e0e0 !important}.fill-grey-300,.fillH-grey-300:hover{fill:#e0e0e0 !important}.str-grey-300,.strH-grey-300:hover{stroke:#e0e0e0 !important}.c-grey-400,.cH-grey-400:hover{color:#bdbdbd !important}.bgc-grey-400,.bgcH-grey-400:hover{background-color:#bdbdbd !important}.bdc-grey-400,.bdcH-grey-400:hover{border-color:#bdbdbd !important}.fill-grey-400,.fillH-grey-400:hover{fill:#bdbdbd !important}.str-grey-400,.strH-grey-400:hover{stroke:#bdbdbd !important}.c-grey-500,.cH-grey-500:hover{color:#9e9e9e !important}.bgc-grey-500,.bgcH-grey-500:hover{background-color:#9e9e9e !important}.bdc-grey-500,.bdcH-grey-500:hover{border-color:#9e9e9e !important}.fill-grey-500,.fillH-grey-500:hover{fill:#9e9e9e !important}.str-grey-500,.strH-grey-500:hover{stroke:#9e9e9e !important}.c-grey-600,.cH-grey-600:hover{color:#757575 !important}.bgc-grey-600,.bgcH-grey-600:hover{background-color:#757575 !important}.bdc-grey-600,.bdcH-grey-600:hover{border-color:#757575 !important}.fill-grey-600,.fillH-grey-600:hover{fill:#757575 !important}.str-grey-600,.strH-grey-600:hover{stroke:#757575 !important}.c-grey-700,.cH-grey-700:hover{color:#616161 !important}.bgc-grey-700,.bgcH-grey-700:hover{background-color:#616161 !important}.bdc-grey-700,.bdcH-grey-700:hover{border-color:#616161 !important}.fill-grey-700,.fillH-grey-700:hover{fill:#616161 !important}.str-grey-700,.strH-grey-700:hover{stroke:#616161 !important}.c-grey-800,.cH-grey-800:hover{color:#424242 !important}.bgc-grey-800,.bgcH-grey-800:hover{background-color:#424242 !important}.bdc-grey-800,.bdcH-grey-800:hover{border-color:#424242 !important}.fill-grey-800,.fillH-grey-800:hover{fill:#424242 !important}.str-grey-800,.strH-grey-800:hover{stroke:#424242 !important}.c-grey-900,.cH-grey-900:hover{color:#212121 !important}.bgc-grey-900,.bgcH-grey-900:hover{background-color:#212121 !important}.bdc-grey-900,.bdcH-grey-900:hover{border-color:#212121 !important}.fill-grey-900,.fillH-grey-900:hover{fill:#212121 !important}.str-grey-900,.strH-grey-900:hover{stroke:#212121 !important}.c-blue-grey-50,.cH-blue-grey-50:hover{color:#eceff1 !important}.bgc-blue-grey-50,.bgcH-blue-grey-50:hover{background-color:#eceff1 !important}.bdc-blue-grey-50,.bdcH-blue-grey-50:hover{border-color:#eceff1 !important}.fill-blue-grey-50,.fillH-blue-grey-50:hover{fill:#eceff1 !important}.str-blue-grey-50,.strH-blue-grey-50:hover{stroke:#eceff1 !important}.c-blue-grey-100,.cH-blue-grey-100:hover{color:#cfd8dc !important}.bgc-blue-grey-100,.bgcH-blue-grey-100:hover{background-color:#cfd8dc !important}.bdc-blue-grey-100,.bdcH-blue-grey-100:hover{border-color:#cfd8dc !important}.fill-blue-grey-100,.fillH-blue-grey-100:hover{fill:#cfd8dc !important}.str-blue-grey-100,.strH-blue-grey-100:hover{stroke:#cfd8dc !important}.c-blue-grey-200,.cH-blue-grey-200:hover{color:#b0bec5 !important}.bgc-blue-grey-200,.bgcH-blue-grey-200:hover{background-color:#b0bec5 !important}.bdc-blue-grey-200,.bdcH-blue-grey-200:hover{border-color:#b0bec5 !important}.fill-blue-grey-200,.fillH-blue-grey-200:hover{fill:#b0bec5 !important}.str-blue-grey-200,.strH-blue-grey-200:hover{stroke:#b0bec5 !important}.c-blue-grey-300,.cH-blue-grey-300:hover{color:#90a4ae !important}.bgc-blue-grey-300,.bgcH-blue-grey-300:hover{background-color:#90a4ae !important}.bdc-blue-grey-300,.bdcH-blue-grey-300:hover{border-color:#90a4ae !important}.fill-blue-grey-300,.fillH-blue-grey-300:hover{fill:#90a4ae !important}.str-blue-grey-300,.strH-blue-grey-300:hover{stroke:#90a4ae !important}.c-blue-grey-400,.cH-blue-grey-400:hover{color:#78909c !important}.bgc-blue-grey-400,.bgcH-blue-grey-400:hover{background-color:#78909c !important}.bdc-blue-grey-400,.bdcH-blue-grey-400:hover{border-color:#78909c !important}.fill-blue-grey-400,.fillH-blue-grey-400:hover{fill:#78909c !important}.str-blue-grey-400,.strH-blue-grey-400:hover{stroke:#78909c !important}.c-blue-grey-500,.cH-blue-grey-500:hover{color:#607d8b !important}.bgc-blue-grey-500,.bgcH-blue-grey-500:hover{background-color:#607d8b !important}.bdc-blue-grey-500,.bdcH-blue-grey-500:hover{border-color:#607d8b !important}.fill-blue-grey-500,.fillH-blue-grey-500:hover{fill:#607d8b !important}.str-blue-grey-500,.strH-blue-grey-500:hover{stroke:#607d8b !important}.c-blue-grey-600,.cH-blue-grey-600:hover{color:#546e7a !important}.bgc-blue-grey-600,.bgcH-blue-grey-600:hover{background-color:#546e7a !important}.bdc-blue-grey-600,.bdcH-blue-grey-600:hover{border-color:#546e7a !important}.fill-blue-grey-600,.fillH-blue-grey-600:hover{fill:#546e7a !important}.str-blue-grey-600,.strH-blue-grey-600:hover{stroke:#546e7a !important}.c-blue-grey-700,.cH-blue-grey-700:hover{color:#455a64 !important}.bgc-blue-grey-700,.bgcH-blue-grey-700:hover{background-color:#455a64 !important}.bdc-blue-grey-700,.bdcH-blue-grey-700:hover{border-color:#455a64 !important}.fill-blue-grey-700,.fillH-blue-grey-700:hover{fill:#455a64 !important}.str-blue-grey-700,.strH-blue-grey-700:hover{stroke:#455a64 !important}.c-blue-grey-800,.cH-blue-grey-800:hover{color:#37474f !important}.bgc-blue-grey-800,.bgcH-blue-grey-800:hover{background-color:#37474f !important}.bdc-blue-grey-800,.bdcH-blue-grey-800:hover{border-color:#37474f !important}.fill-blue-grey-800,.fillH-blue-grey-800:hover{fill:#37474f !important}.str-blue-grey-800,.strH-blue-grey-800:hover{stroke:#37474f !important}.c-blue-grey-900,.cH-blue-grey-900:hover{color:#263238 !important}.bgc-blue-grey-900,.bgcH-blue-grey-900:hover{background-color:#263238 !important}.bdc-blue-grey-900,.bdcH-blue-grey-900:hover{border-color:#263238 !important}.fill-blue-grey-900,.fillH-blue-grey-900:hover{fill:#263238 !important}.str-blue-grey-900,.strH-blue-grey-900:hover{stroke:#263238 !important}.c-grey-100,.cH-grey-100:hover{color:#f9fafb !important}.bgc-grey-100,.bgcH-grey-100:hover{background-color:#f9fafb !important}.bdc-grey-100,.bdcH-grey-100:hover{border-color:#f9fafb !important}.fill-grey-100,.fillH-grey-100:hover{fill:#f9fafb !important}.str-grey-100,.strH-grey-100:hover{stroke:#f9fafb !important}.c-grey-200,.cH-grey-200:hover{color:#f2f3f5 !important}.bgc-grey-200,.bgcH-grey-200:hover{background-color:#f2f3f5 !important}.bdc-grey-200,.bdcH-grey-200:hover{border-color:#f2f3f5 !important}.fill-grey-200,.fillH-grey-200:hover{fill:#f2f3f5 !important}.str-grey-200,.strH-grey-200:hover{stroke:#f2f3f5 !important}.c-grey-300,.cH-grey-300:hover{color:#e6eaf0 !important}.bgc-grey-300,.bgcH-grey-300:hover{background-color:#e6eaf0 !important}.bdc-grey-300,.bdcH-grey-300:hover{border-color:#e6eaf0 !important}.fill-grey-300,.fillH-grey-300:hover{fill:#e6eaf0 !important}.str-grey-300,.strH-grey-300:hover{stroke:#e6eaf0 !important}.c-grey-400,.cH-grey-400:hover{color:#d3d9e3 !important}.bgc-grey-400,.bgcH-grey-400:hover{background-color:#d3d9e3 !important}.bdc-grey-400,.bdcH-grey-400:hover{border-color:#d3d9e3 !important}.fill-grey-400,.fillH-grey-400:hover{fill:#d3d9e3 !important}.str-grey-400,.strH-grey-400:hover{stroke:#d3d9e3 !important}.c-grey-500,.cH-grey-500:hover{color:#b9c2d0 !important}.bgc-grey-500,.bgcH-grey-500:hover{background-color:#b9c2d0 !important}.bdc-grey-500,.bdcH-grey-500:hover{border-color:#b9c2d0 !important}.fill-grey-500,.fillH-grey-500:hover{fill:#b9c2d0 !important}.str-grey-500,.strH-grey-500:hover{stroke:#b9c2d0 !important}.c-grey-600,.cH-grey-600:hover{color:#7c8695 !important}.bgc-grey-600,.bgcH-grey-600:hover{background-color:#7c8695 !important}.bdc-grey-600,.bdcH-grey-600:hover{border-color:#7c8695 !important}.fill-grey-600,.fillH-grey-600:hover{fill:#7c8695 !important}.str-grey-600,.strH-grey-600:hover{stroke:#7c8695 !important}.c-grey-700,.cH-grey-700:hover{color:#72777a !important}.bgc-grey-700,.bgcH-grey-700:hover{background-color:#72777a !important}.bdc-grey-700,.bdcH-grey-700:hover{border-color:#72777a !important}.fill-grey-700,.fillH-grey-700:hover{fill:#72777a !important}.str-grey-700,.strH-grey-700:hover{stroke:#72777a !important}.c-grey-800,.cH-grey-800:hover{color:#565a5c !important}.bgc-grey-800,.bgcH-grey-800:hover{background-color:#565a5c !important}.bdc-grey-800,.bdcH-grey-800:hover{border-color:#565a5c !important}.fill-grey-800,.fillH-grey-800:hover{fill:#565a5c !important}.str-grey-800,.strH-grey-800:hover{stroke:#565a5c !important}.c-grey-900,.cH-grey-900:hover{color:#313435 !important}.bgc-grey-900,.bgcH-grey-900:hover{background-color:#313435 !important}.bdc-grey-900,.bdcH-grey-900:hover{border-color:#313435 !important}.fill-grey-900,.fillH-grey-900:hover{fill:#313435 !important}.str-grey-900,.strH-grey-900:hover{stroke:#313435 !important}.ps{overflow:hidden !important;overflow-anchor:none;-ms-overflow-style:none;touch-action:auto;-ms-touch-action:auto}.ps__rail-x{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;height:15px;bottom:0px;position:absolute}.ps__rail-y{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;width:15px;right:0;position:absolute}.ps--active-x>.ps__rail-x,.ps--active-y>.ps__rail-y{display:block;background-color:transparent}.ps:hover>.ps__rail-x,.ps:hover>.ps__rail-y,.ps--focus>.ps__rail-x,.ps--focus>.ps__rail-y,.ps--scrolling-x>.ps__rail-x,.ps--scrolling-y>.ps__rail-y{opacity:.6}.ps .ps__rail-x:hover,.ps .ps__rail-y:hover,.ps .ps__rail-x:focus,.ps .ps__rail-y:focus,.ps .ps__rail-x.ps--clicking,.ps .ps__rail-y.ps--clicking{background-color:#eee;opacity:.9}.ps__thumb-x{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,height .2s ease-in-out;-webkit-transition:background-color .2s linear,height .2s ease-in-out;height:6px;bottom:2px;position:absolute}.ps__thumb-y{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,width .2s ease-in-out;-webkit-transition:background-color .2s linear,width .2s ease-in-out;width:6px;right:2px;position:absolute}.ps__rail-x:hover>.ps__thumb-x,.ps__rail-x:focus>.ps__thumb-x,.ps__rail-x.ps--clicking .ps__thumb-x{background-color:#999;height:11px}.ps__rail-y:hover>.ps__thumb-y,.ps__rail-y:focus>.ps__thumb-y,.ps__rail-y.ps--clicking .ps__thumb-y{background-color:#999;width:11px}@supports(-ms-overflow-style: none){.ps{overflow:auto !important}}@media screen and (-ms-high-contrast: active),(-ms-high-contrast: none){.ps{overflow:auto !important}}@font-face{font-family:"themify";src:url(assets/static/themify.eot);src:url(assets/static/themify.eot?#iefix-fvbane) format("embedded-opentype"),url(assets/static/themify.woff) format("woff"),url(assets/static/themify.ttf) format("truetype"),url(assets/themify.svg#themify) format("svg");font-weight:normal;font-style:normal}[class^=ti-],[class*=" ti-"]{font-family:"themify";speak:none;font-style:normal;font-weight:normal;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ti-wand:before{content:""}.ti-volume:before{content:""}.ti-user:before{content:""}.ti-unlock:before{content:""}.ti-unlink:before{content:""}.ti-trash:before{content:""}.ti-thought:before{content:""}.ti-target:before{content:""}.ti-tag:before{content:""}.ti-tablet:before{content:""}.ti-star:before{content:""}.ti-spray:before{content:""}.ti-signal:before{content:""}.ti-shopping-cart:before{content:""}.ti-shopping-cart-full:before{content:""}.ti-settings:before{content:""}.ti-search:before{content:""}.ti-zoom-in:before{content:""}.ti-zoom-out:before{content:""}.ti-cut:before{content:""}.ti-ruler:before{content:""}.ti-ruler-pencil:before{content:""}.ti-ruler-alt:before{content:""}.ti-bookmark:before{content:""}.ti-bookmark-alt:before{content:""}.ti-reload:before{content:""}.ti-plus:before{content:""}.ti-pin:before{content:""}.ti-pencil:before{content:""}.ti-pencil-alt:before{content:""}.ti-paint-roller:before{content:""}.ti-paint-bucket:before{content:""}.ti-na:before{content:""}.ti-mobile:before{content:""}.ti-minus:before{content:""}.ti-medall:before{content:""}.ti-medall-alt:before{content:""}.ti-marker:before{content:""}.ti-marker-alt:before{content:""}.ti-arrow-up:before{content:""}.ti-arrow-right:before{content:""}.ti-arrow-left:before{content:""}.ti-arrow-down:before{content:""}.ti-lock:before{content:""}.ti-location-arrow:before{content:""}.ti-link:before{content:""}.ti-layout:before{content:""}.ti-layers:before{content:""}.ti-layers-alt:before{content:""}.ti-key:before{content:""}.ti-import:before{content:""}.ti-image:before{content:""}.ti-heart:before{content:""}.ti-heart-broken:before{content:""}.ti-hand-stop:before{content:""}.ti-hand-open:before{content:""}.ti-hand-drag:before{content:""}.ti-folder:before{content:""}.ti-flag:before{content:""}.ti-flag-alt:before{content:""}.ti-flag-alt-2:before{content:""}.ti-eye:before{content:""}.ti-export:before{content:""}.ti-exchange-vertical:before{content:""}.ti-desktop:before{content:""}.ti-cup:before{content:""}.ti-crown:before{content:""}.ti-comments:before{content:""}.ti-comment:before{content:""}.ti-comment-alt:before{content:""}.ti-close:before{content:""}.ti-clip:before{content:""}.ti-angle-up:before{content:""}.ti-angle-right:before{content:""}.ti-angle-left:before{content:""}.ti-angle-down:before{content:""}.ti-check:before{content:""}.ti-check-box:before{content:""}.ti-camera:before{content:""}.ti-announcement:before{content:""}.ti-brush:before{content:""}.ti-briefcase:before{content:""}.ti-bolt:before{content:""}.ti-bolt-alt:before{content:""}.ti-blackboard:before{content:""}.ti-bag:before{content:""}.ti-move:before{content:""}.ti-arrows-vertical:before{content:""}.ti-arrows-horizontal:before{content:""}.ti-fullscreen:before{content:""}.ti-arrow-top-right:before{content:""}.ti-arrow-top-left:before{content:""}.ti-arrow-circle-up:before{content:""}.ti-arrow-circle-right:before{content:""}.ti-arrow-circle-left:before{content:""}.ti-arrow-circle-down:before{content:""}.ti-angle-double-up:before{content:""}.ti-angle-double-right:before{content:""}.ti-angle-double-left:before{content:""}.ti-angle-double-down:before{content:""}.ti-zip:before{content:""}.ti-world:before{content:""}.ti-wheelchair:before{content:""}.ti-view-list:before{content:""}.ti-view-list-alt:before{content:""}.ti-view-grid:before{content:""}.ti-uppercase:before{content:""}.ti-upload:before{content:""}.ti-underline:before{content:""}.ti-truck:before{content:""}.ti-timer:before{content:""}.ti-ticket:before{content:""}.ti-thumb-up:before{content:""}.ti-thumb-down:before{content:""}.ti-text:before{content:""}.ti-stats-up:before{content:""}.ti-stats-down:before{content:""}.ti-split-v:before{content:""}.ti-split-h:before{content:""}.ti-smallcap:before{content:""}.ti-shine:before{content:""}.ti-shift-right:before{content:""}.ti-shift-left:before{content:""}.ti-shield:before{content:""}.ti-notepad:before{content:""}.ti-server:before{content:""}.ti-quote-right:before{content:""}.ti-quote-left:before{content:""}.ti-pulse:before{content:""}.ti-printer:before{content:""}.ti-power-off:before{content:""}.ti-plug:before{content:""}.ti-pie-chart:before{content:""}.ti-paragraph:before{content:""}.ti-panel:before{content:""}.ti-package:before{content:""}.ti-music:before{content:""}.ti-music-alt:before{content:""}.ti-mouse:before{content:""}.ti-mouse-alt:before{content:""}.ti-money:before{content:""}.ti-microphone:before{content:""}.ti-menu:before{content:""}.ti-menu-alt:before{content:""}.ti-map:before{content:""}.ti-map-alt:before{content:""}.ti-loop:before{content:""}.ti-location-pin:before{content:""}.ti-list:before{content:""}.ti-light-bulb:before{content:""}.ti-Italic:before{content:""}.ti-info:before{content:""}.ti-infinite:before{content:""}.ti-id-badge:before{content:""}.ti-hummer:before{content:""}.ti-home:before{content:""}.ti-help:before{content:""}.ti-headphone:before{content:""}.ti-harddrives:before{content:""}.ti-harddrive:before{content:""}.ti-gift:before{content:""}.ti-game:before{content:""}.ti-filter:before{content:""}.ti-files:before{content:""}.ti-file:before{content:""}.ti-eraser:before{content:""}.ti-envelope:before{content:""}.ti-download:before{content:""}.ti-direction:before{content:""}.ti-direction-alt:before{content:""}.ti-dashboard:before{content:""}.ti-control-stop:before{content:""}.ti-control-shuffle:before{content:""}.ti-control-play:before{content:""}.ti-control-pause:before{content:""}.ti-control-forward:before{content:""}.ti-control-backward:before{content:""}.ti-cloud:before{content:""}.ti-cloud-up:before{content:""}.ti-cloud-down:before{content:""}.ti-clipboard:before{content:""}.ti-car:before{content:""}.ti-calendar:before{content:""}.ti-book:before{content:""}.ti-bell:before{content:""}.ti-basketball:before{content:""}.ti-bar-chart:before{content:""}.ti-bar-chart-alt:before{content:""}.ti-back-right:before{content:""}.ti-back-left:before{content:""}.ti-arrows-corner:before{content:""}.ti-archive:before{content:""}.ti-anchor:before{content:""}.ti-align-right:before{content:""}.ti-align-left:before{content:""}.ti-align-justify:before{content:""}.ti-align-center:before{content:""}.ti-alert:before{content:""}.ti-alarm-clock:before{content:""}.ti-agenda:before{content:""}.ti-write:before{content:""}.ti-window:before{content:""}.ti-widgetized:before{content:""}.ti-widget:before{content:""}.ti-widget-alt:before{content:""}.ti-wallet:before{content:""}.ti-video-clapper:before{content:""}.ti-video-camera:before{content:""}.ti-vector:before{content:""}.ti-themify-logo:before{content:""}.ti-themify-favicon:before{content:""}.ti-themify-favicon-alt:before{content:""}.ti-support:before{content:""}.ti-stamp:before{content:""}.ti-split-v-alt:before{content:""}.ti-slice:before{content:""}.ti-shortcode:before{content:""}.ti-shift-right-alt:before{content:""}.ti-shift-left-alt:before{content:""}.ti-ruler-alt-2:before{content:""}.ti-receipt:before{content:""}.ti-pin2:before{content:""}.ti-pin-alt:before{content:""}.ti-pencil-alt2:before{content:""}.ti-palette:before{content:""}.ti-more:before{content:""}.ti-more-alt:before{content:""}.ti-microphone-alt:before{content:""}.ti-magnet:before{content:""}.ti-line-double:before{content:""}.ti-line-dotted:before{content:""}.ti-line-dashed:before{content:""}.ti-layout-width-full:before{content:""}.ti-layout-width-default:before{content:""}.ti-layout-width-default-alt:before{content:""}.ti-layout-tab:before{content:""}.ti-layout-tab-window:before{content:""}.ti-layout-tab-v:before{content:""}.ti-layout-tab-min:before{content:""}.ti-layout-slider:before{content:""}.ti-layout-slider-alt:before{content:""}.ti-layout-sidebar-right:before{content:""}.ti-layout-sidebar-none:before{content:""}.ti-layout-sidebar-left:before{content:""}.ti-layout-placeholder:before{content:""}.ti-layout-menu:before{content:""}.ti-layout-menu-v:before{content:""}.ti-layout-menu-separated:before{content:""}.ti-layout-menu-full:before{content:""}.ti-layout-media-right-alt:before{content:""}.ti-layout-media-right:before{content:""}.ti-layout-media-overlay:before{content:""}.ti-layout-media-overlay-alt:before{content:""}.ti-layout-media-overlay-alt-2:before{content:""}.ti-layout-media-left-alt:before{content:""}.ti-layout-media-left:before{content:""}.ti-layout-media-center-alt:before{content:""}.ti-layout-media-center:before{content:""}.ti-layout-list-thumb:before{content:""}.ti-layout-list-thumb-alt:before{content:""}.ti-layout-list-post:before{content:""}.ti-layout-list-large-image:before{content:""}.ti-layout-line-solid:before{content:""}.ti-layout-grid4:before{content:""}.ti-layout-grid3:before{content:""}.ti-layout-grid2:before{content:""}.ti-layout-grid2-thumb:before{content:""}.ti-layout-cta-right:before{content:""}.ti-layout-cta-left:before{content:""}.ti-layout-cta-center:before{content:""}.ti-layout-cta-btn-right:before{content:""}.ti-layout-cta-btn-left:before{content:""}.ti-layout-column4:before{content:""}.ti-layout-column3:before{content:""}.ti-layout-column2:before{content:""}.ti-layout-accordion-separated:before{content:""}.ti-layout-accordion-merged:before{content:""}.ti-layout-accordion-list:before{content:""}.ti-ink-pen:before{content:""}.ti-info-alt:before{content:""}.ti-help-alt:before{content:""}.ti-headphone-alt:before{content:""}.ti-hand-point-up:before{content:""}.ti-hand-point-right:before{content:""}.ti-hand-point-left:before{content:""}.ti-hand-point-down:before{content:""}.ti-gallery:before{content:""}.ti-face-smile:before{content:""}.ti-face-sad:before{content:""}.ti-credit-card:before{content:""}.ti-control-skip-forward:before{content:""}.ti-control-skip-backward:before{content:""}.ti-control-record:before{content:""}.ti-control-eject:before{content:""}.ti-comments-smiley:before{content:""}.ti-brush-alt:before{content:""}.ti-youtube:before{content:""}.ti-vimeo:before{content:""}.ti-twitter:before{content:""}.ti-time:before{content:""}.ti-tumblr:before{content:""}.ti-skype:before{content:""}.ti-share:before{content:""}.ti-share-alt:before{content:""}.ti-rocket:before{content:""}.ti-pinterest:before{content:""}.ti-new-window:before{content:""}.ti-microsoft:before{content:""}.ti-list-ol:before{content:""}.ti-linkedin:before{content:""}.ti-layout-sidebar-2:before{content:""}.ti-layout-grid4-alt:before{content:""}.ti-layout-grid3-alt:before{content:""}.ti-layout-grid2-alt:before{content:""}.ti-layout-column4-alt:before{content:""}.ti-layout-column3-alt:before{content:""}.ti-layout-column2-alt:before{content:""}.ti-instagram:before{content:""}.ti-google:before{content:""}.ti-github:before{content:""}.ti-flickr:before{content:""}.ti-facebook:before{content:""}.ti-dropbox:before{content:""}.ti-dribbble:before{content:""}.ti-apple:before{content:""}.ti-android:before{content:""}.ti-save:before{content:""}.ti-save-alt:before{content:""}.ti-yahoo:before{content:""}.ti-wordpress:before{content:""}.ti-vimeo-alt:before{content:""}.ti-twitter-alt:before{content:""}.ti-tumblr-alt:before{content:""}.ti-trello:before{content:""}.ti-stack-overflow:before{content:""}.ti-soundcloud:before{content:""}.ti-sharethis:before{content:""}.ti-sharethis-alt:before{content:""}.ti-reddit:before{content:""}.ti-pinterest-alt:before{content:""}.ti-microsoft-alt:before{content:""}.ti-linux:before{content:""}.ti-jsfiddle:before{content:""}.ti-joomla:before{content:""}.ti-html5:before{content:""}.ti-flickr-alt:before{content:""}.ti-email:before{content:""}.ti-drupal:before{content:""}.ti-dropbox-alt:before{content:""}.ti-css3:before{content:""}.ti-rss:before{content:""}.ti-rss-alt:before{content:""}/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:"FontAwesome";src:url(assets/static/fontawesome-webfont.eot);src:url(assets/static/fontawesome-webfont.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(assets/static/fontawesome-webfont.woff2) format("woff2"),url(assets/static/fontawesome-webfont.woff) format("woff"),url(assets/static/fontawesome-webfont.ttf) format("truetype"),url(assets/fontawesome-webfont.svg#fontawesomeregular) format("svg");font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-remove:before,.fa-close:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-gear:before,.fa-cog:before{content:""}.fa-trash-o:before{content:""}.fa-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-rotate-right:before,.fa-repeat:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before{content:""}.fa-check-circle:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-warning:before,.fa-exclamation-triangle:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-gears:before,.fa-cogs:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before{content:""}.fa-arrow-circle-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-save:before,.fa-floppy-o:before{content:""}.fa-square:before{content:""}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-unsorted:before,.fa-sort:before{content:""}.fa-sort-down:before,.fa-sort-desc:before{content:""}.fa-sort-up:before,.fa-sort-asc:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-legal:before,.fa-gavel:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-flash:before,.fa-bolt:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-paste:before,.fa-clipboard:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-unlink:before,.fa-chain-broken:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:""}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:""}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:""}.fa-euro:before,.fa-eur:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-rupee:before,.fa-inr:before{content:""}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:""}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:""}.fa-won:before,.fa-krw:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-turkish-lira:before,.fa-try:before{content:""}.fa-plus-square-o:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-institution:before,.fa-bank:before,.fa-university:before{content:""}.fa-mortar-board:before,.fa-graduation-cap:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:""}.fa-file-zip-o:before,.fa-file-archive-o:before{content:""}.fa-file-sound-o:before,.fa-file-audio-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:""}.fa-ge:before,.fa-empire:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-send:before,.fa-paper-plane:before{content:""}.fa-send-o:before,.fa-paper-plane-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-hotel:before,.fa-bed:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-yc:before,.fa-y-combinator:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-tv:before,.fa-television:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:""}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-signing:before,.fa-sign-language:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-vcard:before,.fa-address-card:before{content:""}.fa-vcard-o:before,.fa-address-card-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.ps__rail-y{right:0 !important;left:auto !important}#jqstooltip{width:auto !important;height:auto !important;padding:5px 10px !important;border-radius:2px !important}table.dataTable{background:var(--c-bkg-card);color:var(--c-text-base)}table.dataTable.no-footer{border-bottom:1px solid var(--c-border);margin-bottom:20px}table.dataTable thead th{background:var(--c-bkg-card);color:var(--c-text-base);border-color:var(--c-border)}table.dataTable tbody td{background:var(--c-bkg-card);color:var(--c-text-base);border-color:var(--c-border)}table.dataTable tbody tr:nth-child(even) td{background:color-mix(in srgb, var(--c-bkg-card) 95%, var(--c-border))}table.dataTable tbody tr:hover td{background:color-mix(in srgb, var(--c-bkg-card) 90%, var(--c-border)) !important}.sorting_asc:focus{outline:none}.dataTables_wrapper{overflow:hidden;padding-bottom:5px}.dataTables_wrapper .dataTables_length{color:var(--c-text-base);float:left}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_length{text-align:left}}.dataTables_wrapper .dataTables_length select{border:1px solid var(--c-border);border-radius:2px;box-shadow:none;height:35px;font-size:14px;padding:5px;margin-left:5px;margin-right:5px;color:var(--c-text-base);background:var(--c-bkg-card);transition:all .2s ease-in}.dataTables_wrapper .dataTables_filter{color:var(--c-text-base);float:right}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_filter{text-align:left}}.dataTables_wrapper .dataTables_filter input{border:1px solid var(--c-border);border-radius:2px;box-shadow:none;height:35px;font-size:14px;margin-left:15px;padding:5px;color:var(--c-text-base);background:var(--c-bkg-card);transition:all .2s ease-in}.dataTables_wrapper .dataTables_filter input::-moz-placeholder{color:var(--c-text-muted)}.dataTables_wrapper .dataTables_filter input::placeholder{color:var(--c-text-muted)}.dataTables_wrapper .dataTables_info{color:var(--c-text-base);float:left}.dataTables_wrapper .dataTables_processing{color:var(--c-text-base)}.dataTables_wrapper .dataTables_paginate{color:var(--c-text-base);float:right}.dataTables_wrapper .dataTables_paginate .paginate_button{color:var(--c-text-base) !important;padding:6px 12px;border-radius:2px;margin-right:10px;transition:all .2s ease-in-out;-webkit-text-decoration:none;text-decoration:none;background:var(--c-bkg-card);border:1px solid var(--c-border)}.dataTables_wrapper .dataTables_paginate .paginate_button.next,.dataTables_wrapper .dataTables_paginate .paginate_button.previous,.dataTables_wrapper .dataTables_paginate .paginate_button.first,.dataTables_wrapper .dataTables_paginate .paginate_button.last{border-radius:2px;-webkit-text-decoration:none;text-decoration:none}.dataTables_wrapper .dataTables_paginate .paginate_button.next:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.next:focus,.dataTables_wrapper .dataTables_paginate .paginate_button.previous:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.previous:focus,.dataTables_wrapper .dataTables_paginate .paginate_button.first:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.first:focus,.dataTables_wrapper .dataTables_paginate .paginate_button.last:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.last:focus{color:#fff !important;background:var(--c-primary)}.dataTables_wrapper .dataTables_paginate .paginate_button.next.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.previous.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.first.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.last.disabled{opacity:.4;pointer-events:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:#fff !important;background:var(--c-primary);border-color:var(--c-primary)}.dataTables_wrapper .dataTables_paginate .paginate_button.current{color:#fff !important;background:var(--c-primary);border-color:var(--c-primary)}.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#fff !important;background:var(--c-primary)}.dataTables_wrapper .status{width:5px;height:5px}.fc{background-color:var(--c-bkg-card) !important;border:1px solid var(--c-border) !important;color:var(--c-text-base) !important}.fc table{background-color:var(--c-bkg-card) !important;border-color:var(--c-border) !important}.fc th{text-align:center;padding:15px;background-color:var(--c-bkg-card) !important;color:var(--c-text-base) !important;font-size:12px;text-transform:uppercase;border-right-width:0;border-left-width:0;border-color:var(--c-border) !important}.fc td{background-color:var(--c-bkg-card) !important;border-color:var(--c-border) !important;color:var(--c-text-base) !important}.fc button{background-color:var(--c-bkg-card) !important;background-image:none;height:37px;padding:0 15px;color:var(--c-text-base) !important;border-color:var(--c-border) !important}.fc button.fc-state-default{border-color:var(--c-border) !important;box-shadow:none;background-color:var(--c-bkg-card) !important;color:var(--c-text-base) !important}.fc button.fc-state-active{box-shadow:none;background-color:var(--c-primary) !important;color:#fff !important;border-color:var(--c-primary) !important}.fc button:hover{background-color:color-mix(in srgb, var(--c-bkg-card) 85%, var(--c-border)) !important;border-color:var(--c-border) !important;color:var(--c-text-base) !important}.fc .fc-head{background-color:var(--c-bkg-card) !important;border-color:var(--c-border) !important}.fc .fc-head-container{background-color:var(--c-bkg-card) !important;border-color:var(--c-border) !important}.fc .fc-body{background-color:var(--c-bkg-card) !important;border-color:var(--c-border) !important}.fc .fc-day{background-color:var(--c-bkg-card) !important;border-color:var(--c-border) !important}.fc .fc-day:hover{background-color:color-mix(in srgb, var(--c-bkg-card) 90%, var(--c-border)) !important}.fc .fc-week{background-color:var(--c-bkg-card) !important;border-color:var(--c-border) !important}.fc .fc-widget-header,.fc .fc-widget-content{border-color:var(--c-border) !important;background-color:var(--c-bkg-card) !important}.fc-toolbar{padding:20px 20px 0;background-color:var(--c-bkg-card) !important}.fc-view,.fc-view>table{background-color:var(--c-bkg-card) !important;border-color:var(--c-border) !important}.fc-basic-view td.fc-day-number,.fc-basic-view td.fc-week-number span{padding:7px 15px;color:var(--c-text-base) !important}.fc-unthemed{background-color:var(--c-bkg-card) !important}.fc-unthemed .fc-content,.fc-unthemed .fc-divider,.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed th,.fc-unthemed thead{border-color:var(--c-border) !important;background-color:var(--c-bkg-card) !important}.fc-unthemed .fc-today{background-color:color-mix(in srgb, var(--c-primary) 10%, var(--c-bkg-card)) !important}.fc-unthemed .fc-popover{background:var(--c-bkg-card) !important;color:var(--c-text-base) !important;border-color:var(--c-border) !important}.fc-unthemed .fc-other-month .fc-day-number{color:var(--c-text-muted) !important}.fc-unthemed .fc-sun,.fc-unthemed .fc-sat{background-color:color-mix(in srgb, var(--c-bkg-card) 95%, var(--c-border)) !important}.fc-basic-view{background-color:var(--c-bkg-card) !important}.fc-basic-view .fc-day-number{color:var(--c-text-base) !important}.fc-basic-view .fc-day-number.fc-today{background-color:var(--c-primary) !important;color:#fff !important;display:inline-block;float:right;border-radius:50%;padding:6px 8px;line-height:1;margin:4px 4px 0 0}.fc-basic-view .fc-day-header{background-color:var(--c-bkg-card) !important;color:var(--c-text-base) !important;border-color:var(--c-border) !important}.fc-event-container .fc-event{border-radius:3px;border:0;background-color:var(--c-primary) !important;color:#fff !important;font-size:12px;line-height:2.5;padding:0 15px}.fc-event-container .fc-event:hover{background-color:var(--c-primary-hover) !important;opacity:.9}.fc-event-container .fc-day-grid-event{margin:1px 5px 5px}.fc *{border-color:var(--c-border) !important}.fc .fc-grid,.fc .fc-grid table,.fc .fc-grid tr,.fc .fc-grid td,.fc .fc-grid th{border-color:var(--c-border) !important;background-color:var(--c-bkg-card) !important}.datepicker{border-radius:0;padding:25px;box-shadow:none;border:1px solid #e6ecf5}.datepicker table tr th,.datepicker table tr td{border-radius:0;width:40px;height:35px}.datepicker table tr td{transition:all .2s ease-in-out}.datepicker table tr td span{border-radius:0}.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.active:hover,.datepicker table tr td span.active:hover.active:hover,.datepicker table tr td.active:active,.datepicker table tr td.active.highlighted:active,.datepicker table tr td.active.active,.datepicker table tr td.active.highlighted.active,.datepicker table tr td.active:active:hover,.datepicker table tr td.active.highlighted:active:hover,.datepicker table tr td.active.active:hover,.datepicker table tr td.active.highlighted.active:hover,.datepicker table tr td.active:active:focus,.datepicker table tr td.active.highlighted:active:focus,.datepicker table tr td.active.active:focus,.datepicker table tr td.active.highlighted.active:focus,.datepicker table tr td.active:active.focus,.datepicker table tr td.active.highlighted:active.focus,.datepicker table tr td.active.active.focus,.datepicker table tr td.active.highlighted.active.focus{color:#fff;background-color:#7774e7;border-color:rgba(0,0,0,0)}.datepicker table tr td span:hover,.datepicker table tr td span.focused{background:#7774e7;color:#fff}.datepicker table tr td.day:hover,.datepicker table tr td.focused{background:#7774e7;color:#fff;cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .prev:hover,.datepicker .next:hover,.datepicker tfoot tr th:hover{background:#7774e7;color:#fff;cursor:pointer}.datepicker-inline{width:330px}.daterangepicker{border-radius:0;padding:30px;box-shadow:none;border:1px solid #e6ecf5}.daterangepicker .input-mini{border-radius:0;margin-bottom:20px;height:40px;padding:0 6px 0 35px}.daterangepicker .input-mini.active{border-radius:0;border-color:rgb(109.1897233202,194.347826087,245.8102766798)}.daterangepicker .daterangepicker_input i{position:absolute;left:10px;top:13px}.daterangepicker td,.daterangepicker th{border-radius:0;width:40px;height:35px}.daterangepicker td.available:hover,.daterangepicker th.available:hover{background:#7774e7;color:#fff}.daterangepicker td.in-range{background-color:rgba(0,0,0,0);color:#7774e7}.daterangepicker td.active{background-color:#7774e7;border-color:rgba(0,0,0,0);color:#fff}.daterangepicker td.active:hover{background-color:#7774e7;border-color:rgba(0,0,0,0);color:#fff}.daterangepicker td.start-date{border-radius:0}.daterangepicker td.start-date.end-date{border-radius:0}.daterangepicker td.end-date{border-radius:0}.daterangepicker select.hourselect,.daterangepicker select.minuteselect,.daterangepicker select.secondselect,.daterangepicker select.ampmselect{border:1px solid #e6ecf5;min-height:30px}.daterangepicker .calendar-time i{top:8px;left:35px}@media screen and (min-width: 768px){.daterangepicker .calendar{margin-right:20px !important}}@media(max-width: 480px){.theme-toggle .form-check-label{display:none !important}.theme-toggle{padding:0 6px !important;height:60px !important;justify-content:center !important;min-height:60px !important}.theme-toggle .form-check{height:100% !important}.theme-toggle .form-check .form-check-label{font-size:11px !important;font-weight:500 !important}.theme-toggle .form-check .form-check-label i{font-size:14px !important}.theme-toggle .form-check .form-check-input{margin:0 6px !important;width:38px !important;height:22px !important;border-radius:11px !important;border-width:2px !important}.d-none-xs{display:none !important}.fs-xs{font-size:10px !important}.p-xs{padding:5px !important}.m-xs{margin:5px !important}}@media(max-width: 767px){.dropdown-menu.show{position:fixed !important;top:65px !important;left:5px !important;right:5px !important;width:auto !important;transform:none !important;z-index:1050;max-height:calc(100vh - 85px);overflow-y:auto}.notifications .dropdown-menu .scrollable{max-height:300px;overflow-y:auto}}@media(max-width: 991px){.header .nav-right>li>a{padding:0 6px !important}.header .nav-left>li>a{padding:0 8px !important}}@media(max-width: 480px){.header .nav-right>li>a{padding:0 4px !important;font-size:14px !important}.header .nav-left>li>a{padding:0 6px !important}.search-box:not(.active){display:none !important}}@media(max-width: 767px){.mobile-compact{padding:5px !important;margin:2px !important}}@media(max-width: 767px){.mobile-hidden{display:none !important}}.mobile-only{display:none !important}@media(max-width: 767px){.mobile-only{display:block !important}}@media(max-width: 767px){.mobile-no-scroll{overflow-x:hidden !important}}@media screen and (min-width: 768px){.header{margin-top:0 !important;top:0 !important}.page-container{padding-top:61px !important}.main-content{margin-top:0 !important;padding-top:20px !important}.theme-toggle{display:flex !important;align-items:center !important;height:65px !important;padding:0 15px !important}.theme-toggle .form-check{margin:0 !important;display:flex !important;align-items:center !important}.theme-toggle .form-check .form-check-label{color:var(--c-text-muted) !important;font-size:11px !important;font-weight:500 !important;text-transform:uppercase !important;letter-spacing:.5px !important;display:inline !important}.theme-toggle .form-check .form-check-label i{font-size:12px !important}.theme-toggle .form-check .form-check-input{width:2.5rem !important;height:1.25rem !important;background-color:var(--c-border) !important;border:1px solid var(--c-border) !important;cursor:pointer !important;margin:0 8px !important}.theme-toggle .form-check .form-check-input:checked{background-color:var(--c-primary) !important;border-color:var(--c-primary) !important}.theme-toggle .form-check .form-check-input:focus{box-shadow:0 0 0 .2rem color-mix(in srgb, var(--c-primary) 25%, transparent) !important;border-color:var(--c-primary) !important}}@media screen and (max-width: 767px){.header{position:fixed !important;top:0 !important;left:0 !important;right:0 !important;z-index:1000 !important;width:100% !important;height:auto !important;min-height:60px !important;padding:0 !important;margin:0 !important;margin-top:0 !important}.header .header-container{display:flex !important;align-items:center !important;justify-content:space-between !important;flex-wrap:nowrap !important;padding:8px 8px !important;height:auto !important;min-height:60px !important;max-height:60px !important;overflow:visible !important;gap:12px !important}.header .nav-left{display:flex !important;align-items:center !important;flex:1 1 auto !important;margin:0 !important;padding:0 !important;float:none !important;max-width:65% !important;gap:4px !important;justify-content:flex-start !important}.header .nav-left::before{content:"A" !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;width:32px !important;height:32px !important;background:#007bff !important;color:#fff !important;border-radius:6px !important;font-weight:bold !important;font-size:18px !important;flex-shrink:0 !important;order:-1 !important;margin-right:6px !important}.header .nav-left>li{display:inline-flex !important;align-items:center !important;margin:0 !important;float:none !important}.header .nav-left>li>a{padding:8px 6px !important;margin:0 !important;min-height:auto !important;line-height:1 !important;display:flex !important;align-items:center !important;border-radius:4px !important}.header .nav-left>li>a i{font-size:20px !important;margin:0 !important}.header .nav-left>li>a:hover{background:rgba(0,0,0,.05) !important}.header .nav-left>li:first-child>a{padding:8px 6px !important}.header .nav-left>li:first-child>a i{font-size:22px !important}.header .nav-left>li.search-box>a{padding:8px 6px !important}.header .nav-left>li.search-box>a i{font-size:20px !important}.header .nav-left .search-input{display:none !important;position:fixed !important;top:60px !important;left:0 !important;right:0 !important;background:var(--c-bkg-card) !important;border-bottom:1px solid var(--c-border) !important;padding:15px 20px !important;z-index:9999 !important;box-shadow:0 2px 8px rgba(0,0,0,.1) !important}.header .nav-left .search-input.active{display:block !important}.header .nav-left .search-input input{width:100% !important;padding:12px 16px !important;font-size:16px !important;border:1px solid var(--c-border) !important;border-radius:8px !important;background:var(--c-bkg-body) !important;color:var(--c-text-base) !important;margin:0 !important;outline:none !important}.header .nav-left .search-input input::-moz-placeholder{color:var(--c-text-muted) !important}.header .nav-left .search-input input::placeholder{color:var(--c-text-muted) !important}.header .nav-left .search-input input:focus{outline:none !important;border-color:var(--c-primary) !important;box-shadow:0 0 0 2px rgba(0,123,255,.25) !important}.header .nav-right{display:flex !important;align-items:center !important;flex:0 0 auto !important;margin:0 !important;padding:0 !important;float:none !important;flex-wrap:nowrap !important;gap:4px !important;justify-content:flex-end !important;height:60px !important}.header .nav-right>li{display:flex !important;align-items:center !important;justify-content:center !important;margin:0 !important;padding:0 !important;float:none !important;flex:0 0 auto !important;position:relative !important;height:60px !important;min-height:60px !important}.header .nav-right>li>a{padding:0 !important;margin:0 !important;width:44px !important;height:44px !important;line-height:1 !important;display:flex !important;align-items:center !important;justify-content:center !important;position:relative !important;border-radius:50% !important;background:rgba(0,0,0,0) !important;transition:all .2s ease !important}.header .nav-right>li>a i{font-size:20px !important;margin:0 !important;display:block !important;line-height:1 !important;text-align:center !important}.header .nav-right>li>a span:not(.counter){display:none !important}.header .nav-right>li>a .peer:last-child{display:none !important}.header .nav-right>li>a:hover{background:var(--c-grey-100) !important;transform:scale(1.05) !important;transition:all .2s ease !important}.header .nav-right>li:last-child>a .peer:first-child{margin-right:0 !important;display:flex !important;align-items:center !important;justify-content:center !important}.header .nav-right>li:last-child>a .peer img{width:36px !important;height:36px !important;max-width:36px !important;max-height:36px !important;border-radius:50% !important;object-fit:cover !important}.header .nav-right>li{position:relative !important}.header .nav-right>li .counter{position:absolute !important;top:10px !important;right:10px !important;z-index:10 !important}.header .nav-right .theme-toggle{padding:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;height:60px !important;min-height:60px !important;width:44px !important}.header .nav-right .theme-toggle .form-check{margin:0 !important;padding:0 !important;align-items:center !important;justify-content:center !important;display:flex !important;height:44px !important;width:44px !important;border-radius:50% !important;position:relative !important}.header .nav-right .theme-toggle .form-check .form-check-label{display:none !important}.header .nav-right .theme-toggle .form-check .form-check-input{width:28px !important;height:16px !important;margin:0 !important;flex-shrink:0 !important;border-radius:8px !important;border-width:1px !important;position:absolute !important;top:50% !important;left:50% !important;transform:translate(-50%, -50%) !important}.header .nav-right .theme-toggle .form-check:hover{background:var(--c-grey-100) !important;transform:scale(1.05) !important;transition:all .2s ease !important}.header .nav-right .dropdown-menu{position:fixed !important;top:60px !important;left:0 !important;right:0 !important;bottom:0 !important;width:100vw !important;height:calc(100vh - 60px) !important;max-width:none !important;min-width:auto !important;transform:none !important;border-radius:0 !important;z-index:9999 !important;overflow-y:auto !important;border:none !important;margin:0 !important;padding:0 !important}.header .nav-right .dropdown-menu::before{content:"✕ Close" !important;position:sticky !important;top:0 !important;display:block !important;background:var(--c-primary) !important;color:#fff !important;text-align:center !important;padding:15px !important;cursor:pointer !important;font-weight:bold !important;z-index:10000 !important;font-size:16px !important}.header .nav-right .dropdown-menu .peers{padding:15px 20px !important;flex-wrap:wrap !important;align-items:flex-start !important}.header .nav-right .dropdown-menu .peers .peer{max-width:100% !important}.header .nav-right .dropdown-menu .peers .peer img{width:40px !important;height:40px !important;margin-right:12px !important;flex-shrink:0 !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed{flex:1 !important;min-width:0 !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>span{display:block !important;margin-bottom:4px !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>span .fw-500{font-size:14px !important;font-weight:600 !important;margin:0 !important;color:var(--c-text-base) !important;display:inline !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>span .c-grey-600{font-size:13px !important;color:var(--c-text-muted) !important;line-height:1.4 !important;display:inline !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>p{margin:0 !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>p small{font-size:12px !important;color:var(--c-text-muted) !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>div{display:block !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>div .peers{display:inline !important;margin:0 !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>div .peers .peer:first-child p{font-size:14px !important;font-weight:600 !important;margin:0 !important;color:var(--c-text-base) !important;display:inline !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>div .peers .peer:first-child::after{content:" sent you a message" !important;font-size:13px !important;color:var(--c-text-muted) !important;font-weight:normal !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>div .peers .peer:last-child{display:block !important;margin-top:2px !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>div .peers .peer:last-child small{font-size:12px !important;color:var(--c-text-muted) !important;display:block !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>div>.c-grey-600,.header .nav-right .dropdown-menu .peers .peer.peer-greed>div .c-grey-600.fsz-sm{display:none !important}.header .nav-right .dropdown-menu .pX-20{padding-left:20px !important;padding-right:20px !important}.header .nav-right .dropdown-menu .pX-20 .fw-600{font-size:16px !important;font-weight:600 !important}.header .nav-right .dropdown-menu .ta-c{padding:15px 20px !important}.header .nav-right .dropdown-menu .ta-c a{font-size:14px !important;font-weight:500 !important}}@media screen and (max-width: 479px){.header .header-container{padding:8px 5px !important;gap:8px !important}.header .nav-left{max-width:60% !important;gap:2px !important}.header .nav-left::before{width:28px !important;height:28px !important;font-size:16px !important;margin-right:4px !important}.header .nav-left>li>a{padding:8px 4px !important}.header .nav-left>li>a i{font-size:18px !important}.header .nav-right{gap:1px !important}.header .nav-right>li>a{padding:8px 4px !important}.header .nav-right>li>a i{font-size:18px !important}.header .nav-right .theme-toggle .form-check-input{width:28px !important;height:16px !important}.header .nav-left .search-input{padding:12px 15px !important}.header .nav-left .search-input input{padding:10px 12px !important;font-size:16px !important}}html,body{height:100% !important;margin:0 !important;padding:0 !important;overflow-x:hidden !important}.page-container{display:flex !important;flex-direction:column !important;min-height:100vh !important;margin:0 !important;padding-top:60px !important}.main-content{flex:1 0 auto !important;padding:20px 10px 40px !important;margin:0 !important;min-height:0 !important;overflow-x:hidden !important}footer{flex:0 0 auto !important;margin-top:auto !important;padding:15px 10px !important;background:var(--c-bkg-card) !important;border-top:1px solid var(--c-border) !important;text-align:center !important;font-size:11px !important;line-height:1.3 !important;z-index:10 !important;position:relative !important;width:100% !important;clear:both !important}footer.lh-0{line-height:1.3 !important}@media screen and (max-width: 767px){.page-container{padding-left:0 !important;min-height:100vh !important;position:relative !important}.main-content{padding:15px 8px 60px !important;margin-bottom:0 !important;width:100% !important;box-sizing:border-box !important}footer{position:relative !important;width:100% !important;padding:15px 10px !important;font-size:11px !important;line-height:1.4 !important;background:var(--c-bkg-card) !important;border-top:1px solid var(--c-border) !important;margin-top:auto !important;box-sizing:border-box !important}footer.lh-0{line-height:1.4 !important}footer.p-30{padding:15px 10px !important}footer.fsz-sm{font-size:11px !important}footer span{display:block !important;word-wrap:break-word !important;max-width:100% !important;text-align:center !important;line-height:1.4 !important;-webkit-hyphens:auto !important;hyphens:auto !important;word-break:break-word !important}footer span a{color:var(--c-primary) !important;-webkit-text-decoration:none !important;text-decoration:none !important;display:inline !important}footer span a:hover{-webkit-text-decoration:underline !important;text-decoration:underline !important}}@media screen and (max-width: 479px){.main-content{padding:10px 8px 50px !important}footer{padding:12px 8px !important;font-size:10px !important;line-height:1.5 !important}footer.lh-0{line-height:1.5 !important}footer.p-30{padding:12px 8px !important}footer.fsz-sm{font-size:10px !important}footer span{display:block !important;margin:0 !important;padding:0 !important;text-align:center !important;word-spacing:normal !important;letter-spacing:normal !important}footer span a{display:inline !important;white-space:nowrap !important}}@media screen and (max-width: 360px){footer{font-size:9px !important;padding:10px 5px !important}footer.lh-0{line-height:1.6 !important}footer.p-30{padding:10px 5px !important}footer.fsz-sm{font-size:9px !important}footer span{line-height:1.6 !important;word-break:break-word !important;overflow-wrap:break-word !important}footer span a{font-weight:bold !important;color:var(--c-primary) !important}}body.mobile-menu-open{overflow:hidden !important;position:fixed !important;width:100% !important}@media screen and (max-width: 767px){.dropdown-menu.show{position:fixed !important}.row{margin-left:0 !important;margin-right:0 !important}[class*=col-]{padding-left:5px !important;padding-right:5px !important}.d-none-mobile{display:none !important}*{max-width:100% !important;box-sizing:border-box !important}}body{background:var(--c-bkg-body);color:var(--c-text-base)}.sidebar{background:var(--c-bkg-sidebar)}.bgc-white{background:var(--c-bkg-card) !important}.header{background:var(--c-bkg-card);border-bottom:1px solid var(--c-border)}.header .dropdown-menu{background:var(--c-bkg-card);border:1px solid var(--c-border)}.header .nav-left>li>a,.header .nav-right>li>a{color:var(--c-text-base)}.header .nav-left>li>a:hover,.header .nav-left>li>a:focus,.header .nav-right>li>a:hover,.header .nav-right>li>a:focus{color:var(--c-primary)}.header .notifications .counter{background:var(--c-danger);color:#fff}.header .theme-toggle{display:flex;align-items:center;height:65px;padding:0 15px}.header .theme-toggle .form-check{margin:0}.header .theme-toggle .form-check .form-check-label{color:var(--c-text-muted);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.header .theme-toggle .form-check .form-check-label i{font-size:12px}.header .theme-toggle .form-check .form-check-input{width:2.5rem;height:1.25rem;background-color:var(--c-border);border:1px solid var(--c-border);cursor:pointer}.header .theme-toggle .form-check .form-check-input:checked{background-color:var(--c-primary);border-color:var(--c-primary)}.header .theme-toggle .form-check .form-check-input:focus{box-shadow:0 0 0 .2rem color-mix(in srgb, var(--c-primary) 25%, transparent);border-color:var(--c-primary)}@media(max-width: 991px){.header .theme-toggle{padding:0 6px;height:65px}.header .theme-toggle .form-check .form-check-label{font-size:10px}.header .theme-toggle .form-check .form-check-label:first-child{margin-right:4px}.header .theme-toggle .form-check .form-check-label:last-child{margin-left:4px}.header .theme-toggle .form-check .form-check-input{width:2rem;height:1rem}}@media(max-width: 480px){.header .theme-toggle{padding:0 4px}.header .theme-toggle .form-check{flex-direction:column;align-items:center;text-align:center}.header .theme-toggle .form-check .form-check-label{font-size:8px;margin:1px 0;white-space:nowrap}.header .theme-toggle .form-check .form-check-label i{margin:0 2px}.header .theme-toggle .form-check .form-check-input{width:1.5rem;height:.8rem;margin:2px 0}}@media(max-width: 767px){.header .nav-right .dropdown-menu{position:fixed !important;top:65px !important;left:5px !important;right:5px !important;width:auto !important;max-width:none !important;min-width:auto !important;transform:none !important;z-index:1050;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);max-height:calc(100vh - 85px);overflow-y:auto}.header .nav-right .notifications .dropdown-menu{max-height:calc(100vh - 85px);overflow-y:auto}}@media(max-width: 480px){.header .search-input.active{position:absolute;top:65px;left:0;right:0;background:var(--c-bkg-card);border-top:1px solid var(--c-border);padding:10px;z-index:999}.header .search-input.active input{margin-top:0;width:100%;padding:10px;border:1px solid var(--c-border);border-radius:4px;background:var(--c-bkg-card);color:var(--c-text-base)}.header .search-input.active input::-moz-placeholder{color:var(--c-text-muted)}.header .search-input.active input::placeholder{color:var(--c-text-muted)}}.table{background:var(--c-bkg-card);color:var(--c-text-base)}.table thead th{background:var(--c-bkg-card);color:var(--c-text-base);border-color:var(--c-border)}.table tbody td,.table tbody th{border-color:var(--c-border);color:var(--c-text-base);background:var(--c-bkg-card)}.table tbody tr:nth-child(even) td,.table tbody tr:nth-child(even) th{background:color-mix(in srgb, var(--c-bkg-card) 95%, var(--c-border))}.table tfoot th{background:var(--c-bkg-card);color:var(--c-text-base);border-color:var(--c-border)}.table.table-striped tbody tr:nth-child(odd) td,.table.table-striped tbody tr:nth-child(odd) th{background:var(--c-bkg-card)}.table.table-striped tbody tr:nth-child(even) td,.table.table-striped tbody tr:nth-child(even) th{background:color-mix(in srgb, var(--c-bkg-card) 95%, var(--c-border))}.table.table-hover tbody tr:hover td,.table.table-hover tbody tr:hover th{background:color-mix(in srgb, var(--c-bkg-card) 90%, var(--c-border)) !important;color:var(--c-text-base)}.table.table-bordered{border:1px solid var(--c-border)}.table.table-bordered th,.table.table-bordered td{border:1px solid var(--c-border)}.table .table-dark{background:color-mix(in srgb, var(--c-bkg-card) 80%, #000)}.table .table-dark th{background:color-mix(in srgb, var(--c-bkg-card) 80%, #000);color:var(--c-text-base);border-color:var(--c-border)}.table .table-light{background:var(--c-bkg-card)}.table .table-light th{background:var(--c-bkg-card);color:var(--c-text-base);border-color:var(--c-border)}.form-control,.form-select{background:var(--c-bkg-card);color:var(--c-text-base);border:1px solid var(--c-border)}.form-control:focus,.form-select:focus{border-color:var(--c-primary);box-shadow:0 0 0 .1rem rgba(75,124,243,.25)}input::-moz-placeholder{color:var(--c-text-muted)}input::placeholder{color:var(--c-text-muted)}.card,.bgc-white.bd,.bgc-white.bdT,.bgc-white.bdB{background:var(--c-bkg-card);border-color:var(--c-border) !important;color:var(--c-text-base)}.alert{color:var(--c-text-base);border-color:var(--c-border);background:color-mix(in srgb, var(--c-bkg-card) 85%, var(--c-border))}.alert.alert-primary{background:color-mix(in srgb, var(--c-primary) 20%, var(--c-bkg-card));border-color:var(--c-primary);color:var(--c-primary)}.modal-content{background:var(--c-bkg-card);color:var(--c-text-base);border:1px solid var(--c-border)}.logo-text{color:var(--c-text-base)}.logo-auth{max-width:60px !important;max-height:60px !important;width:auto;height:auto}.bd,.bdT,.bdB,.bdL,.bdR{border-color:var(--c-border) !important}.sidebar-logo{border-color:var(--c-border) !important}.bgc-grey-100{background:color-mix(in srgb, var(--c-bkg-body) 90%, #000) !important}.sales-report-header{background-color:var(--c-primary) !important;color:#fff !important}.sales-report-header h5,.sales-report-header h3,.sales-report-header p{color:#fff !important}[data-theme=dark] .bgcH-grey-100:hover{background:color-mix(in srgb, var(--c-bkg-card) 85%, var(--c-border)) !important}.sidebar,.sidebar-menu{border-right:1px solid var(--c-border)}[data-theme=dark] .c-grey-900{color:var(--c-text-base) !important}[data-theme=dark] .c-grey-800{color:var(--c-text-base) !important}[data-theme=dark] .c-grey-700{color:var(--c-text-muted) !important}[data-theme=dark] .c-grey-600{color:var(--c-text-muted) !important}[data-theme=dark] .text-dark{color:var(--c-text-base) !important}h1,h2,h3,h4,h5,h6{color:var(--c-text-base)}.email-app .email-side-nav{background:var(--c-bkg-card);border-color:var(--c-border)}.email-app .email-list,.email-app .email-content,.email-app .email-wrapper{background:var(--c-bkg-card) !important;color:var(--c-text-base)}.email-app .email-list-item{border-color:var(--c-border) !important}.email-app .email-list-item:hover{background:color-mix(in srgb, var(--c-bkg-card) 85%, var(--c-border)) !important}[data-theme=dark] .badge.bgc-deep-purple-50{background:#8b5cf6 !important;color:#fff !important}[data-theme=dark] .badge.c-deep-purple-700{color:#fff !important}[data-theme=dark] .badge.bgc-green-50{background:var(--c-success) !important;color:#fff !important}[data-theme=dark] .badge.c-green-700{color:#fff !important}[data-theme=dark] .badge.bgc-blue-50{background:var(--c-primary) !important;color:#fff !important}[data-theme=dark] .badge.c-blue-700{color:#fff !important}[data-theme=dark] .badge.bgc-amber-50{background:#f59e0b !important;color:#000 !important}[data-theme=dark] .badge.c-amber-700{color:#000 !important}[data-theme=dark] .badge.bgc-red-50{background:var(--c-danger) !important;color:#fff !important}[data-theme=dark] .badge.c-red-700{color:#fff !important}[data-theme=dark] .email-app .btn.bgc-white{background:var(--c-bkg-card) !important;color:var(--c-text-base) !important;border:1px solid var(--c-border) !important}[data-theme=dark] .email-app .btn.bgc-white:hover{background:color-mix(in srgb, var(--c-bkg-card) 85%, var(--c-border)) !important}.table-responsive{border:1px solid var(--c-border);border-radius:3px}.bgc-white .table{background:var(--c-bkg-card);border:none}.bgc-white .table thead th{border-top:none}.table .badge.bgc-red-50.c-red-700{background:var(--c-danger) !important;color:#fff !important}.table .badge.bgc-deep-purple-50.c-deep-purple-700{background:#8b5cf6 !important;color:#fff !important}.table .badge.bgc-pink-50.c-pink-700{background:#ec4899 !important;color:#fff !important}[data-theme=dark] #loader{background:var(--c-bkg-body) !important}[data-theme=dark] .ai-fs .pY-3.pX-10.bgc-white{background:var(--c-bkg-card) !important;border:1px solid var(--c-border)}[data-theme=dark] .ai-fe .pY-3.pX-10.bgc-white{background:var(--c-primary) !important;border:1px solid var(--c-primary);color:#fff !important}[data-theme=dark] .ai-fe .pY-3.pX-10.bgc-white small{color:hsla(0,0%,100%,.8) !important}[data-theme=dark] .ai-fe .pY-3.pX-10.bgc-white span{color:#fff !important}[data-theme=dark] .c-green-500{color:var(--c-success) !important}[data-theme=dark] .c-amber-500{color:#f59e0b !important}[data-theme=dark] .c-red-500{color:var(--c-danger) !important}[data-theme=dark] .lh-1 i{color:var(--c-text-muted)}[data-theme=dark] .bgc-grey-200{background:var(--c-bkg-body) !important}[data-theme=dark] .list-task{background:var(--c-bkg-card);border:1px solid var(--c-border)}[data-theme=dark] .list-task .list-group-item{background:var(--c-bkg-card);border-color:var(--c-border);color:var(--c-text-base)}[data-theme=dark] .list-task .list-group-item:first-child{border-top-color:var(--c-border)}[data-theme=dark] .list-task .list-group-item:last-child{border-bottom-color:var(--c-border)}[data-theme=dark] .list-task .list-group-item .form-label{color:var(--c-text-base)}[data-theme=dark] .list-task .list-group-item .checkbox input[type=checkbox]:checked+label::before{background:var(--c-primary);border-color:var(--c-primary)}[data-theme=dark] .list-task .list-group-item .checkbox input[type=checkbox]:focus+label::before{border-color:var(--c-primary);box-shadow:0 0 0 .2rem rgba(var(--c-primary-rgb), 0.25)}[data-theme=dark] .list-task .list-group-item .checkbox label::before{background:var(--c-bkg-card);border-color:var(--c-border)}[data-theme=dark] .list-task .list-group-item .badge.bg-success{background:var(--c-success) !important;color:#fff !important}[data-theme=dark] .list-task .list-group-item .badge.bg-danger{background:var(--c-danger) !important;color:#fff !important}[data-theme=dark] .list-task .list-group-item .badge.bg-warning{background:#f59e0b !important;color:#000 !important}[data-theme=dark] .list-task .list-group-item .badge.bg-info{background:var(--c-primary) !important;color:#fff !important}[data-theme=dark] .bgc-white.bd{background:var(--c-bkg-card) !important;border-color:var(--c-border) !important}[data-theme=dark] .bgc-white.bd .bdB{border-bottom-color:var(--c-border) !important}[data-theme=dark] .bgc-white.bd .peers.ai-c.jc-sb.fxw-nw{border-bottom-color:var(--c-border) !important}[data-theme=dark] .bgc-white.bd .peers.ai-c.jc-sb.fxw-nw .c-grey-900{color:var(--c-text-base) !important}[data-theme=dark] .bgc-white.bd .peers.ai-c.jc-sb.fxw-nw .c-grey-600{color:var(--c-text-muted) !important}[data-theme=dark] .bgc-white.bd .peers.ai-c.jc-sb.fxw-nw .c-grey-700{color:var(--c-text-muted) !important}[data-theme=dark] .bgc-white.bd .peers.ai-c.jc-sb.fxw-nw .c-deep-purple-500:hover.cH-blue-500{color:var(--c-primary) !important}[data-theme=dark] .bgc-white.bd .peers.ai-c.jc-sb.fxw-nw .c-red-500:hover.cH-blue-500{color:var(--c-danger) !important}[data-theme=dark] .bgc-white.bd .btn-warning{background:#f59e0b;border-color:#f59e0b;color:#000}[data-theme=dark] .bgc-white.bd .btn-warning:hover{background:#d97706;border-color:#d97706}[data-theme=dark] .modal-content{background:var(--c-bkg-card);border:1px solid var(--c-border);color:var(--c-text-base)}[data-theme=dark] .modal-content .modal-body .form-label{color:var(--c-text-base)}[data-theme=dark] .modal-content .modal-body .form-control{background:var(--c-bkg-body);border-color:var(--c-border);color:var(--c-text-base)}[data-theme=dark] .modal-content .modal-body .form-control::-moz-placeholder{color:var(--c-text-muted)}[data-theme=dark] .modal-content .modal-body .form-control::placeholder{color:var(--c-text-muted)}[data-theme=dark] .modal-content .modal-body .form-control:focus{background:var(--c-bkg-body);border-color:var(--c-primary);box-shadow:0 0 0 .2rem rgba(var(--c-primary-rgb), 0.25)}[data-theme=dark] .modal-content .modal-body .input-group-text{background:var(--c-bkg-card) !important;border-color:var(--c-border);color:var(--c-text-base)}[data-theme=dark] .modal-content .modal-body .input-group-text.bgc-white{background:var(--c-bkg-card) !important}[data-theme=dark] .modal-content .modal-body .btn-primary{background:var(--c-primary);border-color:var(--c-primary)}[data-theme=dark] .modal-content .modal-body .btn-primary:hover{background:var(--c-primary-hover);border-color:var(--c-primary-hover)}[data-theme=dark] .fc .fc-day{background:var(--c-bkg-card)}[data-theme=dark] .fc .fc-day:hover{background:color-mix(in srgb, var(--c-bkg-card) 90%, var(--c-border))}[data-theme=dark] .fc .fc-head{background:var(--c-bkg-card)}[data-theme=dark] .fc .fc-sun,[data-theme=dark] .fc .fc-sat{background:color-mix(in srgb, var(--c-bkg-card) 95%, var(--c-border))}[data-theme=dark] .fc .fc-other-month .fc-day-number{color:var(--c-text-muted) !important}[data-theme=dark] .fc .fc-event:hover{opacity:.9} -:root { - --jvm-border-color: #E5E6E7; - --jvm-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); - --jvm-tooltip-font-size: 0.9rem; - --jvm-tooltip-bg-color: #337FFA; - --jvm-tooltip-color: #FFF; - --jvm-tooltip-padding: 3px 5px; - --jvm-tooltip-shadow: var(--jvm-box-shadow); - --jvm-tooltip-radius: 3px; - --jvm-zoom-btn-bg-color: #292929; - --jvm-zoom-btn-color: #FFF; - --jvm-zoom-btn-size: 15px; - --jvm-zoom-btn-radius: 3px; - --jvm-series-container-right: 15px; - --jvm-legend-bg-color: #FFF; - --jvm-legend-radius: 0.15rem; - --jvm-legend-margin-left: 0.75rem; - --jvm-legend-padding: 0.6rem; - --jvm-legend-title-padding-bottom: 0.5rem; - --jvm-legend-title-margin-bottom: 0.575rem; - --jvm-legend-tick-margin-top: 0.575rem; - --jvm-legend-tick-sample-radius: 0; - --jvm-legend-tick-sample-height: 12px; - --jvm-legend-tick-sample-width: 30px; - --jvm-legend-tick-text-font-size: 12px; - --jvm-legend-tick-text-margin-top: 3px; -} - -image, text, .jvm-zoom-btn { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.jvm-container { - position: relative; - height: 100%; - width: 100%; -} - -.jvm-tooltip { - border-radius: var(--jvm-tooltip-radius); - background-color: var(--jvm-tooltip-bg-color); - color: var(--jvm-tooltip-color); - font-size: var(--jvm-tooltip-font-size); - box-shadow: var(--jvm-tooltip-shadow); - padding: var(--jvm-tooltip-padding); - white-space: nowrap; - position: absolute; - display: none; -} -.jvm-tooltip.active { - display: block; -} - -.jvm-zoom-btn { - background-color: var(--jvm-zoom-btn-bg-color); - color: var(--jvm-zoom-btn-color); - border-radius: var(--jvm-zoom-btn-radius); - height: var(--jvm-zoom-btn-size); - width: var(--jvm-zoom-btn-size); - box-sizing: border-box; - position: absolute; - left: 10px; - line-height: var(--jvm-zoom-btn-size); - text-align: center; - cursor: pointer; -} -.jvm-zoom-btn.jvm-zoomin { - top: var(--jvm-zoom-btn-size); -} -.jvm-zoom-btn.jvm-zoomout { - top: calc(var(--jvm-zoom-btn-size) * 2 + var(--jvm-zoom-btn-size) / 3); -} - -.jvm-series-container { - position: absolute; - right: var(--jvm-series-container-right); -} -.jvm-series-container.jvm-series-h { - bottom: 15px; -} -.jvm-series-container.jvm-series-v { - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; - gap: 0.75rem; - top: 15px; -} - -.jvm-legend { - background-color: var(--jvm-legend-bg-color); - border: 1px solid var(--jvm-border-color); - margin-left: var(--jvm-legend-margin-left); - border-radius: var(--jvm-legend-radius); - padding: var(--jvm-legend-padding); - box-shadow: var(--jvm-box-shadow); -} - -.jvm-legend-title { - line-height: 1; - border-bottom: 1px solid var(--jvm-border-color); - padding-bottom: var(--jvm-legend-title-padding-bottom); - margin-bottom: var(--jvm-legend-title-margin-bottom); - text-align: left; -} - -.jvm-legend-tick { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - min-width: 40px; -} -.jvm-legend-tick:not(:first-child) { - margin-top: var(--jvm-legend-tick-margin-top); -} - -.jvm-legend-tick-sample { - border-radius: var(--jvm-legend-tick-sample-radius); - margin-right: 0.45rem; - height: var(--jvm-legend-tick-sample-height); - width: var(--jvm-legend-tick-sample-width); -} - -.jvm-legend-tick-text { - font-size: var(--jvm-legend-tick-text-font-size); - text-align: center; - line-height: 1; -} - -.jvm-line[animation=true] { - -webkit-animation: jvm-line-animation 10s linear forwards infinite; - animation: jvm-line-animation 10s linear forwards infinite; -} -@-webkit-keyframes jvm-line-animation { - from { - stroke-dashoffset: 250; - } -} -@keyframes jvm-line-animation { - from { - stroke-dashoffset: 250; - } -} diff --git a/public/admin_assets_new/fontawesome-webfont.svg b/public/admin_assets_new/fontawesome-webfont.svg deleted file mode 100644 index 855c845..0000000 --- a/public/admin_assets_new/fontawesome-webfont.svg +++ /dev/null @@ -1,2671 +0,0 @@ - - - - -Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 - By ,,, -Copyright Dave Gandy 2016. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/public/admin_assets_new/js/bundle.js b/public/admin_assets_new/js/bundle.js deleted file mode 100644 index 612c880..0000000 --- a/public/admin_assets_new/js/bundle.js +++ /dev/null @@ -1,42698 +0,0 @@ -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ 464 -(module) { - -!function(t,e){ true?module.exports=e():0}(this,(function(){"use strict";var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return"["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)68?1900:2e3)};var f=function(e){return function(t){this[e]=+t}},h=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if("Z"===e)return 0;var t=e.match(/([+-]|\d\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:"+"===t[0]?-n:n}(e)}],u=function(e){var t=s[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=s.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?"pm":"PM");return n},c={A:[o,function(e){this.afternoon=d(e,!1)}],a:[o,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*+e}],SS:[r,function(e){this.milliseconds=10*+e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[i,f("seconds")],ss:[i,f("seconds")],m:[i,f("minutes")],mm:[i,f("minutes")],H:[i,f("hours")],h:[i,f("hours")],HH:[i,f("hours")],hh:[i,f("hours")],D:[i,f("day")],DD:[r,f("day")],Do:[o,function(e){var t=s.ordinal,n=e.match(/\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\[|\]/g,"")===e&&(this.day=r)}],w:[i,f("week")],ww:[r,f("week")],M:[i,f("month")],MM:[r,f("month")],MMM:[o,function(e){var t=u("months"),n=(u("monthsShort")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[o,function(e){var t=u("months").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\d+/,f("year")],YY:[r,function(e){this.year=a(e)}],YYYY:[/\d{4}/,f("year")],Z:h,ZZ:h};function l(n){var r,i;r=n,i=s&&s.formats;for(var o=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=o.length,f=0;f-1)return new Date(("X"===t?1e3:1)*e);var i=l(t)(e),o=i.year,s=i.month,a=i.day,f=i.hours,h=i.minutes,u=i.seconds,d=i.milliseconds,c=i.zone,m=i.week,M=new Date,Y=a||(o||s?1:M.getDate()),p=o||M.getFullYear(),v=0;o&&!s||(v=s>0?s-1:M.getMonth());var D,w=f||0,g=h||0,y=u||0,L=d||0;return c?new Date(Date.UTC(p,v,Y,w,g,y,L+60*c.offset*1e3)):n?new Date(Date.UTC(p,v,Y,w,g,y,L)):(D=new Date(p,v,Y,w,g,y,L),m&&(D=r(D).week(m).toDate()),D)}catch(e){return new Date("")}}(t,a,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date("")),s={}}else if(a instanceof Array)for(var c=a.length,m=1;m<=c;m+=1){o[1]=a[m-1];var M=n.apply(this,o);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===c&&(this.$d=new Date(""))}else i.call(this,e)}}})); - -/***/ }, - -/***/ 562 -(module) { - -!function(r,e){ true?module.exports=e():0}(this,(function(){"use strict";return function(r,e,t){r=r||{};var n=e.prototype,o={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function i(r,e,t,o){return n.fromToBase(r,e,t,o)}t.en.relativeTime=o,n.fromToBase=function(e,n,i,d,u){for(var f,a,s,l=i.$locale().relativeTime||o,h=r.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],m=h.length,c=0;c0,p<=y.r||!y.r){p<=1&&c>0&&(y=h[c-1]);var v=l[y.l];u&&(p=u(""+p)),a="string"==typeof v?v.replace("%d",p):v(p,n,y.l,s);break}}if(n)return a;var M=s?l.future:l.past;return"function"==typeof M?M(a):M.replace("%s",a)},n.to=function(r,e){return i(r,e,this,!0)},n.from=function(r,e){return i(r,e,this)};var d=function(r){return r.$u?t.utc():t()};n.toNow=function(r){return this.to(d(this),r)},n.fromNow=function(r){return this.from(d(this),r)}}})); - -/***/ }, - -/***/ 168 -(module) { - -!function(t,e){ true?module.exports=e():0}(this,(function(){"use strict";var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||"short",o=t+"|"+i,r=e[o];return r||(r=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u=0&&(r[c]=parseInt(m,10))}var d=r[3],l=24===d?0:d,h=r[0]+"-"+r[1]+"-"+r[2]+" "+l+":"+r[4]+":"+r[5]+":000",v=+e;return(o.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n,i=this.utcOffset(),a=this.toDate(),u=a.toLocaleString("en-US",{timeZone:t}),f=Math.round((a-new Date(u))/1e3/60),s=15*-Math.round(a.getTimezoneOffset()/15)-f;if(!Number(s))n=this.utcOffset(0,e);else if(n=o(u,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(s,!0),e){var m=n.utcOffset();n=n.add(i-m,"minute")}return n.$x.$timezone=t,n},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return"timezonename"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if("string"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return[i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t}}})); - -/***/ }, - -/***/ 657 -(module) { - -!function(t,i){ true?module.exports=i():0}(this,(function(){"use strict";var t="minute",i=/[+-]\d\d(?::?\d\d)?/g,e=/([+-]|\d\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var r=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),r.call(this,t)};var o=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else o.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if("string"==typeof s&&(s=function(t){void 0===t&&(t="");var s=t.match(i);if(!s)return null;var f=(""+s[0]).match(e)||["-",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:"+"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s;if(0===u)return this.utc(f);var r=this.clone();if(f)return r.$offset=u,r.$u=!1,r;var o=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(r=this.local().add(u+o,t)).$offset=u,r.$x.$localOffset=o,r};var h=u.format;u.format=function(t){var i=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return"s"===t&&this.$offset?n(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}})); - -/***/ }, - -/***/ 869 -(module, exports, __webpack_require__) { - -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/** - * matchesSelector v2.0.2 - * matchesSelector( element, '.selector' ) - * MIT license - */ - -/*jshint browser: true, strict: true, undef: true, unused: true */ - -( function( window, factory ) { - /*global define: false, module: false */ - 'use strict'; - // universal module definition - if ( true ) { - // AMD - !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : - __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else // removed by dead control flow -{} - -}( window, function factory() { - 'use strict'; - - var matchesMethod = ( function() { - var ElemProto = window.Element.prototype; - // check for the standard method name first - if ( ElemProto.matches ) { - return 'matches'; - } - // check un-prefixed - if ( ElemProto.matchesSelector ) { - return 'matchesSelector'; - } - // check vendor prefixes - var prefixes = [ 'webkit', 'moz', 'ms', 'o' ]; - - for ( var i=0; i < prefixes.length; i++ ) { - var prefix = prefixes[i]; - var method = prefix + 'MatchesSelector'; - if ( ElemProto[ method ] ) { - return method; - } - } - })(); - - return function matchesSelector( elem, selector ) { - return elem[ matchesMethod ]( selector ); - }; - -})); - - -/***/ }, - -/***/ 240 -(module, exports, __webpack_require__) { - -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/** - * EvEmitter v1.1.0 - * Lil' event emitter - * MIT License - */ - -/* jshint unused: true, undef: true, strict: true */ - -( function( global, factory ) { - // universal module definition - /* jshint strict: false */ /* globals define, module, window */ - if ( true ) { - // AMD - RequireJS - !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : - __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else // removed by dead control flow -{} - -}( typeof window != 'undefined' ? window : this, function() { - -"use strict"; - -function EvEmitter() {} - -var proto = EvEmitter.prototype; - -proto.on = function( eventName, listener ) { - if ( !eventName || !listener ) { - return; - } - // set events hash - var events = this._events = this._events || {}; - // set listeners array - var listeners = events[ eventName ] = events[ eventName ] || []; - // only add once - if ( listeners.indexOf( listener ) == -1 ) { - listeners.push( listener ); - } - - return this; -}; - -proto.once = function( eventName, listener ) { - if ( !eventName || !listener ) { - return; - } - // add event - this.on( eventName, listener ); - // set once flag - // set onceEvents hash - var onceEvents = this._onceEvents = this._onceEvents || {}; - // set onceListeners object - var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {}; - // set flag - onceListeners[ listener ] = true; - - return this; -}; - -proto.off = function( eventName, listener ) { - var listeners = this._events && this._events[ eventName ]; - if ( !listeners || !listeners.length ) { - return; - } - var index = listeners.indexOf( listener ); - if ( index != -1 ) { - listeners.splice( index, 1 ); - } - - return this; -}; - -proto.emitEvent = function( eventName, args ) { - var listeners = this._events && this._events[ eventName ]; - if ( !listeners || !listeners.length ) { - return; - } - // copy over to avoid interference if .off() in listener - listeners = listeners.slice(0); - args = args || []; - // once stuff - var onceListeners = this._onceEvents && this._onceEvents[ eventName ]; - - for ( var i=0; i < listeners.length; i++ ) { - var listener = listeners[i] - var isOnce = onceListeners && onceListeners[ listener ]; - if ( isOnce ) { - // remove listener - // remove before trigger to prevent recursion - this.off( eventName, listener ); - // unset once flag - delete onceListeners[ listener ]; - } - // trigger listener - listener.apply( this, args ); - } - - return this; -}; - -proto.allOff = function() { - delete this._events; - delete this._onceEvents; -}; - -return EvEmitter; - -})); - - -/***/ }, - -/***/ 346 -(module, exports, __webpack_require__) { - -var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/** - * Fizzy UI utils v2.0.7 - * MIT license - */ - -/*jshint browser: true, undef: true, unused: true, strict: true */ - -( function( window, factory ) { - // universal module definition - /*jshint strict: false */ /*globals define, module, require */ - - if ( true ) { - // AMD - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ - __webpack_require__(869) - ], __WEBPACK_AMD_DEFINE_RESULT__ = (function( matchesSelector ) { - return factory( window, matchesSelector ); - }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else // removed by dead control flow -{} - -}( window, function factory( window, matchesSelector ) { - -'use strict'; - -var utils = {}; - -// ----- extend ----- // - -// extends objects -utils.extend = function( a, b ) { - for ( var prop in b ) { - a[ prop ] = b[ prop ]; - } - return a; -}; - -// ----- modulo ----- // - -utils.modulo = function( num, div ) { - return ( ( num % div ) + div ) % div; -}; - -// ----- makeArray ----- // - -var arraySlice = Array.prototype.slice; - -// turn element or nodeList into an array -utils.makeArray = function( obj ) { - if ( Array.isArray( obj ) ) { - // use object if already an array - return obj; - } - // return empty array if undefined or null. #6 - if ( obj === null || obj === undefined ) { - return []; - } - - var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number'; - if ( isArrayLike ) { - // convert nodeList to array - return arraySlice.call( obj ); - } - - // array of single index - return [ obj ]; -}; - -// ----- removeFrom ----- // - -utils.removeFrom = function( ary, obj ) { - var index = ary.indexOf( obj ); - if ( index != -1 ) { - ary.splice( index, 1 ); - } -}; - -// ----- getParent ----- // - -utils.getParent = function( elem, selector ) { - while ( elem.parentNode && elem != document.body ) { - elem = elem.parentNode; - if ( matchesSelector( elem, selector ) ) { - return elem; - } - } -}; - -// ----- getQueryElement ----- // - -// use element as selector string -utils.getQueryElement = function( elem ) { - if ( typeof elem == 'string' ) { - return document.querySelector( elem ); - } - return elem; -}; - -// ----- handleEvent ----- // - -// enable .ontype to trigger from .addEventListener( elem, 'type' ) -utils.handleEvent = function( event ) { - var method = 'on' + event.type; - if ( this[ method ] ) { - this[ method ]( event ); - } -}; - -// ----- filterFindElements ----- // - -utils.filterFindElements = function( elems, selector ) { - // make array of elems - elems = utils.makeArray( elems ); - var ffElems = []; - - elems.forEach( function( elem ) { - // check that elem is an actual element - if ( !( elem instanceof HTMLElement ) ) { - return; - } - // add elem if no selector - if ( !selector ) { - ffElems.push( elem ); - return; - } - // filter & find items if we have a selector - // filter - if ( matchesSelector( elem, selector ) ) { - ffElems.push( elem ); - } - // find children - var childElems = elem.querySelectorAll( selector ); - // concat childElems to filterFound array - for ( var i=0; i < childElems.length; i++ ) { - ffElems.push( childElems[i] ); - } - }); - - return ffElems; -}; - -// ----- debounceMethod ----- // - -utils.debounceMethod = function( _class, methodName, threshold ) { - threshold = threshold || 100; - // original method - var method = _class.prototype[ methodName ]; - var timeoutName = methodName + 'Timeout'; - - _class.prototype[ methodName ] = function() { - var timeout = this[ timeoutName ]; - clearTimeout( timeout ); - - var args = arguments; - var _this = this; - this[ timeoutName ] = setTimeout( function() { - method.apply( _this, args ); - delete _this[ timeoutName ]; - }, threshold ); - }; -}; - -// ----- docReady ----- // - -utils.docReady = function( callback ) { - var readyState = document.readyState; - if ( readyState == 'complete' || readyState == 'interactive' ) { - // do async to allow for other scripts to run. metafizzy/flickity#441 - setTimeout( callback ); - } else { - document.addEventListener( 'DOMContentLoaded', callback ); - } -}; - -// ----- htmlInit ----- // - -// http://jamesroberts.name/blog/2010/02/22/string-functions-for-javascript-trim-to-camel-case-to-dashed-and-to-underscore/ -utils.toDashed = function( str ) { - return str.replace( /(.)([A-Z])/g, function( match, $1, $2 ) { - return $1 + '-' + $2; - }).toLowerCase(); -}; - -var console = window.console; -/** - * allow user to initialize classes via [data-namespace] or .js-namespace class - * htmlInit( Widget, 'widgetName' ) - * options are parsed from data-namespace-options - */ -utils.htmlInit = function( WidgetClass, namespace ) { - utils.docReady( function() { - var dashedNamespace = utils.toDashed( namespace ); - var dataAttr = 'data-' + dashedNamespace; - var dataAttrElems = document.querySelectorAll( '[' + dataAttr + ']' ); - var jsDashElems = document.querySelectorAll( '.js-' + dashedNamespace ); - var elems = utils.makeArray( dataAttrElems ) - .concat( utils.makeArray( jsDashElems ) ); - var dataOptionsAttr = dataAttr + '-options'; - var jQuery = window.jQuery; - - elems.forEach( function( elem ) { - var attr = elem.getAttribute( dataAttr ) || - elem.getAttribute( dataOptionsAttr ); - var options; - try { - options = attr && JSON.parse( attr ); - } catch ( error ) { - // log error, do not initialize - if ( console ) { - console.error( 'Error parsing ' + dataAttr + ' on ' + elem.className + - ': ' + error ); - } - return; - } - // initialize - var instance = new WidgetClass( elem, options ); - // make available via $().data('namespace') - if ( jQuery ) { - jQuery.data( elem, namespace, instance ); - } - }); - - }); -}; - -// ----- ----- // - -return utils; - -})); - - -/***/ }, - -/***/ 928 -(module, exports, __webpack_require__) { - -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! - * getSize v2.0.3 - * measure size of elements - * MIT license - */ - -/* jshint browser: true, strict: true, undef: true, unused: true */ -/* globals console: false */ - -( function( window, factory ) { - /* jshint strict: false */ /* globals define, module */ - if ( true ) { - // AMD - !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : - __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else // removed by dead control flow -{} - -})( window, function factory() { -'use strict'; - -// -------------------------- helpers -------------------------- // - -// get a number from a string, not a percentage -function getStyleSize( value ) { - var num = parseFloat( value ); - // not a percent like '100%', and a number - var isValid = value.indexOf('%') == -1 && !isNaN( num ); - return isValid && num; -} - -function noop() {} - -var logError = typeof console == 'undefined' ? noop : - function( message ) { - console.error( message ); - }; - -// -------------------------- measurements -------------------------- // - -var measurements = [ - 'paddingLeft', - 'paddingRight', - 'paddingTop', - 'paddingBottom', - 'marginLeft', - 'marginRight', - 'marginTop', - 'marginBottom', - 'borderLeftWidth', - 'borderRightWidth', - 'borderTopWidth', - 'borderBottomWidth' -]; - -var measurementsLength = measurements.length; - -function getZeroSize() { - var size = { - width: 0, - height: 0, - innerWidth: 0, - innerHeight: 0, - outerWidth: 0, - outerHeight: 0 - }; - for ( var i=0; i < measurementsLength; i++ ) { - var measurement = measurements[i]; - size[ measurement ] = 0; - } - return size; -} - -// -------------------------- getStyle -------------------------- // - -/** - * getStyle, get style of element, check for Firefox bug - * https://bugzilla.mozilla.org/show_bug.cgi?id=548397 - */ -function getStyle( elem ) { - var style = getComputedStyle( elem ); - if ( !style ) { - logError( 'Style returned ' + style + - '. Are you running this code in a hidden iframe on Firefox? ' + - 'See https://bit.ly/getsizebug1' ); - } - return style; -} - -// -------------------------- setup -------------------------- // - -var isSetup = false; - -var isBoxSizeOuter; - -/** - * setup - * check isBoxSizerOuter - * do on first getSize() rather than on page load for Firefox bug - */ -function setup() { - // setup once - if ( isSetup ) { - return; - } - isSetup = true; - - // -------------------------- box sizing -------------------------- // - - /** - * Chrome & Safari measure the outer-width on style.width on border-box elems - * IE11 & Firefox<29 measures the inner-width - */ - var div = document.createElement('div'); - div.style.width = '200px'; - div.style.padding = '1px 2px 3px 4px'; - div.style.borderStyle = 'solid'; - div.style.borderWidth = '1px 2px 3px 4px'; - div.style.boxSizing = 'border-box'; - - var body = document.body || document.documentElement; - body.appendChild( div ); - var style = getStyle( div ); - // round value for browser zoom. desandro/masonry#928 - isBoxSizeOuter = Math.round( getStyleSize( style.width ) ) == 200; - getSize.isBoxSizeOuter = isBoxSizeOuter; - - body.removeChild( div ); -} - -// -------------------------- getSize -------------------------- // - -function getSize( elem ) { - setup(); - - // use querySeletor if elem is string - if ( typeof elem == 'string' ) { - elem = document.querySelector( elem ); - } - - // do not proceed on non-objects - if ( !elem || typeof elem != 'object' || !elem.nodeType ) { - return; - } - - var style = getStyle( elem ); - - // if hidden, everything is 0 - if ( style.display == 'none' ) { - return getZeroSize(); - } - - var size = {}; - size.width = elem.offsetWidth; - size.height = elem.offsetHeight; - - var isBorderBox = size.isBorderBox = style.boxSizing == 'border-box'; - - // get all measurements - for ( var i=0; i < measurementsLength; i++ ) { - var measurement = measurements[i]; - var value = style[ measurement ]; - var num = parseFloat( value ); - // any 'auto', 'medium' value will be 0 - size[ measurement ] = !isNaN( num ) ? num : 0; - } - - var paddingWidth = size.paddingLeft + size.paddingRight; - var paddingHeight = size.paddingTop + size.paddingBottom; - var marginWidth = size.marginLeft + size.marginRight; - var marginHeight = size.marginTop + size.marginBottom; - var borderWidth = size.borderLeftWidth + size.borderRightWidth; - var borderHeight = size.borderTopWidth + size.borderBottomWidth; - - var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter; - - // overwrite width and height if we can get it from style - var styleWidth = getStyleSize( style.width ); - if ( styleWidth !== false ) { - size.width = styleWidth + - // add padding and border unless it's already including it - ( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth ); - } - - var styleHeight = getStyleSize( style.height ); - if ( styleHeight !== false ) { - size.height = styleHeight + - // add padding and border unless it's already including it - ( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight ); - } - - size.innerWidth = size.width - ( paddingWidth + borderWidth ); - size.innerHeight = size.height - ( paddingHeight + borderHeight ); - - size.outerWidth = size.width + marginWidth; - size.outerHeight = size.height + marginHeight; - - return size; -} - -return getSize; - -}); - - -/***/ }, - -/***/ 177 -() { - -"use strict"; -jsVectorMap.addMap("world",{insets:[{width:900,top:0,left:0,height:440.70631074413296,bbox:[{y:-12671671.123330014,x:-20004297.151525836},{y:6930392.025135122,x:20026572.39474939}]}],paths:{BD:{path:"M651.84,230.21l-0.6,-2.0l-1.36,-1.71l-2.31,-0.11l-0.41,0.48l0.2,0.94l-0.53,0.99l-0.72,-0.36l-0.68,0.35l-1.2,-0.36l-0.37,-2.0l-0.81,-1.86l0.39,-1.46l-0.22,-0.47l-1.14,-0.53l0.29,-0.5l1.48,-0.94l0.03,-0.65l-1.55,-1.22l0.55,-1.14l1.61,0.94l1.04,0.15l0.18,1.54l0.34,0.35l5.64,0.63l-0.84,1.64l-1.22,0.34l-0.77,1.51l0.07,0.47l1.37,1.37l0.67,-0.19l0.42,-1.39l1.21,3.84l-0.03,1.21l-0.33,-0.15l-0.4,0.28Z",name:"Bangladesh"},BE:{path:"M429.29,144.05l1.91,0.24l2.1,-0.63l2.63,1.99l-0.21,1.66l-0.69,0.4l-0.18,1.2l-1.66,-1.13l-1.39,0.15l-2.73,-2.7l-1.17,-0.18l-0.16,-0.52l1.54,-0.5Z",name:"Belgium"},BF:{path:"M421.42,247.64l-0.11,0.95l0.34,1.16l1.4,1.71l0.07,1.1l0.32,0.37l2.55,0.51l-0.04,1.28l-0.38,0.53l-1.07,0.21l-0.72,1.18l-0.63,0.21l-3.22,-0.25l-0.94,0.39l-5.4,-0.05l-0.39,0.38l0.16,2.73l-1.23,-0.43l-1.17,0.1l-0.89,0.57l-2.27,-1.72l-0.13,-1.11l0.61,-0.96l0.02,-0.93l1.87,-1.98l0.44,-1.81l0.43,-0.39l1.28,0.26l1.05,-0.52l0.47,-0.73l1.84,-1.09l0.55,-0.83l2.2,-1.0l1.15,-0.3l0.72,0.45l1.13,-0.01Z",name:"Burkina Faso"},BG:{path:"M491.65,168.18l-0.86,0.88l-0.91,2.17l0.48,1.34l-1.6,-0.24l-2.55,0.95l-0.28,1.51l-1.8,0.22l-2.0,-1.0l-1.92,0.79l-1.42,-0.07l-0.15,-1.63l-1.05,-0.97l0.0,-0.8l1.2,-1.57l0.01,-0.56l-1.14,-1.23l-0.05,-0.94l0.88,0.97l0.88,-0.2l1.91,0.47l3.68,0.16l1.42,-0.81l2.72,-0.66l2.55,1.24Z",name:"Bulgaria"},BA:{path:"M463.49,163.65l2.1,0.5l1.72,-0.03l1.52,0.68l-0.36,0.78l0.08,0.45l1.04,1.02l-0.25,0.98l-1.81,1.15l-0.38,1.38l-1.67,-0.87l-0.89,-1.2l-2.11,-1.83l-1.63,-2.22l0.23,-0.57l0.48,0.38l0.55,-0.06l0.43,-0.51l0.94,-0.06Z",name:"Bosnia and Herz."},BN:{path:"M707.48,273.58l0.68,-0.65l1.41,-0.91l-0.15,1.63l-0.81,-0.05l-0.61,0.58l-0.53,-0.6Z",name:"Brunei"},BO:{path:"M263.83,340.69l-3.09,-0.23l-0.38,0.23l-0.7,1.52l-1.31,-1.53l-3.28,-0.64l-2.37,2.4l-1.31,0.26l-0.88,-3.26l-1.3,-2.86l0.74,-2.37l-0.13,-0.43l-1.2,-1.01l-0.37,-1.89l-1.08,-1.55l1.45,-2.56l-0.96,-2.33l0.47,-1.06l-0.34,-0.73l0.91,-1.32l0.16,-3.84l0.5,-1.18l-1.81,-3.41l2.46,0.07l0.8,-0.85l3.4,-1.91l2.66,-0.35l-0.19,1.38l0.3,1.07l-0.05,1.97l2.72,2.27l2.88,0.49l0.89,0.86l1.79,0.58l0.98,0.7l1.71,0.05l1.17,0.61l0.6,2.7l-0.7,0.54l0.96,2.99l0.37,0.28l4.3,0.1l-0.25,1.2l0.27,1.02l1.43,0.9l0.5,1.35l-0.41,1.86l-0.65,1.08l0.12,1.35l-2.69,-1.65l-2.4,-0.03l-4.36,0.76l-1.49,2.5l-0.11,1.52l-0.75,2.37Z",name:"Bolivia"},JP:{path:"M781.12,166.87l1.81,0.68l1.62,-0.97l0.39,2.42l-3.35,0.75l-2.23,2.88l-3.63,-1.9l-0.56,0.2l-1.26,3.05l-2.16,0.03l-0.29,-2.51l1.08,-2.03l2.45,-0.16l0.37,-0.33l1.25,-5.94l2.47,2.71l2.03,1.12ZM773.56,187.34l-0.91,2.22l0.37,1.52l-1.14,1.75l-3.02,1.26l-4.58,0.27l-3.34,3.01l-1.25,-0.8l-0.09,-1.9l-0.46,-0.38l-4.35,0.62l-3.0,1.32l-2.85,0.05l-0.37,0.27l0.13,0.44l2.32,1.89l-1.54,4.34l-1.26,0.9l-0.79,-0.7l0.56,-2.27l-0.21,-0.45l-1.47,-0.75l-0.74,-1.4l2.12,-0.84l1.26,-1.7l2.45,-1.42l1.83,-1.91l4.78,-0.81l2.6,0.57l0.44,-0.21l2.39,-4.66l1.29,1.06l0.5,0.01l5.1,-4.02l1.69,-3.73l-0.38,-3.4l0.9,-1.61l2.14,-0.44l1.23,3.72l-0.07,2.18l-2.23,2.84l-0.04,3.16ZM757.78,196.26l0.19,0.56l-1.01,1.21l-1.16,-0.68l-1.28,0.65l-0.69,1.45l-1.02,-0.5l0.01,-0.93l1.14,-1.38l1.57,0.14l0.85,-0.98l1.4,0.46Z",name:"Japan"},BI:{path:"M495.45,295.49l-1.08,-2.99l1.14,-0.11l0.64,-1.19l0.76,0.09l0.65,1.83l-2.1,2.36Z",name:"Burundi"},BJ:{path:"M429.57,255.75l-0.05,0.8l0.5,1.34l-0.42,0.86l0.17,0.79l-1.81,2.12l-0.57,1.76l-0.08,5.42l-1.41,0.2l-0.48,-1.36l0.11,-5.71l-0.52,-0.7l-0.2,-1.35l-1.48,-1.48l0.21,-0.9l0.89,-0.43l0.42,-0.92l1.27,-0.36l1.22,-1.34l0.61,-0.0l1.62,1.24Z",name:"Benin"},BT:{path:"M650.32,213.86l0.84,0.71l-0.12,1.1l-3.76,-0.11l-1.57,0.4l-1.93,-0.87l1.48,-1.96l1.13,-0.57l1.63,0.57l1.33,0.08l0.99,0.65Z",name:"Bhutan"},JM:{path:"M228.38,239.28l-0.8,0.4l-2.26,-1.06l0.84,-0.23l2.14,0.3l1.17,0.56l-1.08,0.03Z",name:"Jamaica"},BW:{path:"M483.92,330.07l2.27,4.01l2.83,2.86l0.96,0.31l0.78,2.43l2.13,0.61l1.02,0.76l-3.0,1.64l-2.32,2.02l-1.54,2.69l-1.52,0.45l-0.64,1.94l-1.34,0.52l-1.85,-0.12l-1.21,-0.74l-1.35,-0.3l-1.22,0.62l-0.75,1.37l-2.31,1.9l-1.4,0.21l-0.35,-0.59l0.16,-1.75l-1.48,-2.54l-0.62,-0.43l-0.0,-7.1l2.08,-0.08l0.39,-0.4l0.07,-8.9l5.19,-0.93l0.8,0.89l0.51,0.07l1.5,-0.95l2.21,-0.49Z",name:"Botswana"},BR:{path:"M259.98,275.05l3.24,0.7l0.65,-0.53l4.55,-1.32l1.08,-1.06l-0.02,-0.63l0.55,-0.05l0.28,0.28l-0.26,0.87l0.22,0.48l0.73,0.32l0.4,0.81l-0.62,0.86l-0.4,2.13l0.82,2.56l1.69,1.43l1.43,0.2l3.17,-1.68l3.18,0.3l0.65,-0.75l-0.27,-0.92l1.9,-0.09l2.39,0.99l1.06,-0.61l0.84,0.78l1.2,-0.18l1.18,-1.06l0.84,-1.94l1.36,-2.11l0.37,-0.05l1.89,5.45l1.33,0.59l0.05,1.28l-1.77,1.94l0.02,0.56l1.02,0.87l4.07,0.36l0.08,2.16l0.66,0.29l1.74,-1.5l6.97,2.32l1.02,1.22l-0.35,1.18l0.49,0.5l2.81,-0.74l4.77,1.3l3.75,-0.08l3.57,2.0l3.29,2.86l1.93,0.72l2.12,0.12l0.71,0.62l1.21,4.51l-0.95,3.98l-4.72,5.06l-1.64,2.92l-1.72,2.05l-0.8,0.3l-0.72,2.03l0.18,4.75l-0.94,5.53l-0.81,1.13l-0.43,3.36l-2.55,3.5l-0.4,2.51l-1.86,1.04l-0.67,1.53l-2.54,0.01l-3.94,1.01l-1.83,1.2l-2.87,0.82l-3.03,2.19l-2.2,2.83l-0.36,2.0l0.4,1.58l-0.44,2.6l-0.51,1.2l-1.77,1.54l-2.75,4.78l-3.83,3.42l-1.24,2.74l-1.18,1.15l-0.36,-0.83l0.95,-1.14l0.01,-0.5l-1.52,-1.97l-4.56,-3.32l-1.03,-0.0l-2.38,-2.02l-0.81,-0.0l5.34,-5.45l3.77,-2.58l0.22,-2.46l-1.35,-1.81l-0.91,0.07l0.58,-2.33l0.01,-1.54l-1.11,-0.83l-1.75,0.3l-0.44,-3.11l-0.52,-0.95l-1.88,-0.88l-1.24,0.47l-2.17,-0.41l0.15,-3.21l-0.62,-1.34l0.66,-0.73l-0.22,-1.34l0.66,-1.13l0.44,-2.04l-0.61,-1.83l-1.4,-0.86l-0.2,-0.75l0.34,-1.39l-0.38,-0.5l-4.52,-0.1l-0.72,-2.22l0.59,-0.42l-0.03,-1.1l-0.5,-0.87l-0.32,-1.7l-1.45,-0.76l-1.63,-0.02l-1.05,-0.72l-1.6,-0.48l-1.13,-0.99l-2.69,-0.4l-2.47,-2.06l0.13,-4.35l-0.45,-0.45l-3.46,0.5l-3.44,1.94l-0.6,0.74l-2.9,-0.17l-1.47,0.42l-0.72,-0.18l0.15,-3.52l-0.63,-0.34l-1.94,1.41l-1.87,-0.06l-0.83,-1.18l-1.37,-0.26l0.21,-1.01l-1.35,-1.49l-0.88,-1.91l0.56,-0.6l-0.0,-0.81l1.29,-0.62l0.22,-0.43l-0.22,-1.19l0.61,-0.91l0.15,-0.99l2.65,-1.58l1.99,-0.47l0.42,-0.36l2.06,0.11l0.42,-0.33l1.19,-8.0l-0.41,-1.56l-1.1,-1.0l0.01,-1.33l1.91,-0.42l0.08,-0.96l-0.33,-0.43l-1.14,-0.2l-0.02,-0.83l4.47,0.05l0.82,-0.67l0.82,1.81l0.8,0.07l1.15,1.1l2.26,-0.05l0.71,-0.83l2.78,-0.96l0.48,-1.13l1.6,-0.64l0.24,-0.47l-0.48,-0.82l-1.83,-0.19l-0.36,-3.22Z",name:"Brazil"},BS:{path:"M226.4,223.87l-0.48,-1.15l-0.84,-0.75l0.36,-1.11l0.95,1.95l0.01,1.06ZM225.56,216.43l-1.87,0.29l-0.04,-0.22l0.74,-0.14l1.17,0.06Z",name:"Bahamas"},BY:{path:"M493.84,128.32l0.29,0.7l0.49,0.23l1.19,-0.38l2.09,0.72l0.19,1.26l-0.45,1.24l1.57,2.26l0.89,0.59l0.17,0.81l1.58,0.56l0.4,0.5l-0.53,0.41l-1.87,-0.11l-0.73,0.38l-0.13,0.52l1.04,2.74l-1.91,0.26l-0.89,0.99l-0.11,1.18l-2.73,-0.04l-0.53,-0.62l-0.52,-0.08l-0.75,0.46l-0.91,-0.42l-1.92,-0.07l-2.75,-0.79l-2.6,-0.28l-2.0,0.07l-1.5,0.92l-0.67,0.07l-0.08,-1.22l-0.59,-1.19l1.36,-0.88l0.01,-1.35l-0.7,-1.41l-0.07,-1.0l2.16,-0.02l2.72,-1.3l0.75,-2.04l1.91,-1.04l0.2,-0.41l-0.19,-1.25l3.8,-1.78l2.3,0.77Z",name:"Belarus"},BZ:{path:"M198.03,244.38l0.1,-4.49l0.69,-0.06l0.74,-1.3l0.34,0.28l-0.4,1.3l0.17,0.58l-0.34,2.25l-1.3,1.42Z",name:"Belize"},RU:{path:"M491.55,115.25l2.55,-1.85l-0.01,-0.65l-2.2,-1.5l7.32,-6.76l1.03,-2.11l-0.13,-0.49l-3.46,-2.52l0.86,-2.7l-2.11,-2.81l1.56,-3.67l-2.77,-4.52l2.15,-2.99l-0.08,-0.55l-3.65,-2.73l0.3,-2.54l1.81,-0.37l4.26,-1.77l2.42,-1.45l4.06,2.61l6.79,1.04l9.34,4.85l1.78,1.88l0.14,2.46l-2.55,2.02l-3.9,1.06l-11.07,-3.14l-2.06,0.53l-0.13,0.7l3.94,2.94l0.31,5.86l0.26,0.36l5.14,2.24l0.58,-0.29l0.32,-1.94l-1.35,-1.78l1.13,-1.09l6.13,2.42l2.11,-0.98l0.18,-0.56l-1.51,-2.67l5.41,-3.76l2.07,0.22l2.26,1.41l0.57,-0.16l1.46,-2.87l-0.05,-0.44l-1.92,-2.32l1.12,-2.32l-1.32,-2.27l5.87,1.16l1.04,1.75l-2.59,0.43l-0.33,0.4l0.02,2.36l2.46,1.83l3.87,-0.91l0.86,-2.8l13.69,-5.65l0.99,0.11l-1.92,2.06l0.23,0.67l3.11,0.45l2.0,-1.48l4.56,-0.12l3.64,-1.73l2.65,2.44l0.56,-0.01l2.85,-2.88l-0.01,-0.57l-2.35,-2.29l0.9,-1.01l7.14,1.3l3.41,1.36l9.05,4.97l0.51,-0.11l1.67,-2.27l-0.05,-0.53l-2.43,-2.21l-0.06,-0.78l-0.34,-0.36l-2.52,-0.36l0.64,-1.93l-1.32,-3.46l-0.06,-1.21l4.48,-4.06l1.69,-4.29l1.6,-0.81l6.23,1.18l0.44,2.21l-2.29,3.64l0.06,0.5l1.47,1.39l0.76,3.0l-0.56,6.03l2.69,2.82l-0.96,2.57l-4.86,5.95l0.23,0.64l2.86,0.61l0.42,-0.17l0.93,-1.4l2.64,-1.03l0.87,-2.24l2.09,-1.96l0.07,-0.5l-1.36,-2.28l1.09,-2.69l-0.32,-0.55l-2.47,-0.33l-0.5,-2.06l1.94,-4.38l-0.06,-0.42l-2.96,-3.4l4.12,-2.88l0.16,-0.4l-0.51,-2.93l0.54,-0.05l1.13,2.25l-0.96,4.35l0.27,0.47l2.68,0.84l0.5,-0.51l-1.02,-2.99l3.79,-1.66l5.01,-0.24l4.53,2.61l0.48,-0.06l0.07,-0.48l-2.18,-3.82l-0.23,-4.67l3.98,-0.9l5.97,0.21l5.49,-0.64l0.27,-0.65l-1.83,-2.31l2.56,-2.9l2.87,-0.17l4.8,-2.47l6.54,-0.67l1.03,-1.42l6.25,-0.45l2.32,1.11l5.53,-2.7l4.5,0.08l0.39,-0.28l0.66,-2.15l2.26,-2.12l5.69,-2.11l3.21,1.29l-2.46,0.94l-0.25,0.42l0.34,0.35l5.41,0.77l0.61,2.33l0.58,0.25l2.2,-1.22l7.13,0.07l5.51,2.47l1.79,1.72l-0.53,2.24l-9.16,4.15l-1.97,1.52l0.16,0.71l6.77,1.91l2.16,-0.78l1.13,2.74l0.67,0.11l1.01,-1.15l3.81,-0.73l7.7,0.77l0.54,1.99l0.36,0.29l10.47,0.71l0.43,-0.38l0.13,-3.23l4.87,0.78l3.95,-0.02l3.83,2.4l1.03,2.71l-1.35,1.79l0.02,0.5l3.15,3.64l4.07,1.96l0.53,-0.18l2.23,-4.47l3.95,1.93l4.16,-1.21l4.73,1.39l2.05,-1.26l3.94,0.62l0.43,-0.55l-1.68,-4.02l2.89,-1.8l22.31,3.03l2.16,2.75l6.55,3.51l10.29,-0.81l4.82,0.73l1.85,1.66l-0.29,3.08l0.25,0.41l3.08,1.26l3.56,-0.88l4.35,-0.11l4.8,0.87l4.57,-0.47l4.23,3.79l0.43,0.07l3.1,-1.4l0.16,-0.6l-1.88,-2.62l0.85,-1.52l7.71,1.21l5.22,-0.26l7.09,2.09l9.59,5.22l6.35,4.11l-0.2,2.38l1.88,1.41l0.6,-0.42l-0.48,-2.53l6.15,0.57l4.4,3.51l-1.97,1.43l-4.0,0.41l-0.36,0.39l-0.06,3.79l-0.74,0.62l-2.07,-0.11l-1.91,-1.39l-3.14,-1.11l-0.78,-1.85l-2.72,-0.68l-2.63,0.49l-1.04,-1.1l0.46,-1.31l-0.5,-0.51l-3.0,0.98l-0.22,0.58l0.99,1.7l-1.21,1.48l-3.04,1.68l-3.12,-0.28l-0.4,0.23l0.09,0.46l2.2,2.09l1.46,3.2l1.15,1.1l0.24,1.33l-0.42,0.67l-4.63,-0.77l-6.96,2.9l-2.19,0.44l-7.6,5.06l-0.84,1.45l-3.61,-2.37l-6.24,2.82l-0.94,-1.15l-0.53,-0.08l-2.28,1.52l-3.2,-0.49l-0.44,0.27l-0.78,2.37l-3.05,3.78l0.09,1.47l0.29,0.36l2.54,0.72l-0.29,4.53l-1.97,0.11l-0.35,0.26l-1.07,2.94l0.8,1.45l-3.91,1.58l-1.05,3.95l-3.48,0.77l-0.3,0.3l-0.72,3.29l-3.09,2.65l-0.7,-1.74l-2.44,-12.44l1.16,-4.71l2.04,-2.06l0.22,-1.64l3.8,-0.86l4.46,-4.61l4.28,-3.81l4.48,-3.01l2.17,-5.63l-0.42,-0.54l-3.04,0.33l-1.77,3.31l-5.86,3.86l-1.86,-4.25l-0.45,-0.23l-6.46,1.3l-6.47,6.44l-0.01,0.55l1.58,1.74l-8.24,1.17l0.15,-2.2l-0.34,-0.42l-3.89,-0.56l-3.25,1.81l-7.62,-0.62l-8.45,1.19l-17.71,15.41l0.22,0.7l3.74,0.41l1.36,2.17l2.43,0.76l1.88,-1.68l2.4,0.2l3.4,3.54l0.08,2.6l-1.95,3.42l-0.21,3.9l-1.1,5.06l-3.71,4.54l-0.87,2.21l-8.29,8.89l-3.19,1.7l-1.32,0.03l-1.45,-1.36l-0.49,-0.04l-2.27,1.5l0.41,-3.65l-0.59,-2.47l1.75,-0.89l2.91,0.53l0.42,-0.2l1.68,-3.03l0.87,-3.46l0.97,-1.18l1.32,-2.88l-0.45,-0.56l-4.14,0.95l-2.19,1.25l-3.41,-0.0l-1.06,-2.93l-2.97,-2.3l-4.28,-1.06l-1.75,-5.07l-2.66,-5.01l-2.29,-1.29l-3.75,-1.01l-3.44,0.08l-3.18,0.62l-2.24,1.77l0.05,0.66l1.18,0.69l0.02,1.43l-1.33,1.05l-2.26,3.51l-0.04,1.43l-3.16,1.84l-2.82,-1.16l-3.01,0.23l-1.35,-1.07l-1.5,-0.35l-3.9,2.31l-3.22,0.52l-2.27,0.79l-3.05,-0.51l-2.21,0.03l-1.48,-1.6l-2.6,-1.63l-2.63,-0.43l-5.46,1.01l-3.23,-1.25l-0.72,-2.57l-5.2,-1.24l-2.75,-1.36l-0.5,0.12l-2.59,3.45l0.84,2.1l-2.06,1.93l-3.41,-0.77l-2.42,-0.12l-1.83,-1.54l-2.53,-0.05l-2.42,-0.98l-3.86,1.57l-4.72,2.78l-3.3,0.75l-1.55,-1.92l-3.0,0.41l-1.11,-1.33l-1.62,-0.59l-1.31,-1.94l-1.38,-0.6l-3.7,0.79l-3.31,-1.83l-0.51,0.11l-0.99,1.29l-5.29,-8.05l-2.96,-2.48l0.65,-0.77l0.01,-0.51l-0.5,-0.11l-6.2,3.21l-1.84,0.15l0.15,-1.39l-0.26,-0.42l-3.22,-1.17l-2.46,0.7l-0.69,-3.16l-0.32,-0.31l-4.5,-0.75l-2.47,1.47l-6.19,1.27l-1.29,0.86l-9.51,1.3l-1.15,1.17l-0.03,0.53l1.47,1.9l-1.89,0.69l-0.22,0.56l0.31,0.6l-2.11,1.44l0.03,0.68l3.75,2.12l-0.39,0.98l-3.23,-0.13l-0.86,0.86l-3.09,-1.59l-3.97,0.07l-2.66,1.35l-8.32,-3.56l-4.07,0.06l-5.39,3.68l-0.39,2.0l-2.03,-1.5l-0.59,0.13l-2.0,3.59l0.57,0.93l-1.28,2.16l0.06,0.48l2.13,2.17l1.95,0.04l1.37,1.82l-0.23,1.46l0.25,0.43l0.83,0.33l-0.8,1.31l-2.49,0.62l-2.49,3.2l0.0,0.49l2.17,2.78l-0.15,2.18l2.5,3.24l-1.58,1.59l-0.7,-0.13l-1.63,-1.72l-2.29,-0.84l-0.94,-1.31l-2.34,-0.63l-1.48,0.4l-0.43,-0.47l-3.51,-1.48l-5.76,-1.01l-0.45,0.19l-2.89,-2.34l-2.9,-1.2l-1.53,-1.29l1.29,-0.43l2.08,-2.61l-0.05,-0.55l-0.89,-0.79l3.05,-1.06l0.27,-0.42l-0.07,-0.69l-0.49,-0.35l-1.73,0.39l0.04,-0.68l1.04,-0.72l2.66,-0.48l0.4,-1.32l-0.5,-1.6l0.92,-1.54l0.03,-1.17l-0.29,-0.37l-3.69,-1.06l-1.41,0.02l-1.42,-1.41l-2.19,0.38l-2.77,-1.01l-0.03,-0.59l-0.89,-1.43l-2.0,-0.32l-0.11,-0.54l0.49,-0.53l0.01,-0.53l-1.6,-1.9l-3.58,0.02l-0.88,0.73l-0.46,-0.07l-1.0,-2.79l2.22,-0.02l0.97,-0.74l0.07,-0.57l-0.9,-1.04l-1.35,-0.48l-0.11,-0.7l-0.95,-0.58l-1.38,-1.99l0.46,-0.98l-0.51,-1.96l-2.45,-0.84l-1.21,0.3l-0.46,-0.76l-2.46,-0.83l-0.72,-1.87l-0.21,-1.69l-0.99,-0.85l0.85,-1.17l-0.7,-3.21l1.66,-1.97l-0.16,-0.79ZM749.2,170.72l-0.6,0.4l-0.13,0.16l-0.01,-0.51l0.74,-0.05ZM874.85,67.94l-5.63,0.48l-0.26,-0.84l3.15,-1.89l1.94,0.01l3.19,1.16l-2.39,1.09ZM797.39,48.49l-2.0,1.36l-3.8,-0.42l-4.25,-1.8l0.35,-0.97l9.69,1.83ZM783.67,46.12l-1.63,3.09l-8.98,-0.13l-4.09,1.14l-4.54,-2.97l1.16,-3.01l3.05,-0.89l6.5,0.22l8.54,2.56ZM778.2,134.98l-0.56,-0.9l0.27,-0.12l0.29,1.01ZM778.34,135.48l0.94,3.53l-0.05,3.38l1.05,3.39l2.18,5.0l-2.89,-0.83l-0.49,0.26l-1.54,4.65l2.42,3.5l-0.04,1.13l-1.24,-1.24l-0.61,0.06l-1.09,1.61l-0.28,-1.61l0.27,-3.1l-0.28,-3.4l0.58,-2.47l0.11,-4.39l-1.46,-3.36l0.21,-4.32l2.15,-1.46l0.07,-0.34ZM771.95,56.61l1.76,-1.42l2.89,-0.42l3.28,1.71l0.14,0.6l-3.27,0.03l-4.81,-0.5ZM683.76,31.09l-13.01,1.93l4.03,-6.35l1.82,-0.56l1.73,0.34l5.99,2.98l-0.56,1.66ZM670.85,27.93l-5.08,0.64l-6.86,-1.57l-3.99,-2.05l-2.1,-4.16l-2.6,-0.87l5.72,-3.5l5.2,-1.28l4.69,2.85l5.59,5.4l-0.56,4.53ZM564.15,68.94l-0.64,0.17l-7.85,-0.57l-0.86,-2.04l-4.28,-1.17l-0.28,-1.94l2.27,-0.89l0.25,-0.39l-0.08,-2.38l4.81,-3.97l-0.15,-0.7l-1.47,-0.38l5.3,-3.81l0.15,-0.44l-0.58,-1.94l5.28,-2.51l8.21,-3.27l8.28,-0.96l4.35,-1.94l4.6,-0.64l1.36,1.61l-1.34,1.28l-16.43,4.94l-7.97,4.88l-7.74,9.63l0.66,4.14l4.16,3.27ZM548.81,18.48l-5.5,1.18l-0.58,1.02l-2.59,0.84l-2.13,-1.07l1.12,-1.42l-0.3,-0.65l-2.33,-0.07l1.68,-0.36l3.47,-0.06l0.42,1.29l0.66,0.16l1.38,-1.34l2.15,-0.88l2.94,1.01l-0.39,0.36ZM477.37,133.15l-4.08,0.05l-2.56,-0.32l0.33,-0.87l3.17,-1.03l3.24,0.96l-0.09,1.23Z",name:"Russia"},RW:{path:"M497.0,288.25l0.71,1.01l-0.11,1.09l-1.63,0.03l-1.04,1.39l-0.83,-0.11l0.51,-1.2l0.08,-1.34l0.42,-0.41l0.7,0.14l1.19,-0.61Z",name:"Rwanda"},RS:{path:"M469.4,163.99l0.42,-0.5l-0.01,-0.52l-1.15,-1.63l1.43,-0.62l1.33,0.12l1.17,1.06l0.46,1.13l1.34,0.64l0.35,1.35l1.46,0.9l0.76,-0.29l0.2,0.69l-0.48,0.78l0.22,1.12l1.05,1.22l-0.77,0.8l-0.37,1.52l-1.21,0.08l0.24,-0.64l-0.39,-0.54l-2.08,-1.64l-0.9,0.05l-0.48,0.94l-2.12,-1.37l0.53,-1.6l-1.11,-1.37l0.51,-1.1l-0.41,-0.57Z",name:"Serbia"},LT:{path:"M486.93,129.3l0.17,1.12l-1.81,0.98l-0.72,2.02l-2.47,1.18l-2.1,-0.02l-0.73,-1.05l-1.06,-0.3l-0.09,-1.87l-3.56,-1.13l-0.43,-2.36l2.48,-0.94l4.12,0.22l2.25,-0.31l0.52,0.69l1.24,0.21l2.19,1.56Z",name:"Lithuania"},LU:{path:"M436.08,149.45l-0.48,-0.07l0.3,-1.28l0.27,0.4l-0.09,0.96Z",name:"Luxembourg"},LR:{path:"M399.36,265.97l0.18,1.54l-0.48,0.99l0.08,0.47l2.47,1.8l-0.33,2.8l-2.65,-1.13l-5.78,-4.61l0.58,-1.32l2.1,-2.33l0.86,-0.22l0.77,1.14l-0.14,0.85l0.59,0.87l1.0,0.14l0.76,-0.99Z",name:"Liberia"},RO:{path:"M487.53,154.23l0.6,0.24l2.87,3.98l-0.17,2.69l0.45,1.42l1.32,0.81l1.35,-0.42l0.76,0.36l0.02,0.31l-0.83,0.45l-0.59,-0.22l-0.54,0.3l-0.62,3.3l-1.0,-0.22l-2.07,-1.13l-2.95,0.71l-1.25,0.76l-3.51,-0.15l-1.89,-0.47l-0.87,0.16l-0.82,-1.3l0.29,-0.26l-0.06,-0.64l-1.09,-0.34l-0.56,0.5l-1.05,-0.64l-0.39,-1.39l-1.36,-0.65l-0.35,-1.0l-0.83,-0.75l1.54,-0.54l2.66,-4.21l2.4,-1.24l2.96,0.34l1.48,0.73l0.79,-0.45l1.78,-0.3l0.75,-0.74l0.79,0.0Z",name:"Romania"},GW:{path:"M386.23,253.6l-0.29,0.84l0.15,0.6l-2.21,0.59l-0.86,0.96l-1.04,-0.83l-1.09,-0.23l-0.54,-1.06l-0.66,-0.49l2.41,-0.48l4.13,0.1Z",name:"Guinea-Bissau"},GT:{path:"M195.08,249.77l-2.48,-0.37l-1.03,-0.45l-1.14,-0.89l0.3,-0.99l-0.24,-0.68l0.96,-1.66l2.98,-0.01l0.4,-0.37l-0.19,-1.28l-1.67,-1.4l0.51,-0.4l0.0,-1.05l3.85,0.02l-0.21,4.53l0.4,0.43l1.46,0.38l-1.48,0.98l-0.35,0.7l0.12,0.57l-2.2,1.96Z",name:"Guatemala"},GR:{path:"M487.07,174.59l-0.59,1.43l-0.37,0.21l-2.84,-0.35l-3.03,0.77l-0.18,0.68l1.28,1.23l-0.61,0.23l-1.14,0.0l-1.2,-1.39l-0.63,0.03l-0.53,1.01l0.56,1.76l1.03,1.19l-0.56,0.38l-0.05,0.62l2.52,2.12l0.02,0.87l-1.78,-0.59l-0.48,0.56l0.5,1.0l-1.07,0.2l-0.3,0.53l0.75,2.01l-0.98,0.02l-1.84,-1.12l-1.37,-4.2l-2.21,-2.95l-0.11,-0.56l1.04,-1.28l0.2,-0.95l0.85,-0.66l0.03,-0.46l1.32,-0.21l1.01,-0.64l1.22,0.05l0.65,-0.56l2.26,-0.0l1.82,-0.75l1.85,1.0l2.28,-0.28l0.35,-0.39l0.01,-0.77l0.34,0.22ZM480.49,192.16l0.58,0.4l-0.68,-0.12l0.11,-0.28ZM482.52,192.82l2.51,0.06l0.24,0.32l-1.99,0.13l-0.77,-0.51Z",name:"Greece"},GQ:{path:"M448.79,279.62l0.02,2.22l-4.09,0.0l0.69,-2.27l3.38,0.05Z",name:"Eq. Guinea"},GY:{path:"M277.42,270.07l-0.32,1.83l-1.32,0.57l-0.23,0.46l-0.28,2.0l1.11,1.82l0.83,0.19l0.32,1.25l1.13,1.62l-1.21,-0.19l-1.08,0.71l-1.77,0.5l-0.44,0.46l-0.86,-0.09l-1.32,-1.01l-0.77,-2.27l0.36,-1.9l0.68,-1.23l-0.57,-1.17l-0.74,-0.43l0.12,-1.16l-0.9,-0.69l-1.1,0.09l-1.31,-1.48l0.53,-0.72l-0.04,-0.84l1.99,-0.86l0.05,-0.59l-0.71,-0.78l0.14,-0.57l1.66,-1.24l1.36,0.77l1.41,1.49l0.06,1.15l0.37,0.38l0.8,0.05l2.06,1.86Z",name:"Guyana"},GE:{path:"M521.71,168.93l5.29,0.89l4.07,2.01l1.41,-0.44l2.07,0.56l0.68,1.1l1.07,0.55l-0.12,0.59l0.98,1.29l-1.01,-0.13l-1.81,-0.83l-0.94,0.47l-3.23,0.43l-2.29,-1.39l-2.33,0.05l0.21,-0.97l-0.76,-2.26l-1.45,-1.12l-1.43,-0.39l-0.41,-0.42Z",name:"Georgia"},GB:{path:"M412.61,118.72l-2.19,3.22l-0.0,0.45l5.13,-0.3l-0.53,2.37l-2.2,3.12l0.29,0.63l2.37,0.21l2.33,4.3l1.76,0.69l2.2,5.12l2.94,0.77l-0.23,1.62l-1.15,0.88l-0.1,0.52l0.82,1.42l-1.86,1.43l-3.3,-0.02l-4.12,0.87l-1.04,-0.58l-0.47,0.06l-1.51,1.41l-2.12,-0.34l-1.86,1.18l-0.6,-0.29l3.19,-3.0l2.16,-0.69l0.28,-0.41l-0.34,-0.36l-3.73,-0.53l-0.4,-0.76l2.2,-0.87l0.17,-0.61l-1.26,-1.67l0.36,-1.7l3.38,0.28l0.43,-0.33l0.37,-1.99l-1.79,-2.49l-3.11,-0.72l-0.38,-0.59l0.79,-1.35l-0.04,-0.46l-0.82,-0.97l-0.61,0.01l-0.68,0.84l-0.1,-2.34l-1.23,-1.88l0.85,-3.47l1.77,-2.68l1.85,0.26l2.17,-0.22ZM406.26,132.86l-1.01,1.77l-1.57,-0.59l-1.16,0.01l0.37,-1.54l-0.39,-1.39l1.45,-0.1l2.3,1.84Z",name:"United Kingdom"},GA:{path:"M453.24,279.52l-0.08,0.98l0.7,1.29l2.36,0.24l-0.98,2.63l1.18,1.79l0.25,1.78l-0.29,1.52l-0.6,0.93l-1.84,-0.09l-1.23,-1.11l-0.66,0.23l-0.15,0.84l-1.42,0.26l-1.02,0.7l-0.11,0.52l0.77,1.35l-1.34,0.97l-3.94,-4.3l-1.44,-2.45l0.06,-0.6l0.54,-0.81l1.05,-3.46l4.17,-0.07l0.4,-0.4l-0.02,-2.66l2.39,0.21l1.25,-0.27Z",name:"Gabon"},GN:{path:"M391.8,254.11l0.47,0.8l1.11,-0.32l0.98,0.7l1.07,0.2l2.26,-1.22l0.64,0.44l1.13,1.56l-0.48,1.4l0.8,0.3l-0.08,0.48l0.46,0.68l-0.35,1.36l1.05,2.61l-1.0,0.69l0.03,1.41l-0.72,-0.06l-1.08,1.0l-0.24,-0.27l0.07,-1.11l-1.05,-1.54l-1.79,0.21l-0.35,-2.01l-1.6,-2.18l-2.0,-0.0l-1.31,0.54l-1.95,2.18l-1.86,-2.19l-1.2,-0.78l-0.3,-1.11l-0.8,-0.85l0.65,-0.72l0.81,-0.03l1.64,-0.8l0.23,-1.87l2.67,0.64l0.89,-0.3l1.21,0.15Z",name:"Guinea"},GM:{path:"M379.31,251.39l0.1,-0.35l2.43,-0.07l0.74,-0.61l0.51,-0.03l0.77,0.49l-1.03,-0.3l-1.87,0.9l-1.65,-0.04ZM384.03,250.91l0.91,0.05l0.75,-0.24l-0.59,0.31l-1.08,-0.13Z",name:"Gambia"},GL:{path:"M353.02,1.2l14.69,4.67l-3.68,1.89l-22.97,0.86l-0.36,0.27l0.12,0.43l1.55,1.18l8.79,-0.66l7.48,2.07l4.86,-1.77l1.66,1.73l-2.53,3.19l-0.01,0.48l0.46,0.15l6.35,-2.2l12.06,-2.31l7.24,1.13l1.09,1.99l-9.79,4.01l-1.44,1.32l-7.87,0.98l-0.35,0.41l0.38,0.38l5.07,0.24l-2.53,3.58l-2.07,3.81l0.08,6.05l2.57,3.11l-3.22,0.2l-4.12,1.66l-0.05,0.72l4.45,2.65l0.51,3.75l-2.3,0.4l-0.25,0.64l2.79,3.69l-4.82,0.31l-0.36,0.29l0.16,0.44l2.62,1.8l-0.59,1.22l-3.3,0.7l-3.45,0.01l-0.29,0.68l3.03,3.12l0.02,1.34l-4.4,-1.73l-1.72,1.35l0.15,0.66l3.31,1.15l3.13,2.71l0.81,3.16l-3.85,0.75l-4.89,-4.26l-0.47,-0.03l-0.17,0.44l0.79,2.86l-2.71,2.21l-0.13,0.44l0.37,0.27l8.73,0.34l-12.32,6.64l-7.24,1.48l-2.94,0.08l-2.69,1.75l-3.43,4.41l-5.24,2.84l-1.73,0.18l-7.12,2.1l-2.15,2.52l-0.13,2.99l-1.19,2.45l-4.01,3.09l-0.14,0.44l0.97,2.9l-2.28,6.48l-3.1,0.2l-3.83,-3.07l-4.86,-0.02l-2.25,-1.93l-1.7,-3.79l-4.3,-4.84l-1.21,-2.49l-0.44,-3.8l-3.32,-3.63l0.84,-2.86l-1.56,-1.7l2.28,-4.6l3.83,-1.74l1.03,-1.96l0.52,-3.47l-0.59,-0.41l-4.17,2.21l-2.07,0.58l-2.72,-1.28l-0.15,-2.71l0.85,-2.09l2.01,-0.06l5.06,1.2l0.46,-0.23l-0.14,-0.49l-6.54,-4.47l-2.67,0.55l-1.58,-0.86l2.56,-4.01l-0.03,-0.48l-1.5,-1.74l-4.98,-8.5l-3.13,-1.96l0.03,-1.88l-0.24,-0.37l-6.85,-3.02l-5.36,-0.38l-12.7,0.58l-2.78,-1.57l-3.66,-2.77l5.73,-1.45l5.0,-0.28l0.38,-0.38l-0.35,-0.41l-10.67,-1.38l-5.3,-2.06l0.25,-1.54l18.41,-5.26l1.22,-2.27l-0.25,-0.55l-6.14,-1.86l1.68,-1.77l8.55,-4.03l3.59,-0.63l0.3,-0.54l-0.88,-2.27l5.47,-1.47l7.65,-0.95l7.55,-0.05l3.04,1.85l6.48,-3.27l5.81,2.22l3.56,0.5l5.16,1.94l0.5,-0.21l-0.17,-0.52l-5.71,-3.13l0.28,-2.13l8.12,-3.6l8.7,0.28l3.35,-2.34l8.71,-0.6l19.93,0.8Z",name:"Greenland"},KW:{path:"M540.81,207.91l0.37,0.86l-0.17,0.76l0.6,1.53l-0.95,0.04l-0.82,-1.28l-1.57,-0.18l1.31,-1.88l1.22,0.17Z",name:"Kuwait"},GH:{path:"M420.53,257.51l-0.01,0.72l0.96,1.2l0.24,3.73l0.59,0.95l-0.51,2.1l0.19,1.41l1.02,2.21l-6.97,2.84l-1.8,-0.57l0.04,-0.89l-1.02,-2.04l0.61,-2.65l1.07,-2.32l-0.96,-6.47l5.01,0.07l0.94,-0.39l0.61,0.11Z",name:"Ghana"},OM:{path:"M568.09,230.93l-0.91,1.67l-1.22,0.04l-0.6,0.76l-0.41,1.51l0.27,1.58l-1.16,0.05l-1.56,0.97l-0.76,1.74l-1.62,0.05l-0.98,0.65l-0.17,1.15l-0.89,0.52l-1.49,-0.18l-2.4,0.94l-2.47,-5.4l7.35,-2.71l1.67,-5.23l-1.12,-2.09l0.05,-0.83l0.67,-1.0l0.07,-1.05l0.9,-0.42l-0.05,-2.07l0.7,-0.01l1.0,1.62l1.51,1.08l3.3,0.84l1.73,2.29l0.81,0.37l-1.23,2.35l-0.99,0.79Z",name:"Oman"},_2:{path:"M531.15,258.94l1.51,0.12l5.13,-0.95l5.3,-1.48l-0.01,4.4l-2.67,3.39l-1.85,0.01l-8.04,-2.94l-2.55,-3.17l1.12,-1.71l2.04,2.34Z",name:"Somaliland"},_1:{path:"M472.77,172.64l-1.08,-1.29l0.96,-0.77l0.29,-0.83l1.98,1.64l-0.36,0.67l-1.79,0.58Z",name:"Kosovo"},_0:{path:"M504.91,192.87l0.34,0.01l0.27,-0.07l-0.29,0.26l-0.31,-0.2Z",name:"N. Cyprus"},JO:{path:"M518.64,201.38l-5.14,1.56l-0.19,0.65l2.16,2.39l-0.89,1.14l-1.71,0.34l-1.71,1.8l-2.34,-0.37l1.21,-4.32l0.56,-4.07l2.8,0.94l4.46,-2.71l0.79,2.66Z",name:"Jordan"},HR:{path:"M455.59,162.84l1.09,0.07l-0.82,0.94l-0.27,-1.01ZM456.96,162.92l0.62,-0.41l1.73,0.45l0.42,-0.4l-0.01,-0.59l0.86,-0.52l0.2,-1.05l1.63,-0.68l2.57,1.68l2.07,0.6l0.87,-0.31l1.05,1.57l-0.52,0.63l-1.05,-0.56l-1.68,0.04l-2.1,-0.5l-1.29,0.06l-0.57,0.49l-0.59,-0.47l-0.62,0.16l-0.46,1.7l1.79,2.42l2.79,2.75l-1.18,-0.87l-2.21,-0.87l-1.67,-1.78l0.13,-0.63l-1.05,-1.19l-0.32,-1.27l-1.42,-0.43Z",name:"Croatia"},HT:{path:"M237.05,238.38l-1.16,0.43l-0.91,-0.55l0.05,-0.2l2.02,0.31ZM237.53,238.43l1.06,0.12l-0.05,0.01l-1.01,-0.12ZM239.25,238.45l0.79,-0.51l0.06,-0.62l-1.02,-1.0l0.02,-0.82l-0.3,-0.4l-0.93,-0.32l3.16,0.45l0.02,1.84l-0.48,0.34l-0.08,0.58l0.54,0.72l-1.78,-0.26Z",name:"Haiti"},HU:{path:"M462.08,157.89l0.65,-1.59l-0.09,-0.44l0.64,-0.0l0.39,-0.34l0.1,-0.69l1.75,0.87l2.32,-0.37l0.43,-0.66l3.49,-0.78l0.69,-0.78l0.57,-0.14l2.57,0.93l0.67,-0.23l1.03,0.65l0.08,0.37l-1.42,0.71l-2.59,4.14l-1.8,0.53l-1.68,-0.1l-2.74,1.23l-1.85,-0.54l-2.54,-1.66l-0.66,-1.1Z",name:"Hungary"},HN:{path:"M199.6,249.52l-1.7,-1.21l0.06,-0.94l3.04,-2.14l2.37,0.28l1.27,-0.09l1.1,-0.52l1.3,0.28l1.14,-0.25l1.38,0.37l2.23,1.37l-2.36,0.93l-1.23,-0.39l-0.88,1.3l-1.28,0.99l-0.98,-0.22l-0.42,0.52l-0.96,0.05l-0.36,0.41l0.04,0.88l-0.52,0.6l-0.3,0.04l-0.3,-0.55l-0.66,-0.31l0.11,-0.67l-0.48,-0.65l-0.87,-0.26l-0.73,0.2Z",name:"Honduras"},PR:{path:"M256.17,238.73l-0.26,0.27l-2.83,0.05l-0.07,-0.55l1.95,-0.1l1.22,0.33Z",name:"Puerto Rico"},PS:{path:"M509.21,203.07l0.1,-0.06l-0.02,0.03l-0.09,0.03ZM509.36,202.91l-0.02,-0.63l-0.33,-0.16l0.31,-1.09l0.24,0.1l-0.2,1.78Z",name:"Palestine"},PT:{path:"M401.84,187.38l-0.64,0.47l-1.13,-0.35l-0.91,0.17l0.28,-1.78l-0.24,-1.78l-1.25,-0.56l-0.45,-0.84l0.17,-1.66l1.01,-1.18l0.69,-2.92l-0.04,-1.39l-0.59,-1.9l1.3,-0.85l0.84,1.35l3.1,-0.3l0.46,0.99l-1.05,0.94l-0.03,2.16l-0.41,0.57l-0.08,1.1l-0.79,0.18l-0.26,0.59l0.91,1.6l-0.63,1.75l0.76,1.09l-1.1,1.52l0.07,1.05Z",name:"Portugal"},PY:{path:"M274.9,336.12l0.74,1.52l-0.16,3.45l0.32,0.41l2.64,0.5l1.11,-0.47l1.4,0.59l0.36,0.6l0.53,3.42l1.27,0.4l0.98,-0.38l0.51,0.27l-0.0,1.18l-1.21,5.32l-2.09,1.9l-1.8,0.4l-4.71,-0.98l2.2,-3.63l-0.32,-1.5l-2.78,-1.28l-3.03,-1.94l-2.07,-0.44l-4.34,-4.06l0.91,-2.9l0.08,-1.42l1.07,-2.04l4.13,-0.72l2.18,0.03l2.05,1.17l0.03,0.59Z",name:"Paraguay"},PA:{path:"M213.8,263.68l0.26,-1.52l-0.36,-0.26l-0.01,-0.49l0.44,-0.1l0.93,1.4l1.26,0.03l0.77,0.49l1.38,-0.23l2.51,-1.11l0.86,-0.72l3.45,0.85l1.4,1.18l0.41,1.74l-0.21,0.34l-0.53,-0.12l-0.47,0.29l-0.16,0.6l-0.68,-1.28l0.45,-0.49l-0.19,-0.66l-0.47,-0.13l-0.54,-0.84l-1.5,-0.75l-1.1,0.16l-0.75,0.99l-1.62,0.84l-0.18,0.96l0.85,0.97l-0.58,0.45l-0.69,0.08l-0.34,-1.18l-1.27,0.03l-0.71,-1.05l-2.59,-0.46Z",name:"Panama"},PG:{path:"M808.58,298.86l2.54,2.56l-0.13,0.26l-0.33,0.12l-0.87,-0.78l-1.22,-2.16ZM801.41,293.04l0.5,0.29l0.26,0.27l-0.49,-0.35l-0.27,-0.21ZM803.17,294.58l0.59,0.5l0.08,1.06l-0.29,-0.91l-0.38,-0.65ZM796.68,298.41l0.52,0.75l1.43,-0.19l2.27,-1.81l-0.01,-1.43l1.12,0.16l-0.04,1.1l-0.7,1.28l-1.12,0.18l-0.62,0.79l-2.46,1.11l-1.17,-0.0l-3.08,-1.25l3.41,0.0l0.45,-0.68ZM789.15,303.55l2.31,1.8l1.59,2.61l1.34,0.13l-0.06,0.66l0.31,0.43l1.06,0.24l0.06,0.65l2.25,1.05l-1.22,0.13l-0.72,-0.63l-4.56,-0.65l-3.22,-2.87l-1.49,-2.34l-3.27,-1.1l-2.38,0.72l-1.59,0.86l-0.2,0.42l0.27,1.55l-1.55,0.68l-1.36,-0.4l-2.21,-0.09l-0.08,-15.41l8.39,2.93l2.95,2.4l0.6,1.64l4.02,1.49l0.31,0.68l-1.76,0.21l-0.33,0.52l0.55,1.68Z",name:"Papua New Guinea"},PE:{path:"M244.96,295.21l-1.26,-0.07l-0.57,0.42l-1.93,0.45l-2.98,1.75l-0.36,1.36l-0.58,0.8l0.12,1.37l-1.24,0.59l-0.22,1.22l-0.62,0.84l1.04,2.27l1.28,1.44l-0.41,0.84l0.32,0.57l1.48,0.13l1.16,1.37l2.21,0.07l1.63,-1.08l-0.13,3.02l0.3,0.4l1.14,0.29l1.31,-0.34l1.9,3.59l-0.48,0.85l-0.17,3.85l-0.94,1.59l0.35,0.75l-0.47,1.07l0.98,1.97l-2.1,3.82l-0.98,0.5l-2.17,-1.28l-0.39,-1.16l-4.95,-2.58l-4.46,-2.79l-1.84,-1.51l-0.91,-1.84l0.3,-0.96l-2.11,-3.33l-4.82,-9.68l-1.04,-1.2l-0.87,-1.94l-3.4,-2.48l0.58,-1.18l-1.13,-2.23l0.66,-1.49l1.45,-1.15l-0.6,0.98l0.07,0.92l0.47,0.36l1.74,0.03l0.97,1.17l0.54,0.07l1.42,-1.03l0.6,-1.84l1.42,-2.02l3.04,-1.04l2.73,-2.62l0.86,-1.74l-0.1,-1.87l1.44,1.02l0.9,1.25l1.06,0.59l1.7,2.73l1.86,0.31l1.45,-0.61l0.96,0.39l1.36,-0.19l1.45,0.89l-1.4,2.21l0.31,0.61l0.59,0.05l0.47,0.5Z",name:"Peru"},PK:{path:"M615.09,192.34l-1.83,1.81l-2.6,0.39l-3.73,-0.68l-1.58,1.33l-0.09,0.42l1.77,4.39l1.7,1.23l-1.69,1.27l-0.12,2.14l-2.33,2.64l-1.6,2.8l-2.46,2.67l-3.03,-0.07l-2.76,2.83l0.05,0.6l1.5,1.11l0.26,1.9l1.44,1.5l0.37,1.68l-5.01,-0.01l-1.78,1.7l-1.42,-0.52l-0.76,-1.87l-2.27,-2.15l-11.61,0.86l0.71,-2.34l3.43,-1.32l0.25,-0.44l-0.21,-1.24l-1.2,-0.65l-0.28,-2.46l-2.29,-1.14l-1.28,-1.94l2.82,0.94l2.62,-0.38l1.42,0.33l0.76,-0.56l1.71,0.19l3.25,-1.14l0.27,-0.36l0.08,-2.19l1.18,-1.32l1.68,0.0l0.58,-0.82l1.6,-0.3l1.19,0.16l0.98,-0.78l0.02,-1.88l0.93,-1.47l1.48,-0.66l0.19,-0.55l-0.66,-1.25l2.04,-0.11l0.69,-1.01l-0.02,-1.16l1.11,-1.06l-0.17,-1.78l-0.49,-1.03l1.15,-0.98l5.42,-0.91l2.6,-0.82l1.6,1.16l0.97,2.34l3.45,0.97Z",name:"Pakistan"},PH:{path:"M737.01,263.84l0.39,2.97l-0.44,1.18l-0.55,-1.53l-0.67,-0.14l-1.17,1.28l0.65,2.09l-0.42,0.69l-2.48,-1.23l-0.57,-1.49l0.65,-1.03l-0.1,-0.54l-1.59,-1.19l-0.56,0.08l-0.65,0.87l-1.23,0.0l-1.58,0.97l0.83,-1.8l2.56,-1.42l0.65,0.84l0.45,0.13l1.9,-0.69l0.56,-1.11l1.5,-0.06l0.38,-0.43l-0.09,-1.19l1.21,0.71l0.36,2.02ZM733.59,256.58l0.05,0.75l0.08,0.26l-0.8,-0.42l-0.18,-0.71l0.85,0.12ZM734.08,256.1l-0.12,-1.12l-1.0,-1.27l1.36,0.03l0.53,0.73l0.51,2.04l-1.27,-0.4ZM733.76,257.68l0.38,0.98l-0.32,0.15l-0.07,-1.13ZM724.65,238.43l1.46,0.7l0.72,-0.31l-0.32,1.17l0.79,1.71l-0.57,1.84l-1.53,1.04l-0.39,2.25l0.56,2.04l1.63,0.57l1.16,-0.27l2.71,1.23l-0.19,1.08l0.76,0.84l-0.08,0.36l-1.4,-0.9l-0.88,-1.27l-0.66,0.0l-0.38,0.55l-1.6,-1.31l-2.15,0.36l-0.87,-0.39l0.07,-0.61l0.66,-0.55l-0.01,-0.62l-0.75,-0.59l-0.72,0.44l-0.74,-0.87l-0.39,-2.49l0.32,0.27l0.66,-0.28l0.26,-3.97l0.7,-2.02l1.14,0.0ZM731.03,258.87l-0.88,0.85l-1.19,1.94l-1.05,-1.19l0.93,-1.1l0.32,-1.47l0.52,-0.06l-0.27,1.15l0.22,0.45l0.49,-0.12l1.0,-1.32l-0.08,0.85ZM726.83,255.78l0.83,0.38l1.17,-0.0l-0.02,0.48l-2.0,1.4l0.03,-2.26ZM724.81,252.09l-0.38,1.27l-1.42,-1.95l1.2,0.05l0.6,0.63ZM716.55,261.82l1.1,-0.95l0.03,-0.03l-0.28,0.36l-0.85,0.61ZM719.22,259.06l0.04,-0.06l0.8,-1.53l0.16,0.75l-1.0,0.84Z",name:"Philippines"},PL:{path:"M468.44,149.42l-1.11,-1.54l-1.86,-0.33l-0.48,-1.05l-1.72,-0.37l-0.65,0.69l-0.72,-0.36l0.11,-0.61l-0.33,-0.46l-1.75,-0.27l-1.04,-0.93l-0.94,-1.94l0.16,-1.22l-0.62,-1.8l-0.78,-1.07l0.57,-1.04l-0.48,-1.43l1.41,-0.83l6.91,-2.71l2.14,0.5l0.52,0.91l5.51,0.44l4.55,-0.05l1.07,0.31l0.48,0.84l0.15,1.58l0.65,1.2l-0.01,0.99l-1.27,0.58l-0.19,0.54l0.73,1.48l0.08,1.55l1.2,2.76l-0.17,0.58l-1.23,0.44l-2.27,2.72l0.18,0.95l-1.97,-1.03l-1.98,0.4l-1.36,-0.28l-1.24,0.58l-1.07,-0.97l-1.16,0.24Z",name:"Poland"},ZM:{path:"M481.47,313.3l0.39,0.31l2.52,0.14l0.99,1.17l2.01,0.35l1.4,-0.64l0.69,1.17l1.78,0.33l1.84,2.35l2.23,0.18l0.4,-0.43l-0.21,-2.74l-0.62,-0.3l-0.48,0.32l-1.98,-1.17l0.72,-5.29l-0.51,-1.18l0.57,-1.3l3.68,-0.62l0.26,0.63l1.21,0.63l0.9,-0.22l2.16,0.67l1.33,0.71l1.07,1.02l0.56,1.87l-0.88,2.7l0.43,2.09l-0.73,0.87l-0.76,2.37l0.59,0.68l-6.6,1.83l-0.29,0.44l0.19,1.45l-1.68,0.35l-1.43,1.02l-0.38,0.87l-0.87,0.26l-3.48,3.69l-4.16,-0.53l-1.52,-1.0l-1.77,-0.13l-1.83,0.52l-3.04,-3.4l0.11,-7.59l4.82,0.03l0.39,-0.49l-0.18,-0.76l0.33,-0.83l-0.4,-1.36l0.24,-1.05Z",name:"Zambia"},EH:{path:"M384.42,230.28l0.25,-0.79l1.06,-1.29l0.8,-3.51l3.38,-2.78l0.7,-1.81l0.06,4.84l-1.98,0.2l-0.94,1.59l0.39,3.56l-3.7,-0.01ZM392.01,218.1l0.7,-1.8l1.77,-0.24l2.09,0.34l0.95,-0.62l1.28,-0.07l-0.0,2.51l-6.79,-0.12Z",name:"W. Sahara"},EE:{path:"M485.71,115.04l2.64,0.6l2.56,0.11l-1.6,1.91l0.61,3.54l-0.81,0.87l-1.78,-0.01l-3.22,-1.76l-1.8,0.45l0.21,-1.53l-0.58,-0.41l-0.69,0.34l-1.26,-1.03l-0.17,-1.63l2.83,-0.92l3.05,-0.52Z",name:"Estonia"},EG:{path:"M492.06,205.03l1.46,0.42l2.95,-1.64l2.04,-0.21l1.53,0.3l0.59,1.19l0.69,0.04l0.41,-0.64l1.81,0.58l1.95,0.16l1.04,-0.51l1.42,4.08l-2.03,4.54l-1.66,-1.77l-1.76,-3.85l-0.64,-0.12l-0.36,0.67l1.04,2.88l3.44,6.95l1.78,3.04l2.03,2.65l-0.36,0.53l0.23,2.01l2.7,2.19l-28.41,0.0l0.0,-18.96l-0.73,-2.2l0.59,-1.56l-0.32,-1.26l0.68,-0.99l3.06,-0.04l4.82,1.52Z",name:"Egypt"},ZA:{path:"M467.14,373.21l-0.13,-1.96l-0.68,-1.56l0.7,-0.68l-0.13,-2.33l-4.56,-8.19l0.77,-0.86l0.6,0.45l0.69,1.31l2.83,0.72l1.5,-0.26l2.24,-1.39l0.19,-9.55l1.35,2.3l-0.21,1.5l0.61,1.2l0.4,0.19l1.79,-0.27l2.6,-2.07l0.69,-1.32l0.96,-0.48l2.19,1.04l2.04,0.13l1.77,-0.65l0.85,-2.12l1.38,-0.33l1.59,-2.76l2.15,-1.89l3.41,-1.87l2.0,0.45l1.02,-0.28l0.99,0.2l1.75,5.29l-0.38,3.25l-0.81,-0.23l-1.0,0.46l-0.87,1.68l-0.05,1.16l1.97,1.84l1.47,-0.29l0.69,-1.18l1.09,0.01l-0.76,3.69l-0.58,1.09l-2.2,1.79l-3.17,4.76l-2.8,2.83l-3.57,2.88l-2.53,1.05l-1.22,0.14l-0.51,0.7l-1.18,-0.32l-1.39,0.5l-2.59,-0.52l-1.61,0.33l-1.18,-0.11l-2.55,1.1l-2.1,0.44l-1.6,1.07l-0.85,0.05l-0.93,-0.89l-0.93,-0.15l-0.97,-1.13l-0.25,0.05ZM491.45,364.19l0.62,-0.93l1.48,-0.59l1.18,-2.19l-0.07,-0.49l-1.99,-1.69l-1.66,0.56l-1.43,1.14l-1.34,1.73l0.02,0.51l1.88,2.11l1.31,-0.16Z",name:"South Africa"},EC:{path:"M231.86,285.53l0.29,1.59l-0.69,1.45l-2.61,2.51l-3.13,1.11l-1.53,2.18l-0.49,1.68l-1.0,0.73l-1.02,-1.11l-1.78,-0.16l0.67,-1.15l-0.24,-0.86l1.25,-2.13l-0.54,-1.09l-0.67,-0.08l-0.72,0.87l-0.87,-0.64l0.35,-0.69l-0.36,-1.96l0.81,-0.51l0.45,-1.51l0.92,-1.57l-0.07,-0.97l2.65,-1.33l2.75,1.35l0.77,1.05l2.12,0.35l0.76,-0.32l1.96,1.21Z",name:"Ecuador"},AL:{path:"M470.32,171.8l0.74,0.03l0.92,0.89l-0.17,1.95l0.36,1.28l1.01,0.82l-1.82,2.83l-0.19,-0.61l-1.25,-0.89l-0.18,-1.2l0.53,-2.82l-0.54,-1.47l0.6,-0.83Z",name:"Albania"},AO:{path:"M461.55,300.03l1.26,3.15l1.94,2.36l2.47,-0.53l1.25,0.32l0.44,-0.18l0.93,-1.92l1.31,-0.08l0.41,-0.44l0.47,-0.0l-0.1,0.41l0.39,0.49l2.65,-0.02l0.03,1.19l0.48,1.01l-0.34,1.52l0.18,1.55l0.83,1.04l-0.13,2.85l0.54,0.39l3.96,-0.41l-0.1,1.79l0.39,1.05l-0.24,1.43l-4.7,-0.03l-0.4,0.39l-0.12,8.13l2.92,3.49l-3.83,0.88l-5.89,-0.36l-1.88,-1.24l-10.47,0.22l-1.3,-1.01l-1.85,-0.16l-2.4,0.77l-0.15,-1.06l0.33,-2.16l1.0,-3.45l1.35,-3.2l2.24,-2.8l0.33,-2.06l-0.13,-1.53l-0.8,-1.08l-1.21,-2.87l0.87,-1.62l-1.27,-4.12l-1.17,-1.53l2.47,-0.63l7.03,0.03ZM451.71,298.87l-0.47,-1.25l1.25,-1.11l0.32,0.3l-0.99,1.03l-0.12,1.03Z",name:"Angola"},KZ:{path:"M552.8,172.89l0.46,-1.27l-0.48,-1.05l-2.96,-1.19l-1.06,-2.58l-1.37,-0.87l-0.03,-0.3l1.95,0.23l0.45,-0.38l0.08,-1.96l1.75,-0.41l2.1,0.45l0.48,-0.33l0.45,-3.04l-0.45,-2.09l-0.41,-0.31l-2.42,0.15l-2.36,-0.73l-2.87,1.37l-2.17,0.61l-0.85,-0.34l0.13,-1.61l-1.6,-2.12l-2.02,-0.08l-1.78,-1.82l1.29,-2.18l-0.57,-0.95l1.62,-2.91l2.21,1.63l0.63,-0.27l0.29,-2.22l4.92,-3.43l3.71,-0.08l8.4,3.6l2.92,-1.36l3.77,-0.06l3.11,1.66l0.51,-0.11l0.6,-0.81l3.31,0.13l0.39,-0.25l0.63,-1.57l-0.17,-0.5l-3.5,-1.98l1.87,-1.27l-0.13,-1.03l1.98,-0.72l0.18,-0.62l-1.59,-2.06l0.81,-0.82l9.23,-1.18l1.33,-0.88l6.18,-1.26l2.26,-1.42l4.08,0.68l0.73,3.33l0.51,0.3l2.48,-0.8l2.79,1.02l-0.17,1.56l0.43,0.44l2.55,-0.24l4.89,-2.53l0.03,0.32l3.15,2.61l5.56,8.47l0.65,0.02l1.12,-1.46l3.15,1.74l3.76,-0.78l1.15,0.49l1.14,1.8l1.84,0.76l0.99,1.29l3.35,-0.25l1.02,1.52l-1.6,1.81l-1.93,0.28l-0.34,0.38l-0.11,3.05l-1.13,1.16l-4.75,-1.0l-0.46,0.27l-1.76,5.47l-1.1,0.59l-4.91,1.23l-0.27,0.54l2.1,4.97l-1.37,0.63l-0.23,0.41l0.13,1.13l-0.88,-0.25l-1.42,-1.13l-7.89,-0.4l-0.92,0.31l-3.73,-1.22l-1.42,0.63l-0.53,1.66l-3.72,-0.94l-1.85,0.43l-0.76,1.4l-4.65,2.62l-1.13,2.08l-0.44,0.01l-0.92,-1.4l-2.87,-0.09l-0.45,-2.14l-0.38,-0.32l-0.8,-0.01l0.0,-2.96l-3.0,-2.22l-7.31,0.58l-2.35,-2.68l-6.71,-3.69l-6.45,1.83l-0.29,0.39l0.1,10.85l-0.7,0.08l-1.62,-2.17l-1.83,-0.96l-3.11,0.59l-0.64,0.51Z",name:"Kazakhstan"},ET:{path:"M516.04,247.79l1.1,0.84l1.63,-0.45l0.68,0.47l1.63,0.03l2.01,0.94l1.73,1.66l1.64,2.07l-1.52,2.04l0.16,1.72l0.39,0.38l2.05,0.0l-0.36,1.03l2.86,3.58l8.32,3.08l1.31,0.02l-6.32,6.75l-3.1,0.11l-2.36,1.77l-1.47,0.04l-0.86,0.79l-1.38,-0.0l-1.32,-0.81l-2.29,1.05l-0.76,0.98l-3.29,-0.41l-3.07,-2.07l-1.8,-0.07l-0.62,-0.6l0.0,-1.24l-0.28,-0.38l-1.15,-0.37l-1.4,-2.59l-1.19,-0.68l-0.47,-1.0l-1.27,-1.23l-1.16,-0.22l0.43,-0.72l1.45,-0.28l0.41,-0.95l-0.03,-2.21l0.68,-2.44l1.05,-0.63l1.43,-3.06l1.57,-1.37l1.02,-2.51l0.35,-1.88l2.52,0.46l0.44,-0.24l0.58,-1.43Z",name:"Ethiopia"},ZW:{path:"M498.91,341.09l-1.11,-0.22l-0.92,0.28l-2.09,-0.44l-1.5,-1.11l-1.89,-0.43l-0.62,-1.4l-0.01,-0.84l-0.3,-0.38l-0.97,-0.25l-2.71,-2.74l-1.92,-3.32l3.83,0.45l3.73,-3.82l1.08,-0.44l0.26,-0.77l1.25,-0.9l1.41,-0.26l0.5,0.89l1.99,-0.05l1.72,1.17l1.11,0.17l1.05,0.66l0.01,2.99l-0.59,3.76l0.38,0.86l-0.23,1.23l-0.39,0.35l-0.63,1.81l-2.43,2.75Z",name:"Zimbabwe"},ES:{path:"M416.0,169.21l1.07,1.17l4.61,1.38l1.06,-0.57l2.6,1.26l2.71,-0.3l0.09,1.12l-2.14,1.8l-3.11,0.61l-0.31,0.31l-0.2,0.89l-1.54,1.69l-0.97,2.4l0.84,1.74l-1.32,1.27l-0.48,1.68l-1.88,0.65l-1.66,2.07l-5.36,-0.01l-1.79,1.08l-0.89,0.98l-0.88,-0.17l-0.79,-0.82l-0.68,-1.59l-2.37,-0.63l-0.11,-0.5l1.21,-1.82l-0.77,-1.13l0.61,-1.68l-0.76,-1.62l0.87,-0.49l0.09,-1.25l0.42,-0.6l0.03,-2.11l0.99,-0.69l0.13,-0.5l-1.03,-1.73l-1.46,-0.11l-0.61,0.38l-1.06,0.0l-0.52,-1.23l-0.53,-0.21l-1.32,0.67l-0.01,-1.49l-0.75,-0.96l3.03,-1.88l2.99,0.53l3.32,-0.02l2.63,0.51l6.01,-0.06Z",name:"Spain"},ER:{path:"M520.38,246.23l3.42,2.43l3.5,3.77l0.84,0.54l-0.95,-0.01l-3.51,-3.89l-2.33,-1.15l-1.73,-0.07l-0.91,-0.51l-1.26,0.51l-1.34,-1.02l-0.61,0.17l-0.66,1.61l-2.35,-0.43l-0.17,-0.67l1.29,-5.29l0.61,-0.61l1.95,-0.53l0.87,-1.01l1.17,2.41l0.68,2.33l1.49,1.43Z",name:"Eritrea"},ME:{path:"M468.91,172.53l-1.22,-1.02l0.47,-1.81l0.89,-0.72l2.26,1.51l-0.5,0.57l-0.75,-0.27l-1.14,1.73Z",name:"Montenegro"},MD:{path:"M488.41,153.73l1.4,-0.27l1.72,0.93l1.07,0.15l0.85,0.65l-0.14,0.84l0.96,0.85l1.12,2.47l-1.15,-0.07l-0.66,-0.41l-0.52,0.25l-0.09,0.86l-1.08,1.89l-0.27,-0.86l0.25,-1.34l-0.16,-1.6l-3.29,-4.34Z",name:"Moldova"},MG:{path:"M545.91,319.14l0.4,3.03l0.62,1.21l-0.21,1.02l-0.57,-0.8l-0.69,-0.01l-0.47,0.76l0.41,2.12l-0.18,0.87l-0.73,0.78l-0.15,2.14l-4.71,15.2l-1.06,2.88l-3.92,1.64l-3.12,-1.49l-0.6,-1.21l-0.19,-2.4l-0.86,-2.05l-0.21,-1.77l0.38,-1.62l1.21,-0.75l0.01,-0.76l1.19,-2.04l0.23,-1.66l-1.06,-2.99l-0.19,-2.21l0.81,-1.33l0.32,-1.46l4.63,-1.22l3.44,-3.0l0.85,-1.4l-0.08,-0.7l0.78,-0.04l1.38,-1.77l0.13,-1.64l0.45,-0.61l1.16,1.69l0.59,1.6Z",name:"Madagascar"},MA:{path:"M378.78,230.02l0.06,-0.59l0.92,-0.73l0.82,-1.37l-0.09,-1.04l0.79,-1.7l1.31,-1.58l0.96,-0.59l0.66,-1.55l0.09,-1.47l0.81,-1.48l1.72,-1.07l1.55,-2.69l1.16,-0.96l2.44,-0.39l1.94,-1.82l1.31,-0.78l2.09,-2.28l-0.51,-3.65l1.24,-3.7l1.5,-1.75l4.46,-2.57l2.37,-4.47l1.44,0.01l1.68,1.21l2.32,-0.19l3.47,0.65l0.8,1.54l0.16,1.71l0.86,2.96l0.56,0.59l-0.26,0.61l-3.05,0.44l-1.26,1.05l-1.33,0.22l-0.33,0.37l-0.09,1.78l-2.68,1.0l-1.07,1.42l-4.47,1.13l-4.04,2.01l-0.54,4.64l-1.15,0.06l-0.92,0.61l-1.96,-0.35l-2.42,0.54l-0.74,1.9l-0.86,0.4l-1.14,3.26l-3.53,3.01l-0.8,3.55l-0.96,1.1l-0.29,0.82l-4.95,0.18Z",name:"Morocco"},UZ:{path:"M598.64,172.75l-1.63,1.52l0.06,0.64l1.85,1.12l1.97,-0.64l2.21,1.17l-2.52,1.68l-2.59,-0.22l-0.18,-0.41l0.46,-1.23l-0.45,-0.53l-3.35,0.69l-2.1,3.51l-1.87,-0.12l-1.03,1.51l0.22,0.55l1.64,0.62l0.46,1.83l-1.19,2.49l-2.66,-0.53l0.05,-1.36l-0.26,-0.39l-3.3,-1.23l-2.56,-1.4l-4.4,-3.34l-1.34,-3.14l-1.08,-0.6l-2.58,0.13l-0.69,-0.44l-0.47,-2.52l-3.37,-1.6l-0.43,0.05l-2.07,1.72l-2.1,1.01l-0.21,0.47l0.28,1.01l-1.91,0.03l-0.09,-10.5l5.99,-1.7l6.19,3.54l2.71,2.84l7.05,-0.67l2.71,2.01l-0.17,2.81l0.39,0.42l0.9,0.02l0.44,2.14l0.38,0.32l2.94,0.09l0.95,1.42l1.28,-0.24l1.05,-2.04l4.43,-2.5Z",name:"Uzbekistan"},MM:{path:"M673.9,230.21l-1.97,1.57l-0.57,0.96l-1.4,0.6l-1.36,1.05l-1.99,0.36l-1.08,2.66l-0.91,0.4l-0.19,0.55l1.21,2.27l2.52,3.43l-0.79,1.91l-0.74,0.41l-0.17,0.52l0.65,1.37l1.61,1.95l0.25,2.58l0.9,2.13l-1.92,3.57l0.68,-2.25l-0.81,-1.74l0.19,-2.65l-1.05,-1.53l-1.24,-6.17l-1.12,-2.26l-0.6,-0.13l-4.34,3.02l-2.39,-0.65l0.77,-2.84l-0.52,-2.61l-1.91,-2.96l0.25,-0.75l-0.29,-0.51l-1.33,-0.3l-1.61,-1.93l-0.1,-1.3l0.82,-0.24l0.04,-1.64l1.02,-0.52l0.21,-0.45l-0.23,-0.95l0.54,-0.96l0.08,-2.22l1.46,0.45l0.47,-0.2l1.12,-2.19l0.16,-1.35l1.33,-2.16l-0.0,-1.52l2.89,-1.66l1.63,0.44l0.5,-0.44l-0.17,-1.4l0.64,-0.36l0.08,-1.04l0.77,-0.11l0.71,1.35l1.06,0.69l-0.03,3.86l-2.38,2.37l-0.3,3.15l0.46,0.43l2.28,-0.38l0.51,2.08l1.47,0.67l-0.6,1.8l0.19,0.48l2.97,1.48l1.64,-0.55l0.02,0.32Z",name:"Myanmar"},ML:{path:"M392.61,254.08l-0.19,-2.37l-0.99,-0.87l-0.44,-1.3l-0.09,-1.28l0.81,-0.58l0.35,-1.24l2.37,0.65l1.31,-0.47l0.86,0.15l0.66,-0.56l9.83,-0.04l0.38,-0.28l0.56,-1.8l-0.44,-0.65l-2.35,-21.95l3.27,-0.04l16.7,11.38l0.74,1.31l2.5,1.09l0.02,1.38l0.44,0.39l2.34,-0.21l0.01,5.38l-1.28,1.61l-0.26,1.49l-5.31,0.57l-1.07,0.92l-2.9,0.1l-0.86,-0.48l-1.38,0.36l-2.4,1.08l-0.6,0.87l-1.85,1.09l-0.43,0.7l-0.79,0.39l-1.44,-0.21l-0.81,0.84l-0.34,1.64l-1.91,2.02l-0.06,1.03l-0.67,1.22l0.13,1.16l-0.97,0.39l-0.23,-0.64l-0.52,-0.24l-1.35,0.4l-0.34,0.55l-2.69,-0.28l-0.37,-0.35l-0.02,-0.9l-0.65,-0.35l0.45,-0.64l-0.03,-0.53l-2.12,-2.44l-0.76,-0.01l-2.0,1.16l-0.78,-0.15l-0.8,-0.67l-1.21,0.23Z",name:"Mali"},MN:{path:"M676.61,146.48l3.81,1.68l5.67,-1.0l2.37,0.41l2.34,1.5l1.79,1.75l2.29,-0.03l3.12,0.52l2.47,-0.81l3.41,-0.59l3.53,-2.21l1.25,0.29l1.53,1.13l2.27,-0.21l-2.66,5.01l0.64,1.68l0.47,0.21l1.32,-0.38l2.38,0.48l2.02,-1.11l1.76,0.89l2.06,2.02l-0.13,0.53l-1.72,-0.29l-3.77,0.46l-1.88,0.99l-1.76,1.99l-3.71,1.17l-2.45,1.6l-3.83,-0.87l-0.41,0.17l-1.31,1.99l1.04,2.24l-1.52,0.9l-1.74,1.57l-2.79,1.02l-3.78,0.13l-4.05,1.05l-2.77,1.52l-1.16,-0.85l-2.94,0.0l-3.62,-1.79l-2.58,-0.49l-3.4,0.41l-5.12,-0.67l-2.63,0.06l-1.31,-1.6l-1.4,-3.0l-1.48,-0.33l-3.13,-1.94l-6.16,-0.93l-0.71,-1.06l0.86,-3.82l-1.93,-2.71l-3.5,-1.18l-1.95,-1.58l-0.5,-1.72l2.34,-0.52l4.75,-2.8l3.62,-1.47l2.18,0.97l2.46,0.05l1.81,1.53l2.46,0.12l3.95,0.71l2.43,-2.28l0.08,-0.48l-0.9,-1.72l2.24,-2.98l2.62,1.27l4.94,1.17l0.43,2.24Z",name:"Mongolia"},MK:{path:"M472.8,173.98l0.49,-0.71l3.57,-0.71l1.0,0.77l0.13,1.45l-0.65,0.53l-1.15,-0.05l-1.12,0.67l-1.39,0.22l-0.79,-0.55l-0.29,-1.03l0.19,-0.6Z",name:"Macedonia"},MW:{path:"M505.5,309.31l0.85,1.95l0.15,2.86l-0.69,1.65l0.71,1.8l0.06,1.28l0.49,0.64l0.07,1.06l0.4,0.55l0.8,-0.23l0.55,0.61l0.69,-0.21l0.34,0.6l0.19,2.94l-1.04,0.62l-0.54,1.25l-1.11,-1.08l-0.16,-1.56l0.51,-1.31l-0.32,-1.3l-0.99,-0.65l-0.82,0.12l-2.36,-1.64l0.63,-1.96l0.82,-1.18l-0.46,-2.01l0.9,-2.86l-0.94,-2.51l0.96,0.18l0.29,0.4Z",name:"Malawi"},MR:{path:"M407.36,220.66l-2.58,0.03l-0.39,0.44l2.42,22.56l0.36,0.43l-0.39,1.24l-9.75,0.04l-0.56,0.53l-0.91,-0.11l-1.27,0.45l-1.61,-0.66l-0.97,0.03l-0.36,0.29l-0.38,1.35l-0.42,0.23l-2.93,-3.4l-2.96,-1.52l-1.62,-0.03l-1.27,0.54l-1.12,-0.2l-0.65,0.4l-0.08,-0.49l0.68,-1.29l0.31,-2.43l-0.57,-3.91l0.23,-1.21l-0.69,-1.5l-1.15,-1.02l0.25,-0.39l9.58,0.02l0.4,-0.45l-0.46,-3.68l0.47,-1.04l2.12,-0.21l0.36,-0.4l-0.08,-6.4l7.81,0.13l0.41,-0.4l0.01,-3.31l7.76,5.35Z",name:"Mauritania"},UG:{path:"M498.55,276.32l0.7,-0.46l1.65,0.5l1.96,-0.57l1.7,0.01l1.45,-0.98l0.91,1.33l1.33,3.95l-2.57,4.03l-1.46,-0.4l-2.54,0.91l-1.37,1.61l-0.01,0.81l-2.42,-0.01l-2.26,1.01l-0.17,-1.59l0.58,-1.04l0.14,-1.94l1.37,-2.28l1.78,-1.58l-0.17,-0.65l-0.72,-0.24l0.13,-2.43Z",name:"Uganda"},MY:{path:"M717.47,273.46l-1.39,0.65l-2.12,-0.41l-2.88,-0.0l-0.38,0.28l-0.84,2.75l-0.99,0.96l-1.21,3.29l-1.73,0.45l-2.45,-0.68l-1.39,0.31l-1.33,1.15l-1.59,-0.14l-1.41,0.44l-1.44,-1.19l-0.18,-0.73l1.34,0.53l1.93,-0.47l0.75,-2.22l4.02,-1.03l2.75,-3.21l0.82,0.94l0.64,-0.05l0.4,-0.65l0.96,0.06l0.42,-0.36l0.24,-2.68l1.81,-1.64l1.21,-1.86l0.63,-0.01l1.07,1.05l0.34,1.28l3.44,1.35l-0.06,0.35l-1.37,0.1l-0.35,0.54l0.32,0.88ZM673.68,269.59l0.17,1.09l0.47,0.33l1.65,-0.3l0.87,-0.94l1.61,1.52l0.98,1.56l-0.12,2.81l0.41,2.29l0.95,0.9l0.88,2.44l-1.27,0.12l-5.1,-3.67l-0.34,-1.29l-1.37,-1.59l-0.33,-1.97l-0.88,-1.4l0.25,-1.68l-0.46,-1.05l1.63,0.84Z",name:"Malaysia"},MX:{path:"M133.12,200.41l0.2,0.47l9.63,3.33l6.96,-0.02l0.4,-0.4l0.0,-0.74l3.77,0.0l3.55,2.93l1.39,2.83l1.52,1.04l2.08,0.82l0.47,-0.14l1.46,-2.0l1.73,-0.04l1.59,0.98l2.05,3.35l1.47,1.56l1.26,3.14l2.18,1.02l2.26,0.58l-1.18,3.72l-0.42,5.04l1.79,4.89l1.62,1.89l0.61,1.52l1.2,1.42l2.55,0.66l1.37,1.1l7.54,-1.89l1.86,-1.3l1.14,-4.3l4.1,-1.21l3.57,-0.11l0.32,0.3l-0.06,0.94l-1.26,1.45l-0.67,1.71l0.38,0.7l-0.72,2.27l-0.49,-0.3l-1.0,0.08l-1.0,1.39l-0.47,-0.11l-0.53,0.47l-4.26,-0.02l-0.4,0.4l-0.0,1.06l-1.1,0.26l0.1,0.44l1.82,1.44l0.56,0.91l-3.19,0.21l-1.21,2.09l0.24,0.72l-0.2,0.44l-2.24,-2.18l-1.45,-0.93l-2.22,-0.69l-1.52,0.22l-3.07,1.16l-10.55,-3.85l-2.86,-1.96l-3.78,-0.92l-1.08,-1.19l-2.62,-1.43l-1.18,-1.54l-0.38,-0.81l0.66,-0.63l-0.18,-0.53l0.52,-0.76l0.01,-0.91l-2.0,-3.82l-2.21,-2.63l-2.53,-2.09l-1.19,-1.62l-2.2,-1.17l-0.3,-0.43l0.34,-1.48l-0.21,-0.45l-1.23,-0.6l-1.36,-1.2l-0.59,-1.78l-1.54,-0.47l-2.44,-2.55l-0.16,-0.9l-1.33,-2.03l-0.84,-1.99l-0.16,-1.33l-1.81,-1.1l-0.97,0.05l-1.31,-0.7l-0.57,0.22l-0.4,1.12l0.72,3.77l3.51,3.89l0.28,0.78l0.53,0.26l0.41,1.43l1.33,1.73l1.58,1.41l0.8,2.39l1.43,2.41l0.13,1.32l0.37,0.36l1.04,0.08l1.67,2.28l-0.85,0.76l-0.66,-1.51l-1.68,-1.54l-2.91,-1.87l0.06,-1.82l-0.54,-1.68l-2.91,-2.03l-0.55,0.09l-1.95,-1.1l-0.88,-0.94l0.68,-0.08l0.93,-1.01l0.08,-1.78l-1.93,-1.94l-1.46,-0.77l-3.75,-7.56l4.88,-0.42Z",name:"Mexico"},VU:{path:"M839.04,322.8l0.22,1.14l-0.44,0.03l-0.2,-1.45l0.42,0.27Z",name:"Vanuatu"},FR:{path:"M444.48,172.62l-0.64,1.78l-0.58,-0.31l-0.49,-1.72l0.4,-0.89l1.0,-0.72l0.3,1.85ZM429.64,147.1l1.78,1.58l1.46,-0.13l2.1,1.42l1.35,0.27l1.23,0.83l3.04,0.5l-1.03,1.85l-0.3,2.12l-0.41,0.32l-0.95,-0.24l-0.5,0.43l0.06,0.61l-1.81,1.92l-0.04,1.42l0.55,0.38l0.88,-0.36l0.61,0.97l-0.03,1.0l0.57,0.91l-0.75,1.09l0.65,2.39l1.27,0.57l-0.18,0.82l-2.01,1.53l-4.77,-0.8l-3.82,1.0l-0.53,1.85l-2.49,0.34l-2.71,-1.31l-1.16,0.57l-4.31,-1.29l-0.72,-0.86l1.19,-1.78l0.39,-6.45l-2.58,-3.3l-1.9,-1.66l-3.72,-1.23l-0.19,-1.72l2.81,-0.61l4.12,0.81l0.47,-0.48l-0.6,-2.77l1.94,0.95l5.83,-2.54l0.92,-2.74l1.6,-0.49l0.24,0.78l1.36,0.33l1.05,1.19ZM289.01,278.39l-0.81,0.8l-0.78,0.12l-0.5,-0.66l-0.56,-0.1l-0.91,0.6l-0.46,-0.22l1.09,-2.96l-0.96,-1.77l-0.17,-1.49l1.07,-1.77l2.32,0.75l2.51,2.01l0.3,0.74l-2.14,3.96Z",name:"France"},FI:{path:"M492.17,76.39l-0.23,3.5l3.52,2.63l-2.08,2.88l-0.02,0.44l2.8,4.56l-1.59,3.31l2.16,3.24l-0.94,2.39l0.14,0.47l3.44,2.51l-0.77,1.62l-7.52,6.95l-4.5,0.31l-4.38,1.37l-3.8,0.74l-1.44,-1.96l-2.17,-1.11l0.5,-3.66l-1.16,-3.33l1.09,-2.08l2.21,-2.42l5.67,-4.32l1.64,-0.83l0.21,-0.42l-0.46,-2.02l-3.38,-1.89l-0.75,-1.43l-0.22,-6.74l-6.79,-4.8l0.8,-0.62l2.54,2.12l3.46,-0.12l3.0,0.96l2.51,-2.11l1.17,-3.08l3.55,-1.38l2.76,1.53l-0.95,2.79Z",name:"Finland"},FJ:{path:"M871.53,326.34l-2.8,1.05l-0.08,-0.23l2.97,-1.21l-0.1,0.39ZM867.58,329.25l0.43,0.37l-0.27,0.88l-1.24,0.28l-1.04,-0.24l-0.14,-0.66l0.63,-0.58l0.92,0.26l0.7,-0.31Z",name:"Fiji"},FK:{path:"M274.36,425.85l1.44,1.08l-0.47,0.73l-3.0,0.89l-0.96,-1.0l-0.52,-0.05l-1.83,1.29l-0.73,-0.88l2.46,-1.64l1.93,0.76l1.67,-1.19Z",name:"Falkland Is."},NI:{path:"M202.33,252.67l0.81,-0.18l1.03,-1.02l-0.04,-0.88l0.68,-0.0l0.63,-0.54l0.97,0.22l1.53,-1.26l0.58,-0.99l1.17,0.34l2.41,-0.94l0.13,1.32l-0.81,1.94l0.1,2.74l-0.36,0.37l-0.11,1.75l-0.47,0.81l0.18,1.14l-1.73,-0.85l-0.71,0.27l-1.47,-0.6l-0.52,0.16l-4.01,-3.81Z",name:"Nicaragua"},NL:{path:"M430.31,143.39l0.6,-0.5l2.13,-4.8l3.2,-1.33l1.74,0.08l0.33,0.8l-0.59,2.92l-0.5,0.99l-1.26,0.0l-0.4,0.45l0.33,2.7l-2.2,-1.78l-2.62,0.58l-0.75,-0.11Z",name:"Netherlands"},NO:{path:"M491.44,67.41l6.8,2.89l-2.29,0.86l-0.15,0.65l2.33,2.38l-4.98,1.79l0.84,-2.45l-0.18,-0.48l-3.55,-1.8l-3.89,1.52l-1.42,3.38l-2.12,1.72l-2.64,-1.0l-3.11,0.21l-2.66,-2.22l-0.5,-0.01l-1.41,1.1l-1.44,0.17l-0.35,0.35l-0.32,2.47l-4.32,-0.64l-0.44,0.29l-0.58,2.11l-2.45,0.2l-4.15,7.68l-3.88,5.76l0.78,1.62l-0.64,1.16l-2.24,-0.06l-0.38,0.24l-1.66,3.89l0.15,5.17l1.57,2.04l-0.78,4.16l-2.02,2.48l-0.85,1.63l-1.3,-1.75l-0.58,-0.07l-4.87,4.19l-3.1,0.79l-3.16,-1.7l-0.85,-3.77l-0.77,-8.55l2.14,-2.31l6.55,-3.27l5.02,-4.17l10.63,-13.84l10.98,-8.7l5.35,-1.91l4.34,0.12l3.69,-3.64l4.49,0.19l4.37,-0.89ZM484.55,20.04l4.26,1.75l-3.1,2.55l-7.1,0.65l-7.08,-0.9l-0.37,-1.31l-0.37,-0.29l-3.44,-0.1l-2.08,-2.0l6.87,-1.44l3.9,1.31l2.39,-1.64l6.13,1.4ZM481.69,33.93l-4.45,1.74l-3.54,-0.99l1.12,-0.9l0.05,-0.58l-1.06,-1.22l4.22,-0.89l1.09,1.97l2.57,0.87ZM466.44,24.04l7.43,3.77l-5.41,1.86l-1.58,4.08l-2.26,1.2l-1.12,4.11l-2.61,0.18l-4.79,-2.86l1.84,-1.54l-0.1,-0.68l-3.69,-1.53l-4.77,-4.51l-1.73,-3.89l6.11,-1.82l1.54,1.92l3.57,-0.08l1.2,-1.96l3.32,-0.18l3.05,1.92Z",name:"Norway"},NA:{path:"M474.26,330.66l-0.97,0.04l-0.38,0.4l-0.07,8.9l-2.09,0.08l-0.39,0.4l-0.0,17.42l-1.98,1.23l-1.17,0.17l-2.44,-0.66l-0.48,-1.13l-0.99,-0.74l-0.54,0.05l-0.9,1.01l-1.53,-1.68l-0.93,-1.88l-1.99,-8.56l-0.06,-3.12l-0.33,-1.52l-2.3,-3.34l-1.91,-4.83l-1.96,-2.43l-0.12,-1.57l2.33,-0.79l1.43,0.07l1.81,1.13l10.23,-0.25l1.84,1.23l5.87,0.35ZM474.66,330.64l6.51,-1.6l1.9,0.39l-1.69,0.4l-1.31,0.83l-1.12,-0.94l-4.29,0.92Z",name:"Namibia"},NC:{path:"M838.78,341.24l-0.33,0.22l-2.9,-1.75l-3.26,-3.37l1.65,0.83l4.85,4.07Z",name:"New Caledonia"},NE:{path:"M454.75,226.53l1.33,1.37l0.48,0.07l1.27,-0.7l0.53,3.52l0.94,0.83l0.17,0.92l0.81,0.69l-0.44,0.95l-0.96,5.26l-0.13,3.22l-3.04,2.31l-1.22,3.57l1.02,1.24l-0.0,1.46l0.39,0.4l1.13,0.04l-0.9,1.25l-1.47,-2.42l-0.86,-0.29l-2.09,1.37l-1.74,-0.67l-1.45,-0.17l-0.85,0.35l-1.36,-0.07l-1.64,1.09l-1.06,0.05l-2.94,-1.28l-1.44,0.59l-1.01,-0.03l-0.97,-0.94l-2.7,-0.98l-2.69,0.3l-0.87,0.64l-0.47,1.6l-0.75,1.16l-0.12,1.53l-1.57,-1.1l-1.31,0.24l0.03,-0.81l-0.32,-0.41l-2.59,-0.52l-0.15,-1.16l-1.35,-1.6l-0.29,-1.0l0.13,-0.84l1.29,-0.08l1.08,-0.92l3.31,-0.22l2.22,-0.41l0.32,-0.34l0.2,-1.47l1.39,-1.88l-0.01,-5.66l3.36,-1.12l7.24,-5.12l8.42,-4.92l3.69,1.06Z",name:"Niger"},NG:{path:"M456.32,253.89l0.64,0.65l-0.28,1.04l-2.11,2.01l-2.03,5.18l-1.37,1.16l-1.15,3.18l-1.33,0.66l-1.46,-0.97l-1.21,0.16l-1.38,1.36l-0.91,0.24l-1.79,4.06l-2.33,0.81l-1.11,-0.07l-0.86,0.5l-1.71,-0.05l-1.19,-1.39l-0.89,-1.89l-1.77,-1.66l-3.95,-0.08l0.07,-5.21l0.42,-1.43l1.95,-2.3l-0.14,-0.91l0.43,-1.18l-0.53,-1.41l0.25,-2.92l0.72,-1.07l0.32,-1.34l0.46,-0.39l2.47,-0.28l2.34,0.89l1.15,1.02l1.28,0.04l1.22,-0.58l3.03,1.27l1.49,-0.14l1.36,-1.0l1.33,0.07l0.82,-0.35l3.45,0.8l1.82,-1.32l1.84,2.67l0.66,0.16Z",name:"Nigeria"},NZ:{path:"M857.8,379.65l1.86,3.12l0.44,0.18l0.3,-0.38l0.03,-1.23l0.38,0.27l0.57,2.31l2.02,0.94l1.81,0.27l1.57,-1.06l0.7,0.18l-1.15,3.59l-1.98,0.11l-0.74,1.2l0.2,1.11l-2.42,3.98l-1.49,0.92l-1.04,-0.85l1.21,-2.05l-0.81,-2.01l-2.63,-1.25l0.04,-0.57l1.82,-1.19l0.43,-2.34l-0.16,-2.03l-0.95,-1.82l-0.06,-0.72l-3.11,-3.64l-0.79,-1.52l1.56,1.45l1.76,0.66l0.65,2.34ZM853.83,393.59l0.57,1.24l0.59,0.16l1.42,-0.97l0.46,0.79l0.0,1.03l-2.47,3.48l-1.26,1.2l-0.06,0.5l0.55,0.87l-1.41,0.07l-2.33,1.38l-2.03,5.02l-3.02,2.16l-2.06,-0.06l-1.71,-1.04l-2.47,-0.2l-0.27,-0.73l1.22,-2.1l3.05,-2.94l1.62,-0.59l4.02,-2.82l1.57,-1.67l1.07,-2.16l0.88,-0.7l0.48,-1.75l1.24,-0.97l0.35,0.79Z",name:"New Zealand"},NP:{path:"M641.14,213.62l0.01,3.19l-1.74,0.04l-4.8,-0.86l-1.58,-1.39l-3.37,-0.34l-7.65,-3.7l0.8,-2.09l2.33,-1.7l1.77,0.75l2.49,1.76l1.38,0.41l0.99,1.35l1.9,0.52l1.99,1.17l5.49,0.9Z",name:"Nepal"},CI:{path:"M407.4,259.27l0.86,0.42l0.56,0.9l1.13,0.53l1.19,-0.61l0.97,-0.08l1.42,0.54l0.6,3.24l-1.03,2.08l-0.65,2.84l1.06,2.33l-0.06,0.53l-2.54,-0.47l-1.66,0.03l-3.06,0.46l-4.11,1.6l0.32,-3.06l-1.18,-1.31l-1.32,-0.66l0.42,-0.85l-0.2,-1.4l0.5,-0.67l0.01,-1.59l0.84,-0.32l0.26,-0.5l-1.15,-3.01l0.12,-0.5l0.51,-0.25l0.66,0.31l1.93,0.02l0.67,-0.71l0.71,-0.14l0.25,0.69l0.57,0.22l1.4,-0.61Z",name:"Côte d'Ivoire"},CH:{path:"M444.62,156.35l-0.29,0.87l0.18,0.53l1.13,0.58l1.0,0.1l-0.1,0.65l-0.79,0.38l-1.72,-0.37l-0.45,0.23l-0.45,1.04l-0.75,0.06l-0.84,-0.4l-1.32,1.0l-0.96,0.12l-0.88,-0.55l-0.81,-1.3l-0.49,-0.16l-0.63,0.26l0.02,-0.65l1.71,-1.66l0.1,-0.56l0.93,0.08l0.58,-0.46l1.99,0.02l0.66,-0.61l2.19,0.79Z",name:"Switzerland"},CO:{path:"M242.07,254.93l-1.7,0.59l-0.59,1.18l-1.7,1.69l-0.38,1.93l-0.67,1.43l0.31,0.57l1.03,0.13l0.25,0.9l0.57,0.64l-0.04,2.34l1.64,1.42l3.16,-0.24l1.26,0.28l1.67,2.06l0.41,0.13l4.09,-0.39l0.45,0.22l-0.92,1.95l-0.2,1.8l0.52,1.83l0.75,1.05l-1.12,1.1l0.07,0.63l0.84,0.51l0.74,1.29l-0.39,-0.45l-0.59,-0.01l-0.71,0.74l-4.71,-0.05l-0.4,0.41l0.03,1.57l0.33,0.39l1.11,0.2l-1.68,0.4l-0.29,0.38l-0.01,1.82l1.16,1.14l0.34,1.25l-1.05,7.05l-1.04,-0.87l1.26,-1.99l-0.13,-0.56l-2.18,-1.23l-1.38,0.2l-1.14,-0.38l-1.27,0.61l-1.55,-0.26l-1.38,-2.46l-1.23,-0.75l-0.85,-1.2l-1.67,-1.19l-0.86,0.13l-2.11,-1.32l-1.01,0.31l-1.8,-0.29l-0.52,-0.91l-3.09,-1.68l0.77,-0.52l-0.1,-1.12l0.41,-0.64l1.34,-0.32l2.0,-2.88l-0.11,-0.57l-0.66,-0.43l0.39,-1.38l-0.52,-2.1l0.49,-0.83l-0.4,-2.13l-0.97,-1.35l0.17,-0.66l0.86,-0.08l0.47,-0.75l-0.46,-1.63l1.41,-0.07l1.8,-1.69l0.93,-0.24l0.3,-0.38l0.45,-2.76l1.22,-1.0l1.44,-0.04l0.45,-0.5l1.91,0.12l2.93,-1.84l1.15,-1.14l0.91,0.46l-0.25,0.45Z",name:"Colombia"},CN:{path:"M740.23,148.97l4.57,1.3l2.8,2.17l0.98,2.9l0.38,0.27l3.8,0.0l2.32,-1.28l3.29,-0.75l-0.96,2.09l-1.02,1.28l-0.85,3.4l-1.52,2.73l-2.76,-0.5l-2.4,1.13l-0.21,0.45l0.64,2.57l-0.32,3.2l-0.94,0.06l-0.37,0.89l-0.91,-1.01l-0.64,0.07l-0.92,1.57l-3.73,1.25l-0.26,0.48l0.26,1.06l-1.5,-0.08l-1.09,-0.86l-0.56,0.06l-1.67,2.06l-2.7,1.56l-2.03,1.88l-3.4,0.83l-1.93,1.4l-1.15,0.34l0.33,-0.7l-0.41,-0.89l1.79,-1.79l0.02,-0.54l-1.32,-1.56l-0.48,-0.1l-2.24,1.09l-2.83,2.06l-1.51,1.83l-2.28,0.13l-1.55,1.49l-0.04,0.5l1.32,1.97l2.0,0.58l0.31,1.35l1.98,0.84l3.0,-1.96l2.0,1.02l1.49,0.11l0.22,0.83l-3.37,0.86l-1.12,1.48l-2.5,1.52l-1.29,1.99l0.14,0.56l2.57,1.48l0.97,2.7l3.17,4.63l-0.03,1.66l-1.35,0.65l-0.2,0.51l0.6,1.47l1.4,0.91l-0.89,3.82l-1.43,0.38l-3.85,6.44l-2.27,3.11l-6.78,4.57l-2.73,0.29l-1.45,1.04l-0.62,-0.61l-0.55,-0.01l-1.36,1.25l-3.39,1.27l-2.61,0.4l-1.1,2.79l-0.81,0.09l-0.49,-1.42l0.5,-0.85l-0.25,-0.59l-3.36,-0.84l-1.3,0.4l-2.31,-0.62l-0.94,-0.84l0.33,-1.28l-0.3,-0.49l-2.19,-0.46l-1.13,-0.93l-0.47,-0.02l-2.06,1.36l-4.29,0.28l-2.76,1.05l-0.28,0.43l0.32,2.53l-0.59,-0.03l-0.19,-1.34l-0.55,-0.34l-1.68,0.7l-2.46,-1.23l0.62,-1.87l-0.26,-0.51l-1.37,-0.44l-0.54,-2.22l-0.45,-0.3l-2.13,0.35l0.24,-2.48l2.39,-2.4l0.03,-4.31l-1.19,-0.92l-0.78,-1.49l-0.41,-0.21l-1.41,0.19l-1.98,-0.3l0.46,-1.07l-1.17,-1.7l-0.55,-0.11l-1.63,1.05l-2.25,-0.57l-2.89,1.73l-2.25,1.98l-1.75,0.29l-1.17,-0.71l-3.31,-0.65l-1.48,0.79l-1.04,1.27l-0.12,-1.17l-0.54,-0.34l-1.44,0.54l-5.55,-0.86l-1.98,-1.16l-1.89,-0.54l-0.99,-1.35l-1.34,-0.37l-2.55,-1.79l-2.01,-0.84l-1.21,0.56l-5.57,-3.45l-0.53,-2.31l1.19,0.25l0.48,-0.37l0.08,-1.42l-0.98,-1.56l0.15,-2.44l-2.69,-3.32l-4.12,-1.23l-0.67,-2.0l-1.92,-1.48l-0.38,-0.7l-0.51,-3.01l-1.52,-0.66l-0.7,0.13l-0.48,-2.05l0.55,-0.51l-0.09,-0.82l2.03,-1.19l1.6,-0.54l2.56,0.38l0.42,-0.22l0.85,-1.7l3.0,-0.33l1.1,-1.26l4.05,-1.77l0.39,-0.91l-0.17,-1.44l1.45,-0.67l0.2,-0.52l-2.07,-4.9l4.51,-1.12l1.37,-0.73l1.89,-5.51l4.98,0.86l1.51,-1.7l0.11,-2.87l1.99,-0.38l1.83,-2.06l0.49,-0.13l0.68,2.08l2.23,1.77l3.44,1.16l1.55,2.29l-0.92,3.49l0.96,1.67l6.54,1.13l2.95,1.87l1.47,0.35l1.06,2.62l1.53,1.91l3.05,0.08l5.14,0.67l3.37,-0.41l2.36,0.43l3.65,1.8l3.06,0.04l1.45,0.88l2.87,-1.59l3.95,-1.02l3.83,-0.14l3.06,-1.14l1.77,-1.6l1.72,-1.01l0.17,-0.49l-1.1,-2.05l1.02,-1.54l4.02,0.8l2.45,-1.61l3.76,-1.19l1.96,-2.13l1.63,-0.83l3.51,-0.4l1.92,0.34l0.46,-0.3l0.17,-1.5l-2.27,-2.22l-2.11,-1.09l-2.18,1.11l-2.32,-0.47l-1.29,0.32l-0.4,-0.82l2.73,-5.16l3.02,1.06l3.53,-2.06l0.18,-1.68l2.16,-3.35l1.49,-1.35l-0.03,-1.85l-1.07,-0.85l1.54,-1.26l2.98,-0.59l3.23,-0.09l3.64,0.99l2.04,1.16l3.29,6.71l0.92,3.19ZM696.92,237.31l-1.87,1.08l-1.63,-0.64l-0.06,-1.79l1.03,-0.98l2.58,-0.69l1.16,0.05l0.3,0.54l-0.98,1.06l-0.53,1.37Z",name:"China"},CM:{path:"M457.92,257.49l1.05,1.91l-1.4,0.16l-1.05,-0.23l-0.45,0.22l-0.54,1.19l0.08,0.45l1.48,1.47l1.05,0.45l1.01,2.46l-1.52,2.99l-0.68,0.68l-0.13,3.69l2.38,3.84l1.09,0.8l0.24,2.48l-3.67,-1.14l-11.27,-0.13l0.23,-1.79l-0.98,-1.66l-1.19,-0.54l-0.44,-0.97l-0.6,-0.42l1.71,-4.27l0.75,-0.13l1.38,-1.36l0.65,-0.03l1.71,0.99l1.93,-1.12l1.14,-3.18l1.38,-1.17l2.0,-5.14l2.17,-2.13l0.3,-1.64l-0.86,-0.88l0.03,-0.33l0.94,1.28l0.07,3.22Z",name:"Cameroon"},CL:{path:"M246.5,429.18l-3.14,1.83l-0.57,3.16l-0.64,0.05l-2.68,-1.06l-2.82,-2.33l-3.04,-1.89l-0.69,-1.85l0.63,-2.14l-1.21,-2.11l-0.31,-5.37l1.01,-2.91l2.57,-2.38l-0.18,-0.68l-3.16,-0.77l2.05,-2.47l0.77,-4.65l2.32,0.9l0.54,-0.29l1.31,-6.31l-0.22,-0.44l-1.68,-0.8l-0.56,0.28l-0.7,3.36l-0.81,-0.22l1.56,-9.41l1.15,-2.24l-0.71,-2.82l-0.18,-2.84l1.01,-0.33l3.26,-9.14l1.07,-4.22l-0.56,-4.21l0.74,-2.34l-0.29,-3.27l1.46,-3.34l2.04,-16.59l-0.66,-7.76l1.03,-0.53l0.54,-0.9l0.79,1.14l0.32,1.78l1.25,1.16l-0.69,2.55l1.33,2.9l0.97,3.59l0.46,0.29l1.5,-0.3l0.11,0.23l-0.76,2.44l-2.57,1.23l-0.23,0.37l0.08,4.33l-0.46,0.77l0.56,1.21l-1.58,1.51l-1.68,2.62l-0.89,2.47l0.2,2.7l-1.48,2.73l1.12,5.09l0.64,0.61l-0.01,2.29l-1.38,2.68l0.01,2.4l-1.89,2.04l0.02,2.75l0.69,2.57l-1.43,1.13l-1.26,5.68l0.39,3.51l-0.97,0.89l0.58,3.5l1.02,1.14l-0.65,1.02l0.15,0.57l1.0,0.53l0.16,0.69l-1.03,0.85l0.26,1.75l-0.89,4.03l-1.31,2.66l0.24,1.75l-0.71,1.83l-1.99,1.7l0.3,3.67l0.88,1.19l1.58,0.01l0.01,2.21l1.04,1.95l5.98,0.63ZM248.69,430.79l0.0,7.33l0.4,0.4l3.52,0.05l-0.44,0.75l-1.94,0.98l-2.49,-0.37l-1.88,-1.06l-2.55,-0.49l-5.59,-3.71l-2.38,-2.63l4.1,2.48l3.32,1.23l0.45,-0.12l1.29,-1.57l0.83,-2.32l2.05,-1.24l1.31,0.29Z",name:"Chile"},CA:{path:"M280.06,145.6l-1.67,2.88l0.07,0.49l0.5,0.04l1.46,-0.98l1.0,0.42l-0.56,0.72l0.17,0.62l2.22,0.89l1.35,-0.71l1.95,0.78l-0.66,2.01l0.5,0.51l1.32,-0.42l0.98,3.17l-0.91,2.41l-0.8,0.08l-1.23,-0.45l0.47,-2.25l-0.89,-0.83l-0.48,0.06l-2.78,2.63l-0.34,-0.02l1.02,-0.85l-0.14,-0.69l-2.4,-0.77l-7.4,0.08l-0.17,-0.41l1.3,-0.94l0.02,-0.64l-0.73,-0.58l1.85,-1.74l2.57,-5.16l1.47,-1.79l1.99,-1.05l0.46,0.06l-1.53,2.45ZM68.32,74.16l4.13,0.95l4.02,2.14l2.61,0.4l2.47,-1.89l2.88,-1.31l3.85,0.48l3.71,-1.94l3.82,-1.04l1.56,1.68l0.49,0.08l1.87,-1.04l0.65,-1.98l1.24,0.35l4.16,3.94l0.54,0.01l2.75,-2.49l0.26,2.59l0.49,0.35l3.08,-0.73l1.04,-1.27l2.73,0.23l3.83,1.86l5.86,1.61l3.47,0.75l2.44,-0.26l2.73,1.78l-2.98,1.81l-0.19,0.41l0.31,0.32l4.53,0.92l6.87,-0.5l2.0,-0.69l2.49,2.39l0.53,0.02l2.72,-2.16l-0.02,-0.64l-2.16,-1.54l1.15,-1.06l4.83,-0.61l1.84,0.95l2.48,2.31l3.01,-0.23l4.55,1.92l3.85,-0.67l3.61,0.1l0.41,-0.44l-0.25,-2.36l1.79,-0.61l3.49,1.32l-0.01,3.77l0.31,0.39l0.45,-0.22l1.48,-3.16l1.74,0.1l0.41,-0.3l1.13,-4.37l-2.78,-3.11l-2.8,-1.74l0.19,-4.64l2.71,-3.07l2.98,0.67l2.41,1.95l3.19,4.8l-1.99,1.97l0.21,0.68l4.33,0.84l-0.01,4.15l0.25,0.37l0.44,-0.09l3.07,-3.15l2.54,2.39l-0.61,3.33l2.42,2.88l0.61,0.0l2.61,-3.08l1.88,-3.82l0.17,-4.58l6.72,0.94l3.13,2.04l0.13,1.82l-1.76,2.19l-0.01,0.49l1.66,2.16l-0.26,1.71l-4.68,2.8l-3.28,0.61l-2.47,-1.2l-0.55,0.23l-0.73,2.04l-2.38,3.43l-0.74,1.77l-2.74,2.57l-3.44,0.25l-2.21,1.78l-0.28,2.53l-2.82,0.55l-3.12,3.22l-2.72,4.31l-1.03,3.17l-0.14,4.31l0.33,0.41l3.44,0.57l2.24,5.95l0.45,0.23l3.4,-0.69l4.52,1.51l2.43,1.31l1.91,1.73l3.1,0.96l2.62,1.46l6.6,0.54l-0.35,2.74l0.81,3.53l1.81,3.78l3.83,3.3l0.45,0.04l2.1,-1.28l1.37,-3.69l-1.31,-5.38l-1.45,-1.58l3.57,-1.47l2.84,-2.46l1.52,-2.8l-0.25,-2.55l-1.7,-3.07l-2.85,-2.61l2.8,-3.95l-1.08,-3.37l-0.79,-5.67l1.36,-0.7l6.76,1.41l2.12,-0.96l5.12,3.36l1.05,1.61l4.08,0.26l-0.06,2.87l0.83,4.7l0.3,0.32l2.16,0.54l1.73,2.06l0.5,0.09l3.63,-2.03l2.52,-4.19l1.26,-1.32l7.6,11.72l-0.92,2.04l0.16,0.51l3.3,1.97l2.22,1.98l4.1,0.98l1.43,0.99l0.95,2.79l2.1,0.68l0.84,1.08l0.17,3.45l-3.37,2.26l-4.22,1.24l-3.06,2.63l-4.06,0.51l-5.35,-0.69l-6.39,0.2l-2.3,2.41l-3.26,1.51l-6.47,7.15l-0.06,0.48l0.44,0.19l2.13,-0.52l4.17,-4.24l5.12,-2.62l3.52,-0.3l1.69,1.21l-2.12,2.21l0.81,3.47l1.02,2.61l3.47,1.6l4.14,-0.45l2.15,-2.8l0.26,1.48l1.14,0.8l-2.56,1.69l-5.5,1.82l-2.54,1.27l-2.74,2.15l-1.4,-0.16l-0.07,-2.01l4.14,-2.44l0.18,-0.45l-0.39,-0.29l-6.63,0.45l-1.39,-1.49l-0.14,-4.43l-1.11,-0.91l-1.82,0.39l-0.66,-0.66l-0.6,0.03l-1.91,2.39l-0.82,2.52l-0.8,1.27l-1.67,0.56l-0.46,0.76l-8.31,0.07l-1.21,0.62l-2.35,1.97l-0.71,-0.14l-1.37,0.96l-1.12,-0.48l-4.74,1.26l-0.9,1.17l0.21,0.62l1.73,0.3l-1.81,0.31l-1.85,0.81l-2.11,-0.13l-2.95,1.78l-0.69,-0.09l1.39,-2.1l1.73,-1.21l0.1,-2.29l1.16,-1.99l0.49,0.53l2.03,0.42l1.2,-1.16l0.02,-0.47l-2.66,-3.51l-2.28,-0.61l-5.64,-0.71l-0.4,-0.57l-0.79,0.13l0.2,-0.41l-0.22,-0.55l-0.68,-0.26l0.19,-1.26l-0.78,-0.73l0.31,-0.64l-0.29,-0.57l-2.6,-0.44l-0.75,-1.63l-0.94,-0.66l-4.31,-0.65l-1.13,1.19l-1.48,0.59l-0.85,1.06l-2.83,-0.76l-2.09,0.39l-2.39,-0.97l-4.24,-0.7l-0.57,-0.4l-0.41,-1.63l-0.4,-0.3l-0.85,0.02l-0.39,0.4l-0.01,0.85l-69.13,-0.01l-6.51,-4.52l-4.5,-1.38l-1.26,-2.66l0.33,-1.93l-0.23,-0.43l-3.01,-1.35l-0.55,-2.77l-2.89,-2.38l-0.04,-1.45l1.39,-1.83l-0.28,-2.55l-4.16,-2.2l-4.07,-6.6l-4.02,-3.22l-1.3,-1.88l-0.5,-0.13l-2.51,1.21l-2.23,1.87l-3.85,-3.88l-2.44,-1.04l-2.22,-0.13l0.03,-37.49ZM260.37,148.65l3.04,0.76l2.26,1.2l-3.78,-0.95l-1.53,-1.01ZM249.4,3.81l6.68,0.49l5.32,0.79l4.26,1.57l-0.07,1.1l-5.85,2.53l-6.02,1.21l-2.39,1.39l-0.18,0.45l0.39,0.29l4.01,-0.02l-4.65,2.82l-4.2,1.74l-4.19,4.59l-5.03,0.92l-1.67,1.15l-7.47,0.59l-0.37,0.37l0.32,0.42l2.41,0.49l-0.81,0.47l-0.12,0.59l1.83,2.41l-2.02,1.59l-3.81,1.51l-1.32,2.16l-3.38,1.53l-0.22,0.48l0.35,1.19l0.4,0.29l3.88,-0.18l0.03,0.61l-6.33,2.95l-6.41,-1.4l-7.43,0.79l-3.72,-0.62l-4.4,-0.25l-0.23,-1.83l4.29,-1.11l0.28,-0.51l-1.1,-3.45l1.0,-0.25l6.58,2.28l0.47,-0.16l-0.05,-0.49l-3.41,-3.45l-3.58,-0.98l1.48,-1.55l4.34,-1.29l0.97,-2.19l-0.16,-0.48l-3.42,-2.13l-0.81,-2.26l6.2,0.22l2.24,0.58l3.91,-2.1l0.2,-0.43l-0.35,-0.32l-5.64,-0.67l-8.73,0.36l-4.26,-1.9l-2.12,-2.4l-2.78,-1.66l-0.41,-1.52l3.31,-1.03l2.93,-0.2l4.91,-0.99l3.7,-2.27l2.87,0.3l2.62,1.67l0.56,-0.14l1.82,-3.2l3.13,-0.94l4.44,-0.69l7.53,-0.26l1.48,0.67l7.19,-1.06l10.8,0.79ZM203.85,57.54l0.01,0.42l1.97,2.97l0.68,-0.02l2.24,-3.72l5.95,-1.86l4.01,4.64l-0.35,2.91l0.5,0.43l4.95,-1.36l2.32,-1.8l5.31,2.28l3.27,2.11l0.3,1.84l0.48,0.33l4.42,-0.99l2.64,2.87l5.97,1.77l2.06,1.72l2.11,3.71l-4.19,1.86l-0.01,0.73l5.9,2.83l3.94,0.94l3.78,3.95l3.46,0.25l-0.63,2.37l-4.11,4.47l-2.76,-1.56l-3.9,-3.94l-3.59,0.41l-0.33,0.34l-0.19,2.72l2.63,2.38l3.42,1.89l0.94,0.97l1.55,3.75l-0.7,2.29l-2.74,-0.92l-6.25,-3.15l-0.51,0.13l0.05,0.52l6.07,5.69l0.18,0.59l-6.09,-1.39l-5.31,-2.24l-2.63,-1.66l0.6,-0.77l-0.12,-0.6l-7.39,-4.01l-0.59,0.37l0.03,0.79l-6.73,0.6l-1.69,-1.1l1.36,-2.46l4.51,-0.07l5.15,-0.52l0.31,-0.6l-0.74,-1.3l0.78,-1.84l3.21,-4.05l-0.67,-2.35l-1.11,-1.6l-3.84,-2.1l-4.35,-1.28l0.91,-0.63l0.06,-0.61l-2.65,-2.75l-2.34,-0.36l-1.89,-1.46l-0.53,0.03l-1.24,1.23l-4.36,0.55l-9.04,-0.99l-9.26,-1.98l-1.6,-1.22l2.22,-1.77l0.13,-0.44l-0.38,-0.27l-3.22,-0.02l-0.72,-4.25l1.83,-4.04l2.42,-1.85l5.5,-1.1l-1.39,2.35ZM261.19,159.33l2.07,0.61l1.44,-0.04l-1.15,0.63l-2.94,-1.23l-0.4,-0.68l0.36,-0.37l0.61,1.07ZM230.83,84.39l-2.37,0.18l-0.49,-1.63l0.93,-2.09l1.94,-0.51l1.62,0.99l0.02,1.52l-1.66,1.54ZM229.43,58.25l0.11,0.65l-4.87,-0.21l-2.72,0.62l-3.1,-2.57l0.08,-1.26l0.86,-0.23l5.57,0.51l4.08,2.5ZM222.0,105.02l-0.72,1.49l-0.63,-0.19l-0.48,-0.84l0.81,-0.99l0.65,0.05l0.37,0.46ZM183.74,38.32l2.9,1.7l4.79,-0.01l1.84,1.46l-0.49,1.68l0.23,0.48l2.82,1.14l1.76,1.26l7.01,0.65l4.1,-1.1l5.03,-0.43l3.93,0.35l2.48,1.77l0.46,1.7l-1.3,1.1l-3.56,1.01l-3.23,-0.59l-7.17,0.76l-5.09,0.09l-3.99,-0.6l-6.42,-1.54l-0.79,-2.51l-0.3,-2.49l-2.64,-2.5l-5.32,-0.72l-2.52,-1.4l0.68,-1.57l4.78,0.31ZM207.38,91.35l0.4,1.56l0.56,0.26l1.06,-0.52l1.32,0.96l5.42,2.57l0.2,1.68l0.46,0.35l1.68,-0.28l1.15,0.85l-1.55,0.87l-3.61,-0.88l-1.32,-1.69l-0.57,-0.06l-2.45,2.1l-3.12,1.79l-0.7,-1.87l-0.42,-0.26l-2.16,0.24l1.39,-1.39l0.32,-3.14l0.76,-3.35l1.18,0.22ZM215.49,102.6l-2.67,1.95l-1.4,-0.07l-0.3,-0.58l1.53,-1.48l2.84,0.18ZM202.7,24.12l2.53,1.59l-2.87,1.4l-4.53,4.05l-4.25,0.38l-5.03,-0.68l-2.45,-2.04l0.03,-1.62l1.82,-1.37l0.14,-0.45l-0.38,-0.27l-4.45,0.04l-2.59,-1.76l-1.41,-2.29l1.57,-2.32l1.62,-1.66l2.44,-0.39l0.25,-0.65l-0.6,-0.74l4.86,-0.25l3.24,3.11l8.16,2.3l1.9,3.61ZM187.47,59.2l-2.76,3.49l-2.38,-0.15l-1.44,-3.84l0.04,-2.2l1.19,-1.88l2.3,-1.23l5.07,0.17l4.11,1.02l-3.24,3.72l-2.88,0.89ZM186.07,48.79l-1.08,1.53l-3.34,-0.34l-2.56,-1.1l1.03,-1.75l3.25,-1.23l1.95,1.58l0.75,1.3ZM185.71,35.32l-5.3,-0.2l-0.32,-0.71l4.31,0.07l1.3,0.84ZM180.68,32.48l-3.34,1.0l-1.79,-1.1l-0.98,-1.87l-0.15,-1.73l4.1,0.53l2.67,1.7l-0.51,1.47ZM180.9,76.31l-1.1,1.08l-3.13,-1.23l-2.12,0.43l-2.71,-1.57l1.72,-1.09l1.55,-1.72l3.81,1.9l1.98,2.2ZM169.74,54.87l2.96,0.97l4.17,-0.57l0.41,0.88l-2.14,2.11l0.09,0.64l3.55,1.92l-0.4,3.72l-3.79,1.65l-2.17,-0.35l-1.72,-1.74l-6.02,-3.5l0.03,-0.85l4.68,0.54l0.4,-0.21l-0.05,-0.45l-2.48,-2.81l2.46,-1.95ZM174.45,40.74l1.37,1.73l0.07,2.44l-1.05,3.45l-3.79,0.47l-2.32,-0.69l0.05,-2.64l-0.44,-0.41l-3.68,0.35l-0.12,-3.1l2.45,0.1l3.67,-1.73l3.41,0.29l0.37,-0.26ZM170.05,31.55l0.67,1.56l-3.33,-0.49l-4.22,-1.77l-4.35,-0.16l1.4,-0.94l-0.06,-0.7l-2.81,-1.23l-0.12,-1.39l4.39,0.68l6.62,1.98l1.81,2.47ZM134.5,58.13l-1.02,1.82l0.45,0.58l5.4,-1.39l3.33,2.29l0.49,-0.03l2.6,-2.23l1.94,1.32l2.0,4.5l0.7,0.06l1.3,-2.29l-1.63,-4.46l1.69,-0.54l2.31,0.71l2.65,1.81l2.49,7.92l8.48,4.27l-0.19,1.35l-3.79,0.33l-0.26,0.67l1.4,1.49l-0.58,1.1l-4.23,-0.64l-4.43,-1.19l-3.0,0.28l-4.66,1.47l-10.52,1.04l-1.43,-2.02l-3.42,-1.2l-2.21,0.43l-2.51,-2.86l4.84,-1.05l3.6,0.19l3.27,-0.78l0.31,-0.39l-0.31,-0.39l-4.84,-1.06l-8.79,0.27l-0.85,-1.07l5.26,-1.66l0.27,-0.45l-0.4,-0.34l-3.8,0.06l-3.81,-1.06l1.81,-3.01l1.66,-1.79l6.48,-2.81l1.97,0.71ZM158.7,56.61l-1.7,2.44l-3.2,-2.75l0.37,-0.3l3.11,-0.18l1.42,0.79ZM149.61,42.73l1.01,1.89l0.5,0.18l2.14,-0.82l2.23,0.19l0.36,2.04l-1.33,2.09l-8.28,0.76l-6.35,2.15l-3.41,0.1l-0.19,-0.96l4.9,-2.08l0.23,-0.46l-0.41,-0.31l-11.25,0.59l-2.89,-0.74l3.04,-4.44l2.14,-1.32l6.81,1.69l4.58,3.06l4.37,0.39l0.36,-0.63l-3.36,-4.6l1.85,-1.53l2.18,0.51l0.77,2.26ZM144.76,34.41l-4.36,1.44l-3.0,-1.4l1.46,-1.24l3.47,-0.52l2.96,0.71l-0.52,1.01ZM145.13,29.83l-1.9,0.66l-3.67,-0.0l2.27,-1.61l3.3,0.95ZM118.92,65.79l-6.03,2.02l-1.33,-1.9l-5.38,-2.28l2.59,-5.05l2.16,-3.14l-0.02,-0.48l-1.97,-2.41l7.64,-0.7l3.6,1.02l6.3,0.27l4.42,2.95l-2.53,0.98l-6.24,3.43l-3.1,3.28l-0.11,2.01ZM129.54,35.53l-0.28,3.37l-1.72,1.62l-2.33,0.28l-4.61,2.19l-3.86,0.76l-2.64,-0.87l3.72,-3.4l5.01,-3.34l3.72,0.07l3.0,-0.67ZM111.09,152.69l-0.67,0.24l-3.85,-1.37l-0.83,-1.17l-2.12,-1.07l-0.66,-1.02l-2.4,-0.55l-0.74,-1.71l6.02,1.45l2.0,2.55l2.52,1.39l0.73,1.27ZM87.8,134.64l0.89,0.29l1.86,-0.21l-0.65,3.34l1.69,2.33l-1.31,-1.33l-0.99,-1.62l-1.17,-0.98l-0.33,-1.82Z",name:"Canada"},CG:{path:"M466.72,276.48l-0.1,1.03l-1.25,2.97l-0.19,3.62l-0.46,1.78l-0.23,0.63l-1.61,1.19l-1.21,1.39l-1.09,2.43l0.04,2.09l-3.25,3.24l-0.5,-0.24l-0.5,-0.83l-1.36,-0.02l-0.98,0.89l-1.68,-0.99l-1.54,1.24l-1.52,-1.96l1.57,-1.14l0.11,-0.52l-0.77,-1.35l2.1,-0.66l0.39,-0.73l1.05,0.82l2.21,0.11l1.12,-1.37l0.37,-1.81l-0.27,-2.09l-1.13,-1.5l1.0,-2.69l-0.13,-0.45l-0.92,-0.58l-1.6,0.17l-0.51,-0.94l0.1,-0.61l2.75,0.09l3.97,1.24l0.51,-0.33l0.17,-1.28l1.24,-2.21l1.28,-1.14l2.76,0.49Z",name:"Congo"},CF:{path:"M461.16,278.2l-0.26,-1.19l-1.09,-0.77l-0.84,-1.17l-0.29,-1.0l-1.04,-1.15l0.08,-3.43l0.58,-0.49l1.16,-2.35l1.85,-0.17l0.61,-0.62l0.97,0.58l3.15,-0.96l2.48,-1.92l0.02,-0.96l2.81,0.02l2.36,-1.17l1.93,-2.85l1.16,-0.93l1.11,-0.3l0.27,0.86l1.34,1.47l-0.39,2.01l0.3,1.01l4.01,2.75l0.17,0.93l2.63,2.31l0.6,1.44l2.08,1.4l-3.84,-0.21l-1.94,0.88l-1.23,-0.49l-2.67,1.2l-1.29,-0.18l-0.51,0.36l-0.6,1.22l-3.35,-0.65l-1.57,-0.91l-2.42,-0.83l-1.45,0.91l-0.97,1.27l-0.26,1.56l-3.22,-0.43l-1.49,1.33l-0.94,1.62Z",name:"Central African Rep."},CD:{path:"M487.01,272.38l2.34,-0.14l1.35,1.84l1.34,0.45l0.86,-0.39l1.21,0.12l1.07,-0.41l0.54,0.89l2.04,1.54l-0.14,2.72l0.7,0.54l-1.38,1.13l-1.53,2.54l-0.17,2.05l-0.59,1.08l-0.02,1.72l-0.72,0.84l-0.66,3.01l0.63,1.32l-0.44,4.26l0.64,1.47l-0.37,1.22l0.86,1.8l1.53,1.41l0.3,1.26l0.44,0.5l-4.08,0.75l-0.92,1.81l0.51,1.34l-0.74,5.43l0.17,0.38l2.45,1.46l0.54,-0.1l0.12,1.62l-1.28,-0.01l-1.85,-2.35l-1.94,-0.45l-0.48,-1.13l-0.55,-0.2l-1.41,0.74l-1.71,-0.3l-1.01,-1.18l-2.49,-0.19l-0.44,-0.77l-1.98,-0.21l-2.88,0.36l0.11,-2.41l-0.85,-1.13l-0.16,-1.36l0.32,-1.73l-0.46,-0.89l-0.04,-1.49l-0.4,-0.39l-2.53,0.02l0.1,-0.41l-0.39,-0.49l-1.28,0.01l-0.43,0.45l-1.62,0.32l-0.83,1.79l-1.09,-0.28l-2.4,0.52l-1.37,-1.91l-1.3,-3.3l-0.38,-0.27l-7.39,-0.03l-2.46,0.42l0.5,-0.45l0.37,-1.47l0.66,-0.38l0.92,0.08l0.73,-0.82l0.87,0.02l0.31,0.68l1.4,0.36l3.59,-3.63l0.01,-2.23l1.02,-2.29l2.69,-2.39l0.43,-0.99l0.49,-1.96l0.17,-3.51l1.25,-2.95l0.36,-3.14l0.86,-1.13l1.1,-0.66l3.57,1.73l3.65,0.73l0.46,-0.21l0.8,-1.46l1.24,0.19l2.61,-1.17l0.81,0.44l1.04,-0.03l0.59,-0.66l0.7,-0.16l1.81,0.25Z",name:"Dem. Rep. Congo"},CZ:{path:"M458.46,144.88l1.22,1.01l1.47,0.23l0.13,0.93l1.36,0.68l0.54,-0.2l0.24,-0.55l1.15,0.25l0.53,1.09l1.68,0.18l0.6,0.84l-1.04,0.73l-0.96,1.28l-1.6,0.17l-0.55,0.56l-1.04,-0.46l-1.05,0.15l-2.12,-0.96l-1.05,0.34l-1.2,1.12l-1.56,-0.87l-2.57,-2.1l-0.53,-1.88l4.7,-2.52l0.71,0.26l0.9,-0.28Z",name:"Czech Rep."},CY:{path:"M504.36,193.47l0.43,0.28l-1.28,0.57l-0.92,-0.28l-0.24,-0.46l2.01,-0.13Z",name:"Cyprus"},CR:{path:"M211.34,258.05l0.48,0.99l1.6,1.6l-0.54,0.45l0.29,1.42l-0.25,1.19l-1.09,-0.59l-0.05,-1.25l-2.46,-1.42l-0.28,-0.77l-0.66,-0.45l-0.45,-0.0l-0.11,1.04l-1.32,-0.95l0.31,-1.3l-0.36,-0.6l0.31,-0.27l1.42,0.58l1.29,-0.14l0.56,0.56l0.74,0.17l0.55,-0.27Z",name:"Costa Rica"},CU:{path:"M221.21,227.25l1.27,1.02l2.19,-0.28l4.43,3.33l2.08,0.43l-0.1,0.38l0.36,0.5l1.75,0.1l1.48,0.84l-3.11,0.51l-4.15,-0.03l0.77,-0.67l-0.04,-0.64l-1.2,-0.74l-1.49,-0.16l-0.7,-0.61l-0.56,-1.4l-0.4,-0.25l-1.34,0.1l-2.2,-0.66l-0.88,-0.58l-3.18,-0.4l-0.27,-0.16l0.58,-0.74l-0.36,-0.29l-2.72,-0.05l-1.7,1.29l-0.91,0.03l-0.61,0.69l-1.01,0.22l1.11,-1.29l1.01,-0.52l3.69,-1.01l3.98,0.21l2.21,0.84Z",name:"Cuba"},SZ:{path:"M500.35,351.36l0.5,2.04l-0.38,0.89l-1.05,0.21l-1.23,-1.2l-0.02,-0.64l0.83,-1.57l1.34,0.27Z",name:"Swaziland"},SY:{path:"M511.0,199.79l0.05,-1.33l0.54,-1.36l1.28,-0.99l0.13,-0.45l-0.41,-1.11l-1.14,-0.36l-0.19,-1.74l0.52,-1.0l1.29,-1.21l0.2,-1.18l0.59,0.23l2.62,-0.76l1.36,0.52l2.06,-0.01l2.95,-1.08l3.25,-0.26l-0.67,0.94l-1.28,0.66l-0.21,0.4l0.23,2.01l-0.88,3.19l-10.15,5.73l-2.15,-0.85Z",name:"Syria"},KG:{path:"M621.35,172.32l-3.87,1.69l-0.96,1.18l-3.04,0.34l-1.13,1.86l-2.36,-0.35l-1.99,0.63l-2.39,1.4l0.06,0.95l-0.4,0.37l-4.52,0.43l-3.02,-0.93l-2.37,0.17l0.11,-0.79l2.32,0.42l1.13,-0.88l1.99,0.2l3.21,-2.14l-0.03,-0.69l-2.97,-1.57l-1.94,0.65l-1.22,-0.74l1.71,-1.58l-0.12,-0.67l-0.36,-0.15l0.32,-0.77l1.36,-0.35l4.02,1.02l0.49,-0.3l0.35,-1.59l1.09,-0.48l3.42,1.22l1.11,-0.31l7.64,0.39l1.16,1.0l1.23,0.39Z",name:"Kyrgyzstan"},KE:{path:"M506.26,284.69l1.87,-2.56l0.93,-2.15l-1.38,-4.08l-1.06,-1.6l2.82,-2.75l0.79,0.26l0.12,1.41l0.86,0.83l1.9,0.11l3.28,2.13l3.57,0.44l1.05,-1.12l1.96,-0.9l0.82,0.68l1.16,0.09l-1.78,2.45l0.03,9.12l1.3,1.94l-1.37,0.78l-0.67,1.03l-1.08,0.46l-0.34,1.67l-0.81,1.07l-0.45,1.55l-0.68,0.56l-3.2,-2.23l-0.35,-1.58l-8.86,-4.98l0.14,-1.6l-0.57,-1.04Z",name:"Kenya"},SS:{path:"M481.71,263.34l1.07,-0.72l1.2,-3.18l1.36,-0.26l1.61,1.99l0.87,0.34l1.1,-0.41l1.5,0.07l0.57,0.53l2.49,0.0l0.44,-0.63l1.07,-0.4l0.45,-0.84l0.59,-0.33l1.9,1.33l1.6,-0.2l2.83,-3.33l-0.32,-2.21l1.59,-0.52l-0.24,1.6l0.3,1.83l1.35,1.18l0.2,1.87l0.35,0.41l0.02,1.53l-0.23,0.47l-1.42,0.25l-0.85,1.44l0.3,0.6l1.4,0.16l1.11,1.08l0.59,1.13l1.03,0.53l1.28,2.36l-4.41,3.98l-1.74,0.01l-1.89,0.55l-1.47,-0.52l-1.15,0.57l-2.96,-2.62l-1.3,0.49l-1.06,-0.15l-0.79,0.39l-0.82,-0.22l-1.8,-2.7l-1.91,-1.1l-0.66,-1.5l-2.62,-2.32l-0.18,-0.94l-2.37,-1.6Z",name:"S. Sudan"},SR:{path:"M283.12,270.19l2.1,0.53l-1.08,1.95l0.2,1.72l0.93,1.49l-0.59,2.03l-0.43,0.71l-1.12,-0.42l-1.32,0.22l-0.93,-0.2l-0.46,0.26l-0.25,0.73l0.33,0.7l-0.89,-0.13l-1.39,-1.97l-0.31,-1.34l-0.97,-0.31l-0.89,-1.47l0.35,-1.61l1.45,-0.82l0.33,-1.87l2.61,0.44l0.57,-0.47l1.75,-0.16Z",name:"Suriname"},KH:{path:"M689.52,249.39l0.49,1.45l-0.28,2.74l-4.0,1.86l-0.16,0.6l0.68,0.95l-2.06,0.17l-2.05,0.97l-1.82,-0.32l-2.12,-3.7l-0.55,-2.85l1.4,-1.85l3.02,-0.45l2.23,0.35l2.01,0.98l0.51,-0.14l0.95,-1.48l1.74,0.74Z",name:"Cambodia"},SV:{path:"M195.8,250.13l1.4,-1.19l2.24,1.45l0.98,-0.27l0.44,0.2l-0.27,1.05l-1.14,-0.03l-3.64,-1.21Z",name:"El Salvador"},SK:{path:"M476.82,151.17l-1.14,1.9l-2.73,-0.92l-0.82,0.2l-0.74,0.8l-3.46,0.73l-0.47,0.69l-1.76,0.33l-1.88,-1.0l-0.18,-0.81l0.38,-0.75l1.87,-0.32l1.74,-1.89l0.83,0.16l0.79,-0.34l1.51,1.04l1.34,-0.63l1.25,0.3l1.65,-0.42l1.81,0.95Z",name:"Slovakia"},KR:{path:"M737.51,185.84l0.98,-0.1l0.87,-1.17l2.69,-0.32l0.33,-0.29l1.76,2.79l0.58,1.76l0.02,3.12l-0.8,1.32l-2.21,0.55l-1.93,1.13l-1.8,0.19l-0.2,-1.1l0.43,-2.28l-0.95,-2.56l1.43,-0.37l0.23,-0.62l-1.43,-2.06Z",name:"Korea"},SI:{path:"M456.18,162.07l-0.51,-1.32l0.18,-1.05l1.69,0.2l1.42,-0.71l2.09,-0.07l0.62,-0.51l0.21,0.47l-1.61,0.67l-0.44,1.34l-0.66,0.24l-0.26,0.82l-1.22,-0.49l-0.84,0.46l-0.69,-0.04Z",name:"Slovenia"},KP:{path:"M736.77,185.16l-0.92,-0.42l-0.88,0.62l-1.21,-0.88l0.96,-1.15l0.59,-2.59l-0.46,-0.74l-2.09,-0.77l1.64,-1.52l2.72,-1.58l1.58,-1.91l1.11,0.78l2.17,0.11l0.41,-0.5l-0.3,-1.22l3.52,-1.18l0.94,-1.4l0.98,1.08l-2.19,2.18l0.01,2.14l-1.06,0.54l-1.41,1.4l-1.7,0.52l-1.25,1.09l-0.14,1.98l0.94,0.45l1.15,1.04l-0.13,0.26l-2.6,0.29l-1.13,1.29l-1.22,0.08Z",name:"Dem. Rep. Korea"},SO:{path:"M525.13,288.48l-1.13,-1.57l-0.03,-8.86l2.66,-3.38l1.67,-0.13l2.13,-1.69l3.41,-0.23l7.08,-7.55l2.91,-3.69l0.08,-4.82l2.98,-0.67l1.24,-0.86l0.45,-0.0l-0.2,3.0l-1.21,3.62l-2.73,5.97l-2.13,3.65l-5.03,6.16l-8.56,6.4l-2.78,3.08l-0.8,1.56Z",name:"Somalia"},SN:{path:"M390.09,248.21l0.12,1.55l0.49,1.46l0.96,0.82l0.05,1.28l-1.26,-0.19l-0.75,0.33l-1.84,-0.61l-5.84,-0.13l-2.54,0.51l-0.22,-1.03l1.77,0.04l2.01,-0.91l1.03,0.48l1.09,0.04l1.29,-0.62l0.14,-0.58l-0.51,-0.74l-1.81,0.25l-1.13,-0.63l-0.79,0.04l-0.72,0.61l-2.31,0.06l-0.92,-1.77l-0.81,-0.64l0.64,-0.35l2.46,-3.74l1.04,0.19l1.38,-0.56l1.19,-0.02l2.72,1.37l3.03,3.48Z",name:"Senegal"},SL:{path:"M394.46,264.11l-1.73,1.98l-0.58,1.33l-2.07,-1.06l-1.22,-1.26l-0.65,-2.39l1.16,-0.96l0.67,-1.17l1.21,-0.52l1.66,0.0l1.03,1.64l0.52,2.41Z",name:"Sierra Leone"},SB:{path:"M826.69,311.6l-0.61,0.09l-0.2,-0.33l0.37,0.15l0.44,0.09ZM824.18,307.38l-0.26,-0.3l-0.31,-0.91l0.03,0.0l0.54,1.21ZM823.04,309.33l-1.66,-0.22l-0.2,-0.52l1.16,0.28l0.69,0.46ZM819.28,304.68l1.14,0.65l0.02,0.03l-0.81,-0.44l-0.35,-0.23Z",name:"Solomon Is."},SA:{path:"M537.53,210.34l2.0,0.24l0.9,1.32l1.49,-0.06l0.87,2.08l1.29,0.76l0.51,0.99l1.56,1.03l-0.1,1.9l0.32,0.9l1.58,2.47l0.76,0.53l0.7,-0.04l1.68,4.23l7.53,1.33l0.51,-0.29l0.77,1.25l-1.55,4.87l-7.29,2.52l-7.3,1.03l-2.34,1.17l-1.88,2.74l-0.76,0.28l-0.82,-0.78l-0.91,0.12l-2.88,-0.51l-3.51,0.25l-0.86,-0.56l-0.57,0.15l-0.66,1.27l0.16,1.11l-0.43,0.32l-0.93,-1.4l-0.33,-1.16l-1.23,-0.88l-1.27,-2.06l-0.78,-2.22l-1.73,-1.79l-1.14,-0.48l-1.54,-2.31l-0.21,-3.41l-1.44,-2.93l-1.27,-1.16l-1.33,-0.57l-1.31,-3.37l-0.77,-0.67l-0.97,-1.97l-2.8,-4.03l-1.06,-0.17l0.37,-1.96l0.2,-0.72l2.74,0.3l1.08,-0.84l0.6,-0.94l1.74,-0.35l0.65,-1.03l0.71,-0.4l0.1,-0.62l-2.06,-2.28l4.39,-1.22l0.48,-0.37l2.77,0.69l3.66,1.9l7.03,5.5l4.87,0.3Z",name:"Saudi Arabia"},SE:{path:"M480.22,89.3l-4.03,1.17l-2.43,2.86l0.26,2.57l-8.77,6.64l-1.78,5.79l1.78,2.68l2.22,1.96l-2.07,3.77l-2.72,1.13l-0.95,6.04l-1.29,3.01l-2.74,-0.31l-0.4,0.22l-1.31,2.59l-2.34,0.13l-0.75,-3.09l-2.08,-4.03l-1.83,-4.96l1.0,-1.93l2.14,-2.7l0.83,-4.45l-1.6,-2.17l-0.15,-4.94l1.48,-3.39l2.58,-0.15l0.87,-1.59l-0.78,-1.57l3.76,-5.59l4.04,-7.48l2.17,0.01l0.39,-0.29l0.57,-2.07l4.37,0.64l0.46,-0.34l0.33,-2.56l1.1,-0.13l6.94,4.87l0.06,6.32l0.66,1.36Z",name:"Sweden"},SD:{path:"M505.98,259.4l-0.34,-0.77l-1.17,-0.9l-0.26,-1.61l0.29,-1.81l-0.34,-0.46l-1.16,-0.17l-0.54,0.59l-1.23,0.11l-0.28,0.65l0.53,0.65l0.17,1.22l-2.44,3.0l-0.96,0.19l-2.39,-1.4l-0.95,0.52l-0.38,0.78l-1.11,0.41l-0.29,0.5l-1.94,0.0l-0.54,-0.52l-1.81,-0.09l-0.95,0.4l-2.45,-2.35l-2.07,0.54l-0.73,1.26l-0.6,2.1l-1.25,0.58l-0.75,-0.62l0.27,-2.65l-1.48,-1.78l-0.22,-1.48l-0.92,-0.96l-0.02,-1.29l-0.57,-1.16l-0.68,-0.16l0.69,-1.29l-0.18,-1.14l0.65,-0.62l0.03,-0.55l-0.36,-0.41l1.55,-2.97l1.91,0.16l0.43,-0.4l-0.1,-10.94l2.49,-0.01l0.4,-0.4l-0.0,-4.82l29.02,0.0l0.64,2.04l-0.49,0.66l0.36,2.69l0.93,3.16l2.12,1.55l-0.89,1.04l-1.72,0.39l-0.98,0.9l-1.43,5.65l0.24,1.15l-0.38,2.06l-0.96,2.38l-1.53,1.31l-1.32,2.91l-1.22,0.86l-0.37,1.34Z",name:"Sudan"},DO:{path:"M241.8,239.2l0.05,-0.65l-0.46,-0.73l0.42,-0.44l0.19,-1.0l-0.09,-1.53l1.66,0.01l1.99,0.63l0.33,0.67l1.28,0.19l0.33,0.76l1.0,0.08l0.8,0.62l-0.45,0.51l-1.13,-0.47l-1.88,-0.01l-1.27,0.59l-0.75,-0.55l-1.01,0.54l-0.79,1.4l-0.23,-0.61Z",name:"Dominican Rep."},DJ:{path:"M528.43,256.18l-0.45,0.66l-0.58,-0.25l-1.51,0.13l-0.18,-1.01l1.45,-1.95l0.83,0.17l0.77,-0.44l0.2,1.0l-1.2,0.51l-0.06,0.7l0.73,0.47Z",name:"Djibouti"},DK:{path:"M452.28,129.07l-1.19,2.24l-2.13,-1.6l-0.23,-0.95l2.98,-0.95l0.57,1.26ZM447.74,126.31l-0.26,0.57l-0.88,-0.07l-1.8,2.53l0.48,1.69l-1.09,0.36l-1.61,-0.39l-0.89,-1.69l-0.07,-3.43l0.96,-1.73l2.02,-0.2l1.09,-1.07l1.33,-0.67l-0.05,1.06l-0.73,1.41l0.3,1.0l1.2,0.64Z",name:"Denmark"},DE:{path:"M453.14,155.55l-0.55,-0.36l-1.2,-0.1l-1.87,0.57l-2.13,-0.13l-0.56,0.63l-0.86,-0.6l-0.96,0.09l-2.57,-0.93l-0.85,0.67l-1.47,-0.02l0.24,-1.75l1.23,-2.14l-0.28,-0.59l-3.52,-0.58l-0.92,-0.66l0.12,-1.2l-0.48,-0.88l0.27,-2.17l-0.37,-3.03l1.41,-0.22l0.63,-1.26l0.66,-3.19l-0.41,-1.18l0.26,-0.39l1.66,-0.15l0.33,0.54l0.62,0.07l1.7,-1.69l-0.54,-3.02l1.37,0.33l1.31,-0.37l0.31,1.18l2.25,0.71l-0.02,0.92l0.5,0.4l2.55,-0.65l1.34,-0.87l2.57,1.24l1.06,0.98l0.48,1.44l-0.57,0.74l-0.0,0.48l0.87,1.15l0.57,1.64l-0.14,1.29l0.82,1.7l-1.5,-0.07l-0.56,0.57l-4.47,2.15l-0.22,0.54l0.68,2.26l2.58,2.16l-0.66,1.11l-0.79,0.36l-0.23,0.43l0.32,1.87Z",name:"Germany"},YE:{path:"M528.27,246.72l0.26,-0.42l-0.22,-1.01l0.19,-1.5l0.92,-0.69l-0.07,-1.35l0.39,-0.75l1.01,0.47l3.34,-0.27l3.76,0.41l0.95,0.81l1.36,-0.58l1.74,-2.62l2.18,-1.09l6.86,-0.94l2.48,5.41l-1.64,0.76l-0.56,1.9l-6.23,2.16l-2.29,1.8l-1.93,0.05l-1.41,1.02l-4.24,0.74l-1.72,1.49l-3.28,0.19l-0.52,-1.18l0.02,-1.51l-1.34,-3.29Z",name:"Yemen"},AT:{path:"M462.89,152.8l0.04,2.25l-1.07,0.0l-0.33,0.63l0.36,0.51l-1.04,2.13l-2.02,0.07l-1.33,0.7l-5.29,-0.99l-0.47,-0.93l-0.44,-0.21l-2.47,0.55l-0.42,0.51l-3.18,-0.81l0.43,-0.91l1.12,0.78l0.6,-0.17l0.25,-0.58l1.93,0.12l1.86,-0.56l1.0,0.08l0.68,0.57l0.62,-0.15l0.26,-0.77l-0.3,-1.78l0.8,-0.44l0.68,-1.15l1.52,0.85l0.47,-0.06l1.34,-1.25l0.64,-0.17l1.81,0.92l1.28,-0.11l0.7,0.37Z",name:"Austria"},DZ:{path:"M441.46,188.44l-0.32,1.07l0.39,2.64l-0.54,2.16l-1.58,1.82l0.37,2.39l1.91,1.55l0.18,0.8l1.42,1.03l1.84,7.23l0.12,1.16l-0.57,5.0l0.2,1.51l-0.87,0.99l-0.02,0.51l1.41,1.86l0.14,1.2l0.89,1.48l0.5,0.16l0.98,-0.41l1.73,1.08l0.82,1.23l-8.22,4.81l-7.23,5.11l-3.43,1.13l-2.3,0.21l-0.28,-1.59l-2.56,-1.09l-0.67,-1.25l-26.12,-17.86l0.01,-3.47l3.77,-1.88l2.44,-0.41l2.12,-0.75l1.08,-1.42l2.81,-1.05l0.35,-2.08l1.33,-0.29l1.04,-0.94l3.47,-0.69l0.46,-1.08l-0.1,-0.45l-0.58,-0.52l-0.82,-2.81l-0.19,-1.83l-0.78,-1.49l2.03,-1.31l2.63,-0.48l1.7,-1.22l2.31,-0.84l8.24,-0.73l1.49,0.38l2.28,-1.1l2.46,-0.02l0.92,0.6l1.35,-0.05Z",name:"Algeria"},US:{path:"M892.72,99.2l1.31,0.53l1.41,-0.37l1.89,0.98l1.89,0.42l-1.32,0.58l-2.9,-1.53l-2.08,0.22l-0.26,-0.15l0.07,-0.67ZM183.22,150.47l0.37,1.47l1.12,0.85l4.23,0.7l2.39,0.98l2.17,-0.38l1.85,0.5l-1.55,0.65l-3.49,2.61l-0.16,0.77l0.5,0.39l2.33,-0.61l1.77,1.02l5.15,-2.4l-0.31,0.65l0.25,0.56l1.36,0.38l1.71,1.16l4.7,-0.88l0.67,0.85l1.31,0.21l0.58,0.58l-1.34,0.17l-2.18,-0.32l-3.6,0.89l-2.71,3.25l0.35,0.9l0.59,-0.0l0.55,-0.6l-1.36,4.65l0.29,3.09l0.67,1.58l0.61,0.45l1.77,-0.44l1.6,-1.96l0.14,-2.21l-0.82,-1.96l0.11,-1.13l1.19,-2.37l0.44,-0.33l0.48,0.75l0.4,-0.29l0.4,-1.37l0.6,-0.47l0.24,-0.8l1.69,0.49l1.65,1.08l-0.03,2.37l-1.27,1.13l-0.0,1.13l0.87,0.36l1.66,-1.29l0.5,0.17l0.5,2.6l-2.49,3.75l0.17,0.61l1.54,0.62l1.48,0.17l1.92,-0.44l4.72,-2.15l2.16,-1.8l-0.05,-1.24l0.75,-0.22l3.92,0.36l2.12,-1.05l0.21,-0.4l-0.28,-1.48l3.27,-2.4l8.32,-0.02l0.56,-0.82l1.9,-0.77l0.93,-1.51l0.74,-2.37l1.58,-1.98l0.92,0.62l1.47,-0.47l0.8,0.66l-0.0,4.09l1.96,2.6l-2.34,1.31l-5.37,2.09l-1.83,2.72l0.02,1.79l0.83,1.59l0.54,0.23l-6.19,0.94l-2.2,0.89l-0.23,0.48l0.45,0.29l2.99,-0.46l-2.19,0.56l-1.13,0.0l-0.15,-0.32l-0.48,0.08l-0.76,0.82l0.22,0.67l0.32,0.06l-0.41,1.62l-1.27,1.58l-1.48,-1.07l-0.49,-0.04l-0.16,0.46l0.52,1.58l0.61,0.59l0.03,0.79l-0.95,1.38l-1.21,-1.22l-0.27,-2.27l-0.35,-0.35l-0.42,0.25l-0.48,1.27l0.33,1.41l-0.97,-0.27l-0.48,0.24l0.18,0.5l1.52,0.83l0.1,2.52l0.79,0.51l0.52,3.42l-1.42,1.88l-2.47,0.8l-1.71,1.66l-1.31,0.25l-1.27,1.03l-0.43,0.99l-2.69,1.78l-2.64,3.03l-0.45,2.12l0.45,2.08l0.85,2.38l1.09,1.9l0.04,1.2l1.16,3.06l-0.18,2.69l-0.55,1.43l-0.47,0.21l-0.89,-0.23l-0.49,-1.18l-0.87,-0.56l-2.75,-5.16l0.48,-1.68l-0.72,-1.78l-2.01,-2.38l-1.12,-0.53l-2.72,1.18l-1.47,-1.35l-1.57,-0.68l-2.99,0.31l-2.17,-0.3l-2.0,0.19l-1.15,0.46l-0.19,0.58l0.39,0.63l0.14,1.34l-0.84,-0.2l-0.84,0.46l-1.58,-0.07l-2.08,-1.44l-2.09,0.33l-1.91,-0.62l-3.73,0.84l-2.39,2.07l-2.54,1.22l-1.45,1.41l-0.61,1.38l0.34,3.71l-0.29,0.02l-3.5,-1.33l-1.25,-3.11l-1.44,-1.5l-2.24,-3.56l-1.76,-1.09l-2.27,-0.01l-1.71,2.07l-1.76,-0.69l-1.16,-0.74l-1.52,-2.98l-3.93,-3.16l-4.34,-0.0l-0.4,0.4l-0.0,0.74l-6.5,0.02l-9.02,-3.14l-0.34,-0.71l-5.7,0.49l-0.43,-1.29l-1.62,-1.61l-1.14,-0.38l-0.55,-0.88l-1.28,-0.13l-1.01,-0.77l-2.22,-0.27l-0.43,-0.3l-0.36,-1.58l-2.4,-2.83l-2.01,-3.85l-0.06,-0.9l-2.92,-3.26l-0.33,-2.29l-1.3,-1.66l0.52,-2.37l-0.09,-2.57l-0.78,-2.3l0.95,-2.82l0.61,-5.68l-0.47,-4.27l-1.46,-4.08l3.19,0.79l1.26,2.83l0.69,0.08l0.69,-1.14l-1.1,-4.79l68.76,-0.0l0.4,-0.4l0.14,-0.86ZM32.44,67.52l1.73,1.97l0.55,0.05l0.99,-0.79l3.65,0.24l-0.09,0.62l0.32,0.45l3.83,0.77l2.61,-0.43l5.19,1.4l4.84,0.43l1.89,0.57l3.42,-0.7l6.14,1.87l-0.03,38.06l0.38,0.4l2.39,0.11l2.31,0.98l3.9,3.99l0.55,0.04l2.4,-2.03l2.16,-1.04l1.2,1.71l3.95,3.14l4.09,6.63l4.2,2.29l0.06,1.83l-1.02,1.23l-1.16,-1.08l-2.04,-1.03l-0.67,-2.89l-3.28,-3.03l-1.65,-3.57l-6.35,-0.32l-2.82,-1.01l-5.26,-3.85l-6.77,-2.04l-3.53,0.3l-4.81,-1.69l-3.25,-1.63l-2.78,0.8l-0.28,0.46l0.44,2.21l-3.91,0.96l-2.26,1.27l-2.3,0.65l-0.27,-1.65l1.05,-3.42l2.49,-1.09l0.16,-0.6l-0.69,-0.96l-0.55,-0.1l-3.19,2.12l-1.78,2.56l-3.55,2.61l-0.04,0.61l1.56,1.52l-2.07,2.29l-5.11,2.57l-0.77,1.66l-3.76,1.77l-0.92,1.73l-2.69,1.38l-1.81,-0.22l-6.95,3.32l-3.97,0.91l4.85,-2.5l2.59,-1.86l3.26,-0.52l1.19,-1.4l3.42,-2.1l2.59,-2.27l0.42,-2.68l1.23,-2.1l-0.04,-0.46l-0.45,-0.11l-2.68,1.03l-0.63,-0.49l-0.53,0.03l-1.05,1.04l-1.36,-1.54l-0.66,0.08l-0.32,0.62l-0.58,-1.14l-0.56,-0.16l-2.41,1.42l-1.07,-0.0l-0.17,-1.75l0.3,-1.71l-1.61,-1.33l-3.41,0.59l-1.96,-1.63l-1.57,-0.84l-0.15,-2.21l-1.7,-1.43l0.82,-1.88l1.99,-2.12l0.88,-1.92l1.71,-0.24l2.04,0.51l1.87,-1.77l1.91,0.25l1.91,-1.23l0.17,-0.43l-0.47,-1.82l-1.07,-0.7l1.39,-1.17l0.12,-0.45l-0.39,-0.26l-1.65,0.07l-2.66,0.88l-0.75,0.78l-1.92,-0.8l-3.46,0.44l-3.44,-0.91l-1.06,-1.61l-2.65,-1.99l2.91,-1.43l5.5,-2.0l1.52,0.0l-0.26,1.62l0.41,0.46l5.29,-0.16l0.3,-0.65l-2.03,-2.59l-3.14,-1.68l-1.79,-2.12l-2.4,-1.83l-3.09,-1.24l1.04,-1.69l4.23,-0.14l3.36,-2.07l0.73,-2.27l2.39,-1.99l2.42,-0.52l4.65,-1.97l2.46,0.23l3.71,-2.35l3.5,0.89ZM37.6,123.41l-2.25,1.23l-0.95,-0.69l-0.29,-1.24l3.21,-1.63l1.42,0.21l0.67,0.7l-1.8,1.42ZM31.06,234.03l0.98,0.47l0.74,0.87l-1.77,1.07l-0.44,-1.53l0.49,-0.89ZM29.34,232.07l0.18,0.05l0.08,0.05l-0.16,0.03l-0.11,-0.14ZM25.16,230.17l0.05,-0.03l0.18,0.22l-0.13,-0.01l-0.1,-0.18ZM5.89,113.26l-1.08,0.41l-2.21,-1.12l1.53,-0.4l1.62,0.28l0.14,0.83Z",name:"United States"},LV:{path:"M489.16,122.85l0.96,0.66l0.22,1.65l0.68,1.76l-3.65,1.7l-2.23,-1.58l-1.29,-0.26l-0.68,-0.77l-2.42,0.34l-4.16,-0.23l-2.47,0.9l0.06,-1.98l1.13,-2.06l1.95,-1.02l2.12,2.58l2.01,-0.07l0.38,-0.33l0.44,-2.52l1.76,-0.53l3.06,1.7l2.15,0.07Z",name:"Latvia"},UY:{path:"M286.85,372.74l-0.92,1.5l-2.59,1.44l-1.69,-0.52l-1.42,0.26l-2.39,-1.19l-1.52,0.08l-1.27,-1.3l0.16,-1.5l0.56,-0.79l-0.02,-2.73l1.21,-4.74l1.19,-0.21l2.37,2.0l1.08,0.03l4.36,3.17l1.22,1.6l-0.96,1.5l0.61,1.4Z",name:"Uruguay"},LB:{path:"M510.37,198.01l-0.88,0.51l1.82,-3.54l0.62,0.08l0.22,0.61l-1.13,0.88l-0.65,1.47Z",name:"Lebanon"},LA:{path:"M689.54,248.53l-1.76,-0.74l-0.49,0.15l-0.94,1.46l-1.32,-0.64l0.62,-0.98l0.11,-2.17l-2.04,-2.42l-0.25,-2.65l-1.9,-2.1l-2.15,-0.31l-0.78,0.91l-1.12,0.06l-1.05,-0.4l-2.06,1.2l-0.04,-1.59l0.61,-2.68l-0.36,-0.49l-1.35,-0.1l-0.11,-1.23l-0.96,-0.88l1.96,-1.89l0.39,0.36l1.33,0.07l0.42,-0.45l-0.34,-2.66l0.7,-0.21l1.28,1.81l1.11,2.35l0.36,0.23l2.82,0.02l0.71,1.67l-1.39,0.65l-0.72,0.93l0.13,0.6l2.91,1.51l3.6,5.25l1.88,1.78l0.56,1.62l-0.35,1.96Z",name:"Lao PDR"},TW:{path:"M724.01,226.68l-0.74,1.48l-0.9,-1.52l-0.25,-1.74l1.38,-2.44l1.73,-1.74l0.64,0.44l-1.85,5.52Z",name:"Taiwan"},TT:{path:"M266.64,259.32l0.28,-1.16l1.13,-0.22l-0.06,1.2l-1.35,0.18Z",name:"Trinidad and Tobago"},TR:{path:"M513.21,175.47l3.64,1.17l3.05,-0.44l2.1,0.26l3.11,-1.56l2.46,-0.13l2.19,1.33l0.33,0.82l-0.22,1.33l0.25,0.44l2.28,1.13l-1.17,0.57l-0.21,0.45l0.75,3.2l-0.41,1.16l1.13,1.92l-0.55,0.22l-0.9,-0.67l-2.91,-0.37l-1.24,0.46l-4.23,0.41l-2.81,1.05l-1.91,0.01l-1.52,-0.53l-2.58,0.75l-0.66,-0.45l-0.62,0.3l-0.12,1.45l-0.89,0.84l-0.47,-0.67l0.79,-1.3l-0.41,-0.2l-1.43,0.23l-2.0,-0.63l-2.02,1.65l-3.51,0.3l-2.13,-1.53l-2.7,-0.1l-0.86,1.24l-1.38,0.27l-2.29,-1.44l-2.71,-0.01l-1.37,-2.65l-1.68,-1.52l1.07,-1.99l-0.09,-0.49l-1.27,-1.12l2.37,-2.41l3.7,-0.11l1.28,-2.24l4.49,0.37l3.21,-1.97l2.81,-0.82l3.99,-0.06l4.29,2.07ZM488.79,176.72l-1.72,1.31l-0.5,-0.88l1.37,-2.57l-0.7,-0.85l1.7,-0.63l1.8,0.34l0.46,1.17l1.76,0.78l-2.87,0.32l-1.3,1.01Z",name:"Turkey"},LK:{path:"M624.16,268.99l-1.82,0.48l-0.99,-1.67l-0.42,-3.46l0.95,-3.43l1.21,0.98l2.26,4.19l-0.34,2.33l-0.85,0.58Z",name:"Sri Lanka"},TN:{path:"M448.1,188.24l-1.0,1.27l-0.02,1.32l0.84,0.88l-0.28,2.09l-1.53,1.32l-0.12,0.42l0.48,1.54l1.42,0.32l0.53,1.11l0.9,0.52l-0.11,1.67l-3.54,2.64l-0.1,2.38l-0.58,0.3l-0.96,-4.45l-1.54,-1.25l-0.16,-0.78l-1.92,-1.56l-0.18,-1.76l1.51,-1.62l0.59,-2.34l-0.38,-2.78l0.42,-1.21l2.45,-1.05l1.29,0.26l-0.06,1.11l0.58,0.38l1.47,-0.73Z",name:"Tunisia"},TL:{path:"M734.55,307.93l-0.1,-0.97l4.5,-0.86l-2.82,1.28l-1.59,0.55Z",name:"Timor-Leste"},TM:{path:"M553.03,173.76l-0.04,0.34l-0.09,-0.22l0.13,-0.12ZM555.87,172.66l0.45,-0.1l1.48,0.74l2.06,2.43l4.07,-0.18l0.38,-0.51l-0.32,-1.19l1.92,-0.94l1.91,-1.59l2.94,1.39l0.43,2.47l1.19,0.67l2.58,-0.13l0.62,0.4l1.32,3.12l4.54,3.44l2.67,1.45l3.06,1.14l-0.04,1.05l-1.33,-0.75l-0.59,0.19l-0.32,0.84l-2.2,0.81l-0.46,2.13l-1.21,0.74l-1.91,0.42l-0.73,1.33l-1.56,0.31l-2.22,-0.94l-0.2,-2.17l-0.38,-0.36l-1.73,-0.09l-2.76,-2.46l-2.14,-0.4l-2.84,-1.48l-1.78,-0.27l-1.24,0.53l-1.57,-0.08l-2.0,1.69l-1.7,0.43l-0.36,-1.58l0.36,-2.98l-0.22,-0.4l-1.65,-0.84l0.54,-1.69l-0.34,-0.52l-1.22,-0.13l0.36,-1.64l2.22,0.59l2.2,-0.95l0.12,-0.65l-1.77,-1.74l-0.66,-1.57Z",name:"Turkmenistan"},TJ:{path:"M597.75,178.82l-2.54,-0.44l-0.47,0.34l-0.24,1.7l0.43,0.45l2.64,-0.22l3.18,0.95l4.39,-0.41l0.56,2.37l0.52,0.29l0.67,-0.24l1.11,0.49l0.21,2.13l-3.76,-0.21l-1.8,1.32l-1.76,0.74l-0.61,-0.58l0.21,-2.23l-0.64,-0.49l-0.07,-0.93l-1.36,-0.66l-0.45,0.07l-1.08,1.01l-0.55,1.48l-1.31,-0.05l-0.95,1.16l-0.9,-0.35l-1.86,0.74l1.26,-2.83l-0.54,-2.17l-1.67,-0.82l0.33,-0.66l2.18,-0.04l1.19,-1.63l0.76,-1.79l2.43,-0.5l-0.26,1.0l0.73,1.05Z",name:"Tajikistan"},LS:{path:"M491.06,363.48l-0.49,0.15l-1.49,-1.67l1.1,-1.43l2.19,-1.44l1.51,1.27l-0.98,1.82l-1.23,0.38l-0.62,0.93Z",name:"Lesotho"},TH:{path:"M670.27,255.86l-1.41,3.87l0.15,2.0l0.38,0.36l1.38,0.07l0.9,2.04l0.55,2.34l1.4,1.44l1.61,0.38l0.96,0.97l-0.5,0.64l-1.1,0.2l-0.34,-1.18l-2.04,-1.1l-0.63,0.23l-0.63,-0.62l-0.48,-1.3l-2.56,-2.63l-0.73,0.41l0.95,-3.89l2.16,-4.22ZM670.67,254.77l-0.92,-2.18l-0.26,-2.61l-2.14,-3.06l0.71,-0.49l0.89,-2.59l-3.61,-5.45l0.87,-0.51l1.05,-2.58l1.74,-0.18l2.6,-1.59l0.76,0.56l0.13,1.39l0.37,0.36l1.23,0.09l-0.51,2.28l0.05,2.42l0.6,0.34l2.43,-1.42l0.77,0.39l1.47,-0.07l0.71,-0.88l1.48,0.14l1.71,1.88l0.25,2.65l1.92,2.11l-0.1,1.89l-0.61,0.86l-2.22,-0.33l-3.5,0.64l-1.6,2.12l0.36,2.58l-1.51,-0.79l-1.84,-0.01l0.28,-1.52l-0.4,-0.47l-2.21,0.01l-0.4,0.37l-0.19,2.74l-0.34,0.93Z",name:"Thailand"},TF:{path:"M596.68,420.38l-3.2,0.18l-0.05,-1.26l0.39,-1.41l1.3,0.78l2.08,0.35l-0.52,1.36Z",name:"Fr. S. Antarctic Lands"},TG:{path:"M422.7,257.63l-0.09,1.23l1.53,1.52l0.08,1.09l0.5,0.65l-0.11,5.62l0.49,1.47l-1.31,0.35l-1.02,-2.13l-0.18,-1.12l0.53,-2.19l-0.63,-1.16l-0.22,-3.68l-1.01,-1.4l0.07,-0.28l1.37,0.03Z",name:"Togo"},TD:{path:"M480.25,235.49l0.12,9.57l-2.1,0.05l-1.14,1.89l-0.69,1.63l0.34,0.73l-0.66,0.91l0.24,0.89l-0.86,1.95l0.45,0.5l0.6,-0.1l0.34,0.64l0.03,1.38l0.9,1.04l-1.45,0.43l-1.27,1.03l-1.83,2.76l-2.16,1.07l-2.31,-0.15l-0.86,0.25l-0.26,0.49l0.17,0.61l-2.11,1.68l-2.85,0.87l-1.09,-0.57l-0.73,0.66l-1.12,0.1l-1.1,-3.12l-1.25,-0.64l-1.22,-1.22l0.29,-0.64l3.01,0.04l0.35,-0.6l-1.3,-2.2l-0.08,-3.31l-0.97,-1.66l0.22,-1.04l-0.38,-0.48l-1.22,-0.04l0.0,-1.25l-0.98,-1.07l0.96,-3.01l3.25,-2.65l0.13,-3.33l0.95,-5.18l0.52,-1.07l-0.1,-0.48l-0.91,-0.78l-0.2,-0.96l-0.8,-0.58l-0.55,-3.65l2.1,-1.2l19.57,9.83Z",name:"Chad"},LY:{path:"M483.48,203.15l-0.75,1.1l0.29,1.39l-0.6,1.83l0.73,2.14l0.0,24.12l-2.48,0.01l-0.41,0.85l-19.41,-9.76l-4.41,2.28l-1.37,-1.33l-3.82,-1.1l-1.14,-1.65l-1.98,-1.23l-1.22,0.32l-0.66,-1.11l-0.17,-1.26l-1.28,-1.69l0.87,-1.19l-0.07,-4.34l0.43,-2.27l-0.86,-3.45l1.13,-0.76l0.22,-1.16l-0.2,-1.03l3.48,-2.61l0.29,-1.94l2.45,0.8l1.18,-0.21l1.98,0.44l3.15,1.18l1.37,2.54l5.72,1.67l2.64,1.35l1.61,-0.72l1.29,-1.34l-0.44,-2.34l0.66,-1.13l1.67,-1.21l1.57,-0.35l3.14,0.53l1.08,1.28l3.99,0.78l0.36,0.54Z",name:"Libya"},AE:{path:"M550.76,223.97l1.88,-0.4l3.84,0.02l4.78,-4.75l0.19,0.36l0.26,1.58l-0.81,0.01l-0.39,0.35l-0.08,2.04l-0.81,0.63l-0.01,0.96l-0.66,0.99l-0.39,1.41l-7.08,-1.25l-0.7,-1.96Z",name:"United Arab Emirates"},VE:{path:"M240.68,256.69l0.53,0.75l-0.02,1.06l-1.07,1.78l0.95,2.0l0.42,0.22l1.4,-0.44l0.56,-1.83l-0.77,-1.17l-0.1,-1.47l2.82,-0.93l0.26,-0.49l-0.28,-0.96l0.3,-0.28l0.66,1.31l1.96,0.26l1.4,1.22l0.08,0.68l0.39,0.35l4.81,-0.22l1.49,1.11l1.92,0.31l1.67,-0.84l0.22,-0.6l3.44,-0.14l-0.17,0.55l0.86,1.19l2.19,0.35l1.67,1.1l0.37,1.86l0.41,0.32l1.55,0.17l-1.66,1.35l-0.22,0.92l0.65,0.97l-1.67,0.54l-0.3,0.4l0.04,0.99l-0.56,0.57l-0.01,0.55l1.85,2.27l-0.66,0.69l-4.47,1.29l-0.72,0.54l-3.69,-0.9l-0.71,0.27l-0.02,0.7l0.91,0.53l-0.08,1.54l0.35,1.58l0.35,0.31l1.66,0.17l-1.3,0.52l-0.48,1.13l-2.68,0.91l-0.6,0.77l-1.57,0.13l-1.17,-1.13l-0.8,-2.52l-1.25,-1.26l1.02,-1.23l-1.29,-2.95l0.18,-1.62l1.0,-2.21l-0.2,-0.49l-1.14,-0.46l-4.02,0.36l-1.82,-2.1l-1.57,-0.33l-2.99,0.22l-1.06,-0.97l0.25,-1.23l-0.2,-1.01l-0.59,-0.69l-0.29,-1.06l-1.08,-0.39l0.78,-2.79l1.9,-2.11Z",name:"Venezuela"},AF:{path:"M600.7,188.88l-1.57,1.3l-0.1,0.48l0.8,2.31l-1.09,1.04l-0.03,1.27l-0.48,0.71l-2.16,-0.08l-0.37,0.59l0.78,1.48l-1.38,0.69l-1.06,1.69l0.06,1.7l-0.65,0.52l-0.91,-0.21l-1.91,0.36l-0.48,0.77l-1.88,0.13l-1.4,1.56l-0.18,2.32l-2.91,1.02l-1.65,-0.23l-0.71,0.55l-1.41,-0.3l-2.41,0.39l-3.52,-1.17l1.96,-2.35l-0.21,-1.78l-0.3,-0.34l-1.63,-0.4l-0.19,-1.58l-0.75,-2.03l0.95,-1.36l-0.19,-0.6l-0.73,-0.28l1.47,-4.8l2.14,0.9l2.12,-0.36l0.74,-1.34l1.77,-0.39l1.54,-0.92l0.63,-2.31l1.87,-0.5l0.49,-0.81l0.94,0.56l2.13,0.11l2.55,0.92l1.95,-0.83l0.65,0.43l0.56,-0.13l0.69,-1.12l1.57,-0.08l0.72,-1.66l0.79,-0.74l0.8,0.39l-0.17,0.56l0.71,0.58l-0.08,2.39l1.11,0.95ZM601.37,188.71l1.73,-0.71l1.43,-1.18l4.03,0.35l-2.23,0.74l-4.95,0.8Z",name:"Afghanistan"},IQ:{path:"M530.82,187.47l0.79,0.66l1.26,-0.28l1.46,3.08l1.63,0.94l0.14,1.23l-1.22,1.05l-0.53,2.52l1.73,2.67l3.12,1.62l1.15,1.88l-0.38,1.85l0.39,0.48l0.41,-0.0l0.02,1.07l0.76,0.94l-2.47,-0.1l-1.71,2.44l-4.31,-0.2l-7.02,-5.48l-3.73,-1.94l-2.88,-0.73l-0.85,-2.87l5.45,-3.02l0.95,-3.43l-0.19,-1.96l1.27,-0.7l1.22,-1.7l0.87,-0.36l2.69,0.34Z",name:"Iraq"},IS:{path:"M384.14,88.06l-0.37,2.61l2.54,2.51l-2.9,2.75l-9.19,3.4l-9.25,-1.66l1.7,-1.22l-0.1,-0.7l-4.05,-1.47l2.96,-0.53l0.33,-0.43l-0.11,-1.2l-0.33,-0.36l-4.67,-0.85l1.28,-2.04l3.45,-0.56l3.77,2.72l0.44,0.02l3.64,-2.16l3.3,1.08l3.98,-2.16l3.58,0.26Z",name:"Iceland"},IR:{path:"M533.43,187.16l-1.27,-2.15l0.42,-0.98l-0.71,-3.04l1.03,-0.5l0.33,0.83l1.26,1.35l2.05,0.51l1.11,-0.16l2.89,-2.11l0.62,-0.14l0.39,0.46l-0.72,1.2l0.06,0.49l1.56,1.53l0.65,0.04l0.67,1.81l2.56,0.83l1.87,1.48l3.69,0.49l3.91,-0.76l0.47,-0.73l2.17,-0.6l1.66,-1.54l1.51,0.08l1.18,-0.53l1.59,0.24l2.83,1.48l1.88,0.3l2.77,2.47l1.77,0.18l0.18,1.99l-1.68,5.49l0.24,0.5l0.61,0.23l-0.82,1.48l0.8,2.18l0.19,1.71l0.3,0.34l1.63,0.4l0.15,1.32l-2.15,2.35l-0.01,0.53l2.21,3.03l2.34,1.24l0.06,2.14l1.24,0.72l0.11,0.69l-3.31,1.27l-1.08,3.03l-9.68,-1.68l-0.99,-3.05l-1.43,-0.73l-2.17,0.46l-2.47,1.26l-2.83,-0.82l-2.46,-2.02l-2.41,-0.8l-3.42,-6.06l-0.48,-0.2l-1.18,0.39l-1.44,-0.82l-0.5,0.08l-0.65,0.74l-0.97,-1.01l-0.02,-1.31l-0.71,-0.39l0.26,-1.81l-1.29,-2.11l-3.13,-1.63l-1.58,-2.43l0.5,-1.9l1.31,-1.26l-0.19,-1.66l-1.74,-1.1l-1.57,-3.3Z",name:"Iran"},AM:{path:"M536.99,182.33l-0.28,0.03l-1.23,-2.13l-0.93,0.01l-0.62,-0.66l-0.69,-0.07l-0.96,-0.81l-1.56,-0.62l0.19,-1.12l-0.26,-0.79l2.72,-0.36l1.09,1.01l-0.17,0.92l1.02,0.78l-0.47,0.62l0.08,0.56l2.04,1.23l0.04,1.4Z",name:"Armenia"},IT:{path:"M451.59,158.63l3.48,0.94l-0.21,1.17l0.3,0.83l-1.49,-0.24l-2.04,1.1l-0.21,0.39l0.13,1.45l-0.25,1.12l0.82,1.57l2.39,1.63l1.31,2.54l2.79,2.43l2.05,0.08l0.21,0.23l-0.39,0.33l0.09,0.67l4.05,1.97l2.17,1.76l-0.16,0.36l-1.17,-1.08l-2.18,-0.49l-0.44,0.2l-1.05,1.91l0.14,0.54l1.57,0.95l-0.19,0.98l-1.06,0.33l-1.25,2.34l-0.37,0.08l0.0,-0.33l1.0,-2.45l-1.73,-3.17l-1.12,-0.51l-0.88,-1.33l-1.51,-0.51l-1.27,-1.25l-1.75,-0.18l-4.12,-3.21l-1.62,-1.65l-1.03,-3.19l-3.53,-1.36l-1.3,0.51l-1.69,1.41l0.16,-0.72l-0.28,-0.47l-1.14,-0.33l-0.53,-1.96l0.72,-0.78l0.04,-0.48l-0.65,-1.17l0.8,0.39l1.4,-0.23l1.11,-0.84l0.52,0.35l1.19,-0.1l0.75,-1.2l1.53,0.33l1.36,-0.56l0.35,-1.14l1.08,0.32l0.68,-0.64l1.98,-0.44l0.42,0.82ZM459.19,184.75l-0.65,1.65l0.32,1.05l-0.31,0.89l-1.5,-0.85l-4.5,-1.67l0.19,-0.82l2.67,0.23l3.78,-0.48ZM443.93,176.05l1.18,1.66l-0.3,3.32l-1.06,-0.01l-0.77,0.73l-0.53,-0.44l-0.1,-3.37l-0.39,-1.22l1.04,0.01l0.92,-0.68Z",name:"Italy"},VN:{path:"M690.56,230.25l-2.7,1.82l-2.09,2.46l-0.63,1.95l4.31,6.45l2.32,1.65l1.43,1.94l1.11,4.59l-0.32,4.24l-1.93,1.54l-2.84,1.61l-2.11,2.15l-2.73,2.06l-0.59,-1.05l0.63,-1.53l-0.13,-0.47l-1.34,-1.04l1.51,-0.71l2.55,-0.18l0.3,-0.63l-0.82,-1.14l4.0,-2.07l0.31,-3.05l-0.57,-1.77l0.42,-2.66l-0.73,-1.97l-1.86,-1.76l-3.63,-5.29l-2.72,-1.46l0.36,-0.47l1.5,-0.64l0.21,-0.52l-0.97,-2.27l-0.37,-0.24l-2.83,-0.02l-2.24,-3.9l0.83,-0.4l4.39,-0.29l2.06,-1.31l1.15,0.89l1.88,0.4l-0.17,1.51l1.35,1.16l1.67,0.45Z",name:"Vietnam"},AR:{path:"M249.29,428.93l-2.33,-0.52l-5.83,-0.43l-0.89,-1.66l0.05,-2.37l-0.45,-0.4l-1.43,0.18l-0.67,-0.91l-0.2,-3.13l1.88,-1.47l0.79,-2.04l-0.25,-1.7l1.3,-2.68l0.91,-4.15l-0.22,-1.69l0.85,-0.45l0.2,-0.44l-0.27,-1.16l-0.98,-0.68l0.59,-0.92l-0.05,-0.5l-1.04,-1.07l-0.52,-3.1l0.97,-0.86l-0.42,-3.58l1.2,-5.43l1.38,-0.98l0.16,-0.43l-0.75,-2.79l-0.01,-2.43l1.78,-1.75l0.06,-2.57l1.43,-2.85l0.01,-2.58l-0.69,-0.74l-1.09,-4.52l1.47,-2.7l-0.18,-2.79l0.85,-2.35l1.59,-2.46l1.73,-1.64l0.05,-0.52l-0.6,-0.84l0.44,-0.85l-0.07,-4.19l2.7,-1.44l0.86,-2.75l-0.21,-0.71l1.76,-2.01l2.9,0.57l1.38,1.78l0.68,-0.08l0.87,-1.87l2.39,0.09l4.95,4.77l2.17,0.49l3.0,1.92l2.47,1.0l0.25,0.82l-2.37,3.93l0.23,0.59l5.39,1.16l2.12,-0.44l2.45,-2.16l0.5,-2.38l0.76,-0.31l0.98,1.2l-0.04,1.8l-3.67,2.51l-2.85,2.66l-3.43,3.88l-1.3,5.07l0.01,2.72l-0.54,0.73l-0.36,3.28l3.14,2.64l-0.16,2.11l1.4,1.11l-0.1,1.09l-2.29,3.52l-3.55,1.49l-4.92,0.6l-2.71,-0.29l-0.43,0.51l0.5,1.65l-0.49,2.1l0.38,1.42l-1.19,0.83l-2.36,0.38l-2.3,-1.04l-1.38,0.83l0.41,3.64l1.69,0.91l1.4,-0.71l0.36,0.76l-2.04,0.86l-2.01,1.89l-0.97,4.63l-2.34,0.1l-2.09,1.78l-0.61,2.75l2.46,2.31l2.17,0.63l-0.7,2.32l-2.83,1.73l-1.73,3.86l-2.17,1.22l-1.16,1.67l0.75,3.76l1.04,1.28ZM256.71,438.88l-2.0,0.15l-1.4,-1.22l-3.82,-0.1l-0.0,-5.83l1.6,3.05l3.26,2.07l3.08,0.78l-0.71,1.1Z",name:"Argentina"},AU:{path:"M705.8,353.26l0.26,0.04l0.17,-0.47l-0.48,-1.42l0.92,1.11l0.45,0.15l0.27,-0.39l-0.1,-1.56l-1.98,-3.63l1.09,-3.31l-0.24,-1.57l0.34,-0.62l0.38,1.06l0.43,-0.19l0.99,-1.7l1.91,-0.83l1.29,-1.15l1.81,-0.91l0.96,-0.17l0.92,0.26l1.92,-0.95l1.47,-0.28l1.03,-0.8l1.43,0.04l2.78,-0.84l1.36,-1.15l0.71,-1.45l1.41,-1.26l0.3,-2.58l1.27,-1.59l0.78,1.65l0.54,0.19l1.07,-0.51l0.15,-0.6l-0.73,-1.0l0.45,-0.71l0.78,0.39l0.58,-0.3l0.28,-1.82l1.87,-2.14l1.12,-0.39l0.28,-0.58l0.62,0.17l0.53,-0.73l1.87,-0.57l1.65,1.05l1.35,1.48l3.39,0.38l0.43,-0.54l-0.46,-1.23l1.05,-1.79l1.04,-0.61l0.14,-0.55l-0.25,-0.41l0.88,-1.17l1.31,-0.77l1.3,0.27l2.1,-0.48l0.31,-0.4l-0.05,-1.3l-0.92,-0.77l1.48,0.56l1.41,1.07l2.11,0.65l0.81,-0.2l1.4,0.7l1.69,-0.66l0.8,0.19l0.64,-0.33l0.71,0.77l-1.33,1.94l-0.71,0.07l-0.35,0.51l0.24,0.86l-1.52,2.35l0.12,1.05l2.15,1.65l1.97,0.85l3.04,2.36l1.97,0.65l0.55,0.88l2.72,0.85l1.84,-1.1l2.07,-5.97l-0.42,-3.59l0.3,-1.73l0.47,-0.87l-0.31,-0.68l1.09,-3.28l0.46,-0.47l0.4,0.71l0.16,1.51l0.65,0.52l0.16,1.04l0.85,1.21l0.12,2.38l0.9,2.0l0.57,0.18l1.3,-0.78l1.69,1.7l-0.2,1.08l0.53,2.2l0.39,1.3l0.68,0.48l0.6,1.95l-0.19,1.48l0.81,1.76l6.01,3.69l-0.11,0.76l1.38,1.58l0.95,2.77l0.58,0.22l0.72,-0.41l0.8,0.9l0.61,0.01l0.46,2.41l4.81,4.71l0.66,2.02l-0.07,3.31l1.14,2.2l-0.13,2.24l-1.1,3.68l0.03,1.64l-0.47,1.89l-1.05,2.4l-1.9,1.47l-1.72,3.51l-2.38,6.09l-0.24,2.82l-1.14,0.8l-2.85,0.15l-2.31,1.19l-2.51,2.25l-3.09,-1.57l0.3,-1.15l-0.54,-0.47l-1.5,0.63l-2.01,1.94l-7.12,-2.18l-1.48,-1.63l-1.14,-3.74l-1.45,-1.26l-1.81,-0.26l0.56,-1.18l-0.61,-2.1l-0.72,-0.1l-1.14,1.82l-0.9,0.21l0.63,-0.82l0.36,-1.55l0.92,-1.31l-0.13,-2.34l-0.7,-0.22l-2.0,2.34l-1.51,0.93l-0.94,2.01l-1.35,-0.81l-0.02,-1.52l-1.57,-2.04l-1.09,-0.88l0.24,-0.33l-0.14,-0.59l-3.21,-1.69l-1.83,-0.12l-2.54,-1.35l-4.58,0.28l-6.02,1.9l-2.53,-0.13l-2.62,1.41l-2.13,0.63l-1.49,2.6l-3.49,0.31l-2.29,-0.5l-3.48,0.43l-1.6,1.47l-0.81,-0.04l-2.37,1.63l-3.26,-0.1l-3.72,-2.21l0.04,-1.05l1.19,-0.46l0.49,-0.89l0.21,-2.97l-0.28,-1.64l-1.34,-2.86l-0.38,-1.47l0.05,-1.72l-0.95,-1.7l-0.18,-0.97l-1.01,-0.99l-0.29,-1.98l-1.13,-1.75ZM784.92,393.44l2.65,1.02l3.23,-0.96l1.09,0.14l0.15,3.06l-0.85,1.13l-0.17,1.63l-0.87,-0.24l-1.57,1.91l-1.68,-0.18l-1.4,-2.36l-0.37,-2.04l-1.39,-2.51l0.04,-0.8l1.15,0.18Z",name:"Australia"},IL:{path:"M507.76,203.05l0.4,-0.78l0.18,0.4l-0.33,1.03l0.52,0.44l0.68,-0.22l-0.86,3.6l-1.16,-3.32l0.59,-0.74l-0.03,-0.41ZM508.73,200.34l0.37,-1.02l0.64,0.0l0.52,-0.51l-0.49,1.53l-0.56,-0.24l-0.48,0.23Z",name:"Israel"},IN:{path:"M623.34,207.03l-1.24,1.04l-0.97,2.55l0.22,0.51l8.04,3.87l3.42,0.37l1.57,1.38l4.92,0.88l2.18,-0.04l0.38,-0.3l0.29,-1.24l-0.32,-1.64l0.14,-0.87l0.82,-0.31l0.45,2.48l2.28,1.02l1.77,-0.38l4.14,0.1l0.38,-0.36l0.18,-1.66l-0.5,-0.65l1.37,-0.29l2.25,-1.99l2.7,-1.62l1.93,0.62l1.8,-0.98l0.79,1.14l-0.68,0.91l0.26,0.63l2.42,0.36l0.09,0.47l-0.83,0.75l0.13,1.07l-1.52,-0.29l-3.24,1.86l-0.13,1.78l-1.32,2.14l-0.18,1.39l-0.93,1.82l-1.64,-0.5l-0.52,0.37l-0.09,2.63l-0.56,1.11l0.19,0.81l-0.53,0.27l-1.18,-3.73l-1.08,-0.27l-0.38,0.31l-0.24,1.0l-0.66,-0.66l0.54,-1.06l1.22,-0.34l1.15,-2.25l-0.24,-0.56l-1.57,-0.47l-4.34,-0.28l-0.18,-1.56l-0.35,-0.35l-1.11,-0.12l-1.91,-1.12l-0.56,0.17l-0.88,1.82l0.11,0.49l1.36,1.07l-1.09,0.69l-0.69,1.11l0.18,0.56l1.24,0.57l-0.32,1.54l0.85,1.94l0.36,2.01l-0.22,0.59l-4.58,0.52l-0.33,0.42l0.13,1.8l-1.17,1.36l-3.65,1.81l-2.79,3.03l-4.32,3.28l-0.18,1.27l-4.65,1.79l-0.77,2.16l0.64,5.3l-1.06,2.49l-0.01,3.94l-1.24,0.28l-1.14,1.93l0.39,0.84l-1.68,0.53l-1.04,1.83l-0.65,0.47l-2.06,-2.05l-2.1,-6.02l-2.2,-3.64l-1.05,-4.75l-2.29,-3.57l-1.76,-8.2l0.01,-3.11l-0.49,-2.53l-0.55,-0.29l-3.53,1.52l-1.53,-0.27l-2.86,-2.77l0.85,-0.67l0.08,-0.55l-0.74,-1.03l-2.67,-2.06l1.24,-1.32l5.34,0.01l0.39,-0.49l-0.5,-2.29l-1.42,-1.46l-0.27,-1.93l-1.43,-1.2l2.31,-2.37l3.05,0.06l2.62,-2.85l1.6,-2.81l2.4,-2.73l0.07,-2.04l1.97,-1.48l-0.02,-0.65l-1.93,-1.31l-0.82,-1.78l-0.8,-2.21l0.9,-0.89l3.59,0.65l2.92,-0.42l2.33,-2.19l2.31,2.85l-0.24,2.13l0.99,1.59l-0.05,0.82l-1.34,-0.28l-0.47,0.48l0.7,3.06l2.62,1.99l2.99,1.65Z",name:"India"},TZ:{path:"M495.56,296.42l2.8,-3.12l-0.02,-0.81l-0.64,-1.3l0.68,-0.52l0.14,-1.47l-0.76,-1.25l0.31,-0.11l2.26,0.03l-0.51,2.76l0.76,1.3l0.5,0.12l1.05,-0.53l1.19,-0.12l0.61,0.24l1.43,-0.62l0.1,-0.67l-0.71,-0.62l1.57,-1.7l8.65,4.86l0.32,1.53l3.34,2.33l-1.05,2.8l0.13,1.61l1.63,1.12l-0.6,1.76l-0.01,2.33l1.89,4.03l0.57,0.43l-1.46,1.08l-2.61,0.94l-1.43,-0.04l-1.06,0.77l-2.29,0.36l-2.87,-0.68l-0.83,0.07l-0.63,-0.75l-0.31,-2.78l-1.32,-1.35l-3.25,-0.77l-3.96,-1.58l-1.18,-2.41l-0.32,-1.75l-1.76,-1.49l0.42,-1.05l-0.44,-0.89l0.08,-0.96l-0.46,-0.58l0.06,-0.56Z",name:"Tanzania"},AZ:{path:"M539.29,175.73l1.33,0.32l1.94,-1.8l2.3,3.34l1.43,0.43l-1.26,0.15l-0.35,0.32l-0.8,3.14l-0.99,0.96l0.05,1.11l-1.26,-1.13l0.7,-1.18l-0.04,-0.47l-0.74,-0.86l-1.48,0.15l-2.34,1.71l-0.03,-1.27l-2.03,-1.35l0.47,-0.62l-0.08,-0.56l-1.03,-0.79l0.29,-0.43l-0.14,-0.58l-1.13,-0.86l1.89,0.68l1.69,0.06l0.37,-0.87l-0.81,-1.37l0.42,0.06l1.63,1.72ZM533.78,180.57l0.61,0.46l0.69,-0.0l0.59,1.15l-0.68,-0.15l-1.21,-1.45Z",name:"Azerbaijan"},IE:{path:"M405.08,135.42l0.35,2.06l-1.75,2.78l-4.22,1.88l-2.84,-0.4l1.73,-3.0l-1.18,-3.53l4.6,-3.74l0.32,1.15l-0.49,1.74l0.4,0.51l1.47,-0.04l1.6,0.6Z",name:"Ireland"},ID:{path:"M756.47,287.89l0.69,4.01l2.79,1.78l0.51,-0.1l2.04,-2.59l2.71,-1.43l2.05,-0.0l3.9,1.73l2.46,0.45l0.08,15.12l-1.75,-1.54l-2.54,-0.51l-0.88,0.71l-2.32,0.06l0.69,-1.33l1.45,-0.64l0.23,-0.46l-0.65,-2.74l-1.24,-2.21l-5.04,-2.29l-2.09,-0.23l-3.68,-2.27l-0.55,0.13l-0.65,1.07l-0.52,0.12l-0.55,-1.89l-1.21,-0.78l1.84,-0.62l1.72,0.05l0.39,-0.52l-0.21,-0.66l-0.38,-0.28l-3.45,-0.0l-1.13,-1.48l-2.1,-0.43l-0.52,-0.6l2.69,-0.48l1.28,-0.78l3.66,0.94l0.3,0.71ZM757.91,300.34l-0.62,0.82l-0.1,-0.8l0.59,-1.12l0.13,1.1ZM747.38,292.98l0.34,0.72l-1.22,-0.57l-4.68,-0.1l0.27,-0.62l2.78,-0.09l2.52,0.67ZM741.05,285.25l-0.67,-2.88l0.64,-2.01l0.41,0.86l1.21,0.18l0.16,0.7l-0.1,1.68l-0.84,-0.16l-0.46,0.3l-0.34,1.34ZM739.05,293.5l-0.5,0.44l-1.34,-0.36l-0.17,-0.37l1.73,-0.08l0.27,0.36ZM721.45,284.51l-0.19,1.97l2.24,2.23l0.54,0.02l1.27,-1.07l2.75,-0.5l-0.9,1.21l-2.11,0.93l-0.16,0.6l2.22,3.01l-0.3,1.07l1.36,1.74l-2.26,0.85l-0.28,-0.31l0.12,-1.19l-1.64,-1.34l0.17,-2.23l-0.56,-0.39l-1.67,0.76l-0.23,0.39l0.3,6.17l-1.1,0.25l-0.69,-0.47l0.64,-2.21l-0.39,-2.42l-0.39,-0.34l-0.8,-0.01l-0.58,-1.29l0.98,-1.6l0.35,-1.96l1.32,-3.87ZM728.59,296.27l0.38,0.49l-0.02,1.28l-0.88,0.49l-0.53,-0.47l1.04,-1.79ZM729.04,286.98l0.27,-0.05l-0.02,0.13l-0.24,-0.08ZM721.68,284.05l0.16,-0.32l1.89,-1.65l1.83,0.68l3.16,0.35l2.94,-0.1l2.39,-1.66l-1.73,2.13l-1.66,0.43l-2.41,-0.48l-4.17,0.13l-2.39,0.51ZM730.55,310.47l1.11,-1.93l2.03,-0.82l0.08,0.62l-1.45,1.67l-1.77,0.46ZM728.12,305.88l-0.1,0.38l-3.46,0.66l-2.91,-0.27l-0.0,-0.25l1.54,-0.41l1.66,0.73l1.67,-0.19l1.61,-0.65ZM722.9,310.24l-0.64,0.03l-2.26,-1.2l1.11,-0.24l1.78,1.41ZM716.26,305.77l0.88,0.51l1.28,-0.17l0.2,0.35l-4.65,0.73l0.39,-0.67l1.15,-0.02l0.75,-0.73ZM711.66,293.84l-0.38,-0.16l-2.54,1.01l-1.12,-1.44l-1.69,-0.13l-1.16,-0.75l-3.04,0.77l-1.1,-1.15l-3.31,-0.11l-0.35,-3.05l-1.35,-0.95l-1.11,-1.98l-0.33,-2.06l0.27,-2.14l0.9,-1.01l0.37,1.15l2.09,1.49l1.53,-0.48l1.82,0.08l1.38,-1.19l1.0,-0.18l2.28,0.67l2.26,-0.53l1.52,-3.64l1.01,-0.99l0.78,-2.57l4.1,0.3l-1.11,1.77l0.02,0.46l1.7,2.2l-0.23,1.39l2.07,1.71l-2.33,0.42l-0.88,1.9l0.1,2.05l-2.4,1.9l-0.06,2.45l-0.7,2.79ZM692.58,302.03l0.35,0.26l4.8,0.25l0.78,-0.97l4.17,1.09l1.13,1.68l3.69,0.45l2.13,1.04l-1.8,0.6l-2.77,-0.99l-4.8,-0.12l-5.24,-1.41l-1.84,-0.25l-1.11,0.3l-4.26,-0.97l-0.7,-1.14l-1.59,-0.13l1.18,-1.65l2.74,0.13l2.87,1.13l0.26,0.68ZM685.53,299.17l-2.22,0.04l-2.06,-2.03l-3.15,-2.01l-2.93,-3.51l-3.11,-5.33l-2.2,-2.12l-1.64,-4.06l-2.32,-1.69l-1.27,-2.07l-1.96,-1.5l-2.51,-2.65l-0.11,-0.66l4.81,0.53l2.15,2.38l3.31,2.74l2.35,2.66l2.7,0.17l1.95,1.59l1.54,2.17l1.59,0.95l-0.84,1.71l0.15,0.52l1.44,0.87l0.79,0.1l0.4,1.58l0.87,1.4l1.96,0.39l1.0,1.31l-0.6,3.01l-0.09,3.5Z",name:"Indonesia"},UA:{path:"M492.5,162.44l1.28,-2.49l1.82,0.19l0.66,-0.23l0.09,-0.71l-0.25,-0.75l-0.79,-0.72l-0.33,-1.21l-0.86,-0.62l-0.02,-1.19l-1.13,-0.86l-1.15,-0.19l-2.04,-1.0l-1.66,0.32l-0.66,0.47l-0.92,-0.0l-0.84,0.78l-2.48,0.7l-1.18,-0.71l-3.07,-0.36l-0.89,0.43l-0.24,-0.55l-1.11,-0.7l0.35,-0.93l1.26,-1.02l-0.54,-1.23l2.04,-2.43l1.4,-0.62l0.25,-1.19l-1.04,-2.39l0.83,-0.13l1.28,-0.84l1.8,-0.07l2.47,0.26l2.86,0.81l1.88,0.06l0.86,0.44l1.04,-0.41l0.77,0.66l2.18,-0.15l0.92,0.3l0.52,-0.34l0.15,-1.53l0.56,-0.54l2.85,-0.05l0.84,-0.72l3.04,-0.18l1.23,1.46l-0.48,0.77l0.21,1.03l0.36,0.32l1.8,0.14l0.93,2.08l3.18,1.15l1.94,-0.45l1.67,1.49l1.4,-0.03l3.35,0.96l0.02,0.54l-0.96,1.59l0.47,1.97l-0.26,0.7l-2.36,0.28l-1.29,0.89l-0.23,1.38l-1.83,0.27l-1.58,0.97l-2.41,0.21l-2.16,1.17l-0.21,0.38l0.34,2.26l1.23,0.75l2.13,-0.08l-0.14,0.31l-2.65,0.53l-3.23,1.69l-0.87,-0.39l0.42,-1.1l-0.25,-0.52l-2.21,-0.73l2.35,-1.06l0.12,-0.65l-0.93,-0.82l-3.62,-0.74l-0.13,-0.89l-0.46,-0.34l-2.61,0.59l-0.91,1.69l-1.71,2.04l-0.86,-0.4l-1.62,0.27Z",name:"Ukraine"},QA:{path:"M549.33,221.64l-0.76,-0.23l-0.14,-1.64l0.84,-1.29l0.47,0.52l0.04,1.34l-0.45,1.3Z",name:"Qatar"},MZ:{path:"M508.58,318.75l-0.34,-2.57l0.51,-2.05l3.55,0.63l2.5,-0.38l1.02,-0.76l1.49,0.01l2.74,-0.98l1.66,-1.2l0.5,9.24l0.41,1.23l-0.68,1.67l-0.93,1.71l-1.5,1.5l-5.16,2.28l-2.78,2.73l-1.02,0.53l-1.71,1.8l-0.98,0.57l-0.35,2.41l1.16,1.94l0.49,2.17l0.43,0.31l-0.06,2.06l-0.39,1.17l0.5,0.72l-0.25,0.73l-0.92,0.83l-5.12,2.39l-1.22,1.36l0.21,1.13l0.58,0.39l-0.11,0.72l-1.22,-0.01l-0.73,-2.97l0.42,-3.09l-1.78,-5.37l2.49,-2.81l0.69,-1.89l0.44,-0.43l0.28,-1.53l-0.39,-0.93l0.59,-3.65l-0.01,-3.26l-1.49,-1.16l-1.2,-0.22l-1.74,-1.17l-1.92,0.01l-0.29,-2.08l7.06,-1.96l1.28,1.09l0.89,-0.1l0.67,0.44l0.1,0.73l-0.51,1.29l0.19,1.81l1.75,1.83l0.65,-0.13l0.71,-1.65l1.17,-0.86l-0.26,-3.47l-1.05,-1.85l-1.04,-0.94Z",name:"Mozambique"}},height:440.70631074413296,width:900,projection:{type:"mill",centralMeridian:11.5}}); - - -/***/ }, - -/***/ 95 -(module) { - -const API_URL = 'https://maps.googleapis.com/maps/api/js' -const CALLBACK_NAME = '__googleMapsApiOnLoadCallback' - -const optionsKeys = ['channel', 'client', 'key', 'language', 'region', 'v'] - -let promise = null - -module.exports = function (options = {}) { - promise = - promise || - new Promise(function (resolve, reject) { - // Reject the promise after a timeout - const timeoutId = setTimeout(function () { - window[CALLBACK_NAME] = function () {} // Set the on load callback to a no-op - reject(new Error('Could not load the Google Maps API')) - }, options.timeout || 10000) - - // Hook up the on load callback - window[CALLBACK_NAME] = function () { - if (timeoutId !== null) { - clearTimeout(timeoutId) - } - resolve(window.google.maps) - delete window[CALLBACK_NAME] - } - - // Prepare the `script` tag to be inserted into the page - const scriptElement = document.createElement('script') - const params = [`callback=${CALLBACK_NAME}`] - optionsKeys.forEach(function (key) { - if (options[key]) { - params.push(`${key}=${options[key]}`) - } - }) - if (options.libraries && options.libraries.length) { - params.push(`libraries=${options.libraries.join(',')}`) - } - scriptElement.src = `${options.apiUrl || API_URL}?${params.join('&')}` - - // Insert the `script` tag - document.body.appendChild(scriptElement) - }) - return promise -} - - -/***/ }, - -/***/ 201 -(module, exports, __webpack_require__) { - -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! - * Masonry v4.2.2 - * Cascading grid layout library - * https://masonry.desandro.com - * MIT License - * by David DeSandro - */ - -( function( window, factory ) { - // universal module definition - /* jshint strict: false */ /*globals define, module, require */ - if ( true ) { - // AMD - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ - __webpack_require__(442), - __webpack_require__(928) - ], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else // removed by dead control flow -{} - -}( window, function factory( Outlayer, getSize ) { - -'use strict'; - -// -------------------------- masonryDefinition -------------------------- // - - // create an Outlayer layout class - var Masonry = Outlayer.create('masonry'); - // isFitWidth -> fitWidth - Masonry.compatOptions.fitWidth = 'isFitWidth'; - - var proto = Masonry.prototype; - - proto._resetLayout = function() { - this.getSize(); - this._getMeasurement( 'columnWidth', 'outerWidth' ); - this._getMeasurement( 'gutter', 'outerWidth' ); - this.measureColumns(); - - // reset column Y - this.colYs = []; - for ( var i=0; i < this.cols; i++ ) { - this.colYs.push( 0 ); - } - - this.maxY = 0; - this.horizontalColIndex = 0; - }; - - proto.measureColumns = function() { - this.getContainerWidth(); - // if columnWidth is 0, default to outerWidth of first item - if ( !this.columnWidth ) { - var firstItem = this.items[0]; - var firstItemElem = firstItem && firstItem.element; - // columnWidth fall back to item of first element - this.columnWidth = firstItemElem && getSize( firstItemElem ).outerWidth || - // if first elem has no width, default to size of container - this.containerWidth; - } - - var columnWidth = this.columnWidth += this.gutter; - - // calculate columns - var containerWidth = this.containerWidth + this.gutter; - var cols = containerWidth / columnWidth; - // fix rounding errors, typically with gutters - var excess = columnWidth - containerWidth % columnWidth; - // if overshoot is less than a pixel, round up, otherwise floor it - var mathMethod = excess && excess < 1 ? 'round' : 'floor'; - cols = Math[ mathMethod ]( cols ); - this.cols = Math.max( cols, 1 ); - }; - - proto.getContainerWidth = function() { - // container is parent if fit width - var isFitWidth = this._getOption('fitWidth'); - var container = isFitWidth ? this.element.parentNode : this.element; - // check that this.size and size are there - // IE8 triggers resize on body size change, so they might not be - var size = getSize( container ); - this.containerWidth = size && size.innerWidth; - }; - - proto._getItemLayoutPosition = function( item ) { - item.getSize(); - // how many columns does this brick span - var remainder = item.size.outerWidth % this.columnWidth; - var mathMethod = remainder && remainder < 1 ? 'round' : 'ceil'; - // round if off by 1 pixel, otherwise use ceil - var colSpan = Math[ mathMethod ]( item.size.outerWidth / this.columnWidth ); - colSpan = Math.min( colSpan, this.cols ); - // use horizontal or top column position - var colPosMethod = this.options.horizontalOrder ? - '_getHorizontalColPosition' : '_getTopColPosition'; - var colPosition = this[ colPosMethod ]( colSpan, item ); - // position the brick - var position = { - x: this.columnWidth * colPosition.col, - y: colPosition.y - }; - // apply setHeight to necessary columns - var setHeight = colPosition.y + item.size.outerHeight; - var setMax = colSpan + colPosition.col; - for ( var i = colPosition.col; i < setMax; i++ ) { - this.colYs[i] = setHeight; - } - - return position; - }; - - proto._getTopColPosition = function( colSpan ) { - var colGroup = this._getTopColGroup( colSpan ); - // get the minimum Y value from the columns - var minimumY = Math.min.apply( Math, colGroup ); - - return { - col: colGroup.indexOf( minimumY ), - y: minimumY, - }; - }; - - /** - * @param {Number} colSpan - number of columns the element spans - * @returns {Array} colGroup - */ - proto._getTopColGroup = function( colSpan ) { - if ( colSpan < 2 ) { - // if brick spans only one column, use all the column Ys - return this.colYs; - } - - var colGroup = []; - // how many different places could this brick fit horizontally - var groupCount = this.cols + 1 - colSpan; - // for each group potential horizontal position - for ( var i = 0; i < groupCount; i++ ) { - colGroup[i] = this._getColGroupY( i, colSpan ); - } - return colGroup; - }; - - proto._getColGroupY = function( col, colSpan ) { - if ( colSpan < 2 ) { - return this.colYs[ col ]; - } - // make an array of colY values for that one group - var groupColYs = this.colYs.slice( col, col + colSpan ); - // and get the max value of the array - return Math.max.apply( Math, groupColYs ); - }; - - // get column position based on horizontal index. #873 - proto._getHorizontalColPosition = function( colSpan, item ) { - var col = this.horizontalColIndex % this.cols; - var isOver = colSpan > 1 && col + colSpan > this.cols; - // shift to next row if item can't fit on current row - col = isOver ? 0 : col; - // don't let zero-size items take up space - var hasSize = item.size.outerWidth && item.size.outerHeight; - this.horizontalColIndex = hasSize ? col + colSpan : this.horizontalColIndex; - - return { - col: col, - y: this._getColGroupY( col, colSpan ), - }; - }; - - proto._manageStamp = function( stamp ) { - var stampSize = getSize( stamp ); - var offset = this._getElementOffset( stamp ); - // get the columns that this stamp affects - var isOriginLeft = this._getOption('originLeft'); - var firstX = isOriginLeft ? offset.left : offset.right; - var lastX = firstX + stampSize.outerWidth; - var firstCol = Math.floor( firstX / this.columnWidth ); - firstCol = Math.max( 0, firstCol ); - var lastCol = Math.floor( lastX / this.columnWidth ); - // lastCol should not go over if multiple of columnWidth #425 - lastCol -= lastX % this.columnWidth ? 0 : 1; - lastCol = Math.min( this.cols - 1, lastCol ); - // set colYs to bottom of the stamp - - var isOriginTop = this._getOption('originTop'); - var stampMaxY = ( isOriginTop ? offset.top : offset.bottom ) + - stampSize.outerHeight; - for ( var i = firstCol; i <= lastCol; i++ ) { - this.colYs[i] = Math.max( stampMaxY, this.colYs[i] ); - } - }; - - proto._getContainerSize = function() { - this.maxY = Math.max.apply( Math, this.colYs ); - var size = { - height: this.maxY - }; - - if ( this._getOption('fitWidth') ) { - size.width = this._getContainerFitWidth(); - } - - return size; - }; - - proto._getContainerFitWidth = function() { - var unusedCols = 0; - // count unused columns - var i = this.cols; - while ( --i ) { - if ( this.colYs[i] !== 0 ) { - break; - } - unusedCols++; - } - // fit container to columns that have been used - return ( this.cols - unusedCols ) * this.columnWidth - this.gutter; - }; - - proto.needsResizeLayout = function() { - var previousWidth = this.containerWidth; - this.getContainerWidth(); - return previousWidth != this.containerWidth; - }; - - return Masonry; - -})); - - -/***/ }, - -/***/ 396 -(module, exports, __webpack_require__) { - -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/** - * Outlayer Item - */ - -( function( window, factory ) { - // universal module definition - /* jshint strict: false */ /* globals define, module, require */ - if ( true ) { - // AMD - RequireJS - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ - __webpack_require__(240), - __webpack_require__(928) - ], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else // removed by dead control flow -{} - -}( window, function factory( EvEmitter, getSize ) { -'use strict'; - -// ----- helpers ----- // - -function isEmptyObj( obj ) { - for ( var prop in obj ) { - return false; - } - prop = null; - return true; -} - -// -------------------------- CSS3 support -------------------------- // - - -var docElemStyle = document.documentElement.style; - -var transitionProperty = typeof docElemStyle.transition == 'string' ? - 'transition' : 'WebkitTransition'; -var transformProperty = typeof docElemStyle.transform == 'string' ? - 'transform' : 'WebkitTransform'; - -var transitionEndEvent = { - WebkitTransition: 'webkitTransitionEnd', - transition: 'transitionend' -}[ transitionProperty ]; - -// cache all vendor properties that could have vendor prefix -var vendorProperties = { - transform: transformProperty, - transition: transitionProperty, - transitionDuration: transitionProperty + 'Duration', - transitionProperty: transitionProperty + 'Property', - transitionDelay: transitionProperty + 'Delay' -}; - -// -------------------------- Item -------------------------- // - -function Item( element, layout ) { - if ( !element ) { - return; - } - - this.element = element; - // parent layout class, i.e. Masonry, Isotope, or Packery - this.layout = layout; - this.position = { - x: 0, - y: 0 - }; - - this._create(); -} - -// inherit EvEmitter -var proto = Item.prototype = Object.create( EvEmitter.prototype ); -proto.constructor = Item; - -proto._create = function() { - // transition objects - this._transn = { - ingProperties: {}, - clean: {}, - onEnd: {} - }; - - this.css({ - position: 'absolute' - }); -}; - -// trigger specified handler for event type -proto.handleEvent = function( event ) { - var method = 'on' + event.type; - if ( this[ method ] ) { - this[ method ]( event ); - } -}; - -proto.getSize = function() { - this.size = getSize( this.element ); -}; - -/** - * apply CSS styles to element - * @param {Object} style - */ -proto.css = function( style ) { - var elemStyle = this.element.style; - - for ( var prop in style ) { - // use vendor property if available - var supportedProp = vendorProperties[ prop ] || prop; - elemStyle[ supportedProp ] = style[ prop ]; - } -}; - - // measure position, and sets it -proto.getPosition = function() { - var style = getComputedStyle( this.element ); - var isOriginLeft = this.layout._getOption('originLeft'); - var isOriginTop = this.layout._getOption('originTop'); - var xValue = style[ isOriginLeft ? 'left' : 'right' ]; - var yValue = style[ isOriginTop ? 'top' : 'bottom' ]; - var x = parseFloat( xValue ); - var y = parseFloat( yValue ); - // convert percent to pixels - var layoutSize = this.layout.size; - if ( xValue.indexOf('%') != -1 ) { - x = ( x / 100 ) * layoutSize.width; - } - if ( yValue.indexOf('%') != -1 ) { - y = ( y / 100 ) * layoutSize.height; - } - // clean up 'auto' or other non-integer values - x = isNaN( x ) ? 0 : x; - y = isNaN( y ) ? 0 : y; - // remove padding from measurement - x -= isOriginLeft ? layoutSize.paddingLeft : layoutSize.paddingRight; - y -= isOriginTop ? layoutSize.paddingTop : layoutSize.paddingBottom; - - this.position.x = x; - this.position.y = y; -}; - -// set settled position, apply padding -proto.layoutPosition = function() { - var layoutSize = this.layout.size; - var style = {}; - var isOriginLeft = this.layout._getOption('originLeft'); - var isOriginTop = this.layout._getOption('originTop'); - - // x - var xPadding = isOriginLeft ? 'paddingLeft' : 'paddingRight'; - var xProperty = isOriginLeft ? 'left' : 'right'; - var xResetProperty = isOriginLeft ? 'right' : 'left'; - - var x = this.position.x + layoutSize[ xPadding ]; - // set in percentage or pixels - style[ xProperty ] = this.getXValue( x ); - // reset other property - style[ xResetProperty ] = ''; - - // y - var yPadding = isOriginTop ? 'paddingTop' : 'paddingBottom'; - var yProperty = isOriginTop ? 'top' : 'bottom'; - var yResetProperty = isOriginTop ? 'bottom' : 'top'; - - var y = this.position.y + layoutSize[ yPadding ]; - // set in percentage or pixels - style[ yProperty ] = this.getYValue( y ); - // reset other property - style[ yResetProperty ] = ''; - - this.css( style ); - this.emitEvent( 'layout', [ this ] ); -}; - -proto.getXValue = function( x ) { - var isHorizontal = this.layout._getOption('horizontal'); - return this.layout.options.percentPosition && !isHorizontal ? - ( ( x / this.layout.size.width ) * 100 ) + '%' : x + 'px'; -}; - -proto.getYValue = function( y ) { - var isHorizontal = this.layout._getOption('horizontal'); - return this.layout.options.percentPosition && isHorizontal ? - ( ( y / this.layout.size.height ) * 100 ) + '%' : y + 'px'; -}; - -proto._transitionTo = function( x, y ) { - this.getPosition(); - // get current x & y from top/left - var curX = this.position.x; - var curY = this.position.y; - - var didNotMove = x == this.position.x && y == this.position.y; - - // save end position - this.setPosition( x, y ); - - // if did not move and not transitioning, just go to layout - if ( didNotMove && !this.isTransitioning ) { - this.layoutPosition(); - return; - } - - var transX = x - curX; - var transY = y - curY; - var transitionStyle = {}; - transitionStyle.transform = this.getTranslate( transX, transY ); - - this.transition({ - to: transitionStyle, - onTransitionEnd: { - transform: this.layoutPosition - }, - isCleaning: true - }); -}; - -proto.getTranslate = function( x, y ) { - // flip cooridinates if origin on right or bottom - var isOriginLeft = this.layout._getOption('originLeft'); - var isOriginTop = this.layout._getOption('originTop'); - x = isOriginLeft ? x : -x; - y = isOriginTop ? y : -y; - return 'translate3d(' + x + 'px, ' + y + 'px, 0)'; -}; - -// non transition + transform support -proto.goTo = function( x, y ) { - this.setPosition( x, y ); - this.layoutPosition(); -}; - -proto.moveTo = proto._transitionTo; - -proto.setPosition = function( x, y ) { - this.position.x = parseFloat( x ); - this.position.y = parseFloat( y ); -}; - -// ----- transition ----- // - -/** - * @param {Object} style - CSS - * @param {Function} onTransitionEnd - */ - -// non transition, just trigger callback -proto._nonTransition = function( args ) { - this.css( args.to ); - if ( args.isCleaning ) { - this._removeStyles( args.to ); - } - for ( var prop in args.onTransitionEnd ) { - args.onTransitionEnd[ prop ].call( this ); - } -}; - -/** - * proper transition - * @param {Object} args - arguments - * @param {Object} to - style to transition to - * @param {Object} from - style to start transition from - * @param {Boolean} isCleaning - removes transition styles after transition - * @param {Function} onTransitionEnd - callback - */ -proto.transition = function( args ) { - // redirect to nonTransition if no transition duration - if ( !parseFloat( this.layout.options.transitionDuration ) ) { - this._nonTransition( args ); - return; - } - - var _transition = this._transn; - // keep track of onTransitionEnd callback by css property - for ( var prop in args.onTransitionEnd ) { - _transition.onEnd[ prop ] = args.onTransitionEnd[ prop ]; - } - // keep track of properties that are transitioning - for ( prop in args.to ) { - _transition.ingProperties[ prop ] = true; - // keep track of properties to clean up when transition is done - if ( args.isCleaning ) { - _transition.clean[ prop ] = true; - } - } - - // set from styles - if ( args.from ) { - this.css( args.from ); - // force redraw. http://blog.alexmaccaw.com/css-transitions - var h = this.element.offsetHeight; - // hack for JSHint to hush about unused var - h = null; - } - // enable transition - this.enableTransition( args.to ); - // set styles that are transitioning - this.css( args.to ); - - this.isTransitioning = true; - -}; - -// dash before all cap letters, including first for -// WebkitTransform => -webkit-transform -function toDashedAll( str ) { - return str.replace( /([A-Z])/g, function( $1 ) { - return '-' + $1.toLowerCase(); - }); -} - -var transitionProps = 'opacity,' + toDashedAll( transformProperty ); - -proto.enableTransition = function(/* style */) { - // HACK changing transitionProperty during a transition - // will cause transition to jump - if ( this.isTransitioning ) { - return; - } - - // make `transition: foo, bar, baz` from style object - // HACK un-comment this when enableTransition can work - // while a transition is happening - // var transitionValues = []; - // for ( var prop in style ) { - // // dash-ify camelCased properties like WebkitTransition - // prop = vendorProperties[ prop ] || prop; - // transitionValues.push( toDashedAll( prop ) ); - // } - // munge number to millisecond, to match stagger - var duration = this.layout.options.transitionDuration; - duration = typeof duration == 'number' ? duration + 'ms' : duration; - // enable transition styles - this.css({ - transitionProperty: transitionProps, - transitionDuration: duration, - transitionDelay: this.staggerDelay || 0 - }); - // listen for transition end event - this.element.addEventListener( transitionEndEvent, this, false ); -}; - -// ----- events ----- // - -proto.onwebkitTransitionEnd = function( event ) { - this.ontransitionend( event ); -}; - -proto.onotransitionend = function( event ) { - this.ontransitionend( event ); -}; - -// properties that I munge to make my life easier -var dashedVendorProperties = { - '-webkit-transform': 'transform' -}; - -proto.ontransitionend = function( event ) { - // disregard bubbled events from children - if ( event.target !== this.element ) { - return; - } - var _transition = this._transn; - // get property name of transitioned property, convert to prefix-free - var propertyName = dashedVendorProperties[ event.propertyName ] || event.propertyName; - - // remove property that has completed transitioning - delete _transition.ingProperties[ propertyName ]; - // check if any properties are still transitioning - if ( isEmptyObj( _transition.ingProperties ) ) { - // all properties have completed transitioning - this.disableTransition(); - } - // clean style - if ( propertyName in _transition.clean ) { - // clean up style - this.element.style[ event.propertyName ] = ''; - delete _transition.clean[ propertyName ]; - } - // trigger onTransitionEnd callback - if ( propertyName in _transition.onEnd ) { - var onTransitionEnd = _transition.onEnd[ propertyName ]; - onTransitionEnd.call( this ); - delete _transition.onEnd[ propertyName ]; - } - - this.emitEvent( 'transitionEnd', [ this ] ); -}; - -proto.disableTransition = function() { - this.removeTransitionStyles(); - this.element.removeEventListener( transitionEndEvent, this, false ); - this.isTransitioning = false; -}; - -/** - * removes style property from element - * @param {Object} style -**/ -proto._removeStyles = function( style ) { - // clean up transition styles - var cleanStyle = {}; - for ( var prop in style ) { - cleanStyle[ prop ] = ''; - } - this.css( cleanStyle ); -}; - -var cleanTransitionStyle = { - transitionProperty: '', - transitionDuration: '', - transitionDelay: '' -}; - -proto.removeTransitionStyles = function() { - // remove transition - this.css( cleanTransitionStyle ); -}; - -// ----- stagger ----- // - -proto.stagger = function( delay ) { - delay = isNaN( delay ) ? 0 : delay; - this.staggerDelay = delay + 'ms'; -}; - -// ----- show/hide/remove ----- // - -// remove element from DOM -proto.removeElem = function() { - this.element.parentNode.removeChild( this.element ); - // remove display: none - this.css({ display: '' }); - this.emitEvent( 'remove', [ this ] ); -}; - -proto.remove = function() { - // just remove element if no transition support or no transition - if ( !transitionProperty || !parseFloat( this.layout.options.transitionDuration ) ) { - this.removeElem(); - return; - } - - // start transition - this.once( 'transitionEnd', function() { - this.removeElem(); - }); - this.hide(); -}; - -proto.reveal = function() { - delete this.isHidden; - // remove display: none - this.css({ display: '' }); - - var options = this.layout.options; - - var onTransitionEnd = {}; - var transitionEndProperty = this.getHideRevealTransitionEndProperty('visibleStyle'); - onTransitionEnd[ transitionEndProperty ] = this.onRevealTransitionEnd; - - this.transition({ - from: options.hiddenStyle, - to: options.visibleStyle, - isCleaning: true, - onTransitionEnd: onTransitionEnd - }); -}; - -proto.onRevealTransitionEnd = function() { - // check if still visible - // during transition, item may have been hidden - if ( !this.isHidden ) { - this.emitEvent('reveal'); - } -}; - -/** - * get style property use for hide/reveal transition end - * @param {String} styleProperty - hiddenStyle/visibleStyle - * @returns {String} - */ -proto.getHideRevealTransitionEndProperty = function( styleProperty ) { - var optionStyle = this.layout.options[ styleProperty ]; - // use opacity - if ( optionStyle.opacity ) { - return 'opacity'; - } - // get first property - for ( var prop in optionStyle ) { - return prop; - } -}; - -proto.hide = function() { - // set flag - this.isHidden = true; - // remove display: none - this.css({ display: '' }); - - var options = this.layout.options; - - var onTransitionEnd = {}; - var transitionEndProperty = this.getHideRevealTransitionEndProperty('hiddenStyle'); - onTransitionEnd[ transitionEndProperty ] = this.onHideTransitionEnd; - - this.transition({ - from: options.visibleStyle, - to: options.hiddenStyle, - // keep hidden stuff hidden - isCleaning: true, - onTransitionEnd: onTransitionEnd - }); -}; - -proto.onHideTransitionEnd = function() { - // check if still hidden - // during transition, item may have been un-hidden - if ( this.isHidden ) { - this.css({ display: 'none' }); - this.emitEvent('hide'); - } -}; - -proto.destroy = function() { - this.css({ - position: '', - left: '', - right: '', - top: '', - bottom: '', - transition: '', - transform: '' - }); -}; - -return Item; - -})); - - -/***/ }, - -/***/ 442 -(module, exports, __webpack_require__) { - -var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! - * Outlayer v2.1.1 - * the brains and guts of a layout library - * MIT license - */ - -( function( window, factory ) { - 'use strict'; - // universal module definition - /* jshint strict: false */ /* globals define, module, require */ - if ( true ) { - // AMD - RequireJS - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ - __webpack_require__(240), - __webpack_require__(928), - __webpack_require__(346), - __webpack_require__(396) - ], __WEBPACK_AMD_DEFINE_RESULT__ = (function( EvEmitter, getSize, utils, Item ) { - return factory( window, EvEmitter, getSize, utils, Item); - }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else // removed by dead control flow -{} - -}( window, function factory( window, EvEmitter, getSize, utils, Item ) { -'use strict'; - -// ----- vars ----- // - -var console = window.console; -var jQuery = window.jQuery; -var noop = function() {}; - -// -------------------------- Outlayer -------------------------- // - -// globally unique identifiers -var GUID = 0; -// internal store of all Outlayer intances -var instances = {}; - - -/** - * @param {Element, String} element - * @param {Object} options - * @constructor - */ -function Outlayer( element, options ) { - var queryElement = utils.getQueryElement( element ); - if ( !queryElement ) { - if ( console ) { - console.error( 'Bad element for ' + this.constructor.namespace + - ': ' + ( queryElement || element ) ); - } - return; - } - this.element = queryElement; - // add jQuery - if ( jQuery ) { - this.$element = jQuery( this.element ); - } - - // options - this.options = utils.extend( {}, this.constructor.defaults ); - this.option( options ); - - // add id for Outlayer.getFromElement - var id = ++GUID; - this.element.outlayerGUID = id; // expando - instances[ id ] = this; // associate via id - - // kick it off - this._create(); - - var isInitLayout = this._getOption('initLayout'); - if ( isInitLayout ) { - this.layout(); - } -} - -// settings are for internal use only -Outlayer.namespace = 'outlayer'; -Outlayer.Item = Item; - -// default options -Outlayer.defaults = { - containerStyle: { - position: 'relative' - }, - initLayout: true, - originLeft: true, - originTop: true, - resize: true, - resizeContainer: true, - // item options - transitionDuration: '0.4s', - hiddenStyle: { - opacity: 0, - transform: 'scale(0.001)' - }, - visibleStyle: { - opacity: 1, - transform: 'scale(1)' - } -}; - -var proto = Outlayer.prototype; -// inherit EvEmitter -utils.extend( proto, EvEmitter.prototype ); - -/** - * set options - * @param {Object} opts - */ -proto.option = function( opts ) { - utils.extend( this.options, opts ); -}; - -/** - * get backwards compatible option value, check old name - */ -proto._getOption = function( option ) { - var oldOption = this.constructor.compatOptions[ option ]; - return oldOption && this.options[ oldOption ] !== undefined ? - this.options[ oldOption ] : this.options[ option ]; -}; - -Outlayer.compatOptions = { - // currentName: oldName - initLayout: 'isInitLayout', - horizontal: 'isHorizontal', - layoutInstant: 'isLayoutInstant', - originLeft: 'isOriginLeft', - originTop: 'isOriginTop', - resize: 'isResizeBound', - resizeContainer: 'isResizingContainer' -}; - -proto._create = function() { - // get items from children - this.reloadItems(); - // elements that affect layout, but are not laid out - this.stamps = []; - this.stamp( this.options.stamp ); - // set container style - utils.extend( this.element.style, this.options.containerStyle ); - - // bind resize method - var canBindResize = this._getOption('resize'); - if ( canBindResize ) { - this.bindResize(); - } -}; - -// goes through all children again and gets bricks in proper order -proto.reloadItems = function() { - // collection of item elements - this.items = this._itemize( this.element.children ); -}; - - -/** - * turn elements into Outlayer.Items to be used in layout - * @param {Array or NodeList or HTMLElement} elems - * @returns {Array} items - collection of new Outlayer Items - */ -proto._itemize = function( elems ) { - - var itemElems = this._filterFindItemElements( elems ); - var Item = this.constructor.Item; - - // create new Outlayer Items for collection - var items = []; - for ( var i=0; i < itemElems.length; i++ ) { - var elem = itemElems[i]; - var item = new Item( elem, this ); - items.push( item ); - } - - return items; -}; - -/** - * get item elements to be used in layout - * @param {Array or NodeList or HTMLElement} elems - * @returns {Array} items - item elements - */ -proto._filterFindItemElements = function( elems ) { - return utils.filterFindElements( elems, this.options.itemSelector ); -}; - -/** - * getter method for getting item elements - * @returns {Array} elems - collection of item elements - */ -proto.getItemElements = function() { - return this.items.map( function( item ) { - return item.element; - }); -}; - -// ----- init & layout ----- // - -/** - * lays out all items - */ -proto.layout = function() { - this._resetLayout(); - this._manageStamps(); - - // don't animate first layout - var layoutInstant = this._getOption('layoutInstant'); - var isInstant = layoutInstant !== undefined ? - layoutInstant : !this._isLayoutInited; - this.layoutItems( this.items, isInstant ); - - // flag for initalized - this._isLayoutInited = true; -}; - -// _init is alias for layout -proto._init = proto.layout; - -/** - * logic before any new layout - */ -proto._resetLayout = function() { - this.getSize(); -}; - - -proto.getSize = function() { - this.size = getSize( this.element ); -}; - -/** - * get measurement from option, for columnWidth, rowHeight, gutter - * if option is String -> get element from selector string, & get size of element - * if option is Element -> get size of element - * else use option as a number - * - * @param {String} measurement - * @param {String} size - width or height - * @private - */ -proto._getMeasurement = function( measurement, size ) { - var option = this.options[ measurement ]; - var elem; - if ( !option ) { - // default to 0 - this[ measurement ] = 0; - } else { - // use option as an element - if ( typeof option == 'string' ) { - elem = this.element.querySelector( option ); - } else if ( option instanceof HTMLElement ) { - elem = option; - } - // use size of element, if element - this[ measurement ] = elem ? getSize( elem )[ size ] : option; - } -}; - -/** - * layout a collection of item elements - * @api public - */ -proto.layoutItems = function( items, isInstant ) { - items = this._getItemsForLayout( items ); - - this._layoutItems( items, isInstant ); - - this._postLayout(); -}; - -/** - * get the items to be laid out - * you may want to skip over some items - * @param {Array} items - * @returns {Array} items - */ -proto._getItemsForLayout = function( items ) { - return items.filter( function( item ) { - return !item.isIgnored; - }); -}; - -/** - * layout items - * @param {Array} items - * @param {Boolean} isInstant - */ -proto._layoutItems = function( items, isInstant ) { - this._emitCompleteOnItems( 'layout', items ); - - if ( !items || !items.length ) { - // no items, emit event with empty array - return; - } - - var queue = []; - - items.forEach( function( item ) { - // get x/y object from method - var position = this._getItemLayoutPosition( item ); - // enqueue - position.item = item; - position.isInstant = isInstant || item.isLayoutInstant; - queue.push( position ); - }, this ); - - this._processLayoutQueue( queue ); -}; - -/** - * get item layout position - * @param {Outlayer.Item} item - * @returns {Object} x and y position - */ -proto._getItemLayoutPosition = function( /* item */ ) { - return { - x: 0, - y: 0 - }; -}; - -/** - * iterate over array and position each item - * Reason being - separating this logic prevents 'layout invalidation' - * thx @paul_irish - * @param {Array} queue - */ -proto._processLayoutQueue = function( queue ) { - this.updateStagger(); - queue.forEach( function( obj, i ) { - this._positionItem( obj.item, obj.x, obj.y, obj.isInstant, i ); - }, this ); -}; - -// set stagger from option in milliseconds number -proto.updateStagger = function() { - var stagger = this.options.stagger; - if ( stagger === null || stagger === undefined ) { - this.stagger = 0; - return; - } - this.stagger = getMilliseconds( stagger ); - return this.stagger; -}; - -/** - * Sets position of item in DOM - * @param {Outlayer.Item} item - * @param {Number} x - horizontal position - * @param {Number} y - vertical position - * @param {Boolean} isInstant - disables transitions - */ -proto._positionItem = function( item, x, y, isInstant, i ) { - if ( isInstant ) { - // if not transition, just set CSS - item.goTo( x, y ); - } else { - item.stagger( i * this.stagger ); - item.moveTo( x, y ); - } -}; - -/** - * Any logic you want to do after each layout, - * i.e. size the container - */ -proto._postLayout = function() { - this.resizeContainer(); -}; - -proto.resizeContainer = function() { - var isResizingContainer = this._getOption('resizeContainer'); - if ( !isResizingContainer ) { - return; - } - var size = this._getContainerSize(); - if ( size ) { - this._setContainerMeasure( size.width, true ); - this._setContainerMeasure( size.height, false ); - } -}; - -/** - * Sets width or height of container if returned - * @returns {Object} size - * @param {Number} width - * @param {Number} height - */ -proto._getContainerSize = noop; - -/** - * @param {Number} measure - size of width or height - * @param {Boolean} isWidth - */ -proto._setContainerMeasure = function( measure, isWidth ) { - if ( measure === undefined ) { - return; - } - - var elemSize = this.size; - // add padding and border width if border box - if ( elemSize.isBorderBox ) { - measure += isWidth ? elemSize.paddingLeft + elemSize.paddingRight + - elemSize.borderLeftWidth + elemSize.borderRightWidth : - elemSize.paddingBottom + elemSize.paddingTop + - elemSize.borderTopWidth + elemSize.borderBottomWidth; - } - - measure = Math.max( measure, 0 ); - this.element.style[ isWidth ? 'width' : 'height' ] = measure + 'px'; -}; - -/** - * emit eventComplete on a collection of items events - * @param {String} eventName - * @param {Array} items - Outlayer.Items - */ -proto._emitCompleteOnItems = function( eventName, items ) { - var _this = this; - function onComplete() { - _this.dispatchEvent( eventName + 'Complete', null, [ items ] ); - } - - var count = items.length; - if ( !items || !count ) { - onComplete(); - return; - } - - var doneCount = 0; - function tick() { - doneCount++; - if ( doneCount == count ) { - onComplete(); - } - } - - // bind callback - items.forEach( function( item ) { - item.once( eventName, tick ); - }); -}; - -/** - * emits events via EvEmitter and jQuery events - * @param {String} type - name of event - * @param {Event} event - original event - * @param {Array} args - extra arguments - */ -proto.dispatchEvent = function( type, event, args ) { - // add original event to arguments - var emitArgs = event ? [ event ].concat( args ) : args; - this.emitEvent( type, emitArgs ); - - if ( jQuery ) { - // set this.$element - this.$element = this.$element || jQuery( this.element ); - if ( event ) { - // create jQuery event - var $event = jQuery.Event( event ); - $event.type = type; - this.$element.trigger( $event, args ); - } else { - // just trigger with type if no event available - this.$element.trigger( type, args ); - } - } -}; - -// -------------------------- ignore & stamps -------------------------- // - - -/** - * keep item in collection, but do not lay it out - * ignored items do not get skipped in layout - * @param {Element} elem - */ -proto.ignore = function( elem ) { - var item = this.getItem( elem ); - if ( item ) { - item.isIgnored = true; - } -}; - -/** - * return item to layout collection - * @param {Element} elem - */ -proto.unignore = function( elem ) { - var item = this.getItem( elem ); - if ( item ) { - delete item.isIgnored; - } -}; - -/** - * adds elements to stamps - * @param {NodeList, Array, Element, or String} elems - */ -proto.stamp = function( elems ) { - elems = this._find( elems ); - if ( !elems ) { - return; - } - - this.stamps = this.stamps.concat( elems ); - // ignore - elems.forEach( this.ignore, this ); -}; - -/** - * removes elements to stamps - * @param {NodeList, Array, or Element} elems - */ -proto.unstamp = function( elems ) { - elems = this._find( elems ); - if ( !elems ){ - return; - } - - elems.forEach( function( elem ) { - // filter out removed stamp elements - utils.removeFrom( this.stamps, elem ); - this.unignore( elem ); - }, this ); -}; - -/** - * finds child elements - * @param {NodeList, Array, Element, or String} elems - * @returns {Array} elems - */ -proto._find = function( elems ) { - if ( !elems ) { - return; - } - // if string, use argument as selector string - if ( typeof elems == 'string' ) { - elems = this.element.querySelectorAll( elems ); - } - elems = utils.makeArray( elems ); - return elems; -}; - -proto._manageStamps = function() { - if ( !this.stamps || !this.stamps.length ) { - return; - } - - this._getBoundingRect(); - - this.stamps.forEach( this._manageStamp, this ); -}; - -// update boundingLeft / Top -proto._getBoundingRect = function() { - // get bounding rect for container element - var boundingRect = this.element.getBoundingClientRect(); - var size = this.size; - this._boundingRect = { - left: boundingRect.left + size.paddingLeft + size.borderLeftWidth, - top: boundingRect.top + size.paddingTop + size.borderTopWidth, - right: boundingRect.right - ( size.paddingRight + size.borderRightWidth ), - bottom: boundingRect.bottom - ( size.paddingBottom + size.borderBottomWidth ) - }; -}; - -/** - * @param {Element} stamp -**/ -proto._manageStamp = noop; - -/** - * get x/y position of element relative to container element - * @param {Element} elem - * @returns {Object} offset - has left, top, right, bottom - */ -proto._getElementOffset = function( elem ) { - var boundingRect = elem.getBoundingClientRect(); - var thisRect = this._boundingRect; - var size = getSize( elem ); - var offset = { - left: boundingRect.left - thisRect.left - size.marginLeft, - top: boundingRect.top - thisRect.top - size.marginTop, - right: thisRect.right - boundingRect.right - size.marginRight, - bottom: thisRect.bottom - boundingRect.bottom - size.marginBottom - }; - return offset; -}; - -// -------------------------- resize -------------------------- // - -// enable event handlers for listeners -// i.e. resize -> onresize -proto.handleEvent = utils.handleEvent; - -/** - * Bind layout to window resizing - */ -proto.bindResize = function() { - window.addEventListener( 'resize', this ); - this.isResizeBound = true; -}; - -/** - * Unbind layout to window resizing - */ -proto.unbindResize = function() { - window.removeEventListener( 'resize', this ); - this.isResizeBound = false; -}; - -proto.onresize = function() { - this.resize(); -}; - -utils.debounceMethod( Outlayer, 'onresize', 100 ); - -proto.resize = function() { - // don't trigger if size did not change - // or if resize was unbound. See #9 - if ( !this.isResizeBound || !this.needsResizeLayout() ) { - return; - } - - this.layout(); -}; - -/** - * check if layout is needed post layout - * @returns Boolean - */ -proto.needsResizeLayout = function() { - var size = getSize( this.element ); - // check that this.size and size are there - // IE8 triggers resize on body size change, so they might not be - var hasSizes = this.size && size; - return hasSizes && size.innerWidth !== this.size.innerWidth; -}; - -// -------------------------- methods -------------------------- // - -/** - * add items to Outlayer instance - * @param {Array or NodeList or Element} elems - * @returns {Array} items - Outlayer.Items -**/ -proto.addItems = function( elems ) { - var items = this._itemize( elems ); - // add items to collection - if ( items.length ) { - this.items = this.items.concat( items ); - } - return items; -}; - -/** - * Layout newly-appended item elements - * @param {Array or NodeList or Element} elems - */ -proto.appended = function( elems ) { - var items = this.addItems( elems ); - if ( !items.length ) { - return; - } - // layout and reveal just the new items - this.layoutItems( items, true ); - this.reveal( items ); -}; - -/** - * Layout prepended elements - * @param {Array or NodeList or Element} elems - */ -proto.prepended = function( elems ) { - var items = this._itemize( elems ); - if ( !items.length ) { - return; - } - // add items to beginning of collection - var previousItems = this.items.slice(0); - this.items = items.concat( previousItems ); - // start new layout - this._resetLayout(); - this._manageStamps(); - // layout new stuff without transition - this.layoutItems( items, true ); - this.reveal( items ); - // layout previous items - this.layoutItems( previousItems ); -}; - -/** - * reveal a collection of items - * @param {Array of Outlayer.Items} items - */ -proto.reveal = function( items ) { - this._emitCompleteOnItems( 'reveal', items ); - if ( !items || !items.length ) { - return; - } - var stagger = this.updateStagger(); - items.forEach( function( item, i ) { - item.stagger( i * stagger ); - item.reveal(); - }); -}; - -/** - * hide a collection of items - * @param {Array of Outlayer.Items} items - */ -proto.hide = function( items ) { - this._emitCompleteOnItems( 'hide', items ); - if ( !items || !items.length ) { - return; - } - var stagger = this.updateStagger(); - items.forEach( function( item, i ) { - item.stagger( i * stagger ); - item.hide(); - }); -}; - -/** - * reveal item elements - * @param {Array}, {Element}, {NodeList} items - */ -proto.revealItemElements = function( elems ) { - var items = this.getItems( elems ); - this.reveal( items ); -}; - -/** - * hide item elements - * @param {Array}, {Element}, {NodeList} items - */ -proto.hideItemElements = function( elems ) { - var items = this.getItems( elems ); - this.hide( items ); -}; - -/** - * get Outlayer.Item, given an Element - * @param {Element} elem - * @param {Function} callback - * @returns {Outlayer.Item} item - */ -proto.getItem = function( elem ) { - // loop through items to get the one that matches - for ( var i=0; i < this.items.length; i++ ) { - var item = this.items[i]; - if ( item.element == elem ) { - // return item - return item; - } - } -}; - -/** - * get collection of Outlayer.Items, given Elements - * @param {Array} elems - * @returns {Array} items - Outlayer.Items - */ -proto.getItems = function( elems ) { - elems = utils.makeArray( elems ); - var items = []; - elems.forEach( function( elem ) { - var item = this.getItem( elem ); - if ( item ) { - items.push( item ); - } - }, this ); - - return items; -}; - -/** - * remove element(s) from instance and DOM - * @param {Array or NodeList or Element} elems - */ -proto.remove = function( elems ) { - var removeItems = this.getItems( elems ); - - this._emitCompleteOnItems( 'remove', removeItems ); - - // bail if no items to remove - if ( !removeItems || !removeItems.length ) { - return; - } - - removeItems.forEach( function( item ) { - item.remove(); - // remove item from collection - utils.removeFrom( this.items, item ); - }, this ); -}; - -// ----- destroy ----- // - -// remove and disable Outlayer instance -proto.destroy = function() { - // clean up dynamic styles - var style = this.element.style; - style.height = ''; - style.position = ''; - style.width = ''; - // destroy items - this.items.forEach( function( item ) { - item.destroy(); - }); - - this.unbindResize(); - - var id = this.element.outlayerGUID; - delete instances[ id ]; // remove reference to instance by id - delete this.element.outlayerGUID; - // remove data for jQuery - if ( jQuery ) { - jQuery.removeData( this.element, this.constructor.namespace ); - } - -}; - -// -------------------------- data -------------------------- // - -/** - * get Outlayer instance from element - * @param {Element} elem - * @returns {Outlayer} - */ -Outlayer.data = function( elem ) { - elem = utils.getQueryElement( elem ); - var id = elem && elem.outlayerGUID; - return id && instances[ id ]; -}; - - -// -------------------------- create Outlayer class -------------------------- // - -/** - * create a layout class - * @param {String} namespace - */ -Outlayer.create = function( namespace, options ) { - // sub-class Outlayer - var Layout = subclass( Outlayer ); - // apply new options and compatOptions - Layout.defaults = utils.extend( {}, Outlayer.defaults ); - utils.extend( Layout.defaults, options ); - Layout.compatOptions = utils.extend( {}, Outlayer.compatOptions ); - - Layout.namespace = namespace; - - Layout.data = Outlayer.data; - - // sub-class Item - Layout.Item = subclass( Item ); - - // -------------------------- declarative -------------------------- // - - utils.htmlInit( Layout, namespace ); - - // -------------------------- jQuery bridge -------------------------- // - - // make into jQuery plugin - if ( jQuery && jQuery.bridget ) { - jQuery.bridget( namespace, Layout ); - } - - return Layout; -}; - -function subclass( Parent ) { - function SubClass() { - Parent.apply( this, arguments ); - } - - SubClass.prototype = Object.create( Parent.prototype ); - SubClass.prototype.constructor = SubClass; - - return SubClass; -} - -// ----- helpers ----- // - -// how many milliseconds are in each unit -var msUnits = { - ms: 1, - s: 1000 -}; - -// munge time-like parameter into millisecond number -// '0.4s' -> 40 -function getMilliseconds( time ) { - if ( typeof time == 'number' ) { - return time; - } - var matches = time.match( /(^\d*\.?\d*)(\w*)/ ); - var num = matches && matches[1]; - var unit = matches && matches[2]; - if ( !num.length ) { - return 0; - } - num = parseFloat( num ); - var mult = msUnits[ unit ] || 1; - return num * mult; -} - -// ----- fin ----- // - -// back in global -Outlayer.Item = Item; - -return Outlayer; - -})); - - -/***/ }, - -/***/ 658 -(module) { - -"use strict"; -/* jshint browser:true, node:true */ - - -module.exports = function(global) { - - /* Set up a RequestAnimationFrame shim so we can animate efficiently FOR - * GREAT JUSTICE. */ - var requestInterval, cancelInterval; - - (function() { - var raf = global.requestAnimationFrame || - global.webkitRequestAnimationFrame || - global.mozRequestAnimationFrame || - global.oRequestAnimationFrame || - global.msRequestAnimationFrame , - caf = global.cancelAnimationFrame || - global.webkitCancelAnimationFrame || - global.mozCancelAnimationFrame || - global.oCancelAnimationFrame || - global.msCancelAnimationFrame ; - - if(raf && caf) { - requestInterval = function(fn, delay) { - var handle = {value: null}; - - function loop() { - handle.value = raf(loop); - fn(); - } - - loop(); - return handle; - }; - - cancelInterval = function(handle) { - caf(handle.value); - }; - } - - else { - requestInterval = setInterval; - cancelInterval = clearInterval; - } - }()); - - /* Catmull-rom spline stuffs. */ - /* - function upsample(n, spline) { - var polyline = [], - len = spline.length, - bx = spline[0], - by = spline[1], - cx = spline[2], - cy = spline[3], - dx = spline[4], - dy = spline[5], - i, j, ax, ay, px, qx, rx, sx, py, qy, ry, sy, t; - - for(i = 6; i !== spline.length; i += 2) { - ax = bx; - bx = cx; - cx = dx; - dx = spline[i ]; - px = -0.5 * ax + 1.5 * bx - 1.5 * cx + 0.5 * dx; - qx = ax - 2.5 * bx + 2.0 * cx - 0.5 * dx; - rx = -0.5 * ax + 0.5 * cx ; - sx = bx ; - - ay = by; - by = cy; - cy = dy; - dy = spline[i + 1]; - py = -0.5 * ay + 1.5 * by - 1.5 * cy + 0.5 * dy; - qy = ay - 2.5 * by + 2.0 * cy - 0.5 * dy; - ry = -0.5 * ay + 0.5 * cy ; - sy = by ; - - for(j = 0; j !== n; ++j) { - t = j / n; - - polyline.push( - ((px * t + qx) * t + rx) * t + sx, - ((py * t + qy) * t + ry) * t + sy - ); - } - } - - polyline.push( - px + qx + rx + sx, - py + qy + ry + sy - ); - - return polyline; - } - - function downsample(n, polyline) { - var len = 0, - i, dx, dy; - - for(i = 2; i !== polyline.length; i += 2) { - dx = polyline[i ] - polyline[i - 2]; - dy = polyline[i + 1] - polyline[i - 1]; - len += Math.sqrt(dx * dx + dy * dy); - } - - len /= n; - - var small = [], - target = len, - min = 0, - max, t; - - small.push(polyline[0], polyline[1]); - - for(i = 2; i !== polyline.length; i += 2) { - dx = polyline[i ] - polyline[i - 2]; - dy = polyline[i + 1] - polyline[i - 1]; - max = min + Math.sqrt(dx * dx + dy * dy); - - if(max > target) { - t = (target - min) / (max - min); - - small.push( - polyline[i - 2] + dx * t, - polyline[i - 1] + dy * t - ); - - target += len; - } - - min = max; - } - - small.push(polyline[polyline.length - 2], polyline[polyline.length - 1]); - - return small; - } - */ - - /* Define skycon things. */ - /* FIXME: I'm *really really* sorry that this code is so gross. Really, I am. - * I'll try to clean it up eventually! Promise! */ - var KEYFRAME = 500, - STROKE = 0.08, - TAU = 2.0 * Math.PI, - TWO_OVER_SQRT_2 = 2.0 / Math.sqrt(2); - - function circle(ctx, x, y, r) { - ctx.beginPath(); - ctx.arc(x, y, r, 0, TAU, false); - ctx.fill(); - } - - function line(ctx, ax, ay, bx, by) { - ctx.beginPath(); - ctx.moveTo(ax, ay); - ctx.lineTo(bx, by); - ctx.stroke(); - } - - function puff(ctx, t, cx, cy, rx, ry, rmin, rmax) { - var c = Math.cos(t * TAU), - s = Math.sin(t * TAU); - - rmax -= rmin; - - circle( - ctx, - cx - s * rx, - cy + c * ry + rmax * 0.5, - rmin + (1 - c * 0.5) * rmax - ); - } - - function puffs(ctx, t, cx, cy, rx, ry, rmin, rmax) { - var i; - - for(i = 5; i--; ) - puff(ctx, t + i / 5, cx, cy, rx, ry, rmin, rmax); - } - - function cloud(ctx, t, cx, cy, cw, s, color) { - t /= 30000; - - var a = cw * 0.21, - b = cw * 0.12, - c = cw * 0.24, - d = cw * 0.28; - - ctx.fillStyle = color; - puffs(ctx, t, cx, cy, a, b, c, d); - - ctx.globalCompositeOperation = 'destination-out'; - puffs(ctx, t, cx, cy, a, b, c - s, d - s); - ctx.globalCompositeOperation = 'source-over'; - } - - function sun(ctx, t, cx, cy, cw, s, color) { - t /= 120000; - - var a = cw * 0.25 - s * 0.5, - b = cw * 0.32 + s * 0.5, - c = cw * 0.50 - s * 0.5, - i, p, cos, sin; - - ctx.strokeStyle = color; - ctx.lineWidth = s; - ctx.lineCap = "round"; - ctx.lineJoin = "round"; - - ctx.beginPath(); - ctx.arc(cx, cy, a, 0, TAU, false); - ctx.stroke(); - - for(i = 8; i--; ) { - p = (t + i / 8) * TAU; - cos = Math.cos(p); - sin = Math.sin(p); - line(ctx, cx + cos * b, cy + sin * b, cx + cos * c, cy + sin * c); - } - } - - function moon(ctx, t, cx, cy, cw, s, color) { - t /= 15000; - - var a = cw * 0.29 - s * 0.5, - b = cw * 0.05, - c = Math.cos(t * TAU), - p = c * TAU / -16; - - ctx.strokeStyle = color; - ctx.lineWidth = s; - ctx.lineCap = "round"; - ctx.lineJoin = "round"; - - cx += c * b; - - ctx.beginPath(); - ctx.arc(cx, cy, a, p + TAU / 8, p + TAU * 7 / 8, false); - ctx.arc(cx + Math.cos(p) * a * TWO_OVER_SQRT_2, cy + Math.sin(p) * a * TWO_OVER_SQRT_2, a, p + TAU * 5 / 8, p + TAU * 3 / 8, true); - ctx.closePath(); - ctx.stroke(); - } - - function rain(ctx, t, cx, cy, cw, s, color) { - t /= 1350; - - var a = cw * 0.16, - b = TAU * 11 / 12, - c = TAU * 7 / 12, - i, p, x, y; - - ctx.fillStyle = color; - - for(i = 4; i--; ) { - p = (t + i / 4) % 1; - x = cx + ((i - 1.5) / 1.5) * (i === 1 || i === 2 ? -1 : 1) * a; - y = cy + p * p * cw; - ctx.beginPath(); - ctx.moveTo(x, y - s * 1.5); - ctx.arc(x, y, s * 0.75, b, c, false); - ctx.fill(); - } - } - - function sleet(ctx, t, cx, cy, cw, s, color) { - t /= 750; - - var a = cw * 0.1875, - b = TAU * 11 / 12, - c = TAU * 7 / 12, - i, p, x, y; - - ctx.strokeStyle = color; - ctx.lineWidth = s * 0.5; - ctx.lineCap = "round"; - ctx.lineJoin = "round"; - - for(i = 4; i--; ) { - p = (t + i / 4) % 1; - x = Math.floor(cx + ((i - 1.5) / 1.5) * (i === 1 || i === 2 ? -1 : 1) * a) + 0.5; - y = cy + p * cw; - line(ctx, x, y - s * 1.5, x, y + s * 1.5); - } - } - - function snow(ctx, t, cx, cy, cw, s, color) { - t /= 3000; - - var a = cw * 0.16, - b = s * 0.75, - u = t * TAU * 0.7, - ux = Math.cos(u) * b, - uy = Math.sin(u) * b, - v = u + TAU / 3, - vx = Math.cos(v) * b, - vy = Math.sin(v) * b, - w = u + TAU * 2 / 3, - wx = Math.cos(w) * b, - wy = Math.sin(w) * b, - i, p, x, y; - - ctx.strokeStyle = color; - ctx.lineWidth = s * 0.5; - ctx.lineCap = "round"; - ctx.lineJoin = "round"; - - for(i = 4; i--; ) { - p = (t + i / 4) % 1; - x = cx + Math.sin((p + i / 4) * TAU) * a; - y = cy + p * cw; - - line(ctx, x - ux, y - uy, x + ux, y + uy); - line(ctx, x - vx, y - vy, x + vx, y + vy); - line(ctx, x - wx, y - wy, x + wx, y + wy); - } - } - - function fogbank(ctx, t, cx, cy, cw, s, color) { - t /= 30000; - - var a = cw * 0.21, - b = cw * 0.06, - c = cw * 0.21, - d = cw * 0.28; - - ctx.fillStyle = color; - puffs(ctx, t, cx, cy, a, b, c, d); - - ctx.globalCompositeOperation = 'destination-out'; - puffs(ctx, t, cx, cy, a, b, c - s, d - s); - ctx.globalCompositeOperation = 'source-over'; - } - - /* - var WIND_PATHS = [ - downsample(63, upsample(8, [ - -1.00, -0.28, - -0.75, -0.18, - -0.50, 0.12, - -0.20, 0.12, - -0.04, -0.04, - -0.07, -0.18, - -0.19, -0.18, - -0.23, -0.05, - -0.12, 0.11, - 0.02, 0.16, - 0.20, 0.15, - 0.50, 0.07, - 0.75, 0.18, - 1.00, 0.28 - ])), - downsample(31, upsample(16, [ - -1.00, -0.10, - -0.75, 0.00, - -0.50, 0.10, - -0.25, 0.14, - 0.00, 0.10, - 0.25, 0.00, - 0.50, -0.10, - 0.75, -0.14, - 1.00, -0.10 - ])) - ]; - */ - - var WIND_PATHS = [ - [ - -0.7500, -0.1800, -0.7219, -0.1527, -0.6971, -0.1225, - -0.6739, -0.0910, -0.6516, -0.0588, -0.6298, -0.0262, - -0.6083, 0.0065, -0.5868, 0.0396, -0.5643, 0.0731, - -0.5372, 0.1041, -0.5033, 0.1259, -0.4662, 0.1406, - -0.4275, 0.1493, -0.3881, 0.1530, -0.3487, 0.1526, - -0.3095, 0.1488, -0.2708, 0.1421, -0.2319, 0.1342, - -0.1943, 0.1217, -0.1600, 0.1025, -0.1290, 0.0785, - -0.1012, 0.0509, -0.0764, 0.0206, -0.0547, -0.0120, - -0.0378, -0.0472, -0.0324, -0.0857, -0.0389, -0.1241, - -0.0546, -0.1599, -0.0814, -0.1876, -0.1193, -0.1964, - -0.1582, -0.1935, -0.1931, -0.1769, -0.2157, -0.1453, - -0.2290, -0.1085, -0.2327, -0.0697, -0.2240, -0.0317, - -0.2064, 0.0033, -0.1853, 0.0362, -0.1613, 0.0672, - -0.1350, 0.0961, -0.1051, 0.1213, -0.0706, 0.1397, - -0.0332, 0.1512, 0.0053, 0.1580, 0.0442, 0.1624, - 0.0833, 0.1636, 0.1224, 0.1615, 0.1613, 0.1565, - 0.1999, 0.1500, 0.2378, 0.1402, 0.2749, 0.1279, - 0.3118, 0.1147, 0.3487, 0.1015, 0.3858, 0.0892, - 0.4236, 0.0787, 0.4621, 0.0715, 0.5012, 0.0702, - 0.5398, 0.0766, 0.5768, 0.0890, 0.6123, 0.1055, - 0.6466, 0.1244, 0.6805, 0.1440, 0.7147, 0.1630, - 0.7500, 0.1800 - ], - [ - -0.7500, 0.0000, -0.7033, 0.0195, -0.6569, 0.0399, - -0.6104, 0.0600, -0.5634, 0.0789, -0.5155, 0.0954, - -0.4667, 0.1089, -0.4174, 0.1206, -0.3676, 0.1299, - -0.3174, 0.1365, -0.2669, 0.1398, -0.2162, 0.1391, - -0.1658, 0.1347, -0.1157, 0.1271, -0.0661, 0.1169, - -0.0170, 0.1046, 0.0316, 0.0903, 0.0791, 0.0728, - 0.1259, 0.0534, 0.1723, 0.0331, 0.2188, 0.0129, - 0.2656, -0.0064, 0.3122, -0.0263, 0.3586, -0.0466, - 0.4052, -0.0665, 0.4525, -0.0847, 0.5007, -0.1002, - 0.5497, -0.1130, 0.5991, -0.1240, 0.6491, -0.1325, - 0.6994, -0.1380, 0.7500, -0.1400 - ] - ], - WIND_OFFSETS = [ - {start: 0.36, end: 0.11}, - {start: 0.56, end: 0.16} - ]; - - function leaf(ctx, t, x, y, cw, s, color) { - var a = cw / 8, - b = a / 3, - c = 2 * b, - d = (t % 1) * TAU, - e = Math.cos(d), - f = Math.sin(d); - - ctx.fillStyle = color; - ctx.strokeStyle = color; - ctx.lineWidth = s; - ctx.lineCap = "round"; - ctx.lineJoin = "round"; - - ctx.beginPath(); - ctx.arc(x , y , a, d , d + Math.PI, false); - ctx.arc(x - b * e, y - b * f, c, d + Math.PI, d , false); - ctx.arc(x + c * e, y + c * f, b, d + Math.PI, d , true ); - ctx.globalCompositeOperation = 'destination-out'; - ctx.fill(); - ctx.globalCompositeOperation = 'source-over'; - ctx.stroke(); - } - - function swoosh(ctx, t, cx, cy, cw, s, index, total, color) { - t /= 2500; - - var path = WIND_PATHS[index], - a = (t + index - WIND_OFFSETS[index].start) % total, - c = (t + index - WIND_OFFSETS[index].end ) % total, - e = (t + index ) % total, - b, d, f, i; - - ctx.strokeStyle = color; - ctx.lineWidth = s; - ctx.lineCap = "round"; - ctx.lineJoin = "round"; - - if(a < 1) { - ctx.beginPath(); - - a *= path.length / 2 - 1; - b = Math.floor(a); - a -= b; - b *= 2; - b += 2; - - ctx.moveTo( - cx + (path[b - 2] * (1 - a) + path[b ] * a) * cw, - cy + (path[b - 1] * (1 - a) + path[b + 1] * a) * cw - ); - - if(c < 1) { - c *= path.length / 2 - 1; - d = Math.floor(c); - c -= d; - d *= 2; - d += 2; - - for(i = b; i !== d; i += 2) - ctx.lineTo(cx + path[i] * cw, cy + path[i + 1] * cw); - - ctx.lineTo( - cx + (path[d - 2] * (1 - c) + path[d ] * c) * cw, - cy + (path[d - 1] * (1 - c) + path[d + 1] * c) * cw - ); - } - - else - for(i = b; i !== path.length; i += 2) - ctx.lineTo(cx + path[i] * cw, cy + path[i + 1] * cw); - - ctx.stroke(); - } - - else if(c < 1) { - ctx.beginPath(); - - c *= path.length / 2 - 1; - d = Math.floor(c); - c -= d; - d *= 2; - d += 2; - - ctx.moveTo(cx + path[0] * cw, cy + path[1] * cw); - - for(i = 2; i !== d; i += 2) - ctx.lineTo(cx + path[i] * cw, cy + path[i + 1] * cw); - - ctx.lineTo( - cx + (path[d - 2] * (1 - c) + path[d ] * c) * cw, - cy + (path[d - 1] * (1 - c) + path[d + 1] * c) * cw - ); - - ctx.stroke(); - } - - if(e < 1) { - e *= path.length / 2 - 1; - f = Math.floor(e); - e -= f; - f *= 2; - f += 2; - - leaf( - ctx, - t, - cx + (path[f - 2] * (1 - e) + path[f ] * e) * cw, - cy + (path[f - 1] * (1 - e) + path[f + 1] * e) * cw, - cw, - s, - color - ); - } - } - - var Skycons = function(opts) { - this.list = []; - this.interval = null; - this.color = opts && opts.color ? opts.color : "black"; - this.resizeClear = !!(opts && opts.resizeClear); - }; - - Skycons.CLEAR_DAY = function(ctx, t, color) { - var w = ctx.canvas.width, - h = ctx.canvas.height, - s = Math.min(w, h); - - sun(ctx, t, w * 0.5, h * 0.5, s, s * STROKE, color); - }; - - Skycons.CLEAR_NIGHT = function(ctx, t, color) { - var w = ctx.canvas.width, - h = ctx.canvas.height, - s = Math.min(w, h); - - moon(ctx, t, w * 0.5, h * 0.5, s, s * STROKE, color); - }; - - Skycons.PARTLY_CLOUDY_DAY = function(ctx, t, color) { - var w = ctx.canvas.width, - h = ctx.canvas.height, - s = Math.min(w, h); - - sun(ctx, t, w * 0.625, h * 0.375, s * 0.75, s * STROKE, color); - cloud(ctx, t, w * 0.375, h * 0.625, s * 0.75, s * STROKE, color); - }; - - Skycons.PARTLY_CLOUDY_NIGHT = function(ctx, t, color) { - var w = ctx.canvas.width, - h = ctx.canvas.height, - s = Math.min(w, h); - - moon(ctx, t, w * 0.667, h * 0.375, s * 0.75, s * STROKE, color); - cloud(ctx, t, w * 0.375, h * 0.625, s * 0.75, s * STROKE, color); - }; - - Skycons.CLOUDY = function(ctx, t, color) { - var w = ctx.canvas.width, - h = ctx.canvas.height, - s = Math.min(w, h); - - cloud(ctx, t, w * 0.5, h * 0.5, s, s * STROKE, color); - }; - - Skycons.RAIN = function(ctx, t, color) { - var w = ctx.canvas.width, - h = ctx.canvas.height, - s = Math.min(w, h); - - rain(ctx, t, w * 0.5, h * 0.37, s * 0.9, s * STROKE, color); - cloud(ctx, t, w * 0.5, h * 0.37, s * 0.9, s * STROKE, color); - }; - - Skycons.SLEET = function(ctx, t, color) { - var w = ctx.canvas.width, - h = ctx.canvas.height, - s = Math.min(w, h); - - sleet(ctx, t, w * 0.5, h * 0.37, s * 0.9, s * STROKE, color); - cloud(ctx, t, w * 0.5, h * 0.37, s * 0.9, s * STROKE, color); - }; - - Skycons.SNOW = function(ctx, t, color) { - var w = ctx.canvas.width, - h = ctx.canvas.height, - s = Math.min(w, h); - - snow(ctx, t, w * 0.5, h * 0.37, s * 0.9, s * STROKE, color); - cloud(ctx, t, w * 0.5, h * 0.37, s * 0.9, s * STROKE, color); - }; - - Skycons.WIND = function(ctx, t, color) { - var w = ctx.canvas.width, - h = ctx.canvas.height, - s = Math.min(w, h); - - swoosh(ctx, t, w * 0.5, h * 0.5, s, s * STROKE, 0, 2, color); - swoosh(ctx, t, w * 0.5, h * 0.5, s, s * STROKE, 1, 2, color); - }; - - Skycons.FOG = function(ctx, t, color) { - var w = ctx.canvas.width, - h = ctx.canvas.height, - s = Math.min(w, h), - k = s * STROKE; - - fogbank(ctx, t, w * 0.5, h * 0.32, s * 0.75, k, color); - - t /= 5000; - - var a = Math.cos((t ) * TAU) * s * 0.02, - b = Math.cos((t + 0.25) * TAU) * s * 0.02, - c = Math.cos((t + 0.50) * TAU) * s * 0.02, - d = Math.cos((t + 0.75) * TAU) * s * 0.02, - n = h * 0.936, - e = Math.floor(n - k * 0.5) + 0.5, - f = Math.floor(n - k * 2.5) + 0.5; - - ctx.strokeStyle = color; - ctx.lineWidth = k; - ctx.lineCap = "round"; - ctx.lineJoin = "round"; - - line(ctx, a + w * 0.2 + k * 0.5, e, b + w * 0.8 - k * 0.5, e); - line(ctx, c + w * 0.2 + k * 0.5, f, d + w * 0.8 - k * 0.5, f); - }; - - Skycons.prototype = { - _determineDrawingFunction: function(draw) { - if(typeof draw === "string") - draw = Skycons[draw.toUpperCase().replace(/-/g, "_")] || null; - - return draw; - }, - add: function(el, draw) { - var obj; - - if(typeof el === "string") - el = document.getElementById(el); - - // Does nothing if canvas name doesn't exists - if(el === null) - return; - - draw = this._determineDrawingFunction(draw); - - // Does nothing if the draw function isn't actually a function - if(typeof draw !== "function") - return; - - obj = { - element: el, - context: el.getContext("2d"), - drawing: draw - }; - - this.list.push(obj); - this.draw(obj, KEYFRAME); - }, - set: function(el, draw) { - var i; - - if(typeof el === "string") - el = document.getElementById(el); - - for(i = this.list.length; i--; ) - if(this.list[i].element === el) { - this.list[i].drawing = this._determineDrawingFunction(draw); - this.draw(this.list[i], KEYFRAME); - return; - } - - this.add(el, draw); - }, - remove: function(el) { - var i; - - if(typeof el === "string") - el = document.getElementById(el); - - for(i = this.list.length; i--; ) - if(this.list[i].element === el) { - this.list.splice(i, 1); - return; - } - }, - draw: function(obj, time) { - var canvas = obj.context.canvas; - - if(this.resizeClear) - canvas.width = canvas.width; - - else - obj.context.clearRect(0, 0, canvas.width, canvas.height); - - obj.drawing(obj.context, time, this.color); - }, - play: function() { - var self = this; - - this.pause(); - this.interval = requestInterval(function() { - var now = Date.now(), - i; - - for(i = self.list.length; i--; ) - self.draw(self.list[i], now); - }, 1000 / 60); - }, - pause: function() { - var i; - - if(this.interval) { - cancelInterval(this.interval); - this.interval = null; - } - } - }; - return Skycons; -}; - - -/***/ } - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => (module['default']) : -/******/ () => (module); -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -// This entry needs to be wrapped in an IIFE because it needs to be in strict mode. -(() => { -"use strict"; - -;// ../assets/scripts/utils/dom.js -/** - * Adminator DOM Utility Functions - * Provides jQuery-like functionality using vanilla JavaScript - * - * @module utils/dom - * @example - * import { DOM } from './utils/dom'; - * - * // Select elements - * const button = DOM.select('.my-button'); - * const items = DOM.selectAll('.list-item'); - * - * // Add event listeners - * DOM.on(button, 'click', () => console.log('Clicked!')); - * - * // Manipulate classes - * DOM.addClass(button, 'active'); - * DOM.toggleClass(button, 'loading'); - */ - -/** - * DOM utility object providing jQuery-like methods - * @namespace - */ -const DOM = { - /** - * Select a single element matching the selector - * Replaces jQuery's $('selector').first() - * - * @param {string} selector - CSS selector - * @param {Document|Element} [context=document] - Context to search within - * @returns {Element|null} The matched element or null - * - * @example - * const header = DOM.select('.header'); - * const navItem = DOM.select('.nav-item', sidebar); - */ - select: function (selector) { - let context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document; - return context.querySelector(selector); - }, - /** - * Select all elements matching the selector - * Replaces jQuery's $('selector') - * - * @param {string} selector - CSS selector - * @param {Document|Element} [context=document] - Context to search within - * @returns {Element[]} Array of matched elements - * - * @example - * const buttons = DOM.selectAll('.btn'); - * buttons.forEach(btn => DOM.addClass(btn, 'initialized')); - */ - selectAll: function (selector) { - let context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document; - return Array.from(context.querySelectorAll(selector)); - }, - /** - * Check if an element matching the selector exists - * - * @param {string} selector - CSS selector - * @returns {boolean} True if element exists - * - * @example - * if (DOM.exists('.sidebar')) { - * initSidebar(); - * } - */ - exists: selector => { - return document.querySelector(selector) !== null; - }, - /** - * Add an event listener to an element - * Replaces jQuery's $.on() - * - * @param {Element|string} element - Element or selector - * @param {string} event - Event name (e.g., 'click', 'change') - * @param {Function} handler - Event handler function - * @param {Object} [options={}] - addEventListener options - * - * @example - * DOM.on('.btn', 'click', handleClick); - * DOM.on(button, 'click', handleClick, { once: true }); - */ - on: function (element, event, handler) { - let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (element) { - element.addEventListener(event, handler, options); - } - }, - /** - * Remove an event listener from an element - * Replaces jQuery's $.off() - * - * @param {Element|string} element - Element or selector - * @param {string} event - Event name - * @param {Function} handler - Event handler to remove - * - * @example - * DOM.off(button, 'click', handleClick); - */ - off: (element, event, handler) => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (element) { - element.removeEventListener(event, handler); - } - }, - /** - * Add a class to an element - * Replaces jQuery's $.addClass() - * - * @param {Element|string} element - Element or selector - * @param {string} className - Class name to add - * - * @example - * DOM.addClass('.menu', 'open'); - */ - addClass: (element, className) => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (element) { - element.classList.add(className); - } - }, - /** - * Remove a class from an element - * Replaces jQuery's $.removeClass() - * - * @param {Element|string} element - Element or selector - * @param {string} className - Class name to remove - * - * @example - * DOM.removeClass('.menu', 'open'); - */ - removeClass: (element, className) => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (element) { - element.classList.remove(className); - } - }, - /** - * Toggle a class on an element - * Replaces jQuery's $.toggleClass() - * - * @param {Element|string} element - Element or selector - * @param {string} className - Class name to toggle - * - * @example - * DOM.toggleClass('.dropdown', 'show'); - */ - toggleClass: (element, className) => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (element) { - element.classList.toggle(className); - } - }, - /** - * Check if an element has a class - * Replaces jQuery's $.hasClass() - * - * @param {Element|string} element - Element or selector - * @param {string} className - Class name to check - * @returns {boolean} True if element has the class - * - * @example - * if (DOM.hasClass('.menu', 'open')) { - * closeMenu(); - * } - */ - hasClass: (element, className) => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - return element ? element.classList.contains(className) : false; - }, - /** - * Get or set an attribute on an element - * Replaces jQuery's $.attr() - * - * @param {Element|string} element - Element or selector - * @param {string} name - Attribute name - * @param {string} [value] - Value to set (omit to get) - * @returns {string|Element|null} Attribute value when getting, element when setting - * - * @example - * // Get attribute - * const href = DOM.attr(link, 'href'); - * - * // Set attribute - * DOM.attr(link, 'href', '/new-page'); - */ - attr: (element, name, value) => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (!element) return null; - if (value === undefined) { - return element.getAttribute(name); - } else { - element.setAttribute(name, value); - return element; - } - }, - /** - * Get or set a data attribute on an element - * Replaces jQuery's $.data() - * - * @param {Element|string} element - Element or selector - * @param {string} name - Data attribute name (without 'data-' prefix) - * @param {string} [value] - Value to set (omit to get) - * @returns {string|Element|null} Data value when getting, element when setting - * - * @example - * // Get data attribute - * const id = DOM.data(row, 'id'); // Gets data-id - * - * // Set data attribute - * DOM.data(row, 'id', '123'); - */ - data: (element, name, value) => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (!element) return null; - const dataName = `data-${name}`; - if (value === undefined) { - return element.getAttribute(dataName); - } else { - element.setAttribute(dataName, value); - return element; - } - }, - /** - * Get or set text content of an element - * Replaces jQuery's $.text() - * - * @param {Element|string} element - Element or selector - * @param {string} [content] - Text to set (omit to get) - * @returns {string|Element|null} Text content when getting, element when setting - * - * @example - * const text = DOM.text('.title'); - * DOM.text('.title', 'New Title'); - */ - text: (element, content) => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (!element) return null; - if (content === undefined) { - return element.textContent; - } else { - element.textContent = content; - return element; - } - }, - /** - * Get or set HTML content of an element - * Replaces jQuery's $.html() - * - * @param {Element|string} element - Element or selector - * @param {string} [content] - HTML to set (omit to get) - * @returns {string|Element|null} HTML content when getting, element when setting - * - * @example - * const html = DOM.html('.container'); - * DOM.html('.container', '

New content

'); - */ - html: (element, content) => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (!element) return null; - if (content === undefined) { - return element.innerHTML; - } else { - element.innerHTML = content; - return element; - } - }, - /** - * Hide an element - * Replaces jQuery's $.hide() - * - * @param {Element|string} element - Element or selector - * - * @example - * DOM.hide('.modal'); - */ - hide: element => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (element) { - element.style.display = 'none'; - } - }, - /** - * Show an element - * Replaces jQuery's $.show() - * - * @param {Element|string} element - Element or selector - * @param {string} [display='block'] - Display value to use - * - * @example - * DOM.show('.modal'); - * DOM.show('.flex-item', 'flex'); - */ - show: function (element) { - let display = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'block'; - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (element) { - element.style.display = display; - } - }, - /** - * Toggle element visibility - * Replaces jQuery's $.toggle() - * - * @param {Element|string} element - Element or selector - * @param {string} [display='block'] - Display value when showing - * - * @example - * DOM.toggle('.menu'); - */ - toggle: function (element) { - let display = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'block'; - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (element) { - if (element.style.display === 'none') { - element.style.display = display; - } else { - element.style.display = 'none'; - } - } - }, - /** - * Animate element sliding up (collapsing) - * Replaces jQuery's $.slideUp() - * - * @param {Element|string} element - Element or selector - * @param {number} [duration=300] - Animation duration in ms - * @returns {Promise} Resolves when animation completes - * - * @example - * await DOM.slideUp('.panel'); - */ - slideUp: function (element) { - let duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 300; - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (!element) return Promise.resolve(); - return new Promise(resolve => { - const height = element.scrollHeight; - element.style.height = `${height}px`; - element.style.overflow = 'hidden'; - element.animate([{ - height: `${height}px` - }, { - height: '0px' - }], { - duration, - easing: 'ease-in-out' - }).onfinish = () => { - element.style.display = 'none'; - element.style.height = ''; - element.style.overflow = ''; - resolve(); - }; - }); - }, - /** - * Animate element sliding down (expanding) - * Replaces jQuery's $.slideDown() - * - * @param {Element|string} element - Element or selector - * @param {number} [duration=300] - Animation duration in ms - * @returns {Promise} Resolves when animation completes - * - * @example - * await DOM.slideDown('.panel'); - */ - slideDown: function (element) { - let duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 300; - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (!element) return Promise.resolve(); - return new Promise(resolve => { - element.style.display = 'block'; - element.style.height = '0px'; - element.style.overflow = 'hidden'; - const height = element.scrollHeight; - element.animate([{ - height: '0px' - }, { - height: `${height}px` - }], { - duration, - easing: 'ease-in-out' - }).onfinish = () => { - element.style.height = 'auto'; - element.style.overflow = 'visible'; - resolve(); - }; - }); - }, - /** - * Animate element fading in - * Replaces jQuery's $.fadeIn() - * - * @param {Element|string} element - Element or selector - * @param {number} [duration=300] - Animation duration in ms - * @returns {Promise} Resolves when animation completes - * - * @example - * await DOM.fadeIn('.modal'); - */ - fadeIn: function (element) { - let duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 300; - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (!element) return Promise.resolve(); - return new Promise(resolve => { - element.style.opacity = '0'; - element.style.display = 'block'; - element.animate([{ - opacity: 0 - }, { - opacity: 1 - }], { - duration, - easing: 'ease-in-out' - }).onfinish = () => { - element.style.opacity = ''; - resolve(); - }; - }); - }, - /** - * Animate element fading out - * Replaces jQuery's $.fadeOut() - * - * @param {Element|string} element - Element or selector - * @param {number} [duration=300] - Animation duration in ms - * @returns {Promise} Resolves when animation completes - * - * @example - * await DOM.fadeOut('.modal'); - */ - fadeOut: function (element) { - let duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 300; - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (!element) return Promise.resolve(); - return new Promise(resolve => { - element.animate([{ - opacity: 1 - }, { - opacity: 0 - }], { - duration, - easing: 'ease-in-out' - }).onfinish = () => { - element.style.display = 'none'; - element.style.opacity = ''; - resolve(); - }; - }); - }, - /** - * Get element dimensions and position relative to viewport - * - * @param {Element|string} element - Element or selector - * @returns {Object|null} Dimensions object or null - * @property {number} width - Element width - * @property {number} height - Element height - * @property {number} top - Distance from viewport top - * @property {number} left - Distance from viewport left - * @property {number} bottom - Distance from viewport bottom - * @property {number} right - Distance from viewport right - * - * @example - * const { width, height, top, left } = DOM.dimensions('.card'); - */ - dimensions: element => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (!element) return null; - const rect = element.getBoundingClientRect(); - return { - width: rect.width, - height: rect.height, - top: rect.top, - left: rect.left, - bottom: rect.bottom, - right: rect.right - }; - }, - /** - * Execute callback when DOM is ready - * Replaces jQuery's $(document).ready() - * - * @param {Function} callback - Function to execute when DOM is ready - * - * @example - * DOM.ready(() => { - * initApp(); - * }); - */ - ready: callback => { - if (document.readyState === 'loading') { - document.addEventListener('DOMContentLoaded', callback); - } else { - callback(); - } - }, - /** - * Create an element with optional attributes and children - * - * @param {string} tag - HTML tag name - * @param {Object} [attrs={}] - Attributes to set - * @param {Array} [children=[]] - Child elements or text - * @returns {Element} The created element - * - * @example - * const button = DOM.create('button', { class: 'btn', type: 'submit' }, ['Submit']); - */ - create: function (tag) { - let attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - let children = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; - const el = document.createElement(tag); - Object.entries(attrs).forEach(_ref => { - let [key, value] = _ref; - if (key === 'class') { - el.className = value; - } else if (key.startsWith('data-')) { - el.setAttribute(key, value); - } else { - el[key] = value; - } - }); - children.forEach(child => { - if (typeof child === 'string') { - el.appendChild(document.createTextNode(child)); - } else if (child instanceof Element) { - el.appendChild(child); - } - }); - return el; - }, - /** - * Find the closest ancestor matching a selector - * - * @param {Element|string} element - Element or selector - * @param {string} selector - Selector to match - * @returns {Element|null} Closest matching ancestor or null - * - * @example - * const form = DOM.closest(input, 'form'); - */ - closest: (element, selector) => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - return element ? element.closest(selector) : null; - } -}; -/* harmony default export */ const dom = ((/* unused pure expression or super */ null && (DOM))); -// EXTERNAL MODULE: ../../node_modules/dayjs/dayjs.min.js -var dayjs_min = __webpack_require__(464); -var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min); -// EXTERNAL MODULE: ../../node_modules/dayjs/plugin/utc.js -var utc = __webpack_require__(657); -var utc_default = /*#__PURE__*/__webpack_require__.n(utc); -// EXTERNAL MODULE: ../../node_modules/dayjs/plugin/timezone.js -var timezone = __webpack_require__(168); -var timezone_default = /*#__PURE__*/__webpack_require__.n(timezone); -// EXTERNAL MODULE: ../../node_modules/dayjs/plugin/relativeTime.js -var relativeTime = __webpack_require__(562); -var relativeTime_default = /*#__PURE__*/__webpack_require__.n(relativeTime); -// EXTERNAL MODULE: ../../node_modules/dayjs/plugin/customParseFormat.js -var customParseFormat = __webpack_require__(630); -var customParseFormat_default = /*#__PURE__*/__webpack_require__.n(customParseFormat); -// EXTERNAL MODULE: ../../node_modules/dayjs/plugin/advancedFormat.js -var advancedFormat = __webpack_require__(258); -var advancedFormat_default = /*#__PURE__*/__webpack_require__.n(advancedFormat); -;// ../assets/scripts/utils/date.js -/** - * Modern Date Utilities - * Using Day.js (2KB) instead of Moment.js (67KB) - 97% size reduction - * Provides consistent date formatting and manipulation across the application - */ - - - - - - - - -// Enable Day.js plugins -dayjs_min_default().extend((utc_default())); -dayjs_min_default().extend((timezone_default())); -dayjs_min_default().extend((relativeTime_default())); -dayjs_min_default().extend((customParseFormat_default())); -dayjs_min_default().extend((advancedFormat_default())); -const DateUtils = { - /** - * Get current date/time - */ - now: () => dayjs_min_default()(), - /** - * Parse date from string or Date object - */ - parse: function (input) { - let format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - return format ? dayjs_min_default()(input, format) : dayjs_min_default()(input); - }, - /** - * Format date for display - */ - format: function (date) { - let format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'YYYY-MM-DD'; - return dayjs_min_default()(date).format(format); - }, - /** - * Common date formatting presets - */ - formatters: { - // Dashboard display formats - shortDate: date => dayjs_min_default()(date).format('MMM DD, YYYY'), - longDate: date => dayjs_min_default()(date).format('MMMM DD, YYYY'), - dateTime: date => dayjs_min_default()(date).format('MMM DD, YYYY h:mm A'), - // Calendar formats - calendarDate: date => dayjs_min_default()(date).format('YYYY-MM-DD'), - calendarDateTime: date => dayjs_min_default()(date).format('YYYY-MM-DD HH:mm:ss'), - // Form input formats - inputDate: date => dayjs_min_default()(date).format('YYYY-MM-DD'), - inputDateTime: date => dayjs_min_default()(date).format('YYYY-MM-DDTHH:mm'), - // Display formats - timeOnly: date => dayjs_min_default()(date).format('h:mm A'), - monthYear: date => dayjs_min_default()(date).format('MMMM YYYY'), - dayMonth: date => dayjs_min_default()(date).format('DD MMM'), - // Relative time - relative: date => dayjs_min_default()(date).fromNow(), - relativeCalendar: date => { - const now = dayjs_min_default()(); - const target = dayjs_min_default()(date); - const diffDays = now.diff(target, 'day'); - if (diffDays === 0) return 'Today'; - if (diffDays === 1) return 'Yesterday'; - if (diffDays === -1) return 'Tomorrow'; - if (diffDays > 1 && diffDays < 7) return `${diffDays} days ago`; - if (diffDays < -1 && diffDays > -7) return `In ${Math.abs(diffDays)} days`; - return target.format('MMM DD, YYYY'); - } - }, - /** - * Date manipulation - */ - add: (date, amount, unit) => dayjs_min_default()(date).add(amount, unit), - subtract: (date, amount, unit) => dayjs_min_default()(date).subtract(amount, unit), - startOf: (date, unit) => dayjs_min_default()(date).startOf(unit), - endOf: (date, unit) => dayjs_min_default()(date).endOf(unit), - /** - * Date comparison - */ - isBefore: (date1, date2) => dayjs_min_default()(date1).isBefore(dayjs_min_default()(date2)), - isAfter: (date1, date2) => dayjs_min_default()(date1).isAfter(dayjs_min_default()(date2)), - isSame: function (date1, date2) { - let unit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'day'; - return dayjs_min_default()(date1).isSame(dayjs_min_default()(date2), unit); - }, - isBetween: (date, start, end) => dayjs_min_default()(date).isBetween(dayjs_min_default()(start), dayjs_min_default()(end)), - /** - * Date validation - */ - isValid: date => dayjs_min_default()(date).isValid(), - /** - * Timezone utilities - */ - timezone: { - convert: (date, tz) => dayjs_min_default()(date).tz(tz), - utc: date => dayjs_min_default()(date).utc(), - local: date => dayjs_min_default()(date).local(), - guess: () => dayjs_min_default().tz.guess() - }, - /** - * Calendar utilities - */ - calendar: { - // Get calendar month data for building calendar views - getMonthData: function () { - let date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - const target = date ? dayjs_min_default()(date) : dayjs_min_default()(); - const startOfMonth = target.startOf('month'); - const endOfMonth = target.endOf('month'); - const startOfCalendar = startOfMonth.startOf('week'); - const endOfCalendar = endOfMonth.endOf('week'); - const days = []; - let current = startOfCalendar; - while (current.isBefore(endOfCalendar) || current.isSame(endOfCalendar, 'day')) { - days.push({ - date: current.format('YYYY-MM-DD'), - day: current.date(), - isCurrentMonth: current.isSame(target, 'month'), - isToday: current.isSame(dayjs_min_default()(), 'day'), - dayjs: current.clone() - }); - current = current.add(1, 'day'); - } - return { - month: target.format('MMMM YYYY'), - year: target.year(), - monthIndex: target.month(), - days - }; - }, - // Get week data - getWeekData: function () { - let date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - const target = date ? dayjs_min_default()(date) : dayjs_min_default()(); - const startOfWeek = target.startOf('week'); - const endOfWeek = target.endOf('week'); - const days = []; - let current = startOfWeek; - while (current.isBefore(endOfWeek) || current.isSame(endOfWeek, 'day')) { - days.push({ - date: current.format('YYYY-MM-DD'), - day: current.date(), - dayName: current.format('dddd'), - shortDayName: current.format('ddd'), - isToday: current.isSame(dayjs_min_default()(), 'day'), - dayjs: current.clone() - }); - current = current.add(1, 'day'); - } - return { - weekStart: startOfWeek.format('MMM DD'), - weekEnd: endOfWeek.format('MMM DD, YYYY'), - days - }; - } - }, - /** - * Form utilities - */ - form: { - // Convert date to HTML5 input format - toInputValue: date => dayjs_min_default()(date).format('YYYY-MM-DD'), - toDateTimeInputValue: date => dayjs_min_default()(date).format('YYYY-MM-DDTHH:mm'), - // Parse from HTML5 input - fromInputValue: value => dayjs_min_default()(value), - // Validate date input - validateDateInput: value => { - const parsed = dayjs_min_default()(value); - return parsed.isValid() && value.length >= 8; // Basic validation - } - }, - /** - * Chart/Data utilities - */ - charts: { - // Generate date ranges for charts - generateDateRange: function (start, end) { - let interval = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'day'; - const dates = []; - let current = dayjs_min_default()(start); - const endDate = dayjs_min_default()(end); - while (current.isBefore(endDate) || current.isSame(endDate, interval)) { - dates.push({ - date: current.format('YYYY-MM-DD'), - label: current.format('MMM DD'), - value: current.toISOString(), - dayjs: current.clone() - }); - current = current.add(1, interval); - } - return dates; - }, - // Get common chart date labels - getChartLabels: function () { - let period = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'week'; - const now = dayjs_min_default()(); - switch (period) { - case 'week': - return Array.from({ - length: 7 - }, (_, i) => now.subtract(6 - i, 'day').format('ddd')); - case 'month': - return Array.from({ - length: 30 - }, (_, i) => now.subtract(29 - i, 'day').format('DD')); - case 'year': - return Array.from({ - length: 12 - }, (_, i) => now.subtract(11 - i, 'month').format('MMM')); - default: - return []; - } - } - } -}; - -// Export dayjs instance for direct use when needed - - -// Default export -/* harmony default export */ const date = (DateUtils); -;// ../assets/scripts/utils/theme.js -/** - * Adminator Theme Manager - * Handles light/dark mode switching with localStorage persistence - * - * @module utils/theme - * @example - * // Get current theme - * const current = Theme.current(); // 'light' or 'dark' - * - * // Toggle theme - * Theme.toggle(); - * - * // Apply specific theme - * Theme.apply('dark'); - * - * // Listen for theme changes - * window.addEventListener('adminator:themeChanged', (e) => { - * console.log('New theme:', e.detail.theme); - * }); - */ - -/* global Chart */ - -/** @constant {string} Storage key for theme preference */ -const THEME_KEY = 'adminator-theme'; - -/** @constant {string[]} Valid theme values */ -const VALID_THEMES = ['light', 'dark']; - -/** - * Safe localStorage wrapper - * Handles cases where localStorage is unavailable (private browsing, etc.) - * @private - */ -const Storage = { - /** - * Get item from localStorage - * @param {string} key - Storage key - * @returns {string|null} Stored value or null - */ - get(key) { - try { - return localStorage.getItem(key); - } catch { - return null; - } - }, - /** - * Set item in localStorage - * @param {string} key - Storage key - * @param {string} value - Value to store - * @returns {boolean} Success status - */ - set(key, value) { - try { - localStorage.setItem(key, value); - return true; - } catch { - return false; - } - } -}; - -/** - * Theme Manager - * @namespace - */ -const Theme = { - /** - * Apply a theme to the document - * Updates Chart.js defaults if available - * - * @param {('light'|'dark')} theme - Theme to apply - * @fires adminator:themeChanged - * @returns {boolean} Success status - * - * @example - * Theme.apply('dark'); - */ - apply(theme) { - // Validate theme - if (!VALID_THEMES.includes(theme)) { - console.warn(`[Adminator] Invalid theme "${theme}". Using "light".`); - theme = 'light'; - } - - // Apply to document - document.documentElement.setAttribute('data-theme', theme); - - // Update Chart.js defaults if available - if (window.Chart && Chart.defaults) { - const isDark = theme === 'dark'; - const textColor = isDark ? '#FFFFFF' : '#212529'; - const mutedColor = isDark ? '#D1D5DB' : '#6C757D'; - const borderColor = isDark ? '#374151' : '#E2E5E8'; - const gridColor = isDark ? 'rgba(209, 213, 219, 0.15)' : 'rgba(0, 0, 0, 0.05)'; - const tooltipBg = isDark ? '#1F2937' : 'rgba(255, 255, 255, 0.95)'; - - // Set global defaults - Chart.defaults.color = textColor; - Chart.defaults.borderColor = borderColor; - Chart.defaults.backgroundColor = tooltipBg; - - // Set plugin defaults - Chart.defaults.plugins.legend.labels.color = textColor; - Chart.defaults.plugins.tooltip.backgroundColor = tooltipBg; - Chart.defaults.plugins.tooltip.titleColor = textColor; - Chart.defaults.plugins.tooltip.bodyColor = textColor; - Chart.defaults.plugins.tooltip.borderColor = borderColor; - - // Set scale defaults - const scales = ['category', 'linear', 'logarithmic', 'time', 'radialLinear']; - scales.forEach(scale => { - if (Chart.defaults.scales[scale]) { - Chart.defaults.scales[scale].ticks.color = mutedColor; - Chart.defaults.scales[scale].grid.color = gridColor; - } - }); - - // RadialLinear specific - if (Chart.defaults.scales.radialLinear) { - Chart.defaults.scales.radialLinear.pointLabels.color = mutedColor; - Chart.defaults.scales.radialLinear.angleLines.color = gridColor; - } - } - - // Persist to storage - Storage.set(THEME_KEY, theme); - - // Update toggle accessibility state if exists - const toggle = document.getElementById('theme-toggle'); - if (toggle) { - toggle.setAttribute('aria-checked', theme === 'dark' ? 'true' : 'false'); - } - - // Dispatch event for other components - window.dispatchEvent(new CustomEvent('adminator:themeChanged', { - detail: { - theme - } - })); - return true; - }, - /** - * Toggle between light and dark themes - * - * @returns {('light'|'dark')} The new theme - * - * @example - * const newTheme = Theme.toggle(); - * console.log('Switched to:', newTheme); - */ - toggle() { - const next = this.current() === 'dark' ? 'light' : 'dark'; - this.apply(next); - return next; - }, - /** - * Get the current theme - * - * @returns {('light'|'dark')} Current theme - * - * @example - * if (Theme.current() === 'dark') { - * // Dark mode specific logic - * } - */ - current() { - const stored = Storage.get(THEME_KEY); - return VALID_THEMES.includes(stored) ? stored : 'light'; - }, - /** - * Initialize the theme system - * Detects OS preference on first visit, otherwise uses stored preference - * - * @returns {('light'|'dark')} The applied theme - * - * @example - * // Call once on app initialization - * Theme.init(); - */ - init() { - const stored = Storage.get(THEME_KEY); - if (!stored) { - // First visit - detect OS preference - const prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches; - const theme = prefersDark ? 'dark' : 'light'; - this.apply(theme); - return theme; - } - - // Use stored preference - this.apply(this.current()); - return this.current(); - }, - /** - * Get a CSS variable value from the document - * - * @param {string} varName - CSS variable name (with or without --) - * @returns {string} The CSS variable value - * - * @example - * const bgColor = Theme.getCSSVar('--c-bkg-body'); - */ - getCSSVar(varName) { - const name = varName.startsWith('--') ? varName : `--${varName}`; - return getComputedStyle(document.documentElement).getPropertyValue(name).trim(); - }, - /** - * Get theme-aware colors for vector maps - * - * @returns {Object} Vector map color configuration - * @property {string} backgroundColor - Map background color - * @property {string} borderColor - Border color - * @property {string} regionColor - Default region fill color - * @property {string} markerFill - Marker fill color - * @property {string} markerStroke - Marker stroke color - * @property {string} hoverColor - Region hover color - * @property {string} selectedColor - Selected region color - * @property {string} scaleStart - Scale gradient start - * @property {string} scaleEnd - Scale gradient end - */ - getVectorMapColors() { - return { - backgroundColor: this.getCSSVar('--vmap-bg-color'), - borderColor: this.getCSSVar('--vmap-border-color'), - regionColor: this.getCSSVar('--vmap-region-color'), - markerFill: this.getCSSVar('--vmap-marker-fill'), - markerStroke: this.getCSSVar('--vmap-marker-stroke'), - hoverColor: this.getCSSVar('--vmap-hover-color'), - selectedColor: this.getCSSVar('--vmap-selected-color'), - scaleStart: this.getCSSVar('--vmap-scale-start'), - scaleEnd: this.getCSSVar('--vmap-scale-end'), - scaleLight: this.getCSSVar('--vmap-scale-light'), - scaleDark: this.getCSSVar('--vmap-scale-dark') - }; - }, - /** - * Get theme-aware colors for sparkline charts - * - * @returns {Object} Sparkline color configuration - */ - getSparklineColors() { - return { - success: this.getCSSVar('--sparkline-success'), - purple: this.getCSSVar('--sparkline-purple'), - info: this.getCSSVar('--sparkline-info'), - danger: this.getCSSVar('--sparkline-danger'), - light: this.getCSSVar('--sparkline-light') - }; - }, - /** - * Get theme-aware colors for Chart.js charts - * - * @returns {Object} Chart color configuration - * @property {string} textColor - Main text color - * @property {string} mutedColor - Muted/secondary text color - * @property {string} borderColor - Border color - * @property {string} gridColor - Grid line color - * @property {string} tooltipBg - Tooltip background color - */ - getChartColors() { - const isDark = this.current() === 'dark'; - return { - textColor: isDark ? '#FFFFFF' : '#212529', - mutedColor: isDark ? '#D1D5DB' : '#6C757D', - borderColor: isDark ? '#374151' : '#E2E5E8', - gridColor: isDark ? 'rgba(209, 213, 219, 0.15)' : 'rgba(0, 0, 0, 0.05)', - tooltipBg: isDark ? '#1F2937' : 'rgba(255, 255, 255, 0.95)' - }; - }, - /** - * Check if dark mode is currently active - * - * @returns {boolean} True if dark mode is active - * - * @example - * if (Theme.isDark()) { - * // Apply dark-specific styles - * } - */ - isDark() { - return this.current() === 'dark'; - }, - /** - * Check if light mode is currently active - * - * @returns {boolean} True if light mode is active - */ - isLight() { - return this.current() === 'light'; - } -}; -/* harmony default export */ const theme = (Theme); -;// ../assets/scripts/utils/events.js -/** - * Adminator Event Utilities - * Provides efficient event handling with delegation and cleanup - * - * @module utils/events - */ - -/** - * Store for event handlers to enable proper cleanup - * @type {WeakMap>>} - */ -const handlerRegistry = new WeakMap(); - -/** - * Store for AbortControllers to enable easy cleanup - * @type {WeakMap} - */ -const controllerRegistry = new WeakMap(); - -/** - * Event utilities namespace - * @namespace - */ -const Events = { - /** - * Add an event listener with automatic cleanup support - * Uses AbortController for efficient removal - * - * @param {Element} element - Target element - * @param {string} event - Event type - * @param {Function} handler - Event handler - * @param {Object} [options={}] - Event listener options - * @returns {Function} Cleanup function to remove the listener - * - * @example - * const cleanup = Events.on(button, 'click', handleClick); - * // Later: cleanup() to remove - */ - on(element, event, handler) { - let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - if (!element) return () => {}; - - // Get or create AbortController for this element - let controller = controllerRegistry.get(element); - if (!controller) { - controller = new AbortController(); - controllerRegistry.set(element, controller); - } - - // Register handler - if (!handlerRegistry.has(element)) { - handlerRegistry.set(element, new Map()); - } - const elementHandlers = handlerRegistry.get(element); - if (!elementHandlers.has(event)) { - elementHandlers.set(event, new Set()); - } - elementHandlers.get(event).add(handler); - - // Add listener with abort signal - element.addEventListener(event, handler, { - ...options, - signal: controller.signal - }); - - // Return cleanup function - return () => { - var _handlerRegistry$get; - element.removeEventListener(event, handler, options); - const handlers = (_handlerRegistry$get = handlerRegistry.get(element)) === null || _handlerRegistry$get === void 0 ? void 0 : _handlerRegistry$get.get(event); - if (handlers) { - handlers.delete(handler); - } - }; - }, - /** - * Remove all event listeners from an element - * - * @param {Element} element - Target element - * - * @example - * Events.off(element); // Removes all listeners - */ - off(element) { - if (!element) return; - const controller = controllerRegistry.get(element); - if (controller) { - controller.abort(); - controllerRegistry.delete(element); - } - handlerRegistry.delete(element); - }, - /** - * Add event delegation - listen on parent for events from children - * More efficient than adding listeners to many elements - * - * @param {Element} parent - Parent element to listen on - * @param {string} event - Event type - * @param {string} selector - CSS selector for target elements - * @param {Function} handler - Event handler (receives event and matched element) - * @param {Object} [options={}] - Event listener options - * @returns {Function} Cleanup function - * - * @example - * // Instead of adding click to every .btn - * Events.delegate(container, 'click', '.btn', (e, btn) => { - * console.log('Button clicked:', btn); - * }); - */ - delegate(parent, event, selector, handler) { - let options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {}; - if (!parent) return () => {}; - const delegatedHandler = e => { - const target = e.target.closest(selector); - if (target && parent.contains(target)) { - handler.call(target, e, target); - } - }; - return this.on(parent, event, delegatedHandler, options); - }, - /** - * Add a one-time event listener - * - * @param {Element} element - Target element - * @param {string} event - Event type - * @param {Function} handler - Event handler - * @returns {Function} Cleanup function - * - * @example - * Events.once(button, 'click', handleFirstClick); - */ - once(element, event, handler) { - return this.on(element, event, handler, { - once: true - }); - }, - /** - * Create a debounced event handler - * - * @param {Function} handler - Original handler - * @param {number} [delay=250] - Debounce delay in ms - * @returns {Function} Debounced handler - * - * @example - * const debouncedResize = Events.debounce(handleResize, 200); - * window.addEventListener('resize', debouncedResize); - */ - debounce(handler) { - let delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 250; - let timeoutId; - return function debounced() { - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - clearTimeout(timeoutId); - timeoutId = setTimeout(() => handler.apply(this, args), delay); - }; - }, - /** - * Create a throttled event handler - * - * @param {Function} handler - Original handler - * @param {number} [limit=250] - Throttle limit in ms - * @returns {Function} Throttled handler - * - * @example - * const throttledScroll = Events.throttle(handleScroll, 100); - * window.addEventListener('scroll', throttledScroll); - */ - throttle(handler) { - let limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 250; - let inThrottle; - return function throttled() { - if (!inThrottle) { - for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - handler.apply(this, args); - inThrottle = true; - setTimeout(() => inThrottle = false, limit); - } - }; - }, - /** - * Dispatch a custom event - * - * @param {Element|Window} target - Target to dispatch on - * @param {string} eventName - Event name - * @param {Object} [detail={}] - Event detail data - * @param {Object} [options={}] - Event options (bubbles, cancelable) - * @returns {boolean} Whether the event was not cancelled - * - * @example - * Events.emit(element, 'custom:event', { data: 'value' }); - */ - emit(target, eventName) { - let detail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - const event = new CustomEvent(eventName, { - detail, - bubbles: options.bubbles ?? true, - cancelable: options.cancelable ?? true - }); - return target.dispatchEvent(event); - } -}; -/* harmony default export */ const events = (Events); -;// ../assets/scripts/utils/performance.js -/** - * Adminator Performance Utilities - * Provides ResizeObserver, IntersectionObserver, and lazy loading utilities - * - * @module utils/performance - */ - -/** - * Store for ResizeObserver instances - * @type {WeakMap} - */ -const resizeCallbacks = new WeakMap(); - -/** - * Shared ResizeObserver instance for efficiency - * @type {ResizeObserver|null} - */ -let sharedResizeObserver = null; - -/** - * Store for IntersectionObserver callbacks - * @type {WeakMap} - */ -const intersectionCallbacks = new WeakMap(); - -/** - * Map of IntersectionObservers by threshold - * @type {Map} - */ -const intersectionObservers = new Map(); - -/** - * Performance utilities namespace - * @namespace - */ -const Performance = { - /** - * Observe element resize events efficiently - * Uses shared ResizeObserver for better performance - * - * @param {Element} element - Element to observe - * @param {Function} callback - Callback receiving { width, height, entry } - * @returns {Function} Cleanup function to stop observing - * - * @example - * const unobserve = Performance.onResize(chart, ({ width, height }) => { - * chart.resize(width, height); - * }); - */ - onResize(element, callback) { - if (!element || typeof callback !== 'function') { - return () => {}; - } - - // Create shared observer if needed - if (!sharedResizeObserver) { - sharedResizeObserver = new ResizeObserver(entries => { - for (const entry of entries) { - const cb = resizeCallbacks.get(entry.target); - if (cb) { - const { - width, - height - } = entry.contentRect; - cb({ - width, - height, - entry - }); - } - } - }); - } - - // Store callback and observe - resizeCallbacks.set(element, callback); - sharedResizeObserver.observe(element); - - // Return cleanup function - return () => { - var _sharedResizeObserver; - resizeCallbacks.delete(element); - (_sharedResizeObserver = sharedResizeObserver) === null || _sharedResizeObserver === void 0 || _sharedResizeObserver.unobserve(element); - }; - }, - /** - * Observe when element enters/exits viewport - * Useful for lazy loading and animations - * - * @param {Element} element - Element to observe - * @param {Function} callback - Callback receiving { isIntersecting, entry } - * @param {Object} [options={}] - IntersectionObserver options - * @param {number} [options.threshold=0] - Visibility threshold (0-1) - * @param {string} [options.rootMargin='0px'] - Root margin - * @returns {Function} Cleanup function to stop observing - * - * @example - * const unobserve = Performance.onVisible(element, ({ isIntersecting }) => { - * if (isIntersecting) { - * loadContent(); - * unobserve(); // Stop after first trigger - * } - * }); - */ - onVisible(element, callback) { - let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - if (!element || typeof callback !== 'function') { - return () => {}; - } - const { - threshold = 0, - rootMargin = '0px' - } = options; - const key = `${threshold}-${rootMargin}`; - - // Get or create observer for this threshold - if (!intersectionObservers.has(key)) { - const observer = new IntersectionObserver(entries => { - for (const entry of entries) { - const cb = intersectionCallbacks.get(entry.target); - if (cb) { - cb({ - isIntersecting: entry.isIntersecting, - ratio: entry.intersectionRatio, - entry - }); - } - } - }, { - threshold, - rootMargin - }); - intersectionObservers.set(key, observer); - } - const observer = intersectionObservers.get(key); - - // Store callback and observe - intersectionCallbacks.set(element, callback); - observer.observe(element); - - // Return cleanup function - return () => { - intersectionCallbacks.delete(element); - observer.unobserve(element); - }; - }, - /** - * Lazy load an element when it becomes visible - * Automatically handles cleanup after loading - * - * @param {Element} element - Element to lazy load - * @param {Function} loadFn - Function to call when visible - * @param {Object} [options={}] - Options - * @param {string} [options.rootMargin='100px'] - Preload margin - * @returns {Function} Cleanup function - * - * @example - * Performance.lazyLoad(chartContainer, () => { - * initializeChart(chartContainer); - * }); - */ - lazyLoad(element, loadFn) { - let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - const { - rootMargin = '100px' - } = options; - let loaded = false; - const unobserve = this.onVisible(element, _ref => { - let { - isIntersecting - } = _ref; - if (isIntersecting && !loaded) { - loaded = true; - loadFn(); - unobserve(); - } - }, { - rootMargin - }); - return unobserve; - }, - /** - * Batch DOM reads and writes to prevent layout thrashing - * - * @param {Function} readFn - Function that reads from DOM - * @param {Function} writeFn - Function that writes to DOM - * - * @example - * Performance.batch( - * () => element.offsetHeight, // Read - * (height) => element.style.minHeight = height + 'px' // Write - * ); - */ - batch(readFn, writeFn) { - // Use requestAnimationFrame for batching - requestAnimationFrame(() => { - const value = readFn(); - requestAnimationFrame(() => { - writeFn(value); - }); - }); - }, - /** - * Execute callback on next animation frame - * - * @param {Function} callback - Function to execute - * @returns {number} Request ID for cancellation - * - * @example - * const id = Performance.nextFrame(() => updateUI()); - * // Cancel: cancelAnimationFrame(id); - */ - nextFrame(callback) { - return requestAnimationFrame(callback); - }, - /** - * Execute callback when browser is idle - * Falls back to setTimeout if requestIdleCallback not available - * - * @param {Function} callback - Function to execute - * @param {Object} [options={}] - Options - * @param {number} [options.timeout=1000] - Maximum wait time - * @returns {number} Request ID for cancellation - * - * @example - * Performance.whenIdle(() => { - * // Non-critical work - * preloadNextPage(); - * }); - */ - whenIdle(callback) { - let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - const { - timeout = 1000 - } = options; - if ('requestIdleCallback' in window) { - return requestIdleCallback(callback, { - timeout - }); - } - - // Fallback for Safari - return setTimeout(callback, 1); - }, - /** - * Cancel an idle callback - * - * @param {number} id - Request ID from whenIdle - */ - cancelIdle(id) { - if ('cancelIdleCallback' in window) { - cancelIdleCallback(id); - } else { - clearTimeout(id); - } - }, - /** - * Preload a resource (image, script, etc.) - * - * @param {string} url - URL to preload - * @param {string} [as='image'] - Resource type (image, script, style, font) - * @returns {Promise} Resolves when loaded - * - * @example - * await Performance.preload('/images/hero.jpg', 'image'); - */ - preload(url) { - let as = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'image'; - return new Promise((resolve, reject) => { - const link = document.createElement('link'); - link.rel = 'preload'; - link.as = as; - link.href = url; - link.onload = resolve; - link.onerror = reject; - document.head.appendChild(link); - }); - }, - /** - * Measure execution time of a function - * - * @param {string} label - Label for the measurement - * @param {Function} fn - Function to measure - * @returns {*} Return value of the function - * - * @example - * const result = Performance.measure('render', () => renderChart()); - */ - measure(label, fn) { - const start = performance.now(); - const result = fn(); - const end = performance.now(); - if (false) // removed by dead control flow -{} - return result; - }, - /** - * Cleanup all observers - * Call this when destroying the app - */ - cleanup() { - // Cleanup resize observer - if (sharedResizeObserver) { - sharedResizeObserver.disconnect(); - sharedResizeObserver = null; - } - - // Cleanup intersection observers - for (const observer of intersectionObservers.values()) { - observer.disconnect(); - } - intersectionObservers.clear(); - } -}; -/* harmony default export */ const utils_performance = (Performance); -;// ../assets/scripts/utils/logger.js -/** - * Adminator Logger Utility - * Development-only logging utility for debugging - * - * @module utils/logger - */ - -/** - * Check if we're in development mode - * @returns {boolean} - */ -const isDev = () => { - try { - return false || window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1'; - } catch { - return false; - } -}; - -/** - * Logger object with development-only output - * All methods are no-ops in production for zero overhead - */ -const Logger = { - /** - * Log informational messages (development only) - * @param {string} message - The message to log - * @param {Object} [context] - Additional context data - */ - info(message, context) { - if (isDev()) { - console.info(`[Adminator] ${message}`, context || ''); - } - }, - /** - * Log warning messages (development only) - * @param {string} message - The warning message - * @param {Object} [context] - Additional context data - */ - warn(message, context) { - if (isDev()) { - console.warn(`[Adminator] ${message}`, context || ''); - } - }, - /** - * Log error messages (development only) - * @param {string} message - The error message - * @param {Error|Object} [context] - Error object or context data - */ - error(message, context) { - if (isDev()) { - console.error(`[Adminator] ${message}`, context || ''); - } - }, - /** - * Log debug messages (development only) - * @param {string} message - The debug message - * @param {Object} [context] - Additional context data - */ - debug(message, context) { - if (isDev()) { - console.debug(`[Adminator] ${message}`, context || ''); - } - }, - /** - * Group related log messages (development only) - * @param {string} label - Group label - */ - group(label) { - if (isDev()) { - console.group(`[Adminator] ${label}`); - } - }, - /** - * End a log group (development only) - */ - groupEnd() { - if (isDev()) { - console.groupEnd(); - } - }, - /** - * Log with timing information (development only) - * @param {string} label - Timer label - */ - time(label) { - if (isDev()) { - console.time(`[Adminator] ${label}`); - } - }, - /** - * End timing and log result (development only) - * @param {string} label - Timer label (must match time() call) - */ - timeEnd(label) { - if (isDev()) { - console.timeEnd(`[Adminator] ${label}`); - } - }, - /** - * Log a table of data (development only) - * @param {Array|Object} data - Data to display as table - */ - table(data) { - if (isDev()) { - console.table(data); - } - } -}; -/* harmony default export */ const logger = (Logger); -;// ../assets/scripts/components/Sidebar.js -/** - * Modern Sidebar Component - * Replaces jQuery-based sidebar functionality with vanilla JavaScript - */ - -class Sidebar { - constructor() { - this.sidebar = document.querySelector('.sidebar'); - this.sidebarMenu = document.querySelector('.sidebar .sidebar-menu'); - this.sidebarToggleLinks = document.querySelectorAll('.sidebar-toggle a'); - this.sidebarToggleById = document.querySelector('#sidebar-toggle'); - this.app = document.querySelector('.app'); - this.init(); - } - init() { - if (!this.sidebar || !this.sidebarMenu) { - return; - } - this.setupMenuToggle(); - this.setupSidebarToggle(); - this.setActiveLink(); - } - - /** - * Setup dropdown menu functionality - */ - setupMenuToggle() { - const menuLinks = this.sidebarMenu.querySelectorAll('li a'); - menuLinks.forEach(link => { - link.addEventListener('click', e => { - const listItem = link.parentElement; - const dropdownMenu = listItem.querySelector('.dropdown-menu'); - - // If this is a regular navigation link (not dropdown), allow normal navigation - if (!dropdownMenu) { - // Don't prevent default for regular navigation links - return; - } - - // Only prevent default for dropdown toggles - e.preventDefault(); - if (listItem.classList.contains('open')) { - this.closeDropdown(listItem, dropdownMenu); - } else { - this.closeAllDropdowns(); - this.openDropdown(listItem, dropdownMenu); - } - }); - }); - } - - /** - * Open dropdown with smooth animation - */ - openDropdown(listItem, dropdownMenu) { - listItem.classList.add('open'); - dropdownMenu.style.display = 'block'; - dropdownMenu.style.height = '0px'; - dropdownMenu.style.overflow = 'hidden'; - - // Get the natural height - const height = dropdownMenu.scrollHeight; - - // Animate to full height - dropdownMenu.animate([{ - height: '0px' - }, { - height: `${height}px` - }], { - duration: 200, - easing: 'ease-out' - }).onfinish = () => { - dropdownMenu.style.height = 'auto'; - dropdownMenu.style.overflow = 'visible'; - }; - } - - /** - * Close dropdown with smooth animation - */ - closeDropdown(listItem, dropdownMenu) { - const height = dropdownMenu.scrollHeight; - dropdownMenu.style.height = `${height}px`; - dropdownMenu.style.overflow = 'hidden'; - dropdownMenu.animate([{ - height: `${height}px` - }, { - height: '0px' - }], { - duration: 200, - easing: 'ease-in' - }).onfinish = () => { - listItem.classList.remove('open'); - dropdownMenu.style.display = 'none'; - dropdownMenu.style.height = ''; - dropdownMenu.style.overflow = ''; - }; - } - - /** - * Close all open dropdowns - */ - closeAllDropdowns() { - const openItems = this.sidebarMenu.querySelectorAll('li.open'); - openItems.forEach(item => { - const dropdownMenu = item.querySelector('.dropdown-menu'); - if (dropdownMenu) { - this.closeDropdown(item, dropdownMenu); - } - - // Also remove the has-active-child class - item.classList.remove('has-active-child'); - }); - } - - /** - * Setup sidebar toggle functionality - */ - setupSidebarToggle() { - // Handle mobile sidebar toggle links (inside .sidebar-toggle divs) - this.sidebarToggleLinks.forEach(link => { - if (link && this.app) { - link.addEventListener('click', e => { - e.preventDefault(); - this.toggleSidebar(); - }); - } - }); - - // Handle the main topbar sidebar toggle - if (this.sidebarToggleById && this.app) { - this.sidebarToggleById.addEventListener('click', e => { - e.preventDefault(); - this.toggleSidebar(); - }); - } - } - - /** - * Toggle sidebar and handle resize events properly - */ - toggleSidebar() { - this.app.classList.toggle('is-collapsed'); - - // Only trigger resize for masonry, but avoid chart redraw issues - setTimeout(() => { - // Dispatch a custom event instead of generic resize to avoid chart issues - window.dispatchEvent(new CustomEvent('sidebar:toggle', { - detail: { - collapsed: this.app.classList.contains('is-collapsed') - } - })); - - // Still trigger resize for masonry but with a specific check - if (window.EVENT) { - window.dispatchEvent(window.EVENT); - } - }, 300); - } - - /** - * Set active link based on current URL - */ - setActiveLink() { - // Remove active class from all nav items (including dropdown items) - const allNavItems = this.sidebar.querySelectorAll('.nav-item'); - allNavItems.forEach(item => { - item.classList.remove('actived'); - }); - - // Close all dropdowns first - this.closeAllDropdowns(); - - // Get current page filename - const currentPath = window.location.pathname; - const currentPage = currentPath.split('/').pop() || 'index.html'; - - // Find and activate the correct nav item - const allLinks = this.sidebar.querySelectorAll('a[href]'); - allLinks.forEach(link => { - const href = link.getAttribute('href'); - if (!href || href === 'javascript:void(0);' || href === 'javascript:void(0)') return; - - // Extract filename from href - const linkPage = href.split('/').pop(); - if (linkPage === currentPage) { - const navItem = link.closest('.nav-item'); - if (navItem) { - navItem.classList.add('actived'); - - // If this is inside a dropdown, handle parent dropdown specially - const parentDropdown = navItem.closest('.dropdown-menu'); - if (parentDropdown) { - const parentDropdownItem = parentDropdown.closest('.nav-item.dropdown'); - if (parentDropdownItem) { - // Open the parent dropdown - parentDropdownItem.classList.add('open'); - parentDropdown.style.display = 'block'; - - // Add special styling to indicate parent has active child - parentDropdownItem.classList.add('has-active-child'); - } - } - } - } - }); - } - - /** - * Public method to refresh active links (useful for SPA navigation) - */ - refreshActiveLink() { - this.setActiveLink(); - } - - /** - * Public method to toggle sidebar programmatically - */ - toggle() { - if (this.app) { - this.app.classList.toggle('is-collapsed'); - } - } - - /** - * Public method to check if sidebar is collapsed - */ - isCollapsed() { - return this.app ? this.app.classList.contains('is-collapsed') : false; - } -} -/* harmony default export */ const components_Sidebar = (Sidebar); -;// ../../node_modules/@kurkle/color/dist/color.esm.js -/*! - * @kurkle/color v0.3.4 - * https://github.com/kurkle/color#readme - * (c) 2024 Jukka Kurkela - * Released under the MIT License - */ -function round(v) { - return v + 0.5 | 0; -} -const lim = (v, l, h) => Math.max(Math.min(v, h), l); -function p2b(v) { - return lim(round(v * 2.55), 0, 255); -} -function b2p(v) { - return lim(round(v / 2.55), 0, 100); -} -function n2b(v) { - return lim(round(v * 255), 0, 255); -} -function b2n(v) { - return lim(round(v / 2.55) / 100, 0, 1); -} -function n2p(v) { - return lim(round(v * 100), 0, 100); -} - -const map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15}; -const hex = [...'0123456789ABCDEF']; -const h1 = b => hex[b & 0xF]; -const h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF]; -const eq = b => ((b & 0xF0) >> 4) === (b & 0xF); -const isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a); -function hexParse(str) { - var len = str.length; - var ret; - if (str[0] === '#') { - if (len === 4 || len === 5) { - ret = { - r: 255 & map$1[str[1]] * 17, - g: 255 & map$1[str[2]] * 17, - b: 255 & map$1[str[3]] * 17, - a: len === 5 ? map$1[str[4]] * 17 : 255 - }; - } else if (len === 7 || len === 9) { - ret = { - r: map$1[str[1]] << 4 | map$1[str[2]], - g: map$1[str[3]] << 4 | map$1[str[4]], - b: map$1[str[5]] << 4 | map$1[str[6]], - a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255 - }; - } - } - return ret; -} -const alpha = (a, f) => a < 255 ? f(a) : ''; -function hexString(v) { - var f = isShort(v) ? h1 : h2; - return v - ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f) - : undefined; -} - -const HUE_RE = /^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/; -function hsl2rgbn(h, s, l) { - const a = s * Math.min(l, 1 - l); - const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1); - return [f(0), f(8), f(4)]; -} -function hsv2rgbn(h, s, v) { - const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0); - return [f(5), f(3), f(1)]; -} -function hwb2rgbn(h, w, b) { - const rgb = hsl2rgbn(h, 1, 0.5); - let i; - if (w + b > 1) { - i = 1 / (w + b); - w *= i; - b *= i; - } - for (i = 0; i < 3; i++) { - rgb[i] *= 1 - w - b; - rgb[i] += w; - } - return rgb; -} -function hueValue(r, g, b, d, max) { - if (r === max) { - return ((g - b) / d) + (g < b ? 6 : 0); - } - if (g === max) { - return (b - r) / d + 2; - } - return (r - g) / d + 4; -} -function rgb2hsl(v) { - const range = 255; - const r = v.r / range; - const g = v.g / range; - const b = v.b / range; - const max = Math.max(r, g, b); - const min = Math.min(r, g, b); - const l = (max + min) / 2; - let h, s, d; - if (max !== min) { - d = max - min; - s = l > 0.5 ? d / (2 - max - min) : d / (max + min); - h = hueValue(r, g, b, d, max); - h = h * 60 + 0.5; - } - return [h | 0, s || 0, l]; -} -function calln(f, a, b, c) { - return ( - Array.isArray(a) - ? f(a[0], a[1], a[2]) - : f(a, b, c) - ).map(n2b); -} -function hsl2rgb(h, s, l) { - return calln(hsl2rgbn, h, s, l); -} -function hwb2rgb(h, w, b) { - return calln(hwb2rgbn, h, w, b); -} -function hsv2rgb(h, s, v) { - return calln(hsv2rgbn, h, s, v); -} -function hue(h) { - return (h % 360 + 360) % 360; -} -function hueParse(str) { - const m = HUE_RE.exec(str); - let a = 255; - let v; - if (!m) { - return; - } - if (m[5] !== v) { - a = m[6] ? p2b(+m[5]) : n2b(+m[5]); - } - const h = hue(+m[2]); - const p1 = +m[3] / 100; - const p2 = +m[4] / 100; - if (m[1] === 'hwb') { - v = hwb2rgb(h, p1, p2); - } else if (m[1] === 'hsv') { - v = hsv2rgb(h, p1, p2); - } else { - v = hsl2rgb(h, p1, p2); - } - return { - r: v[0], - g: v[1], - b: v[2], - a: a - }; -} -function rotate(v, deg) { - var h = rgb2hsl(v); - h[0] = hue(h[0] + deg); - h = hsl2rgb(h); - v.r = h[0]; - v.g = h[1]; - v.b = h[2]; -} -function hslString(v) { - if (!v) { - return; - } - const a = rgb2hsl(v); - const h = a[0]; - const s = n2p(a[1]); - const l = n2p(a[2]); - return v.a < 255 - ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})` - : `hsl(${h}, ${s}%, ${l}%)`; -} - -const map = { - x: 'dark', - Z: 'light', - Y: 're', - X: 'blu', - W: 'gr', - V: 'medium', - U: 'slate', - A: 'ee', - T: 'ol', - S: 'or', - B: 'ra', - C: 'lateg', - D: 'ights', - R: 'in', - Q: 'turquois', - E: 'hi', - P: 'ro', - O: 'al', - N: 'le', - M: 'de', - L: 'yello', - F: 'en', - K: 'ch', - G: 'arks', - H: 'ea', - I: 'ightg', - J: 'wh' -}; -const names$1 = { - OiceXe: 'f0f8ff', - antiquewEte: 'faebd7', - aqua: 'ffff', - aquamarRe: '7fffd4', - azuY: 'f0ffff', - beige: 'f5f5dc', - bisque: 'ffe4c4', - black: '0', - blanKedOmond: 'ffebcd', - Xe: 'ff', - XeviTet: '8a2be2', - bPwn: 'a52a2a', - burlywood: 'deb887', - caMtXe: '5f9ea0', - KartYuse: '7fff00', - KocTate: 'd2691e', - cSO: 'ff7f50', - cSnflowerXe: '6495ed', - cSnsilk: 'fff8dc', - crimson: 'dc143c', - cyan: 'ffff', - xXe: '8b', - xcyan: '8b8b', - xgTMnPd: 'b8860b', - xWay: 'a9a9a9', - xgYF: '6400', - xgYy: 'a9a9a9', - xkhaki: 'bdb76b', - xmagFta: '8b008b', - xTivegYF: '556b2f', - xSange: 'ff8c00', - xScEd: '9932cc', - xYd: '8b0000', - xsOmon: 'e9967a', - xsHgYF: '8fbc8f', - xUXe: '483d8b', - xUWay: '2f4f4f', - xUgYy: '2f4f4f', - xQe: 'ced1', - xviTet: '9400d3', - dAppRk: 'ff1493', - dApskyXe: 'bfff', - dimWay: '696969', - dimgYy: '696969', - dodgerXe: '1e90ff', - fiYbrick: 'b22222', - flSOwEte: 'fffaf0', - foYstWAn: '228b22', - fuKsia: 'ff00ff', - gaRsbSo: 'dcdcdc', - ghostwEte: 'f8f8ff', - gTd: 'ffd700', - gTMnPd: 'daa520', - Way: '808080', - gYF: '8000', - gYFLw: 'adff2f', - gYy: '808080', - honeyMw: 'f0fff0', - hotpRk: 'ff69b4', - RdianYd: 'cd5c5c', - Rdigo: '4b0082', - ivSy: 'fffff0', - khaki: 'f0e68c', - lavFMr: 'e6e6fa', - lavFMrXsh: 'fff0f5', - lawngYF: '7cfc00', - NmoncEffon: 'fffacd', - ZXe: 'add8e6', - ZcSO: 'f08080', - Zcyan: 'e0ffff', - ZgTMnPdLw: 'fafad2', - ZWay: 'd3d3d3', - ZgYF: '90ee90', - ZgYy: 'd3d3d3', - ZpRk: 'ffb6c1', - ZsOmon: 'ffa07a', - ZsHgYF: '20b2aa', - ZskyXe: '87cefa', - ZUWay: '778899', - ZUgYy: '778899', - ZstAlXe: 'b0c4de', - ZLw: 'ffffe0', - lime: 'ff00', - limegYF: '32cd32', - lRF: 'faf0e6', - magFta: 'ff00ff', - maPon: '800000', - VaquamarRe: '66cdaa', - VXe: 'cd', - VScEd: 'ba55d3', - VpurpN: '9370db', - VsHgYF: '3cb371', - VUXe: '7b68ee', - VsprRggYF: 'fa9a', - VQe: '48d1cc', - VviTetYd: 'c71585', - midnightXe: '191970', - mRtcYam: 'f5fffa', - mistyPse: 'ffe4e1', - moccasR: 'ffe4b5', - navajowEte: 'ffdead', - navy: '80', - Tdlace: 'fdf5e6', - Tive: '808000', - TivedBb: '6b8e23', - Sange: 'ffa500', - SangeYd: 'ff4500', - ScEd: 'da70d6', - pOegTMnPd: 'eee8aa', - pOegYF: '98fb98', - pOeQe: 'afeeee', - pOeviTetYd: 'db7093', - papayawEp: 'ffefd5', - pHKpuff: 'ffdab9', - peru: 'cd853f', - pRk: 'ffc0cb', - plum: 'dda0dd', - powMrXe: 'b0e0e6', - purpN: '800080', - YbeccapurpN: '663399', - Yd: 'ff0000', - Psybrown: 'bc8f8f', - PyOXe: '4169e1', - saddNbPwn: '8b4513', - sOmon: 'fa8072', - sandybPwn: 'f4a460', - sHgYF: '2e8b57', - sHshell: 'fff5ee', - siFna: 'a0522d', - silver: 'c0c0c0', - skyXe: '87ceeb', - UXe: '6a5acd', - UWay: '708090', - UgYy: '708090', - snow: 'fffafa', - sprRggYF: 'ff7f', - stAlXe: '4682b4', - tan: 'd2b48c', - teO: '8080', - tEstN: 'd8bfd8', - tomato: 'ff6347', - Qe: '40e0d0', - viTet: 'ee82ee', - JHt: 'f5deb3', - wEte: 'ffffff', - wEtesmoke: 'f5f5f5', - Lw: 'ffff00', - LwgYF: '9acd32' -}; -function unpack() { - const unpacked = {}; - const keys = Object.keys(names$1); - const tkeys = Object.keys(map); - let i, j, k, ok, nk; - for (i = 0; i < keys.length; i++) { - ok = nk = keys[i]; - for (j = 0; j < tkeys.length; j++) { - k = tkeys[j]; - nk = nk.replace(k, map[k]); - } - k = parseInt(names$1[ok], 16); - unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF]; - } - return unpacked; -} - -let names; -function nameParse(str) { - if (!names) { - names = unpack(); - names.transparent = [0, 0, 0, 0]; - } - const a = names[str.toLowerCase()]; - return a && { - r: a[0], - g: a[1], - b: a[2], - a: a.length === 4 ? a[3] : 255 - }; -} - -const RGB_RE = /^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/; -function rgbParse(str) { - const m = RGB_RE.exec(str); - let a = 255; - let r, g, b; - if (!m) { - return; - } - if (m[7] !== r) { - const v = +m[7]; - a = m[8] ? p2b(v) : lim(v * 255, 0, 255); - } - r = +m[1]; - g = +m[3]; - b = +m[5]; - r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255)); - g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255)); - b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255)); - return { - r: r, - g: g, - b: b, - a: a - }; -} -function rgbString(v) { - return v && ( - v.a < 255 - ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})` - : `rgb(${v.r}, ${v.g}, ${v.b})` - ); -} - -const to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055; -const from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4); -function interpolate(rgb1, rgb2, t) { - const r = from(b2n(rgb1.r)); - const g = from(b2n(rgb1.g)); - const b = from(b2n(rgb1.b)); - return { - r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))), - g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))), - b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))), - a: rgb1.a + t * (rgb2.a - rgb1.a) - }; -} - -function modHSL(v, i, ratio) { - if (v) { - let tmp = rgb2hsl(v); - tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1)); - tmp = hsl2rgb(tmp); - v.r = tmp[0]; - v.g = tmp[1]; - v.b = tmp[2]; - } -} -function clone(v, proto) { - return v ? Object.assign(proto || {}, v) : v; -} -function fromObject(input) { - var v = {r: 0, g: 0, b: 0, a: 255}; - if (Array.isArray(input)) { - if (input.length >= 3) { - v = {r: input[0], g: input[1], b: input[2], a: 255}; - if (input.length > 3) { - v.a = n2b(input[3]); - } - } - } else { - v = clone(input, {r: 0, g: 0, b: 0, a: 1}); - v.a = n2b(v.a); - } - return v; -} -function functionParse(str) { - if (str.charAt(0) === 'r') { - return rgbParse(str); - } - return hueParse(str); -} -class Color { - constructor(input) { - if (input instanceof Color) { - return input; - } - const type = typeof input; - let v; - if (type === 'object') { - v = fromObject(input); - } else if (type === 'string') { - v = hexParse(input) || nameParse(input) || functionParse(input); - } - this._rgb = v; - this._valid = !!v; - } - get valid() { - return this._valid; - } - get rgb() { - var v = clone(this._rgb); - if (v) { - v.a = b2n(v.a); - } - return v; - } - set rgb(obj) { - this._rgb = fromObject(obj); - } - rgbString() { - return this._valid ? rgbString(this._rgb) : undefined; - } - hexString() { - return this._valid ? hexString(this._rgb) : undefined; - } - hslString() { - return this._valid ? hslString(this._rgb) : undefined; - } - mix(color, weight) { - if (color) { - const c1 = this.rgb; - const c2 = color.rgb; - let w2; - const p = weight === w2 ? 0.5 : weight; - const w = 2 * p - 1; - const a = c1.a - c2.a; - const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0; - w2 = 1 - w1; - c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5; - c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5; - c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5; - c1.a = p * c1.a + (1 - p) * c2.a; - this.rgb = c1; - } - return this; - } - interpolate(color, t) { - if (color) { - this._rgb = interpolate(this._rgb, color._rgb, t); - } - return this; - } - clone() { - return new Color(this.rgb); - } - alpha(a) { - this._rgb.a = n2b(a); - return this; - } - clearer(ratio) { - const rgb = this._rgb; - rgb.a *= 1 - ratio; - return this; - } - greyscale() { - const rgb = this._rgb; - const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11); - rgb.r = rgb.g = rgb.b = val; - return this; - } - opaquer(ratio) { - const rgb = this._rgb; - rgb.a *= 1 + ratio; - return this; - } - negate() { - const v = this._rgb; - v.r = 255 - v.r; - v.g = 255 - v.g; - v.b = 255 - v.b; - return this; - } - lighten(ratio) { - modHSL(this._rgb, 2, ratio); - return this; - } - darken(ratio) { - modHSL(this._rgb, 2, -ratio); - return this; - } - saturate(ratio) { - modHSL(this._rgb, 1, ratio); - return this; - } - desaturate(ratio) { - modHSL(this._rgb, 1, -ratio); - return this; - } - rotate(deg) { - rotate(this._rgb, deg); - return this; - } -} - -function index_esm(input) { - return new Color(input); -} - - - -;// ../../node_modules/chart.js/dist/chunks/helpers.dataset.js -/*! - * Chart.js v4.5.1 - * https://www.chartjs.org - * (c) 2025 Chart.js Contributors - * Released under the MIT License - */ - - -/** - * @namespace Chart.helpers - */ /** - * An empty function that can be used, for example, for optional callback. - */ function noop() { -/* noop */ } -/** - * Returns a unique id, sequentially generated from a global variable. - */ const uid = (()=>{ - let id = 0; - return ()=>id++; -})(); -/** - * Returns true if `value` is neither null nor undefined, else returns false. - * @param value - The value to test. - * @since 2.7.0 - */ function isNullOrUndef(value) { - return value === null || value === undefined; -} -/** - * Returns true if `value` is an array (including typed arrays), else returns false. - * @param value - The value to test. - * @function - */ function isArray(value) { - if (Array.isArray && Array.isArray(value)) { - return true; - } - const type = Object.prototype.toString.call(value); - if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') { - return true; - } - return false; -} -/** - * Returns true if `value` is an object (excluding null), else returns false. - * @param value - The value to test. - * @since 2.7.0 - */ function isObject(value) { - return value !== null && Object.prototype.toString.call(value) === '[object Object]'; -} -/** - * Returns true if `value` is a finite number, else returns false - * @param value - The value to test. - */ function isNumberFinite(value) { - return (typeof value === 'number' || value instanceof Number) && isFinite(+value); -} -/** - * Returns `value` if finite, else returns `defaultValue`. - * @param value - The value to return if defined. - * @param defaultValue - The value to return if `value` is not finite. - */ function finiteOrDefault(value, defaultValue) { - return isNumberFinite(value) ? value : defaultValue; -} -/** - * Returns `value` if defined, else returns `defaultValue`. - * @param value - The value to return if defined. - * @param defaultValue - The value to return if `value` is undefined. - */ function valueOrDefault(value, defaultValue) { - return typeof value === 'undefined' ? defaultValue : value; -} -const toPercentage = (value, dimension)=>typeof value === 'string' && value.endsWith('%') ? parseFloat(value) / 100 : +value / dimension; -const toDimension = (value, dimension)=>typeof value === 'string' && value.endsWith('%') ? parseFloat(value) / 100 * dimension : +value; -/** - * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the - * value returned by `fn`. If `fn` is not a function, this method returns undefined. - * @param fn - The function to call. - * @param args - The arguments with which `fn` should be called. - * @param [thisArg] - The value of `this` provided for the call to `fn`. - */ function callback(fn, args, thisArg) { - if (fn && typeof fn.call === 'function') { - return fn.apply(thisArg, args); - } -} -function each(loopable, fn, thisArg, reverse) { - let i, len, keys; - if (isArray(loopable)) { - len = loopable.length; - if (reverse) { - for(i = len - 1; i >= 0; i--){ - fn.call(thisArg, loopable[i], i); - } - } else { - for(i = 0; i < len; i++){ - fn.call(thisArg, loopable[i], i); - } - } - } else if (isObject(loopable)) { - keys = Object.keys(loopable); - len = keys.length; - for(i = 0; i < len; i++){ - fn.call(thisArg, loopable[keys[i]], keys[i]); - } - } -} -/** - * Returns true if the `a0` and `a1` arrays have the same content, else returns false. - * @param a0 - The array to compare - * @param a1 - The array to compare - * @private - */ function _elementsEqual(a0, a1) { - let i, ilen, v0, v1; - if (!a0 || !a1 || a0.length !== a1.length) { - return false; - } - for(i = 0, ilen = a0.length; i < ilen; ++i){ - v0 = a0[i]; - v1 = a1[i]; - if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) { - return false; - } - } - return true; -} -/** - * Returns a deep copy of `source` without keeping references on objects and arrays. - * @param source - The value to clone. - */ function helpers_dataset_clone(source) { - if (isArray(source)) { - return source.map(helpers_dataset_clone); - } - if (isObject(source)) { - const target = Object.create(null); - const keys = Object.keys(source); - const klen = keys.length; - let k = 0; - for(; k < klen; ++k){ - target[keys[k]] = helpers_dataset_clone(source[keys[k]]); - } - return target; - } - return source; -} -function isValidKey(key) { - return [ - '__proto__', - 'prototype', - 'constructor' - ].indexOf(key) === -1; -} -/** - * The default merger when Chart.helpers.merge is called without merger option. - * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback. - * @private - */ function _merger(key, target, source, options) { - if (!isValidKey(key)) { - return; - } - const tval = target[key]; - const sval = source[key]; - if (isObject(tval) && isObject(sval)) { - // eslint-disable-next-line @typescript-eslint/no-use-before-define - merge(tval, sval, options); - } else { - target[key] = helpers_dataset_clone(sval); - } -} -function merge(target, source, options) { - const sources = isArray(source) ? source : [ - source - ]; - const ilen = sources.length; - if (!isObject(target)) { - return target; - } - options = options || {}; - const merger = options.merger || _merger; - let current; - for(let i = 0; i < ilen; ++i){ - current = sources[i]; - if (!isObject(current)) { - continue; - } - const keys = Object.keys(current); - for(let k = 0, klen = keys.length; k < klen; ++k){ - merger(keys[k], target, current, options); - } - } - return target; -} -function mergeIf(target, source) { - // eslint-disable-next-line @typescript-eslint/no-use-before-define - return merge(target, source, { - merger: _mergerIf - }); -} -/** - * Merges source[key] in target[key] only if target[key] is undefined. - * @private - */ function _mergerIf(key, target, source) { - if (!isValidKey(key)) { - return; - } - const tval = target[key]; - const sval = source[key]; - if (isObject(tval) && isObject(sval)) { - mergeIf(tval, sval); - } else if (!Object.prototype.hasOwnProperty.call(target, key)) { - target[key] = helpers_dataset_clone(sval); - } -} -/** - * @private - */ function _deprecated(scope, value, previous, current) { - if (value !== undefined) { - console.warn(scope + ': "' + previous + '" is deprecated. Please use "' + current + '" instead'); - } -} -// resolveObjectKey resolver cache -const keyResolvers = { - // Chart.helpers.core resolveObjectKey should resolve empty key to root object - '': (v)=>v, - // default resolvers - x: (o)=>o.x, - y: (o)=>o.y -}; -/** - * @private - */ function _splitKey(key) { - const parts = key.split('.'); - const keys = []; - let tmp = ''; - for (const part of parts){ - tmp += part; - if (tmp.endsWith('\\')) { - tmp = tmp.slice(0, -1) + '.'; - } else { - keys.push(tmp); - tmp = ''; - } - } - return keys; -} -function _getKeyResolver(key) { - const keys = _splitKey(key); - return (obj)=>{ - for (const k of keys){ - if (k === '') { - break; - } - obj = obj && obj[k]; - } - return obj; - }; -} -function resolveObjectKey(obj, key) { - const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key)); - return resolver(obj); -} -/** - * @private - */ function _capitalize(str) { - return str.charAt(0).toUpperCase() + str.slice(1); -} -const defined = (value)=>typeof value !== 'undefined'; -const isFunction = (value)=>typeof value === 'function'; -// Adapted from https://stackoverflow.com/questions/31128855/comparing-ecma6-sets-for-equality#31129384 -const setsEqual = (a, b)=>{ - if (a.size !== b.size) { - return false; - } - for (const item of a){ - if (!b.has(item)) { - return false; - } - } - return true; -}; -/** - * @param e - The event - * @private - */ function _isClickEvent(e) { - return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu'; -} - -/** - * @alias Chart.helpers.math - * @namespace - */ const PI = Math.PI; -const TAU = 2 * PI; -const PITAU = TAU + PI; -const INFINITY = Number.POSITIVE_INFINITY; -const RAD_PER_DEG = PI / 180; -const HALF_PI = PI / 2; -const QUARTER_PI = PI / 4; -const TWO_THIRDS_PI = PI * 2 / 3; -const log10 = Math.log10; -const sign = Math.sign; -function almostEquals(x, y, epsilon) { - return Math.abs(x - y) < epsilon; -} -/** - * Implementation of the nice number algorithm used in determining where axis labels will go - */ function niceNum(range) { - const roundedRange = Math.round(range); - range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range; - const niceRange = Math.pow(10, Math.floor(log10(range))); - const fraction = range / niceRange; - const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10; - return niceFraction * niceRange; -} -/** - * Returns an array of factors sorted from 1 to sqrt(value) - * @private - */ function _factorize(value) { - const result = []; - const sqrt = Math.sqrt(value); - let i; - for(i = 1; i < sqrt; i++){ - if (value % i === 0) { - result.push(i); - result.push(value / i); - } - } - if (sqrt === (sqrt | 0)) { - result.push(sqrt); - } - result.sort((a, b)=>a - b).pop(); - return result; -} -/** - * Verifies that attempting to coerce n to string or number won't throw a TypeError. - */ function isNonPrimitive(n) { - return typeof n === 'symbol' || typeof n === 'object' && n !== null && !(Symbol.toPrimitive in n || 'toString' in n || 'valueOf' in n); -} -function isNumber(n) { - return !isNonPrimitive(n) && !isNaN(parseFloat(n)) && isFinite(n); -} -function almostWhole(x, epsilon) { - const rounded = Math.round(x); - return rounded - epsilon <= x && rounded + epsilon >= x; -} -/** - * @private - */ function _setMinAndMaxByKey(array, target, property) { - let i, ilen, value; - for(i = 0, ilen = array.length; i < ilen; i++){ - value = array[i][property]; - if (!isNaN(value)) { - target.min = Math.min(target.min, value); - target.max = Math.max(target.max, value); - } - } -} -function toRadians(degrees) { - return degrees * (PI / 180); -} -function toDegrees(radians) { - return radians * (180 / PI); -} -/** - * Returns the number of decimal places - * i.e. the number of digits after the decimal point, of the value of this Number. - * @param x - A number. - * @returns The number of decimal places. - * @private - */ function _decimalPlaces(x) { - if (!isNumberFinite(x)) { - return; - } - let e = 1; - let p = 0; - while(Math.round(x * e) / e !== x){ - e *= 10; - p++; - } - return p; -} -// Gets the angle from vertical upright to the point about a centre. -function getAngleFromPoint(centrePoint, anglePoint) { - const distanceFromXCenter = anglePoint.x - centrePoint.x; - const distanceFromYCenter = anglePoint.y - centrePoint.y; - const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter); - let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter); - if (angle < -0.5 * PI) { - angle += TAU; // make sure the returned angle is in the range of (-PI/2, 3PI/2] - } - return { - angle, - distance: radialDistanceFromCenter - }; -} -function distanceBetweenPoints(pt1, pt2) { - return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2)); -} -/** - * Shortest distance between angles, in either direction. - * @private - */ function _angleDiff(a, b) { - return (a - b + PITAU) % TAU - PI; -} -/** - * Normalize angle to be between 0 and 2*PI - * @private - */ function _normalizeAngle(a) { - return (a % TAU + TAU) % TAU; -} -/** - * @private - */ function _angleBetween(angle, start, end, sameAngleIsFullCircle) { - const a = _normalizeAngle(angle); - const s = _normalizeAngle(start); - const e = _normalizeAngle(end); - const angleToStart = _normalizeAngle(s - a); - const angleToEnd = _normalizeAngle(e - a); - const startToAngle = _normalizeAngle(a - s); - const endToAngle = _normalizeAngle(a - e); - return a === s || a === e || sameAngleIsFullCircle && s === e || angleToStart > angleToEnd && startToAngle < endToAngle; -} -/** - * Limit `value` between `min` and `max` - * @param value - * @param min - * @param max - * @private - */ function _limitValue(value, min, max) { - return Math.max(min, Math.min(max, value)); -} -/** - * @param {number} value - * @private - */ function _int16Range(value) { - return _limitValue(value, -32768, 32767); -} -/** - * @param value - * @param start - * @param end - * @param [epsilon] - * @private - */ function _isBetween(value, start, end, epsilon = 1e-6) { - return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon; -} - -function _lookup(table, value, cmp) { - cmp = cmp || ((index)=>table[index] < value); - let hi = table.length - 1; - let lo = 0; - let mid; - while(hi - lo > 1){ - mid = lo + hi >> 1; - if (cmp(mid)) { - lo = mid; - } else { - hi = mid; - } - } - return { - lo, - hi - }; -} -/** - * Binary search - * @param table - the table search. must be sorted! - * @param key - property name for the value in each entry - * @param value - value to find - * @param last - lookup last index - * @private - */ const _lookupByKey = (table, key, value, last)=>_lookup(table, value, last ? (index)=>{ - const ti = table[index][key]; - return ti < value || ti === value && table[index + 1][key] === value; - } : (index)=>table[index][key] < value); -/** - * Reverse binary search - * @param table - the table search. must be sorted! - * @param key - property name for the value in each entry - * @param value - value to find - * @private - */ const _rlookupByKey = (table, key, value)=>_lookup(table, value, (index)=>table[index][key] >= value); -/** - * Return subset of `values` between `min` and `max` inclusive. - * Values are assumed to be in sorted order. - * @param values - sorted array of values - * @param min - min value - * @param max - max value - */ function _filterBetween(values, min, max) { - let start = 0; - let end = values.length; - while(start < end && values[start] < min){ - start++; - } - while(end > start && values[end - 1] > max){ - end--; - } - return start > 0 || end < values.length ? values.slice(start, end) : values; -} -const arrayEvents = [ - 'push', - 'pop', - 'shift', - 'splice', - 'unshift' -]; -function listenArrayEvents(array, listener) { - if (array._chartjs) { - array._chartjs.listeners.push(listener); - return; - } - Object.defineProperty(array, '_chartjs', { - configurable: true, - enumerable: false, - value: { - listeners: [ - listener - ] - } - }); - arrayEvents.forEach((key)=>{ - const method = '_onData' + _capitalize(key); - const base = array[key]; - Object.defineProperty(array, key, { - configurable: true, - enumerable: false, - value (...args) { - const res = base.apply(this, args); - array._chartjs.listeners.forEach((object)=>{ - if (typeof object[method] === 'function') { - object[method](...args); - } - }); - return res; - } - }); - }); -} -function unlistenArrayEvents(array, listener) { - const stub = array._chartjs; - if (!stub) { - return; - } - const listeners = stub.listeners; - const index = listeners.indexOf(listener); - if (index !== -1) { - listeners.splice(index, 1); - } - if (listeners.length > 0) { - return; - } - arrayEvents.forEach((key)=>{ - delete array[key]; - }); - delete array._chartjs; -} -/** - * @param items - */ function _arrayUnique(items) { - const set = new Set(items); - if (set.size === items.length) { - return items; - } - return Array.from(set); -} - -function fontString(pixelSize, fontStyle, fontFamily) { - return fontStyle + ' ' + pixelSize + 'px ' + fontFamily; -} -/** -* Request animation polyfill -*/ const requestAnimFrame = function() { - if (typeof window === 'undefined') { - return function(callback) { - return callback(); - }; - } - return window.requestAnimationFrame; -}(); -/** - * Throttles calling `fn` once per animation frame - * Latest arguments are used on the actual call - */ function throttled(fn, thisArg) { - let argsToUse = []; - let ticking = false; - return function(...args) { - // Save the args for use later - argsToUse = args; - if (!ticking) { - ticking = true; - requestAnimFrame.call(window, ()=>{ - ticking = false; - fn.apply(thisArg, argsToUse); - }); - } - }; -} -/** - * Debounces calling `fn` for `delay` ms - */ function debounce(fn, delay) { - let timeout; - return function(...args) { - if (delay) { - clearTimeout(timeout); - timeout = setTimeout(fn, delay, args); - } else { - fn.apply(this, args); - } - return delay; - }; -} -/** - * Converts 'start' to 'left', 'end' to 'right' and others to 'center' - * @private - */ const _toLeftRightCenter = (align)=>align === 'start' ? 'left' : align === 'end' ? 'right' : 'center'; -/** - * Returns `start`, `end` or `(start + end) / 2` depending on `align`. Defaults to `center` - * @private - */ const _alignStartEnd = (align, start, end)=>align === 'start' ? start : align === 'end' ? end : (start + end) / 2; -/** - * Returns `left`, `right` or `(left + right) / 2` depending on `align`. Defaults to `left` - * @private - */ const _textX = (align, left, right, rtl)=>{ - const check = rtl ? 'left' : 'right'; - return align === check ? right : align === 'center' ? (left + right) / 2 : left; -}; -/** - * Return start and count of visible points. - * @private - */ function _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) { - const pointCount = points.length; - let start = 0; - let count = pointCount; - if (meta._sorted) { - const { iScale , vScale , _parsed } = meta; - const spanGaps = meta.dataset ? meta.dataset.options ? meta.dataset.options.spanGaps : null : null; - const axis = iScale.axis; - const { min , max , minDefined , maxDefined } = iScale.getUserBounds(); - if (minDefined) { - start = Math.min(// @ts-expect-error Need to type _parsed - _lookupByKey(_parsed, axis, min).lo, // @ts-expect-error Need to fix types on _lookupByKey - animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo); - if (spanGaps) { - const distanceToDefinedLo = _parsed.slice(0, start + 1).reverse().findIndex((point)=>!isNullOrUndef(point[vScale.axis])); - start -= Math.max(0, distanceToDefinedLo); - } - start = _limitValue(start, 0, pointCount - 1); - } - if (maxDefined) { - let end = Math.max(// @ts-expect-error Need to type _parsed - _lookupByKey(_parsed, iScale.axis, max, true).hi + 1, // @ts-expect-error Need to fix types on _lookupByKey - animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1); - if (spanGaps) { - const distanceToDefinedHi = _parsed.slice(end - 1).findIndex((point)=>!isNullOrUndef(point[vScale.axis])); - end += Math.max(0, distanceToDefinedHi); - } - count = _limitValue(end, start, pointCount) - start; - } else { - count = pointCount - start; - } - } - return { - start, - count - }; -} -/** - * Checks if the scale ranges have changed. - * @param {object} meta - dataset meta. - * @returns {boolean} - * @private - */ function _scaleRangesChanged(meta) { - const { xScale , yScale , _scaleRanges } = meta; - const newRanges = { - xmin: xScale.min, - xmax: xScale.max, - ymin: yScale.min, - ymax: yScale.max - }; - if (!_scaleRanges) { - meta._scaleRanges = newRanges; - return true; - } - const changed = _scaleRanges.xmin !== xScale.min || _scaleRanges.xmax !== xScale.max || _scaleRanges.ymin !== yScale.min || _scaleRanges.ymax !== yScale.max; - Object.assign(_scaleRanges, newRanges); - return changed; -} - -const atEdge = (t)=>t === 0 || t === 1; -const elasticIn = (t, s, p)=>-(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p)); -const elasticOut = (t, s, p)=>Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1; -/** - * Easing functions adapted from Robert Penner's easing equations. - * @namespace Chart.helpers.easing.effects - * @see http://www.robertpenner.com/easing/ - */ const effects = { - linear: (t)=>t, - easeInQuad: (t)=>t * t, - easeOutQuad: (t)=>-t * (t - 2), - easeInOutQuad: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t : -0.5 * (--t * (t - 2) - 1), - easeInCubic: (t)=>t * t * t, - easeOutCubic: (t)=>(t -= 1) * t * t + 1, - easeInOutCubic: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t : 0.5 * ((t -= 2) * t * t + 2), - easeInQuart: (t)=>t * t * t * t, - easeOutQuart: (t)=>-((t -= 1) * t * t * t - 1), - easeInOutQuart: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t * t : -0.5 * ((t -= 2) * t * t * t - 2), - easeInQuint: (t)=>t * t * t * t * t, - easeOutQuint: (t)=>(t -= 1) * t * t * t * t + 1, - easeInOutQuint: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t * t * t : 0.5 * ((t -= 2) * t * t * t * t + 2), - easeInSine: (t)=>-Math.cos(t * HALF_PI) + 1, - easeOutSine: (t)=>Math.sin(t * HALF_PI), - easeInOutSine: (t)=>-0.5 * (Math.cos(PI * t) - 1), - easeInExpo: (t)=>t === 0 ? 0 : Math.pow(2, 10 * (t - 1)), - easeOutExpo: (t)=>t === 1 ? 1 : -Math.pow(2, -10 * t) + 1, - easeInOutExpo: (t)=>atEdge(t) ? t : t < 0.5 ? 0.5 * Math.pow(2, 10 * (t * 2 - 1)) : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2), - easeInCirc: (t)=>t >= 1 ? t : -(Math.sqrt(1 - t * t) - 1), - easeOutCirc: (t)=>Math.sqrt(1 - (t -= 1) * t), - easeInOutCirc: (t)=>(t /= 0.5) < 1 ? -0.5 * (Math.sqrt(1 - t * t) - 1) : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1), - easeInElastic: (t)=>atEdge(t) ? t : elasticIn(t, 0.075, 0.3), - easeOutElastic: (t)=>atEdge(t) ? t : elasticOut(t, 0.075, 0.3), - easeInOutElastic (t) { - const s = 0.1125; - const p = 0.45; - return atEdge(t) ? t : t < 0.5 ? 0.5 * elasticIn(t * 2, s, p) : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p); - }, - easeInBack (t) { - const s = 1.70158; - return t * t * ((s + 1) * t - s); - }, - easeOutBack (t) { - const s = 1.70158; - return (t -= 1) * t * ((s + 1) * t + s) + 1; - }, - easeInOutBack (t) { - let s = 1.70158; - if ((t /= 0.5) < 1) { - return 0.5 * (t * t * (((s *= 1.525) + 1) * t - s)); - } - return 0.5 * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2); - }, - easeInBounce: (t)=>1 - effects.easeOutBounce(1 - t), - easeOutBounce (t) { - const m = 7.5625; - const d = 2.75; - if (t < 1 / d) { - return m * t * t; - } - if (t < 2 / d) { - return m * (t -= 1.5 / d) * t + 0.75; - } - if (t < 2.5 / d) { - return m * (t -= 2.25 / d) * t + 0.9375; - } - return m * (t -= 2.625 / d) * t + 0.984375; - }, - easeInOutBounce: (t)=>t < 0.5 ? effects.easeInBounce(t * 2) * 0.5 : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5 -}; - -function isPatternOrGradient(value) { - if (value && typeof value === 'object') { - const type = value.toString(); - return type === '[object CanvasPattern]' || type === '[object CanvasGradient]'; - } - return false; -} -function color(value) { - return isPatternOrGradient(value) ? value : new Color(value); -} -function getHoverColor(value) { - return isPatternOrGradient(value) ? value : new Color(value).saturate(0.5).darken(0.1).hexString(); -} - -const numbers = [ - 'x', - 'y', - 'borderWidth', - 'radius', - 'tension' -]; -const colors = [ - 'color', - 'borderColor', - 'backgroundColor' -]; -function applyAnimationsDefaults(defaults) { - defaults.set('animation', { - delay: undefined, - duration: 1000, - easing: 'easeOutQuart', - fn: undefined, - from: undefined, - loop: undefined, - to: undefined, - type: undefined - }); - defaults.describe('animation', { - _fallback: false, - _indexable: false, - _scriptable: (name)=>name !== 'onProgress' && name !== 'onComplete' && name !== 'fn' - }); - defaults.set('animations', { - colors: { - type: 'color', - properties: colors - }, - numbers: { - type: 'number', - properties: numbers - } - }); - defaults.describe('animations', { - _fallback: 'animation' - }); - defaults.set('transitions', { - active: { - animation: { - duration: 400 - } - }, - resize: { - animation: { - duration: 0 - } - }, - show: { - animations: { - colors: { - from: 'transparent' - }, - visible: { - type: 'boolean', - duration: 0 - } - } - }, - hide: { - animations: { - colors: { - to: 'transparent' - }, - visible: { - type: 'boolean', - easing: 'linear', - fn: (v)=>v | 0 - } - } - } - }); -} - -function applyLayoutsDefaults(defaults) { - defaults.set('layout', { - autoPadding: true, - padding: { - top: 0, - right: 0, - bottom: 0, - left: 0 - } - }); -} - -const intlCache = new Map(); -function getNumberFormat(locale, options) { - options = options || {}; - const cacheKey = locale + JSON.stringify(options); - let formatter = intlCache.get(cacheKey); - if (!formatter) { - formatter = new Intl.NumberFormat(locale, options); - intlCache.set(cacheKey, formatter); - } - return formatter; -} -function formatNumber(num, locale, options) { - return getNumberFormat(locale, options).format(num); -} - -const formatters = { - values (value) { - return isArray(value) ? value : '' + value; - }, - numeric (tickValue, index, ticks) { - if (tickValue === 0) { - return '0'; - } - const locale = this.chart.options.locale; - let notation; - let delta = tickValue; - if (ticks.length > 1) { - const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value)); - if (maxTick < 1e-4 || maxTick > 1e+15) { - notation = 'scientific'; - } - delta = calculateDelta(tickValue, ticks); - } - const logDelta = log10(Math.abs(delta)); - const numDecimal = isNaN(logDelta) ? 1 : Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0); - const options = { - notation, - minimumFractionDigits: numDecimal, - maximumFractionDigits: numDecimal - }; - Object.assign(options, this.options.ticks.format); - return formatNumber(tickValue, locale, options); - }, - logarithmic (tickValue, index, ticks) { - if (tickValue === 0) { - return '0'; - } - const remain = ticks[index].significand || tickValue / Math.pow(10, Math.floor(log10(tickValue))); - if ([ - 1, - 2, - 3, - 5, - 10, - 15 - ].includes(remain) || index > 0.8 * ticks.length) { - return formatters.numeric.call(this, tickValue, index, ticks); - } - return ''; - } -}; -function calculateDelta(tickValue, ticks) { - let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value; - if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) { - delta = tickValue - Math.floor(tickValue); - } - return delta; -} - var Ticks = { - formatters -}; - -function applyScaleDefaults(defaults) { - defaults.set('scale', { - display: true, - offset: false, - reverse: false, - beginAtZero: false, - bounds: 'ticks', - clip: true, - grace: 0, - grid: { - display: true, - lineWidth: 1, - drawOnChartArea: true, - drawTicks: true, - tickLength: 8, - tickWidth: (_ctx, options)=>options.lineWidth, - tickColor: (_ctx, options)=>options.color, - offset: false - }, - border: { - display: true, - dash: [], - dashOffset: 0.0, - width: 1 - }, - title: { - display: false, - text: '', - padding: { - top: 4, - bottom: 4 - } - }, - ticks: { - minRotation: 0, - maxRotation: 50, - mirror: false, - textStrokeWidth: 0, - textStrokeColor: '', - padding: 3, - display: true, - autoSkip: true, - autoSkipPadding: 3, - labelOffset: 0, - callback: Ticks.formatters.values, - minor: {}, - major: {}, - align: 'center', - crossAlign: 'near', - showLabelBackdrop: false, - backdropColor: 'rgba(255, 255, 255, 0.75)', - backdropPadding: 2 - } - }); - defaults.route('scale.ticks', 'color', '', 'color'); - defaults.route('scale.grid', 'color', '', 'borderColor'); - defaults.route('scale.border', 'color', '', 'borderColor'); - defaults.route('scale.title', 'color', '', 'color'); - defaults.describe('scale', { - _fallback: false, - _scriptable: (name)=>!name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser', - _indexable: (name)=>name !== 'borderDash' && name !== 'tickBorderDash' && name !== 'dash' - }); - defaults.describe('scales', { - _fallback: 'scale' - }); - defaults.describe('scale.ticks', { - _scriptable: (name)=>name !== 'backdropPadding' && name !== 'callback', - _indexable: (name)=>name !== 'backdropPadding' - }); -} - -const overrides = Object.create(null); -const descriptors = Object.create(null); - function getScope$1(node, key) { - if (!key) { - return node; - } - const keys = key.split('.'); - for(let i = 0, n = keys.length; i < n; ++i){ - const k = keys[i]; - node = node[k] || (node[k] = Object.create(null)); - } - return node; -} -function set(root, scope, values) { - if (typeof scope === 'string') { - return merge(getScope$1(root, scope), values); - } - return merge(getScope$1(root, ''), scope); -} - class Defaults { - constructor(_descriptors, _appliers){ - this.animation = undefined; - this.backgroundColor = 'rgba(0,0,0,0.1)'; - this.borderColor = 'rgba(0,0,0,0.1)'; - this.color = '#666'; - this.datasets = {}; - this.devicePixelRatio = (context)=>context.chart.platform.getDevicePixelRatio(); - this.elements = {}; - this.events = [ - 'mousemove', - 'mouseout', - 'click', - 'touchstart', - 'touchmove' - ]; - this.font = { - family: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif", - size: 12, - style: 'normal', - lineHeight: 1.2, - weight: null - }; - this.hover = {}; - this.hoverBackgroundColor = (ctx, options)=>getHoverColor(options.backgroundColor); - this.hoverBorderColor = (ctx, options)=>getHoverColor(options.borderColor); - this.hoverColor = (ctx, options)=>getHoverColor(options.color); - this.indexAxis = 'x'; - this.interaction = { - mode: 'nearest', - intersect: true, - includeInvisible: false - }; - this.maintainAspectRatio = true; - this.onHover = null; - this.onClick = null; - this.parsing = true; - this.plugins = {}; - this.responsive = true; - this.scale = undefined; - this.scales = {}; - this.showLine = true; - this.drawActiveElementsOnTop = true; - this.describe(_descriptors); - this.apply(_appliers); - } - set(scope, values) { - return set(this, scope, values); - } - get(scope) { - return getScope$1(this, scope); - } - describe(scope, values) { - return set(descriptors, scope, values); - } - override(scope, values) { - return set(overrides, scope, values); - } - route(scope, name, targetScope, targetName) { - const scopeObject = getScope$1(this, scope); - const targetScopeObject = getScope$1(this, targetScope); - const privateName = '_' + name; - Object.defineProperties(scopeObject, { - [privateName]: { - value: scopeObject[name], - writable: true - }, - [name]: { - enumerable: true, - get () { - const local = this[privateName]; - const target = targetScopeObject[targetName]; - if (isObject(local)) { - return Object.assign({}, target, local); - } - return valueOrDefault(local, target); - }, - set (value) { - this[privateName] = value; - } - } - }); - } - apply(appliers) { - appliers.forEach((apply)=>apply(this)); - } -} -var defaults = /* #__PURE__ */ new Defaults({ - _scriptable: (name)=>!name.startsWith('on'), - _indexable: (name)=>name !== 'events', - hover: { - _fallback: 'interaction' - }, - interaction: { - _scriptable: false, - _indexable: false - } -}, [ - applyAnimationsDefaults, - applyLayoutsDefaults, - applyScaleDefaults -]); - -/** - * Converts the given font object into a CSS font string. - * @param font - A font object. - * @return The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font - * @private - */ function toFontString(font) { - if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) { - return null; - } - return (font.style ? font.style + ' ' : '') + (font.weight ? font.weight + ' ' : '') + font.size + 'px ' + font.family; -} -/** - * @private - */ function _measureText(ctx, data, gc, longest, string) { - let textWidth = data[string]; - if (!textWidth) { - textWidth = data[string] = ctx.measureText(string).width; - gc.push(string); - } - if (textWidth > longest) { - longest = textWidth; - } - return longest; -} -/** - * @private - */ // eslint-disable-next-line complexity -function _longestText(ctx, font, arrayOfThings, cache) { - cache = cache || {}; - let data = cache.data = cache.data || {}; - let gc = cache.garbageCollect = cache.garbageCollect || []; - if (cache.font !== font) { - data = cache.data = {}; - gc = cache.garbageCollect = []; - cache.font = font; - } - ctx.save(); - ctx.font = font; - let longest = 0; - const ilen = arrayOfThings.length; - let i, j, jlen, thing, nestedThing; - for(i = 0; i < ilen; i++){ - thing = arrayOfThings[i]; - // Undefined strings and arrays should not be measured - if (thing !== undefined && thing !== null && !isArray(thing)) { - longest = _measureText(ctx, data, gc, longest, thing); - } else if (isArray(thing)) { - // if it is an array lets measure each element - // to do maybe simplify this function a bit so we can do this more recursively? - for(j = 0, jlen = thing.length; j < jlen; j++){ - nestedThing = thing[j]; - // Undefined strings and arrays should not be measured - if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) { - longest = _measureText(ctx, data, gc, longest, nestedThing); - } - } - } - } - ctx.restore(); - const gcLen = gc.length / 2; - if (gcLen > arrayOfThings.length) { - for(i = 0; i < gcLen; i++){ - delete data[gc[i]]; - } - gc.splice(0, gcLen); - } - return longest; -} -/** - * Returns the aligned pixel value to avoid anti-aliasing blur - * @param chart - The chart instance. - * @param pixel - A pixel value. - * @param width - The width of the element. - * @returns The aligned pixel value. - * @private - */ function _alignPixel(chart, pixel, width) { - const devicePixelRatio = chart.currentDevicePixelRatio; - const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0; - return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth; -} -/** - * Clears the entire canvas. - */ function clearCanvas(canvas, ctx) { - if (!ctx && !canvas) { - return; - } - ctx = ctx || canvas.getContext('2d'); - ctx.save(); - // canvas.width and canvas.height do not consider the canvas transform, - // while clearRect does - ctx.resetTransform(); - ctx.clearRect(0, 0, canvas.width, canvas.height); - ctx.restore(); -} -function drawPoint(ctx, options, x, y) { - // eslint-disable-next-line @typescript-eslint/no-use-before-define - drawPointLegend(ctx, options, x, y, null); -} -// eslint-disable-next-line complexity -function drawPointLegend(ctx, options, x, y, w) { - let type, xOffset, yOffset, size, cornerRadius, width, xOffsetW, yOffsetW; - const style = options.pointStyle; - const rotation = options.rotation; - const radius = options.radius; - let rad = (rotation || 0) * RAD_PER_DEG; - if (style && typeof style === 'object') { - type = style.toString(); - if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') { - ctx.save(); - ctx.translate(x, y); - ctx.rotate(rad); - ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height); - ctx.restore(); - return; - } - } - if (isNaN(radius) || radius <= 0) { - return; - } - ctx.beginPath(); - switch(style){ - // Default includes circle - default: - if (w) { - ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU); - } else { - ctx.arc(x, y, radius, 0, TAU); - } - ctx.closePath(); - break; - case 'triangle': - width = w ? w / 2 : radius; - ctx.moveTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius); - rad += TWO_THIRDS_PI; - ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius); - rad += TWO_THIRDS_PI; - ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius); - ctx.closePath(); - break; - case 'rectRounded': - // NOTE: the rounded rect implementation changed to use `arc` instead of - // `quadraticCurveTo` since it generates better results when rect is - // almost a circle. 0.516 (instead of 0.5) produces results with visually - // closer proportion to the previous impl and it is inscribed in the - // circle with `radius`. For more details, see the following PRs: - // https://github.com/chartjs/Chart.js/issues/5597 - // https://github.com/chartjs/Chart.js/issues/5858 - cornerRadius = radius * 0.516; - size = radius - cornerRadius; - xOffset = Math.cos(rad + QUARTER_PI) * size; - xOffsetW = Math.cos(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size); - yOffset = Math.sin(rad + QUARTER_PI) * size; - yOffsetW = Math.sin(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size); - ctx.arc(x - xOffsetW, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI); - ctx.arc(x + yOffsetW, y - xOffset, cornerRadius, rad - HALF_PI, rad); - ctx.arc(x + xOffsetW, y + yOffset, cornerRadius, rad, rad + HALF_PI); - ctx.arc(x - yOffsetW, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI); - ctx.closePath(); - break; - case 'rect': - if (!rotation) { - size = Math.SQRT1_2 * radius; - width = w ? w / 2 : size; - ctx.rect(x - width, y - size, 2 * width, 2 * size); - break; - } - rad += QUARTER_PI; - /* falls through */ case 'rectRot': - xOffsetW = Math.cos(rad) * (w ? w / 2 : radius); - xOffset = Math.cos(rad) * radius; - yOffset = Math.sin(rad) * radius; - yOffsetW = Math.sin(rad) * (w ? w / 2 : radius); - ctx.moveTo(x - xOffsetW, y - yOffset); - ctx.lineTo(x + yOffsetW, y - xOffset); - ctx.lineTo(x + xOffsetW, y + yOffset); - ctx.lineTo(x - yOffsetW, y + xOffset); - ctx.closePath(); - break; - case 'crossRot': - rad += QUARTER_PI; - /* falls through */ case 'cross': - xOffsetW = Math.cos(rad) * (w ? w / 2 : radius); - xOffset = Math.cos(rad) * radius; - yOffset = Math.sin(rad) * radius; - yOffsetW = Math.sin(rad) * (w ? w / 2 : radius); - ctx.moveTo(x - xOffsetW, y - yOffset); - ctx.lineTo(x + xOffsetW, y + yOffset); - ctx.moveTo(x + yOffsetW, y - xOffset); - ctx.lineTo(x - yOffsetW, y + xOffset); - break; - case 'star': - xOffsetW = Math.cos(rad) * (w ? w / 2 : radius); - xOffset = Math.cos(rad) * radius; - yOffset = Math.sin(rad) * radius; - yOffsetW = Math.sin(rad) * (w ? w / 2 : radius); - ctx.moveTo(x - xOffsetW, y - yOffset); - ctx.lineTo(x + xOffsetW, y + yOffset); - ctx.moveTo(x + yOffsetW, y - xOffset); - ctx.lineTo(x - yOffsetW, y + xOffset); - rad += QUARTER_PI; - xOffsetW = Math.cos(rad) * (w ? w / 2 : radius); - xOffset = Math.cos(rad) * radius; - yOffset = Math.sin(rad) * radius; - yOffsetW = Math.sin(rad) * (w ? w / 2 : radius); - ctx.moveTo(x - xOffsetW, y - yOffset); - ctx.lineTo(x + xOffsetW, y + yOffset); - ctx.moveTo(x + yOffsetW, y - xOffset); - ctx.lineTo(x - yOffsetW, y + xOffset); - break; - case 'line': - xOffset = w ? w / 2 : Math.cos(rad) * radius; - yOffset = Math.sin(rad) * radius; - ctx.moveTo(x - xOffset, y - yOffset); - ctx.lineTo(x + xOffset, y + yOffset); - break; - case 'dash': - ctx.moveTo(x, y); - ctx.lineTo(x + Math.cos(rad) * (w ? w / 2 : radius), y + Math.sin(rad) * radius); - break; - case false: - ctx.closePath(); - break; - } - ctx.fill(); - if (options.borderWidth > 0) { - ctx.stroke(); - } -} -/** - * Returns true if the point is inside the rectangle - * @param point - The point to test - * @param area - The rectangle - * @param margin - allowed margin - * @private - */ function _isPointInArea(point, area, margin) { - margin = margin || 0.5; // margin - default is to match rounded decimals - return !area || point && point.x > area.left - margin && point.x < area.right + margin && point.y > area.top - margin && point.y < area.bottom + margin; -} -function clipArea(ctx, area) { - ctx.save(); - ctx.beginPath(); - ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top); - ctx.clip(); -} -function unclipArea(ctx) { - ctx.restore(); -} -/** - * @private - */ function _steppedLineTo(ctx, previous, target, flip, mode) { - if (!previous) { - return ctx.lineTo(target.x, target.y); - } - if (mode === 'middle') { - const midpoint = (previous.x + target.x) / 2.0; - ctx.lineTo(midpoint, previous.y); - ctx.lineTo(midpoint, target.y); - } else if (mode === 'after' !== !!flip) { - ctx.lineTo(previous.x, target.y); - } else { - ctx.lineTo(target.x, previous.y); - } - ctx.lineTo(target.x, target.y); -} -/** - * @private - */ function _bezierCurveTo(ctx, previous, target, flip) { - if (!previous) { - return ctx.lineTo(target.x, target.y); - } - ctx.bezierCurveTo(flip ? previous.cp1x : previous.cp2x, flip ? previous.cp1y : previous.cp2y, flip ? target.cp2x : target.cp1x, flip ? target.cp2y : target.cp1y, target.x, target.y); -} -function setRenderOpts(ctx, opts) { - if (opts.translation) { - ctx.translate(opts.translation[0], opts.translation[1]); - } - if (!isNullOrUndef(opts.rotation)) { - ctx.rotate(opts.rotation); - } - if (opts.color) { - ctx.fillStyle = opts.color; - } - if (opts.textAlign) { - ctx.textAlign = opts.textAlign; - } - if (opts.textBaseline) { - ctx.textBaseline = opts.textBaseline; - } -} -function decorateText(ctx, x, y, line, opts) { - if (opts.strikethrough || opts.underline) { - /** - * Now that IE11 support has been dropped, we can use more - * of the TextMetrics object. The actual bounding boxes - * are unflagged in Chrome, Firefox, Edge, and Safari so they - * can be safely used. - * See https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics#Browser_compatibility - */ const metrics = ctx.measureText(line); - const left = x - metrics.actualBoundingBoxLeft; - const right = x + metrics.actualBoundingBoxRight; - const top = y - metrics.actualBoundingBoxAscent; - const bottom = y + metrics.actualBoundingBoxDescent; - const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom; - ctx.strokeStyle = ctx.fillStyle; - ctx.beginPath(); - ctx.lineWidth = opts.decorationWidth || 2; - ctx.moveTo(left, yDecoration); - ctx.lineTo(right, yDecoration); - ctx.stroke(); - } -} -function drawBackdrop(ctx, opts) { - const oldColor = ctx.fillStyle; - ctx.fillStyle = opts.color; - ctx.fillRect(opts.left, opts.top, opts.width, opts.height); - ctx.fillStyle = oldColor; -} -/** - * Render text onto the canvas - */ function renderText(ctx, text, x, y, font, opts = {}) { - const lines = isArray(text) ? text : [ - text - ]; - const stroke = opts.strokeWidth > 0 && opts.strokeColor !== ''; - let i, line; - ctx.save(); - ctx.font = font.string; - setRenderOpts(ctx, opts); - for(i = 0; i < lines.length; ++i){ - line = lines[i]; - if (opts.backdrop) { - drawBackdrop(ctx, opts.backdrop); - } - if (stroke) { - if (opts.strokeColor) { - ctx.strokeStyle = opts.strokeColor; - } - if (!isNullOrUndef(opts.strokeWidth)) { - ctx.lineWidth = opts.strokeWidth; - } - ctx.strokeText(line, x, y, opts.maxWidth); - } - ctx.fillText(line, x, y, opts.maxWidth); - decorateText(ctx, x, y, line, opts); - y += Number(font.lineHeight); - } - ctx.restore(); -} -/** - * Add a path of a rectangle with rounded corners to the current sub-path - * @param ctx - Context - * @param rect - Bounding rect - */ function addRoundedRectPath(ctx, rect) { - const { x , y , w , h , radius } = rect; - // top left arc - ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, 1.5 * PI, PI, true); - // line from top left to bottom left - ctx.lineTo(x, y + h - radius.bottomLeft); - // bottom left arc - ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true); - // line from bottom left to bottom right - ctx.lineTo(x + w - radius.bottomRight, y + h); - // bottom right arc - ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true); - // line from bottom right to top right - ctx.lineTo(x + w, y + radius.topRight); - // top right arc - ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true); - // line from top right to top left - ctx.lineTo(x + radius.topLeft, y); -} - -const LINE_HEIGHT = /^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/; -const FONT_STYLE = /^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/; -/** - * @alias Chart.helpers.options - * @namespace - */ /** - * Converts the given line height `value` in pixels for a specific font `size`. - * @param value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em'). - * @param size - The font size (in pixels) used to resolve relative `value`. - * @returns The effective line height in pixels (size * 1.2 if value is invalid). - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height - * @since 2.7.0 - */ function toLineHeight(value, size) { - const matches = ('' + value).match(LINE_HEIGHT); - if (!matches || matches[1] === 'normal') { - return size * 1.2; - } - value = +matches[2]; - switch(matches[3]){ - case 'px': - return value; - case '%': - value /= 100; - break; - } - return size * value; -} -const numberOrZero = (v)=>+v || 0; -function _readValueToProps(value, props) { - const ret = {}; - const objProps = isObject(props); - const keys = objProps ? Object.keys(props) : props; - const read = isObject(value) ? objProps ? (prop)=>valueOrDefault(value[prop], value[props[prop]]) : (prop)=>value[prop] : ()=>value; - for (const prop of keys){ - ret[prop] = numberOrZero(read(prop)); - } - return ret; -} -/** - * Converts the given value into a TRBL object. - * @param value - If a number, set the value to all TRBL component, - * else, if an object, use defined properties and sets undefined ones to 0. - * x / y are shorthands for same value for left/right and top/bottom. - * @returns The padding values (top, right, bottom, left) - * @since 3.0.0 - */ function toTRBL(value) { - return _readValueToProps(value, { - top: 'y', - right: 'x', - bottom: 'y', - left: 'x' - }); -} -/** - * Converts the given value into a TRBL corners object (similar with css border-radius). - * @param value - If a number, set the value to all TRBL corner components, - * else, if an object, use defined properties and sets undefined ones to 0. - * @returns The TRBL corner values (topLeft, topRight, bottomLeft, bottomRight) - * @since 3.0.0 - */ function toTRBLCorners(value) { - return _readValueToProps(value, [ - 'topLeft', - 'topRight', - 'bottomLeft', - 'bottomRight' - ]); -} -/** - * Converts the given value into a padding object with pre-computed width/height. - * @param value - If a number, set the value to all TRBL component, - * else, if an object, use defined properties and sets undefined ones to 0. - * x / y are shorthands for same value for left/right and top/bottom. - * @returns The padding values (top, right, bottom, left, width, height) - * @since 2.7.0 - */ function toPadding(value) { - const obj = toTRBL(value); - obj.width = obj.left + obj.right; - obj.height = obj.top + obj.bottom; - return obj; -} -/** - * Parses font options and returns the font object. - * @param options - A object that contains font options to be parsed. - * @param fallback - A object that contains fallback font options. - * @return The font object. - * @private - */ function toFont(options, fallback) { - options = options || {}; - fallback = fallback || defaults.font; - let size = valueOrDefault(options.size, fallback.size); - if (typeof size === 'string') { - size = parseInt(size, 10); - } - let style = valueOrDefault(options.style, fallback.style); - if (style && !('' + style).match(FONT_STYLE)) { - console.warn('Invalid font style specified: "' + style + '"'); - style = undefined; - } - const font = { - family: valueOrDefault(options.family, fallback.family), - lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size), - size, - style, - weight: valueOrDefault(options.weight, fallback.weight), - string: '' - }; - font.string = toFontString(font); - return font; -} -/** - * Evaluates the given `inputs` sequentially and returns the first defined value. - * @param inputs - An array of values, falling back to the last value. - * @param context - If defined and the current value is a function, the value - * is called with `context` as first argument and the result becomes the new input. - * @param index - If defined and the current value is an array, the value - * at `index` become the new input. - * @param info - object to return information about resolution in - * @param info.cacheable - Will be set to `false` if option is not cacheable. - * @since 2.7.0 - */ function resolve(inputs, context, index, info) { - let cacheable = true; - let i, ilen, value; - for(i = 0, ilen = inputs.length; i < ilen; ++i){ - value = inputs[i]; - if (value === undefined) { - continue; - } - if (context !== undefined && typeof value === 'function') { - value = value(context); - cacheable = false; - } - if (index !== undefined && isArray(value)) { - value = value[index % value.length]; - cacheable = false; - } - if (value !== undefined) { - if (info && !cacheable) { - info.cacheable = false; - } - return value; - } - } -} -/** - * @param minmax - * @param grace - * @param beginAtZero - * @private - */ function _addGrace(minmax, grace, beginAtZero) { - const { min , max } = minmax; - const change = toDimension(grace, (max - min) / 2); - const keepZero = (value, add)=>beginAtZero && value === 0 ? 0 : value + add; - return { - min: keepZero(min, -Math.abs(change)), - max: keepZero(max, change) - }; -} -function createContext(parentContext, context) { - return Object.assign(Object.create(parentContext), context); -} - -/** - * Creates a Proxy for resolving raw values for options. - * @param scopes - The option scopes to look for values, in resolution order - * @param prefixes - The prefixes for values, in resolution order. - * @param rootScopes - The root option scopes - * @param fallback - Parent scopes fallback - * @param getTarget - callback for getting the target for changed values - * @returns Proxy - * @private - */ function _createResolver(scopes, prefixes = [ - '' -], rootScopes, fallback, getTarget = ()=>scopes[0]) { - const finalRootScopes = rootScopes || scopes; - if (typeof fallback === 'undefined') { - fallback = _resolve('_fallback', scopes); - } - const cache = { - [Symbol.toStringTag]: 'Object', - _cacheable: true, - _scopes: scopes, - _rootScopes: finalRootScopes, - _fallback: fallback, - _getTarget: getTarget, - override: (scope)=>_createResolver([ - scope, - ...scopes - ], prefixes, finalRootScopes, fallback) - }; - return new Proxy(cache, { - /** - * A trap for the delete operator. - */ deleteProperty (target, prop) { - delete target[prop]; // remove from cache - delete target._keys; // remove cached keys - delete scopes[0][prop]; // remove from top level scope - return true; - }, - /** - * A trap for getting property values. - */ get (target, prop) { - return _cached(target, prop, ()=>_resolveWithPrefixes(prop, prefixes, scopes, target)); - }, - /** - * A trap for Object.getOwnPropertyDescriptor. - * Also used by Object.hasOwnProperty. - */ getOwnPropertyDescriptor (target, prop) { - return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop); - }, - /** - * A trap for Object.getPrototypeOf. - */ getPrototypeOf () { - return Reflect.getPrototypeOf(scopes[0]); - }, - /** - * A trap for the in operator. - */ has (target, prop) { - return getKeysFromAllScopes(target).includes(prop); - }, - /** - * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols. - */ ownKeys (target) { - return getKeysFromAllScopes(target); - }, - /** - * A trap for setting property values. - */ set (target, prop, value) { - const storage = target._storage || (target._storage = getTarget()); - target[prop] = storage[prop] = value; // set to top level scope + cache - delete target._keys; // remove cached keys - return true; - } - }); -} -/** - * Returns an Proxy for resolving option values with context. - * @param proxy - The Proxy returned by `_createResolver` - * @param context - Context object for scriptable/indexable options - * @param subProxy - The proxy provided for scriptable options - * @param descriptorDefaults - Defaults for descriptors - * @private - */ function _attachContext(proxy, context, subProxy, descriptorDefaults) { - const cache = { - _cacheable: false, - _proxy: proxy, - _context: context, - _subProxy: subProxy, - _stack: new Set(), - _descriptors: _descriptors(proxy, descriptorDefaults), - setContext: (ctx)=>_attachContext(proxy, ctx, subProxy, descriptorDefaults), - override: (scope)=>_attachContext(proxy.override(scope), context, subProxy, descriptorDefaults) - }; - return new Proxy(cache, { - /** - * A trap for the delete operator. - */ deleteProperty (target, prop) { - delete target[prop]; // remove from cache - delete proxy[prop]; // remove from proxy - return true; - }, - /** - * A trap for getting property values. - */ get (target, prop, receiver) { - return _cached(target, prop, ()=>_resolveWithContext(target, prop, receiver)); - }, - /** - * A trap for Object.getOwnPropertyDescriptor. - * Also used by Object.hasOwnProperty. - */ getOwnPropertyDescriptor (target, prop) { - return target._descriptors.allKeys ? Reflect.has(proxy, prop) ? { - enumerable: true, - configurable: true - } : undefined : Reflect.getOwnPropertyDescriptor(proxy, prop); - }, - /** - * A trap for Object.getPrototypeOf. - */ getPrototypeOf () { - return Reflect.getPrototypeOf(proxy); - }, - /** - * A trap for the in operator. - */ has (target, prop) { - return Reflect.has(proxy, prop); - }, - /** - * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols. - */ ownKeys () { - return Reflect.ownKeys(proxy); - }, - /** - * A trap for setting property values. - */ set (target, prop, value) { - proxy[prop] = value; // set to proxy - delete target[prop]; // remove from cache - return true; - } - }); -} -/** - * @private - */ function _descriptors(proxy, defaults = { - scriptable: true, - indexable: true -}) { - const { _scriptable =defaults.scriptable , _indexable =defaults.indexable , _allKeys =defaults.allKeys } = proxy; - return { - allKeys: _allKeys, - scriptable: _scriptable, - indexable: _indexable, - isScriptable: isFunction(_scriptable) ? _scriptable : ()=>_scriptable, - isIndexable: isFunction(_indexable) ? _indexable : ()=>_indexable - }; -} -const readKey = (prefix, name)=>prefix ? prefix + _capitalize(name) : name; -const needsSubResolver = (prop, value)=>isObject(value) && prop !== 'adapters' && (Object.getPrototypeOf(value) === null || value.constructor === Object); -function _cached(target, prop, resolve) { - if (Object.prototype.hasOwnProperty.call(target, prop) || prop === 'constructor') { - return target[prop]; - } - const value = resolve(); - // cache the resolved value - target[prop] = value; - return value; -} -function _resolveWithContext(target, prop, receiver) { - const { _proxy , _context , _subProxy , _descriptors: descriptors } = target; - let value = _proxy[prop]; // resolve from proxy - // resolve with context - if (isFunction(value) && descriptors.isScriptable(prop)) { - value = _resolveScriptable(prop, value, target, receiver); - } - if (isArray(value) && value.length) { - value = _resolveArray(prop, value, target, descriptors.isIndexable); - } - if (needsSubResolver(prop, value)) { - // if the resolved value is an object, create a sub resolver for it - value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors); - } - return value; -} -function _resolveScriptable(prop, getValue, target, receiver) { - const { _proxy , _context , _subProxy , _stack } = target; - if (_stack.has(prop)) { - throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop); - } - _stack.add(prop); - let value = getValue(_context, _subProxy || receiver); - _stack.delete(prop); - if (needsSubResolver(prop, value)) { - // When scriptable option returns an object, create a resolver on that. - value = createSubResolver(_proxy._scopes, _proxy, prop, value); - } - return value; -} -function _resolveArray(prop, value, target, isIndexable) { - const { _proxy , _context , _subProxy , _descriptors: descriptors } = target; - if (typeof _context.index !== 'undefined' && isIndexable(prop)) { - return value[_context.index % value.length]; - } else if (isObject(value[0])) { - // Array of objects, return array or resolvers - const arr = value; - const scopes = _proxy._scopes.filter((s)=>s !== arr); - value = []; - for (const item of arr){ - const resolver = createSubResolver(scopes, _proxy, prop, item); - value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors)); - } - } - return value; -} -function resolveFallback(fallback, prop, value) { - return isFunction(fallback) ? fallback(prop, value) : fallback; -} -const getScope = (key, parent)=>key === true ? parent : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined; -function addScopes(set, parentScopes, key, parentFallback, value) { - for (const parent of parentScopes){ - const scope = getScope(key, parent); - if (scope) { - set.add(scope); - const fallback = resolveFallback(scope._fallback, key, value); - if (typeof fallback !== 'undefined' && fallback !== key && fallback !== parentFallback) { - // When we reach the descriptor that defines a new _fallback, return that. - // The fallback will resume to that new scope. - return fallback; - } - } else if (scope === false && typeof parentFallback !== 'undefined' && key !== parentFallback) { - // Fallback to `false` results to `false`, when falling back to different key. - // For example `interaction` from `hover` or `plugins.tooltip` and `animation` from `animations` - return null; - } - } - return false; -} -function createSubResolver(parentScopes, resolver, prop, value) { - const rootScopes = resolver._rootScopes; - const fallback = resolveFallback(resolver._fallback, prop, value); - const allScopes = [ - ...parentScopes, - ...rootScopes - ]; - const set = new Set(); - set.add(value); - let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value); - if (key === null) { - return false; - } - if (typeof fallback !== 'undefined' && fallback !== prop) { - key = addScopesFromKey(set, allScopes, fallback, key, value); - if (key === null) { - return false; - } - } - return _createResolver(Array.from(set), [ - '' - ], rootScopes, fallback, ()=>subGetTarget(resolver, prop, value)); -} -function addScopesFromKey(set, allScopes, key, fallback, item) { - while(key){ - key = addScopes(set, allScopes, key, fallback, item); - } - return key; -} -function subGetTarget(resolver, prop, value) { - const parent = resolver._getTarget(); - if (!(prop in parent)) { - parent[prop] = {}; - } - const target = parent[prop]; - if (isArray(target) && isObject(value)) { - // For array of objects, the object is used to store updated values - return value; - } - return target || {}; -} -function _resolveWithPrefixes(prop, prefixes, scopes, proxy) { - let value; - for (const prefix of prefixes){ - value = _resolve(readKey(prefix, prop), scopes); - if (typeof value !== 'undefined') { - return needsSubResolver(prop, value) ? createSubResolver(scopes, proxy, prop, value) : value; - } - } -} -function _resolve(key, scopes) { - for (const scope of scopes){ - if (!scope) { - continue; - } - const value = scope[key]; - if (typeof value !== 'undefined') { - return value; - } - } -} -function getKeysFromAllScopes(target) { - let keys = target._keys; - if (!keys) { - keys = target._keys = resolveKeysFromAllScopes(target._scopes); - } - return keys; -} -function resolveKeysFromAllScopes(scopes) { - const set = new Set(); - for (const scope of scopes){ - for (const key of Object.keys(scope).filter((k)=>!k.startsWith('_'))){ - set.add(key); - } - } - return Array.from(set); -} -function _parseObjectDataRadialScale(meta, data, start, count) { - const { iScale } = meta; - const { key ='r' } = this._parsing; - const parsed = new Array(count); - let i, ilen, index, item; - for(i = 0, ilen = count; i < ilen; ++i){ - index = i + start; - item = data[index]; - parsed[i] = { - r: iScale.parse(resolveObjectKey(item, key), index) - }; - } - return parsed; -} - -const EPSILON = Number.EPSILON || 1e-14; -const getPoint = (points, i)=>i < points.length && !points[i].skip && points[i]; -const getValueAxis = (indexAxis)=>indexAxis === 'x' ? 'y' : 'x'; -function splineCurve(firstPoint, middlePoint, afterPoint, t) { - // Props to Rob Spencer at scaled innovation for his post on splining between points - // http://scaledinnovation.com/analytics/splines/aboutSplines.html - // This function must also respect "skipped" points - const previous = firstPoint.skip ? middlePoint : firstPoint; - const current = middlePoint; - const next = afterPoint.skip ? middlePoint : afterPoint; - const d01 = distanceBetweenPoints(current, previous); - const d12 = distanceBetweenPoints(next, current); - let s01 = d01 / (d01 + d12); - let s12 = d12 / (d01 + d12); - // If all points are the same, s01 & s02 will be inf - s01 = isNaN(s01) ? 0 : s01; - s12 = isNaN(s12) ? 0 : s12; - const fa = t * s01; // scaling factor for triangle Ta - const fb = t * s12; - return { - previous: { - x: current.x - fa * (next.x - previous.x), - y: current.y - fa * (next.y - previous.y) - }, - next: { - x: current.x + fb * (next.x - previous.x), - y: current.y + fb * (next.y - previous.y) - } - }; -} -/** - * Adjust tangents to ensure monotonic properties - */ function monotoneAdjust(points, deltaK, mK) { - const pointsLen = points.length; - let alphaK, betaK, tauK, squaredMagnitude, pointCurrent; - let pointAfter = getPoint(points, 0); - for(let i = 0; i < pointsLen - 1; ++i){ - pointCurrent = pointAfter; - pointAfter = getPoint(points, i + 1); - if (!pointCurrent || !pointAfter) { - continue; - } - if (almostEquals(deltaK[i], 0, EPSILON)) { - mK[i] = mK[i + 1] = 0; - continue; - } - alphaK = mK[i] / deltaK[i]; - betaK = mK[i + 1] / deltaK[i]; - squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2); - if (squaredMagnitude <= 9) { - continue; - } - tauK = 3 / Math.sqrt(squaredMagnitude); - mK[i] = alphaK * tauK * deltaK[i]; - mK[i + 1] = betaK * tauK * deltaK[i]; - } -} -function monotoneCompute(points, mK, indexAxis = 'x') { - const valueAxis = getValueAxis(indexAxis); - const pointsLen = points.length; - let delta, pointBefore, pointCurrent; - let pointAfter = getPoint(points, 0); - for(let i = 0; i < pointsLen; ++i){ - pointBefore = pointCurrent; - pointCurrent = pointAfter; - pointAfter = getPoint(points, i + 1); - if (!pointCurrent) { - continue; - } - const iPixel = pointCurrent[indexAxis]; - const vPixel = pointCurrent[valueAxis]; - if (pointBefore) { - delta = (iPixel - pointBefore[indexAxis]) / 3; - pointCurrent[`cp1${indexAxis}`] = iPixel - delta; - pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i]; - } - if (pointAfter) { - delta = (pointAfter[indexAxis] - iPixel) / 3; - pointCurrent[`cp2${indexAxis}`] = iPixel + delta; - pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i]; - } - } -} -/** - * This function calculates Bézier control points in a similar way than |splineCurve|, - * but preserves monotonicity of the provided data and ensures no local extremums are added - * between the dataset discrete points due to the interpolation. - * See : https://en.wikipedia.org/wiki/Monotone_cubic_interpolation - */ function splineCurveMonotone(points, indexAxis = 'x') { - const valueAxis = getValueAxis(indexAxis); - const pointsLen = points.length; - const deltaK = Array(pointsLen).fill(0); - const mK = Array(pointsLen); - // Calculate slopes (deltaK) and initialize tangents (mK) - let i, pointBefore, pointCurrent; - let pointAfter = getPoint(points, 0); - for(i = 0; i < pointsLen; ++i){ - pointBefore = pointCurrent; - pointCurrent = pointAfter; - pointAfter = getPoint(points, i + 1); - if (!pointCurrent) { - continue; - } - if (pointAfter) { - const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis]; - // In the case of two points that appear at the same x pixel, slopeDeltaX is 0 - deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0; - } - mK[i] = !pointBefore ? deltaK[i] : !pointAfter ? deltaK[i - 1] : sign(deltaK[i - 1]) !== sign(deltaK[i]) ? 0 : (deltaK[i - 1] + deltaK[i]) / 2; - } - monotoneAdjust(points, deltaK, mK); - monotoneCompute(points, mK, indexAxis); -} -function capControlPoint(pt, min, max) { - return Math.max(Math.min(pt, max), min); -} -function capBezierPoints(points, area) { - let i, ilen, point, inArea, inAreaPrev; - let inAreaNext = _isPointInArea(points[0], area); - for(i = 0, ilen = points.length; i < ilen; ++i){ - inAreaPrev = inArea; - inArea = inAreaNext; - inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area); - if (!inArea) { - continue; - } - point = points[i]; - if (inAreaPrev) { - point.cp1x = capControlPoint(point.cp1x, area.left, area.right); - point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom); - } - if (inAreaNext) { - point.cp2x = capControlPoint(point.cp2x, area.left, area.right); - point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom); - } - } -} -/** - * @private - */ function _updateBezierControlPoints(points, options, area, loop, indexAxis) { - let i, ilen, point, controlPoints; - // Only consider points that are drawn in case the spanGaps option is used - if (options.spanGaps) { - points = points.filter((pt)=>!pt.skip); - } - if (options.cubicInterpolationMode === 'monotone') { - splineCurveMonotone(points, indexAxis); - } else { - let prev = loop ? points[points.length - 1] : points[0]; - for(i = 0, ilen = points.length; i < ilen; ++i){ - point = points[i]; - controlPoints = splineCurve(prev, point, points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen], options.tension); - point.cp1x = controlPoints.previous.x; - point.cp1y = controlPoints.previous.y; - point.cp2x = controlPoints.next.x; - point.cp2y = controlPoints.next.y; - prev = point; - } - } - if (options.capBezierPoints) { - capBezierPoints(points, area); - } -} - -/** - * @private - */ function _isDomSupported() { - return typeof window !== 'undefined' && typeof document !== 'undefined'; -} -/** - * @private - */ function _getParentNode(domNode) { - let parent = domNode.parentNode; - if (parent && parent.toString() === '[object ShadowRoot]') { - parent = parent.host; - } - return parent; -} -/** - * convert max-width/max-height values that may be percentages into a number - * @private - */ function parseMaxStyle(styleValue, node, parentProperty) { - let valueInPixels; - if (typeof styleValue === 'string') { - valueInPixels = parseInt(styleValue, 10); - if (styleValue.indexOf('%') !== -1) { - // percentage * size in dimension - valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty]; - } - } else { - valueInPixels = styleValue; - } - return valueInPixels; -} -const helpers_dataset_getComputedStyle = (element)=>element.ownerDocument.defaultView.getComputedStyle(element, null); -function getStyle(el, property) { - return helpers_dataset_getComputedStyle(el).getPropertyValue(property); -} -const positions = [ - 'top', - 'right', - 'bottom', - 'left' -]; -function getPositionedStyle(styles, style, suffix) { - const result = {}; - suffix = suffix ? '-' + suffix : ''; - for(let i = 0; i < 4; i++){ - const pos = positions[i]; - result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0; - } - result.width = result.left + result.right; - result.height = result.top + result.bottom; - return result; -} -const useOffsetPos = (x, y, target)=>(x > 0 || y > 0) && (!target || !target.shadowRoot); -/** - * @param e - * @param canvas - * @returns Canvas position - */ function getCanvasPosition(e, canvas) { - const touches = e.touches; - const source = touches && touches.length ? touches[0] : e; - const { offsetX , offsetY } = source; - let box = false; - let x, y; - if (useOffsetPos(offsetX, offsetY, e.target)) { - x = offsetX; - y = offsetY; - } else { - const rect = canvas.getBoundingClientRect(); - x = source.clientX - rect.left; - y = source.clientY - rect.top; - box = true; - } - return { - x, - y, - box - }; -} -/** - * Gets an event's x, y coordinates, relative to the chart area - * @param event - * @param chart - * @returns x and y coordinates of the event - */ function getRelativePosition(event, chart) { - if ('native' in event) { - return event; - } - const { canvas , currentDevicePixelRatio } = chart; - const style = helpers_dataset_getComputedStyle(canvas); - const borderBox = style.boxSizing === 'border-box'; - const paddings = getPositionedStyle(style, 'padding'); - const borders = getPositionedStyle(style, 'border', 'width'); - const { x , y , box } = getCanvasPosition(event, canvas); - const xOffset = paddings.left + (box && borders.left); - const yOffset = paddings.top + (box && borders.top); - let { width , height } = chart; - if (borderBox) { - width -= paddings.width + borders.width; - height -= paddings.height + borders.height; - } - return { - x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio), - y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio) - }; -} -function getContainerSize(canvas, width, height) { - let maxWidth, maxHeight; - if (width === undefined || height === undefined) { - const container = canvas && _getParentNode(canvas); - if (!container) { - width = canvas.clientWidth; - height = canvas.clientHeight; - } else { - const rect = container.getBoundingClientRect(); // this is the border box of the container - const containerStyle = helpers_dataset_getComputedStyle(container); - const containerBorder = getPositionedStyle(containerStyle, 'border', 'width'); - const containerPadding = getPositionedStyle(containerStyle, 'padding'); - width = rect.width - containerPadding.width - containerBorder.width; - height = rect.height - containerPadding.height - containerBorder.height; - maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth'); - maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight'); - } - } - return { - width, - height, - maxWidth: maxWidth || INFINITY, - maxHeight: maxHeight || INFINITY - }; -} -const round1 = (v)=>Math.round(v * 10) / 10; -// eslint-disable-next-line complexity -function getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) { - const style = helpers_dataset_getComputedStyle(canvas); - const margins = getPositionedStyle(style, 'margin'); - const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY; - const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY; - const containerSize = getContainerSize(canvas, bbWidth, bbHeight); - let { width , height } = containerSize; - if (style.boxSizing === 'content-box') { - const borders = getPositionedStyle(style, 'border', 'width'); - const paddings = getPositionedStyle(style, 'padding'); - width -= paddings.width + borders.width; - height -= paddings.height + borders.height; - } - width = Math.max(0, width - margins.width); - height = Math.max(0, aspectRatio ? width / aspectRatio : height - margins.height); - width = round1(Math.min(width, maxWidth, containerSize.maxWidth)); - height = round1(Math.min(height, maxHeight, containerSize.maxHeight)); - if (width && !height) { - // https://github.com/chartjs/Chart.js/issues/4659 - // If the canvas has width, but no height, default to aspectRatio of 2 (canvas default) - height = round1(width / 2); - } - const maintainHeight = bbWidth !== undefined || bbHeight !== undefined; - if (maintainHeight && aspectRatio && containerSize.height && height > containerSize.height) { - height = containerSize.height; - width = round1(Math.floor(height * aspectRatio)); - } - return { - width, - height - }; -} -/** - * @param chart - * @param forceRatio - * @param forceStyle - * @returns True if the canvas context size or transformation has changed. - */ function retinaScale(chart, forceRatio, forceStyle) { - const pixelRatio = forceRatio || 1; - const deviceHeight = round1(chart.height * pixelRatio); - const deviceWidth = round1(chart.width * pixelRatio); - chart.height = round1(chart.height); - chart.width = round1(chart.width); - const canvas = chart.canvas; - // If no style has been set on the canvas, the render size is used as display size, - // making the chart visually bigger, so let's enforce it to the "correct" values. - // See https://github.com/chartjs/Chart.js/issues/3575 - if (canvas.style && (forceStyle || !canvas.style.height && !canvas.style.width)) { - canvas.style.height = `${chart.height}px`; - canvas.style.width = `${chart.width}px`; - } - if (chart.currentDevicePixelRatio !== pixelRatio || canvas.height !== deviceHeight || canvas.width !== deviceWidth) { - chart.currentDevicePixelRatio = pixelRatio; - canvas.height = deviceHeight; - canvas.width = deviceWidth; - chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0); - return true; - } - return false; -} -/** - * Detects support for options object argument in addEventListener. - * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support - * @private - */ const supportsEventListenerOptions = function() { - let passiveSupported = false; - try { - const options = { - get passive () { - passiveSupported = true; - return false; - } - }; - if (_isDomSupported()) { - window.addEventListener('test', null, options); - window.removeEventListener('test', null, options); - } - } catch (e) { - // continue regardless of error - } - return passiveSupported; -}(); -/** - * The "used" size is the final value of a dimension property after all calculations have - * been performed. This method uses the computed style of `element` but returns undefined - * if the computed style is not expressed in pixels. That can happen in some cases where - * `element` has a size relative to its parent and this last one is not yet displayed, - * for example because of `display: none` on a parent node. - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value - * @returns Size in pixels or undefined if unknown. - */ function readUsedSize(element, property) { - const value = getStyle(element, property); - const matches = value && value.match(/^(\d+)(\.\d+)?px$/); - return matches ? +matches[1] : undefined; -} - -/** - * @private - */ function _pointInLine(p1, p2, t, mode) { - return { - x: p1.x + t * (p2.x - p1.x), - y: p1.y + t * (p2.y - p1.y) - }; -} -/** - * @private - */ function _steppedInterpolation(p1, p2, t, mode) { - return { - x: p1.x + t * (p2.x - p1.x), - y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y : mode === 'after' ? t < 1 ? p1.y : p2.y : t > 0 ? p2.y : p1.y - }; -} -/** - * @private - */ function _bezierInterpolation(p1, p2, t, mode) { - const cp1 = { - x: p1.cp2x, - y: p1.cp2y - }; - const cp2 = { - x: p2.cp1x, - y: p2.cp1y - }; - const a = _pointInLine(p1, cp1, t); - const b = _pointInLine(cp1, cp2, t); - const c = _pointInLine(cp2, p2, t); - const d = _pointInLine(a, b, t); - const e = _pointInLine(b, c, t); - return _pointInLine(d, e, t); -} - -const getRightToLeftAdapter = function(rectX, width) { - return { - x (x) { - return rectX + rectX + width - x; - }, - setWidth (w) { - width = w; - }, - textAlign (align) { - if (align === 'center') { - return align; - } - return align === 'right' ? 'left' : 'right'; - }, - xPlus (x, value) { - return x - value; - }, - leftForLtr (x, itemWidth) { - return x - itemWidth; - } - }; -}; -const getLeftToRightAdapter = function() { - return { - x (x) { - return x; - }, - setWidth (w) {}, - textAlign (align) { - return align; - }, - xPlus (x, value) { - return x + value; - }, - leftForLtr (x, _itemWidth) { - return x; - } - }; -}; -function getRtlAdapter(rtl, rectX, width) { - return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter(); -} -function overrideTextDirection(ctx, direction) { - let style, original; - if (direction === 'ltr' || direction === 'rtl') { - style = ctx.canvas.style; - original = [ - style.getPropertyValue('direction'), - style.getPropertyPriority('direction') - ]; - style.setProperty('direction', direction, 'important'); - ctx.prevTextDirection = original; - } -} -function restoreTextDirection(ctx, original) { - if (original !== undefined) { - delete ctx.prevTextDirection; - ctx.canvas.style.setProperty('direction', original[0], original[1]); - } -} - -function propertyFn(property) { - if (property === 'angle') { - return { - between: _angleBetween, - compare: _angleDiff, - normalize: _normalizeAngle - }; - } - return { - between: _isBetween, - compare: (a, b)=>a - b, - normalize: (x)=>x - }; -} -function normalizeSegment({ start , end , count , loop , style }) { - return { - start: start % count, - end: end % count, - loop: loop && (end - start + 1) % count === 0, - style - }; -} -function getSegment(segment, points, bounds) { - const { property , start: startBound , end: endBound } = bounds; - const { between , normalize } = propertyFn(property); - const count = points.length; - let { start , end , loop } = segment; - let i, ilen; - if (loop) { - start += count; - end += count; - for(i = 0, ilen = count; i < ilen; ++i){ - if (!between(normalize(points[start % count][property]), startBound, endBound)) { - break; - } - start--; - end--; - } - start %= count; - end %= count; - } - if (end < start) { - end += count; - } - return { - start, - end, - loop, - style: segment.style - }; -} - function _boundSegment(segment, points, bounds) { - if (!bounds) { - return [ - segment - ]; - } - const { property , start: startBound , end: endBound } = bounds; - const count = points.length; - const { compare , between , normalize } = propertyFn(property); - const { start , end , loop , style } = getSegment(segment, points, bounds); - const result = []; - let inside = false; - let subStart = null; - let value, point, prevValue; - const startIsBefore = ()=>between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0; - const endIsBefore = ()=>compare(endBound, value) === 0 || between(endBound, prevValue, value); - const shouldStart = ()=>inside || startIsBefore(); - const shouldStop = ()=>!inside || endIsBefore(); - for(let i = start, prev = start; i <= end; ++i){ - point = points[i % count]; - if (point.skip) { - continue; - } - value = normalize(point[property]); - if (value === prevValue) { - continue; - } - inside = between(value, startBound, endBound); - if (subStart === null && shouldStart()) { - subStart = compare(value, startBound) === 0 ? i : prev; - } - if (subStart !== null && shouldStop()) { - result.push(normalizeSegment({ - start: subStart, - end: i, - loop, - count, - style - })); - subStart = null; - } - prev = i; - prevValue = value; - } - if (subStart !== null) { - result.push(normalizeSegment({ - start: subStart, - end, - loop, - count, - style - })); - } - return result; -} - function _boundSegments(line, bounds) { - const result = []; - const segments = line.segments; - for(let i = 0; i < segments.length; i++){ - const sub = _boundSegment(segments[i], line.points, bounds); - if (sub.length) { - result.push(...sub); - } - } - return result; -} - function findStartAndEnd(points, count, loop, spanGaps) { - let start = 0; - let end = count - 1; - if (loop && !spanGaps) { - while(start < count && !points[start].skip){ - start++; - } - } - while(start < count && points[start].skip){ - start++; - } - start %= count; - if (loop) { - end += start; - } - while(end > start && points[end % count].skip){ - end--; - } - end %= count; - return { - start, - end - }; -} - function solidSegments(points, start, max, loop) { - const count = points.length; - const result = []; - let last = start; - let prev = points[start]; - let end; - for(end = start + 1; end <= max; ++end){ - const cur = points[end % count]; - if (cur.skip || cur.stop) { - if (!prev.skip) { - loop = false; - result.push({ - start: start % count, - end: (end - 1) % count, - loop - }); - start = last = cur.stop ? end : null; - } - } else { - last = end; - if (prev.skip) { - start = end; - } - } - prev = cur; - } - if (last !== null) { - result.push({ - start: start % count, - end: last % count, - loop - }); - } - return result; -} - function _computeSegments(line, segmentOptions) { - const points = line.points; - const spanGaps = line.options.spanGaps; - const count = points.length; - if (!count) { - return []; - } - const loop = !!line._loop; - const { start , end } = findStartAndEnd(points, count, loop, spanGaps); - if (spanGaps === true) { - return splitByStyles(line, [ - { - start, - end, - loop - } - ], points, segmentOptions); - } - const max = end < start ? end + count : end; - const completeLoop = !!line._fullLoop && start === 0 && end === count - 1; - return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions); -} - function splitByStyles(line, segments, points, segmentOptions) { - if (!segmentOptions || !segmentOptions.setContext || !points) { - return segments; - } - return doSplitByStyles(line, segments, points, segmentOptions); -} - function doSplitByStyles(line, segments, points, segmentOptions) { - const chartContext = line._chart.getContext(); - const baseStyle = readStyle(line.options); - const { _datasetIndex: datasetIndex , options: { spanGaps } } = line; - const count = points.length; - const result = []; - let prevStyle = baseStyle; - let start = segments[0].start; - let i = start; - function addStyle(s, e, l, st) { - const dir = spanGaps ? -1 : 1; - if (s === e) { - return; - } - s += count; - while(points[s % count].skip){ - s -= dir; - } - while(points[e % count].skip){ - e += dir; - } - if (s % count !== e % count) { - result.push({ - start: s % count, - end: e % count, - loop: l, - style: st - }); - prevStyle = st; - start = e % count; - } - } - for (const segment of segments){ - start = spanGaps ? start : segment.start; - let prev = points[start % count]; - let style; - for(i = start + 1; i <= segment.end; i++){ - const pt = points[i % count]; - style = readStyle(segmentOptions.setContext(createContext(chartContext, { - type: 'segment', - p0: prev, - p1: pt, - p0DataIndex: (i - 1) % count, - p1DataIndex: i % count, - datasetIndex - }))); - if (styleChanged(style, prevStyle)) { - addStyle(start, i - 1, segment.loop, prevStyle); - } - prev = pt; - prevStyle = style; - } - if (start < i - 1) { - addStyle(start, i - 1, segment.loop, prevStyle); - } - } - return result; -} -function readStyle(options) { - return { - backgroundColor: options.backgroundColor, - borderCapStyle: options.borderCapStyle, - borderDash: options.borderDash, - borderDashOffset: options.borderDashOffset, - borderJoinStyle: options.borderJoinStyle, - borderWidth: options.borderWidth, - borderColor: options.borderColor - }; -} -function styleChanged(style, prevStyle) { - if (!prevStyle) { - return false; - } - const cache = []; - const replacer = function(key, value) { - if (!isPatternOrGradient(value)) { - return value; - } - if (!cache.includes(value)) { - cache.push(value); - } - return cache.indexOf(value); - }; - return JSON.stringify(style, replacer) !== JSON.stringify(prevStyle, replacer); -} - -function getSizeForArea(scale, chartArea, field) { - return scale.options.clip ? scale[field] : chartArea[field]; -} -function getDatasetArea(meta, chartArea) { - const { xScale , yScale } = meta; - if (xScale && yScale) { - return { - left: getSizeForArea(xScale, chartArea, 'left'), - right: getSizeForArea(xScale, chartArea, 'right'), - top: getSizeForArea(yScale, chartArea, 'top'), - bottom: getSizeForArea(yScale, chartArea, 'bottom') - }; - } - return chartArea; -} -function getDatasetClipArea(chart, meta) { - const clip = meta._clip; - if (clip.disabled) { - return false; - } - const area = getDatasetArea(meta, chart.chartArea); - return { - left: clip.left === false ? 0 : area.left - (clip.left === true ? 0 : clip.left), - right: clip.right === false ? chart.width : area.right + (clip.right === true ? 0 : clip.right), - top: clip.top === false ? 0 : area.top - (clip.top === true ? 0 : clip.top), - bottom: clip.bottom === false ? chart.height : area.bottom + (clip.bottom === true ? 0 : clip.bottom) - }; -} - - -//# sourceMappingURL=helpers.dataset.js.map - -;// ../../node_modules/chart.js/dist/chart.js -/*! - * Chart.js v4.5.1 - * https://www.chartjs.org - * (c) 2025 Chart.js Contributors - * Released under the MIT License - */ - - - -class Animator { - constructor(){ - this._request = null; - this._charts = new Map(); - this._running = false; - this._lastDate = undefined; - } - _notify(chart, anims, date, type) { - const callbacks = anims.listeners[type]; - const numSteps = anims.duration; - callbacks.forEach((fn)=>fn({ - chart, - initial: anims.initial, - numSteps, - currentStep: Math.min(date - anims.start, numSteps) - })); - } - _refresh() { - if (this._request) { - return; - } - this._running = true; - this._request = requestAnimFrame.call(window, ()=>{ - this._update(); - this._request = null; - if (this._running) { - this._refresh(); - } - }); - } - _update(date = Date.now()) { - let remaining = 0; - this._charts.forEach((anims, chart)=>{ - if (!anims.running || !anims.items.length) { - return; - } - const items = anims.items; - let i = items.length - 1; - let draw = false; - let item; - for(; i >= 0; --i){ - item = items[i]; - if (item._active) { - if (item._total > anims.duration) { - anims.duration = item._total; - } - item.tick(date); - draw = true; - } else { - items[i] = items[items.length - 1]; - items.pop(); - } - } - if (draw) { - chart.draw(); - this._notify(chart, anims, date, 'progress'); - } - if (!items.length) { - anims.running = false; - this._notify(chart, anims, date, 'complete'); - anims.initial = false; - } - remaining += items.length; - }); - this._lastDate = date; - if (remaining === 0) { - this._running = false; - } - } - _getAnims(chart) { - const charts = this._charts; - let anims = charts.get(chart); - if (!anims) { - anims = { - running: false, - initial: true, - items: [], - listeners: { - complete: [], - progress: [] - } - }; - charts.set(chart, anims); - } - return anims; - } - listen(chart, event, cb) { - this._getAnims(chart).listeners[event].push(cb); - } - add(chart, items) { - if (!items || !items.length) { - return; - } - this._getAnims(chart).items.push(...items); - } - has(chart) { - return this._getAnims(chart).items.length > 0; - } - start(chart) { - const anims = this._charts.get(chart); - if (!anims) { - return; - } - anims.running = true; - anims.start = Date.now(); - anims.duration = anims.items.reduce((acc, cur)=>Math.max(acc, cur._duration), 0); - this._refresh(); - } - running(chart) { - if (!this._running) { - return false; - } - const anims = this._charts.get(chart); - if (!anims || !anims.running || !anims.items.length) { - return false; - } - return true; - } - stop(chart) { - const anims = this._charts.get(chart); - if (!anims || !anims.items.length) { - return; - } - const items = anims.items; - let i = items.length - 1; - for(; i >= 0; --i){ - items[i].cancel(); - } - anims.items = []; - this._notify(chart, anims, Date.now(), 'complete'); - } - remove(chart) { - return this._charts.delete(chart); - } -} -var animator = /* #__PURE__ */ new Animator(); - -const transparent = 'transparent'; -const interpolators = { - boolean (from, to, factor) { - return factor > 0.5 ? to : from; - }, - color (from, to, factor) { - const c0 = color(from || transparent); - const c1 = c0.valid && color(to || transparent); - return c1 && c1.valid ? c1.mix(c0, factor).hexString() : to; - }, - number (from, to, factor) { - return from + (to - from) * factor; - } -}; -class Animation { - constructor(cfg, target, prop, to){ - const currentValue = target[prop]; - to = resolve([ - cfg.to, - to, - currentValue, - cfg.from - ]); - const from = resolve([ - cfg.from, - currentValue, - to - ]); - this._active = true; - this._fn = cfg.fn || interpolators[cfg.type || typeof from]; - this._easing = effects[cfg.easing] || effects.linear; - this._start = Math.floor(Date.now() + (cfg.delay || 0)); - this._duration = this._total = Math.floor(cfg.duration); - this._loop = !!cfg.loop; - this._target = target; - this._prop = prop; - this._from = from; - this._to = to; - this._promises = undefined; - } - active() { - return this._active; - } - update(cfg, to, date) { - if (this._active) { - this._notify(false); - const currentValue = this._target[this._prop]; - const elapsed = date - this._start; - const remain = this._duration - elapsed; - this._start = date; - this._duration = Math.floor(Math.max(remain, cfg.duration)); - this._total += elapsed; - this._loop = !!cfg.loop; - this._to = resolve([ - cfg.to, - to, - currentValue, - cfg.from - ]); - this._from = resolve([ - cfg.from, - currentValue, - to - ]); - } - } - cancel() { - if (this._active) { - this.tick(Date.now()); - this._active = false; - this._notify(false); - } - } - tick(date) { - const elapsed = date - this._start; - const duration = this._duration; - const prop = this._prop; - const from = this._from; - const loop = this._loop; - const to = this._to; - let factor; - this._active = from !== to && (loop || elapsed < duration); - if (!this._active) { - this._target[prop] = to; - this._notify(true); - return; - } - if (elapsed < 0) { - this._target[prop] = from; - return; - } - factor = elapsed / duration % 2; - factor = loop && factor > 1 ? 2 - factor : factor; - factor = this._easing(Math.min(1, Math.max(0, factor))); - this._target[prop] = this._fn(from, to, factor); - } - wait() { - const promises = this._promises || (this._promises = []); - return new Promise((res, rej)=>{ - promises.push({ - res, - rej - }); - }); - } - _notify(resolved) { - const method = resolved ? 'res' : 'rej'; - const promises = this._promises || []; - for(let i = 0; i < promises.length; i++){ - promises[i][method](); - } - } -} - -class Animations { - constructor(chart, config){ - this._chart = chart; - this._properties = new Map(); - this.configure(config); - } - configure(config) { - if (!isObject(config)) { - return; - } - const animationOptions = Object.keys(defaults.animation); - const animatedProps = this._properties; - Object.getOwnPropertyNames(config).forEach((key)=>{ - const cfg = config[key]; - if (!isObject(cfg)) { - return; - } - const resolved = {}; - for (const option of animationOptions){ - resolved[option] = cfg[option]; - } - (isArray(cfg.properties) && cfg.properties || [ - key - ]).forEach((prop)=>{ - if (prop === key || !animatedProps.has(prop)) { - animatedProps.set(prop, resolved); - } - }); - }); - } - _animateOptions(target, values) { - const newOptions = values.options; - const options = resolveTargetOptions(target, newOptions); - if (!options) { - return []; - } - const animations = this._createAnimations(options, newOptions); - if (newOptions.$shared) { - awaitAll(target.options.$animations, newOptions).then(()=>{ - target.options = newOptions; - }, ()=>{ - }); - } - return animations; - } - _createAnimations(target, values) { - const animatedProps = this._properties; - const animations = []; - const running = target.$animations || (target.$animations = {}); - const props = Object.keys(values); - const date = Date.now(); - let i; - for(i = props.length - 1; i >= 0; --i){ - const prop = props[i]; - if (prop.charAt(0) === '$') { - continue; - } - if (prop === 'options') { - animations.push(...this._animateOptions(target, values)); - continue; - } - const value = values[prop]; - let animation = running[prop]; - const cfg = animatedProps.get(prop); - if (animation) { - if (cfg && animation.active()) { - animation.update(cfg, value, date); - continue; - } else { - animation.cancel(); - } - } - if (!cfg || !cfg.duration) { - target[prop] = value; - continue; - } - running[prop] = animation = new Animation(cfg, target, prop, value); - animations.push(animation); - } - return animations; - } - update(target, values) { - if (this._properties.size === 0) { - Object.assign(target, values); - return; - } - const animations = this._createAnimations(target, values); - if (animations.length) { - animator.add(this._chart, animations); - return true; - } - } -} -function awaitAll(animations, properties) { - const running = []; - const keys = Object.keys(properties); - for(let i = 0; i < keys.length; i++){ - const anim = animations[keys[i]]; - if (anim && anim.active()) { - running.push(anim.wait()); - } - } - return Promise.all(running); -} -function resolveTargetOptions(target, newOptions) { - if (!newOptions) { - return; - } - let options = target.options; - if (!options) { - target.options = newOptions; - return; - } - if (options.$shared) { - target.options = options = Object.assign({}, options, { - $shared: false, - $animations: {} - }); - } - return options; -} - -function scaleClip(scale, allowedOverflow) { - const opts = scale && scale.options || {}; - const reverse = opts.reverse; - const min = opts.min === undefined ? allowedOverflow : 0; - const max = opts.max === undefined ? allowedOverflow : 0; - return { - start: reverse ? max : min, - end: reverse ? min : max - }; -} -function defaultClip(xScale, yScale, allowedOverflow) { - if (allowedOverflow === false) { - return false; - } - const x = scaleClip(xScale, allowedOverflow); - const y = scaleClip(yScale, allowedOverflow); - return { - top: y.end, - right: x.end, - bottom: y.start, - left: x.start - }; -} -function toClip(value) { - let t, r, b, l; - if (isObject(value)) { - t = value.top; - r = value.right; - b = value.bottom; - l = value.left; - } else { - t = r = b = l = value; - } - return { - top: t, - right: r, - bottom: b, - left: l, - disabled: value === false - }; -} -function getSortedDatasetIndices(chart, filterVisible) { - const keys = []; - const metasets = chart._getSortedDatasetMetas(filterVisible); - let i, ilen; - for(i = 0, ilen = metasets.length; i < ilen; ++i){ - keys.push(metasets[i].index); - } - return keys; -} -function applyStack(stack, value, dsIndex, options = {}) { - const keys = stack.keys; - const singleMode = options.mode === 'single'; - let i, ilen, datasetIndex, otherValue; - if (value === null) { - return; - } - let found = false; - for(i = 0, ilen = keys.length; i < ilen; ++i){ - datasetIndex = +keys[i]; - if (datasetIndex === dsIndex) { - found = true; - if (options.all) { - continue; - } - break; - } - otherValue = stack.values[datasetIndex]; - if (isNumberFinite(otherValue) && (singleMode || value === 0 || sign(value) === sign(otherValue))) { - value += otherValue; - } - } - if (!found && !options.all) { - return 0; - } - return value; -} -function convertObjectDataToArray(data, meta) { - const { iScale , vScale } = meta; - const iAxisKey = iScale.axis === 'x' ? 'x' : 'y'; - const vAxisKey = vScale.axis === 'x' ? 'x' : 'y'; - const keys = Object.keys(data); - const adata = new Array(keys.length); - let i, ilen, key; - for(i = 0, ilen = keys.length; i < ilen; ++i){ - key = keys[i]; - adata[i] = { - [iAxisKey]: key, - [vAxisKey]: data[key] - }; - } - return adata; -} -function isStacked(scale, meta) { - const stacked = scale && scale.options.stacked; - return stacked || stacked === undefined && meta.stack !== undefined; -} -function getStackKey(indexScale, valueScale, meta) { - return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`; -} -function getUserBounds(scale) { - const { min , max , minDefined , maxDefined } = scale.getUserBounds(); - return { - min: minDefined ? min : Number.NEGATIVE_INFINITY, - max: maxDefined ? max : Number.POSITIVE_INFINITY - }; -} -function getOrCreateStack(stacks, stackKey, indexValue) { - const subStack = stacks[stackKey] || (stacks[stackKey] = {}); - return subStack[indexValue] || (subStack[indexValue] = {}); -} -function getLastIndexInStack(stack, vScale, positive, type) { - for (const meta of vScale.getMatchingVisibleMetas(type).reverse()){ - const value = stack[meta.index]; - if (positive && value > 0 || !positive && value < 0) { - return meta.index; - } - } - return null; -} -function updateStacks(controller, parsed) { - const { chart , _cachedMeta: meta } = controller; - const stacks = chart._stacks || (chart._stacks = {}); - const { iScale , vScale , index: datasetIndex } = meta; - const iAxis = iScale.axis; - const vAxis = vScale.axis; - const key = getStackKey(iScale, vScale, meta); - const ilen = parsed.length; - let stack; - for(let i = 0; i < ilen; ++i){ - const item = parsed[i]; - const { [iAxis]: index , [vAxis]: value } = item; - const itemStacks = item._stacks || (item._stacks = {}); - stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index); - stack[datasetIndex] = value; - stack._top = getLastIndexInStack(stack, vScale, true, meta.type); - stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type); - const visualValues = stack._visualValues || (stack._visualValues = {}); - visualValues[datasetIndex] = value; - } -} -function getFirstScaleId(chart, axis) { - const scales = chart.scales; - return Object.keys(scales).filter((key)=>scales[key].axis === axis).shift(); -} -function createDatasetContext(parent, index) { - return createContext(parent, { - active: false, - dataset: undefined, - datasetIndex: index, - index, - mode: 'default', - type: 'dataset' - }); -} -function createDataContext(parent, index, element) { - return createContext(parent, { - active: false, - dataIndex: index, - parsed: undefined, - raw: undefined, - element, - index, - mode: 'default', - type: 'data' - }); -} -function clearStacks(meta, items) { - const datasetIndex = meta.controller.index; - const axis = meta.vScale && meta.vScale.axis; - if (!axis) { - return; - } - items = items || meta._parsed; - for (const parsed of items){ - const stacks = parsed._stacks; - if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) { - return; - } - delete stacks[axis][datasetIndex]; - if (stacks[axis]._visualValues !== undefined && stacks[axis]._visualValues[datasetIndex] !== undefined) { - delete stacks[axis]._visualValues[datasetIndex]; - } - } -} -const isDirectUpdateMode = (mode)=>mode === 'reset' || mode === 'none'; -const cloneIfNotShared = (cached, shared)=>shared ? cached : Object.assign({}, cached); -const createStack = (canStack, meta, chart)=>canStack && !meta.hidden && meta._stacked && { - keys: getSortedDatasetIndices(chart, true), - values: null - }; -class DatasetController { - static defaults = {}; - static datasetElementType = null; - static dataElementType = null; - constructor(chart, datasetIndex){ - this.chart = chart; - this._ctx = chart.ctx; - this.index = datasetIndex; - this._cachedDataOpts = {}; - this._cachedMeta = this.getMeta(); - this._type = this._cachedMeta.type; - this.options = undefined; - this._parsing = false; - this._data = undefined; - this._objectData = undefined; - this._sharedOptions = undefined; - this._drawStart = undefined; - this._drawCount = undefined; - this.enableOptionSharing = false; - this.supportsDecimation = false; - this.$context = undefined; - this._syncList = []; - this.datasetElementType = new.target.datasetElementType; - this.dataElementType = new.target.dataElementType; - this.initialize(); - } - initialize() { - const meta = this._cachedMeta; - this.configure(); - this.linkScales(); - meta._stacked = isStacked(meta.vScale, meta); - this.addElements(); - if (this.options.fill && !this.chart.isPluginEnabled('filler')) { - console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options"); - } - } - updateIndex(datasetIndex) { - if (this.index !== datasetIndex) { - clearStacks(this._cachedMeta); - } - this.index = datasetIndex; - } - linkScales() { - const chart = this.chart; - const meta = this._cachedMeta; - const dataset = this.getDataset(); - const chooseId = (axis, x, y, r)=>axis === 'x' ? x : axis === 'r' ? r : y; - const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x')); - const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y')); - const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r')); - const indexAxis = meta.indexAxis; - const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid); - const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid); - meta.xScale = this.getScaleForId(xid); - meta.yScale = this.getScaleForId(yid); - meta.rScale = this.getScaleForId(rid); - meta.iScale = this.getScaleForId(iid); - meta.vScale = this.getScaleForId(vid); - } - getDataset() { - return this.chart.data.datasets[this.index]; - } - getMeta() { - return this.chart.getDatasetMeta(this.index); - } - getScaleForId(scaleID) { - return this.chart.scales[scaleID]; - } - _getOtherScale(scale) { - const meta = this._cachedMeta; - return scale === meta.iScale ? meta.vScale : meta.iScale; - } - reset() { - this._update('reset'); - } - _destroy() { - const meta = this._cachedMeta; - if (this._data) { - unlistenArrayEvents(this._data, this); - } - if (meta._stacked) { - clearStacks(meta); - } - } - _dataCheck() { - const dataset = this.getDataset(); - const data = dataset.data || (dataset.data = []); - const _data = this._data; - if (isObject(data)) { - const meta = this._cachedMeta; - this._data = convertObjectDataToArray(data, meta); - } else if (_data !== data) { - if (_data) { - unlistenArrayEvents(_data, this); - const meta = this._cachedMeta; - clearStacks(meta); - meta._parsed = []; - } - if (data && Object.isExtensible(data)) { - listenArrayEvents(data, this); - } - this._syncList = []; - this._data = data; - } - } - addElements() { - const meta = this._cachedMeta; - this._dataCheck(); - if (this.datasetElementType) { - meta.dataset = new this.datasetElementType(); - } - } - buildOrUpdateElements(resetNewElements) { - const meta = this._cachedMeta; - const dataset = this.getDataset(); - let stackChanged = false; - this._dataCheck(); - const oldStacked = meta._stacked; - meta._stacked = isStacked(meta.vScale, meta); - if (meta.stack !== dataset.stack) { - stackChanged = true; - clearStacks(meta); - meta.stack = dataset.stack; - } - this._resyncElements(resetNewElements); - if (stackChanged || oldStacked !== meta._stacked) { - updateStacks(this, meta._parsed); - meta._stacked = isStacked(meta.vScale, meta); - } - } - configure() { - const config = this.chart.config; - const scopeKeys = config.datasetScopeKeys(this._type); - const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true); - this.options = config.createResolver(scopes, this.getContext()); - this._parsing = this.options.parsing; - this._cachedDataOpts = {}; - } - parse(start, count) { - const { _cachedMeta: meta , _data: data } = this; - const { iScale , _stacked } = meta; - const iAxis = iScale.axis; - let sorted = start === 0 && count === data.length ? true : meta._sorted; - let prev = start > 0 && meta._parsed[start - 1]; - let i, cur, parsed; - if (this._parsing === false) { - meta._parsed = data; - meta._sorted = true; - parsed = data; - } else { - if (isArray(data[start])) { - parsed = this.parseArrayData(meta, data, start, count); - } else if (isObject(data[start])) { - parsed = this.parseObjectData(meta, data, start, count); - } else { - parsed = this.parsePrimitiveData(meta, data, start, count); - } - const isNotInOrderComparedToPrev = ()=>cur[iAxis] === null || prev && cur[iAxis] < prev[iAxis]; - for(i = 0; i < count; ++i){ - meta._parsed[i + start] = cur = parsed[i]; - if (sorted) { - if (isNotInOrderComparedToPrev()) { - sorted = false; - } - prev = cur; - } - } - meta._sorted = sorted; - } - if (_stacked) { - updateStacks(this, parsed); - } - } - parsePrimitiveData(meta, data, start, count) { - const { iScale , vScale } = meta; - const iAxis = iScale.axis; - const vAxis = vScale.axis; - const labels = iScale.getLabels(); - const singleScale = iScale === vScale; - const parsed = new Array(count); - let i, ilen, index; - for(i = 0, ilen = count; i < ilen; ++i){ - index = i + start; - parsed[i] = { - [iAxis]: singleScale || iScale.parse(labels[index], index), - [vAxis]: vScale.parse(data[index], index) - }; - } - return parsed; - } - parseArrayData(meta, data, start, count) { - const { xScale , yScale } = meta; - const parsed = new Array(count); - let i, ilen, index, item; - for(i = 0, ilen = count; i < ilen; ++i){ - index = i + start; - item = data[index]; - parsed[i] = { - x: xScale.parse(item[0], index), - y: yScale.parse(item[1], index) - }; - } - return parsed; - } - parseObjectData(meta, data, start, count) { - const { xScale , yScale } = meta; - const { xAxisKey ='x' , yAxisKey ='y' } = this._parsing; - const parsed = new Array(count); - let i, ilen, index, item; - for(i = 0, ilen = count; i < ilen; ++i){ - index = i + start; - item = data[index]; - parsed[i] = { - x: xScale.parse(resolveObjectKey(item, xAxisKey), index), - y: yScale.parse(resolveObjectKey(item, yAxisKey), index) - }; - } - return parsed; - } - getParsed(index) { - return this._cachedMeta._parsed[index]; - } - getDataElement(index) { - return this._cachedMeta.data[index]; - } - applyStack(scale, parsed, mode) { - const chart = this.chart; - const meta = this._cachedMeta; - const value = parsed[scale.axis]; - const stack = { - keys: getSortedDatasetIndices(chart, true), - values: parsed._stacks[scale.axis]._visualValues - }; - return applyStack(stack, value, meta.index, { - mode - }); - } - updateRangeFromParsed(range, scale, parsed, stack) { - const parsedValue = parsed[scale.axis]; - let value = parsedValue === null ? NaN : parsedValue; - const values = stack && parsed._stacks[scale.axis]; - if (stack && values) { - stack.values = values; - value = applyStack(stack, parsedValue, this._cachedMeta.index); - } - range.min = Math.min(range.min, value); - range.max = Math.max(range.max, value); - } - getMinMax(scale, canStack) { - const meta = this._cachedMeta; - const _parsed = meta._parsed; - const sorted = meta._sorted && scale === meta.iScale; - const ilen = _parsed.length; - const otherScale = this._getOtherScale(scale); - const stack = createStack(canStack, meta, this.chart); - const range = { - min: Number.POSITIVE_INFINITY, - max: Number.NEGATIVE_INFINITY - }; - const { min: otherMin , max: otherMax } = getUserBounds(otherScale); - let i, parsed; - function _skip() { - parsed = _parsed[i]; - const otherValue = parsed[otherScale.axis]; - return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue; - } - for(i = 0; i < ilen; ++i){ - if (_skip()) { - continue; - } - this.updateRangeFromParsed(range, scale, parsed, stack); - if (sorted) { - break; - } - } - if (sorted) { - for(i = ilen - 1; i >= 0; --i){ - if (_skip()) { - continue; - } - this.updateRangeFromParsed(range, scale, parsed, stack); - break; - } - } - return range; - } - getAllParsedValues(scale) { - const parsed = this._cachedMeta._parsed; - const values = []; - let i, ilen, value; - for(i = 0, ilen = parsed.length; i < ilen; ++i){ - value = parsed[i][scale.axis]; - if (isNumberFinite(value)) { - values.push(value); - } - } - return values; - } - getMaxOverflow() { - return false; - } - getLabelAndValue(index) { - const meta = this._cachedMeta; - const iScale = meta.iScale; - const vScale = meta.vScale; - const parsed = this.getParsed(index); - return { - label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '', - value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : '' - }; - } - _update(mode) { - const meta = this._cachedMeta; - this.update(mode || 'default'); - meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow()))); - } - update(mode) {} - draw() { - const ctx = this._ctx; - const chart = this.chart; - const meta = this._cachedMeta; - const elements = meta.data || []; - const area = chart.chartArea; - const active = []; - const start = this._drawStart || 0; - const count = this._drawCount || elements.length - start; - const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop; - let i; - if (meta.dataset) { - meta.dataset.draw(ctx, area, start, count); - } - for(i = start; i < start + count; ++i){ - const element = elements[i]; - if (element.hidden) { - continue; - } - if (element.active && drawActiveElementsOnTop) { - active.push(element); - } else { - element.draw(ctx, area); - } - } - for(i = 0; i < active.length; ++i){ - active[i].draw(ctx, area); - } - } - getStyle(index, active) { - const mode = active ? 'active' : 'default'; - return index === undefined && this._cachedMeta.dataset ? this.resolveDatasetElementOptions(mode) : this.resolveDataElementOptions(index || 0, mode); - } - getContext(index, active, mode) { - const dataset = this.getDataset(); - let context; - if (index >= 0 && index < this._cachedMeta.data.length) { - const element = this._cachedMeta.data[index]; - context = element.$context || (element.$context = createDataContext(this.getContext(), index, element)); - context.parsed = this.getParsed(index); - context.raw = dataset.data[index]; - context.index = context.dataIndex = index; - } else { - context = this.$context || (this.$context = createDatasetContext(this.chart.getContext(), this.index)); - context.dataset = dataset; - context.index = context.datasetIndex = this.index; - } - context.active = !!active; - context.mode = mode; - return context; - } - resolveDatasetElementOptions(mode) { - return this._resolveElementOptions(this.datasetElementType.id, mode); - } - resolveDataElementOptions(index, mode) { - return this._resolveElementOptions(this.dataElementType.id, mode, index); - } - _resolveElementOptions(elementType, mode = 'default', index) { - const active = mode === 'active'; - const cache = this._cachedDataOpts; - const cacheKey = elementType + '-' + mode; - const cached = cache[cacheKey]; - const sharing = this.enableOptionSharing && defined(index); - if (cached) { - return cloneIfNotShared(cached, sharing); - } - const config = this.chart.config; - const scopeKeys = config.datasetElementScopeKeys(this._type, elementType); - const prefixes = active ? [ - `${elementType}Hover`, - 'hover', - elementType, - '' - ] : [ - elementType, - '' - ]; - const scopes = config.getOptionScopes(this.getDataset(), scopeKeys); - const names = Object.keys(defaults.elements[elementType]); - const context = ()=>this.getContext(index, active, mode); - const values = config.resolveNamedOptions(scopes, names, context, prefixes); - if (values.$shared) { - values.$shared = sharing; - cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing)); - } - return values; - } - _resolveAnimations(index, transition, active) { - const chart = this.chart; - const cache = this._cachedDataOpts; - const cacheKey = `animation-${transition}`; - const cached = cache[cacheKey]; - if (cached) { - return cached; - } - let options; - if (chart.options.animation !== false) { - const config = this.chart.config; - const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition); - const scopes = config.getOptionScopes(this.getDataset(), scopeKeys); - options = config.createResolver(scopes, this.getContext(index, active, transition)); - } - const animations = new Animations(chart, options && options.animations); - if (options && options._cacheable) { - cache[cacheKey] = Object.freeze(animations); - } - return animations; - } - getSharedOptions(options) { - if (!options.$shared) { - return; - } - return this._sharedOptions || (this._sharedOptions = Object.assign({}, options)); - } - includeOptions(mode, sharedOptions) { - return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled; - } - _getSharedOptions(start, mode) { - const firstOpts = this.resolveDataElementOptions(start, mode); - const previouslySharedOptions = this._sharedOptions; - const sharedOptions = this.getSharedOptions(firstOpts); - const includeOptions = this.includeOptions(mode, sharedOptions) || sharedOptions !== previouslySharedOptions; - this.updateSharedOptions(sharedOptions, mode, firstOpts); - return { - sharedOptions, - includeOptions - }; - } - updateElement(element, index, properties, mode) { - if (isDirectUpdateMode(mode)) { - Object.assign(element, properties); - } else { - this._resolveAnimations(index, mode).update(element, properties); - } - } - updateSharedOptions(sharedOptions, mode, newOptions) { - if (sharedOptions && !isDirectUpdateMode(mode)) { - this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions); - } - } - _setStyle(element, index, mode, active) { - element.active = active; - const options = this.getStyle(index, active); - this._resolveAnimations(index, mode, active).update(element, { - options: !active && this.getSharedOptions(options) || options - }); - } - removeHoverStyle(element, datasetIndex, index) { - this._setStyle(element, index, 'active', false); - } - setHoverStyle(element, datasetIndex, index) { - this._setStyle(element, index, 'active', true); - } - _removeDatasetHoverStyle() { - const element = this._cachedMeta.dataset; - if (element) { - this._setStyle(element, undefined, 'active', false); - } - } - _setDatasetHoverStyle() { - const element = this._cachedMeta.dataset; - if (element) { - this._setStyle(element, undefined, 'active', true); - } - } - _resyncElements(resetNewElements) { - const data = this._data; - const elements = this._cachedMeta.data; - for (const [method, arg1, arg2] of this._syncList){ - this[method](arg1, arg2); - } - this._syncList = []; - const numMeta = elements.length; - const numData = data.length; - const count = Math.min(numData, numMeta); - if (count) { - this.parse(0, count); - } - if (numData > numMeta) { - this._insertElements(numMeta, numData - numMeta, resetNewElements); - } else if (numData < numMeta) { - this._removeElements(numData, numMeta - numData); - } - } - _insertElements(start, count, resetNewElements = true) { - const meta = this._cachedMeta; - const data = meta.data; - const end = start + count; - let i; - const move = (arr)=>{ - arr.length += count; - for(i = arr.length - 1; i >= end; i--){ - arr[i] = arr[i - count]; - } - }; - move(data); - for(i = start; i < end; ++i){ - data[i] = new this.dataElementType(); - } - if (this._parsing) { - move(meta._parsed); - } - this.parse(start, count); - if (resetNewElements) { - this.updateElements(data, start, count, 'reset'); - } - } - updateElements(element, start, count, mode) {} - _removeElements(start, count) { - const meta = this._cachedMeta; - if (this._parsing) { - const removed = meta._parsed.splice(start, count); - if (meta._stacked) { - clearStacks(meta, removed); - } - } - meta.data.splice(start, count); - } - _sync(args) { - if (this._parsing) { - this._syncList.push(args); - } else { - const [method, arg1, arg2] = args; - this[method](arg1, arg2); - } - this.chart._dataChanges.push([ - this.index, - ...args - ]); - } - _onDataPush() { - const count = arguments.length; - this._sync([ - '_insertElements', - this.getDataset().data.length - count, - count - ]); - } - _onDataPop() { - this._sync([ - '_removeElements', - this._cachedMeta.data.length - 1, - 1 - ]); - } - _onDataShift() { - this._sync([ - '_removeElements', - 0, - 1 - ]); - } - _onDataSplice(start, count) { - if (count) { - this._sync([ - '_removeElements', - start, - count - ]); - } - const newCount = arguments.length - 2; - if (newCount) { - this._sync([ - '_insertElements', - start, - newCount - ]); - } - } - _onDataUnshift() { - this._sync([ - '_insertElements', - 0, - arguments.length - ]); - } -} - -function getAllScaleValues(scale, type) { - if (!scale._cache.$bar) { - const visibleMetas = scale.getMatchingVisibleMetas(type); - let values = []; - for(let i = 0, ilen = visibleMetas.length; i < ilen; i++){ - values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale)); - } - scale._cache.$bar = _arrayUnique(values.sort((a, b)=>a - b)); - } - return scale._cache.$bar; -} - function computeMinSampleSize(meta) { - const scale = meta.iScale; - const values = getAllScaleValues(scale, meta.type); - let min = scale._length; - let i, ilen, curr, prev; - const updateMinAndPrev = ()=>{ - if (curr === 32767 || curr === -32768) { - return; - } - if (defined(prev)) { - min = Math.min(min, Math.abs(curr - prev) || min); - } - prev = curr; - }; - for(i = 0, ilen = values.length; i < ilen; ++i){ - curr = scale.getPixelForValue(values[i]); - updateMinAndPrev(); - } - prev = undefined; - for(i = 0, ilen = scale.ticks.length; i < ilen; ++i){ - curr = scale.getPixelForTick(i); - updateMinAndPrev(); - } - return min; -} - function computeFitCategoryTraits(index, ruler, options, stackCount) { - const thickness = options.barThickness; - let size, ratio; - if (isNullOrUndef(thickness)) { - size = ruler.min * options.categoryPercentage; - ratio = options.barPercentage; - } else { - size = thickness * stackCount; - ratio = 1; - } - return { - chunk: size / stackCount, - ratio, - start: ruler.pixels[index] - size / 2 - }; -} - function computeFlexCategoryTraits(index, ruler, options, stackCount) { - const pixels = ruler.pixels; - const curr = pixels[index]; - let prev = index > 0 ? pixels[index - 1] : null; - let next = index < pixels.length - 1 ? pixels[index + 1] : null; - const percent = options.categoryPercentage; - if (prev === null) { - prev = curr - (next === null ? ruler.end - ruler.start : next - curr); - } - if (next === null) { - next = curr + curr - prev; - } - const start = curr - (curr - Math.min(prev, next)) / 2 * percent; - const size = Math.abs(next - prev) / 2 * percent; - return { - chunk: size / stackCount, - ratio: options.barPercentage, - start - }; -} -function parseFloatBar(entry, item, vScale, i) { - const startValue = vScale.parse(entry[0], i); - const endValue = vScale.parse(entry[1], i); - const min = Math.min(startValue, endValue); - const max = Math.max(startValue, endValue); - let barStart = min; - let barEnd = max; - if (Math.abs(min) > Math.abs(max)) { - barStart = max; - barEnd = min; - } - item[vScale.axis] = barEnd; - item._custom = { - barStart, - barEnd, - start: startValue, - end: endValue, - min, - max - }; -} -function parseValue(entry, item, vScale, i) { - if (isArray(entry)) { - parseFloatBar(entry, item, vScale, i); - } else { - item[vScale.axis] = vScale.parse(entry, i); - } - return item; -} -function parseArrayOrPrimitive(meta, data, start, count) { - const iScale = meta.iScale; - const vScale = meta.vScale; - const labels = iScale.getLabels(); - const singleScale = iScale === vScale; - const parsed = []; - let i, ilen, item, entry; - for(i = start, ilen = start + count; i < ilen; ++i){ - entry = data[i]; - item = {}; - item[iScale.axis] = singleScale || iScale.parse(labels[i], i); - parsed.push(parseValue(entry, item, vScale, i)); - } - return parsed; -} -function isFloatBar(custom) { - return custom && custom.barStart !== undefined && custom.barEnd !== undefined; -} -function barSign(size, vScale, actualBase) { - if (size !== 0) { - return sign(size); - } - return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1); -} -function borderProps(properties) { - let reverse, start, end, top, bottom; - if (properties.horizontal) { - reverse = properties.base > properties.x; - start = 'left'; - end = 'right'; - } else { - reverse = properties.base < properties.y; - start = 'bottom'; - end = 'top'; - } - if (reverse) { - top = 'end'; - bottom = 'start'; - } else { - top = 'start'; - bottom = 'end'; - } - return { - start, - end, - reverse, - top, - bottom - }; -} -function setBorderSkipped(properties, options, stack, index) { - let edge = options.borderSkipped; - const res = {}; - if (!edge) { - properties.borderSkipped = res; - return; - } - if (edge === true) { - properties.borderSkipped = { - top: true, - right: true, - bottom: true, - left: true - }; - return; - } - const { start , end , reverse , top , bottom } = borderProps(properties); - if (edge === 'middle' && stack) { - properties.enableBorderRadius = true; - if ((stack._top || 0) === index) { - edge = top; - } else if ((stack._bottom || 0) === index) { - edge = bottom; - } else { - res[parseEdge(bottom, start, end, reverse)] = true; - edge = top; - } - } - res[parseEdge(edge, start, end, reverse)] = true; - properties.borderSkipped = res; -} -function parseEdge(edge, a, b, reverse) { - if (reverse) { - edge = swap(edge, a, b); - edge = startEnd(edge, b, a); - } else { - edge = startEnd(edge, a, b); - } - return edge; -} -function swap(orig, v1, v2) { - return orig === v1 ? v2 : orig === v2 ? v1 : orig; -} -function startEnd(v, start, end) { - return v === 'start' ? start : v === 'end' ? end : v; -} -function setInflateAmount(properties, { inflateAmount }, ratio) { - properties.inflateAmount = inflateAmount === 'auto' ? ratio === 1 ? 0.33 : 0 : inflateAmount; -} -class BarController extends DatasetController { - static id = 'bar'; - static defaults = { - datasetElementType: false, - dataElementType: 'bar', - categoryPercentage: 0.8, - barPercentage: 0.9, - grouped: true, - animations: { - numbers: { - type: 'number', - properties: [ - 'x', - 'y', - 'base', - 'width', - 'height' - ] - } - } - }; - static overrides = { - scales: { - _index_: { - type: 'category', - offset: true, - grid: { - offset: true - } - }, - _value_: { - type: 'linear', - beginAtZero: true - } - } - }; - parsePrimitiveData(meta, data, start, count) { - return parseArrayOrPrimitive(meta, data, start, count); - } - parseArrayData(meta, data, start, count) { - return parseArrayOrPrimitive(meta, data, start, count); - } - parseObjectData(meta, data, start, count) { - const { iScale , vScale } = meta; - const { xAxisKey ='x' , yAxisKey ='y' } = this._parsing; - const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey; - const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey; - const parsed = []; - let i, ilen, item, obj; - for(i = start, ilen = start + count; i < ilen; ++i){ - obj = data[i]; - item = {}; - item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i); - parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i)); - } - return parsed; - } - updateRangeFromParsed(range, scale, parsed, stack) { - super.updateRangeFromParsed(range, scale, parsed, stack); - const custom = parsed._custom; - if (custom && scale === this._cachedMeta.vScale) { - range.min = Math.min(range.min, custom.min); - range.max = Math.max(range.max, custom.max); - } - } - getMaxOverflow() { - return 0; - } - getLabelAndValue(index) { - const meta = this._cachedMeta; - const { iScale , vScale } = meta; - const parsed = this.getParsed(index); - const custom = parsed._custom; - const value = isFloatBar(custom) ? '[' + custom.start + ', ' + custom.end + ']' : '' + vScale.getLabelForValue(parsed[vScale.axis]); - return { - label: '' + iScale.getLabelForValue(parsed[iScale.axis]), - value - }; - } - initialize() { - this.enableOptionSharing = true; - super.initialize(); - const meta = this._cachedMeta; - meta.stack = this.getDataset().stack; - } - update(mode) { - const meta = this._cachedMeta; - this.updateElements(meta.data, 0, meta.data.length, mode); - } - updateElements(bars, start, count, mode) { - const reset = mode === 'reset'; - const { index , _cachedMeta: { vScale } } = this; - const base = vScale.getBasePixel(); - const horizontal = vScale.isHorizontal(); - const ruler = this._getRuler(); - const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode); - for(let i = start; i < start + count; i++){ - const parsed = this.getParsed(i); - const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? { - base, - head: base - } : this._calculateBarValuePixels(i); - const ipixels = this._calculateBarIndexPixels(i, ruler); - const stack = (parsed._stacks || {})[vScale.axis]; - const properties = { - horizontal, - base: vpixels.base, - enableBorderRadius: !stack || isFloatBar(parsed._custom) || index === stack._top || index === stack._bottom, - x: horizontal ? vpixels.head : ipixels.center, - y: horizontal ? ipixels.center : vpixels.head, - height: horizontal ? ipixels.size : Math.abs(vpixels.size), - width: horizontal ? Math.abs(vpixels.size) : ipixels.size - }; - if (includeOptions) { - properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode); - } - const options = properties.options || bars[i].options; - setBorderSkipped(properties, options, stack, index); - setInflateAmount(properties, options, ruler.ratio); - this.updateElement(bars[i], i, properties, mode); - } - } - _getStacks(last, dataIndex) { - const { iScale } = this._cachedMeta; - const metasets = iScale.getMatchingVisibleMetas(this._type).filter((meta)=>meta.controller.options.grouped); - const stacked = iScale.options.stacked; - const stacks = []; - const currentParsed = this._cachedMeta.controller.getParsed(dataIndex); - const iScaleValue = currentParsed && currentParsed[iScale.axis]; - const skipNull = (meta)=>{ - const parsed = meta._parsed.find((item)=>item[iScale.axis] === iScaleValue); - const val = parsed && parsed[meta.vScale.axis]; - if (isNullOrUndef(val) || isNaN(val)) { - return true; - } - }; - for (const meta of metasets){ - if (dataIndex !== undefined && skipNull(meta)) { - continue; - } - if (stacked === false || stacks.indexOf(meta.stack) === -1 || stacked === undefined && meta.stack === undefined) { - stacks.push(meta.stack); - } - if (meta.index === last) { - break; - } - } - if (!stacks.length) { - stacks.push(undefined); - } - return stacks; - } - _getStackCount(index) { - return this._getStacks(undefined, index).length; - } - _getAxisCount() { - return this._getAxis().length; - } - getFirstScaleIdForIndexAxis() { - const scales = this.chart.scales; - const indexScaleId = this.chart.options.indexAxis; - return Object.keys(scales).filter((key)=>scales[key].axis === indexScaleId).shift(); - } - _getAxis() { - const axis = {}; - const firstScaleAxisId = this.getFirstScaleIdForIndexAxis(); - for (const dataset of this.chart.data.datasets){ - axis[valueOrDefault(this.chart.options.indexAxis === 'x' ? dataset.xAxisID : dataset.yAxisID, firstScaleAxisId)] = true; - } - return Object.keys(axis); - } - _getStackIndex(datasetIndex, name, dataIndex) { - const stacks = this._getStacks(datasetIndex, dataIndex); - const index = name !== undefined ? stacks.indexOf(name) : -1; - return index === -1 ? stacks.length - 1 : index; - } - _getRuler() { - const opts = this.options; - const meta = this._cachedMeta; - const iScale = meta.iScale; - const pixels = []; - let i, ilen; - for(i = 0, ilen = meta.data.length; i < ilen; ++i){ - pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i)); - } - const barThickness = opts.barThickness; - const min = barThickness || computeMinSampleSize(meta); - return { - min, - pixels, - start: iScale._startPixel, - end: iScale._endPixel, - stackCount: this._getStackCount(), - scale: iScale, - grouped: opts.grouped, - ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage - }; - } - _calculateBarValuePixels(index) { - const { _cachedMeta: { vScale , _stacked , index: datasetIndex } , options: { base: baseValue , minBarLength } } = this; - const actualBase = baseValue || 0; - const parsed = this.getParsed(index); - const custom = parsed._custom; - const floating = isFloatBar(custom); - let value = parsed[vScale.axis]; - let start = 0; - let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value; - let head, size; - if (length !== value) { - start = length - value; - length = value; - } - if (floating) { - value = custom.barStart; - length = custom.barEnd - custom.barStart; - if (value !== 0 && sign(value) !== sign(custom.barEnd)) { - start = 0; - } - start += value; - } - const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start; - let base = vScale.getPixelForValue(startValue); - if (this.chart.getDataVisibility(index)) { - head = vScale.getPixelForValue(start + length); - } else { - head = base; - } - size = head - base; - if (Math.abs(size) < minBarLength) { - size = barSign(size, vScale, actualBase) * minBarLength; - if (value === actualBase) { - base -= size / 2; - } - const startPixel = vScale.getPixelForDecimal(0); - const endPixel = vScale.getPixelForDecimal(1); - const min = Math.min(startPixel, endPixel); - const max = Math.max(startPixel, endPixel); - base = Math.max(Math.min(base, max), min); - head = base + size; - if (_stacked && !floating) { - parsed._stacks[vScale.axis]._visualValues[datasetIndex] = vScale.getValueForPixel(head) - vScale.getValueForPixel(base); - } - } - if (base === vScale.getPixelForValue(actualBase)) { - const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2; - base += halfGrid; - size -= halfGrid; - } - return { - size, - base, - head, - center: head + size / 2 - }; - } - _calculateBarIndexPixels(index, ruler) { - const scale = ruler.scale; - const options = this.options; - const skipNull = options.skipNull; - const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity); - let center, size; - const axisCount = this._getAxisCount(); - if (ruler.grouped) { - const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount; - const range = options.barThickness === 'flex' ? computeFlexCategoryTraits(index, ruler, options, stackCount * axisCount) : computeFitCategoryTraits(index, ruler, options, stackCount * axisCount); - const axisID = this.chart.options.indexAxis === 'x' ? this.getDataset().xAxisID : this.getDataset().yAxisID; - const axisNumber = this._getAxis().indexOf(valueOrDefault(axisID, this.getFirstScaleIdForIndexAxis())); - const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined) + axisNumber; - center = range.start + range.chunk * stackIndex + range.chunk / 2; - size = Math.min(maxBarThickness, range.chunk * range.ratio); - } else { - center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index); - size = Math.min(maxBarThickness, ruler.min * ruler.ratio); - } - return { - base: center - size / 2, - head: center + size / 2, - center, - size - }; - } - draw() { - const meta = this._cachedMeta; - const vScale = meta.vScale; - const rects = meta.data; - const ilen = rects.length; - let i = 0; - for(; i < ilen; ++i){ - if (this.getParsed(i)[vScale.axis] !== null && !rects[i].hidden) { - rects[i].draw(this._ctx); - } - } - } -} - -class BubbleController extends DatasetController { - static id = 'bubble'; - static defaults = { - datasetElementType: false, - dataElementType: 'point', - animations: { - numbers: { - type: 'number', - properties: [ - 'x', - 'y', - 'borderWidth', - 'radius' - ] - } - } - }; - static overrides = { - scales: { - x: { - type: 'linear' - }, - y: { - type: 'linear' - } - } - }; - initialize() { - this.enableOptionSharing = true; - super.initialize(); - } - parsePrimitiveData(meta, data, start, count) { - const parsed = super.parsePrimitiveData(meta, data, start, count); - for(let i = 0; i < parsed.length; i++){ - parsed[i]._custom = this.resolveDataElementOptions(i + start).radius; - } - return parsed; - } - parseArrayData(meta, data, start, count) { - const parsed = super.parseArrayData(meta, data, start, count); - for(let i = 0; i < parsed.length; i++){ - const item = data[start + i]; - parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius); - } - return parsed; - } - parseObjectData(meta, data, start, count) { - const parsed = super.parseObjectData(meta, data, start, count); - for(let i = 0; i < parsed.length; i++){ - const item = data[start + i]; - parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius); - } - return parsed; - } - getMaxOverflow() { - const data = this._cachedMeta.data; - let max = 0; - for(let i = data.length - 1; i >= 0; --i){ - max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2); - } - return max > 0 && max; - } - getLabelAndValue(index) { - const meta = this._cachedMeta; - const labels = this.chart.data.labels || []; - const { xScale , yScale } = meta; - const parsed = this.getParsed(index); - const x = xScale.getLabelForValue(parsed.x); - const y = yScale.getLabelForValue(parsed.y); - const r = parsed._custom; - return { - label: labels[index] || '', - value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')' - }; - } - update(mode) { - const points = this._cachedMeta.data; - this.updateElements(points, 0, points.length, mode); - } - updateElements(points, start, count, mode) { - const reset = mode === 'reset'; - const { iScale , vScale } = this._cachedMeta; - const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode); - const iAxis = iScale.axis; - const vAxis = vScale.axis; - for(let i = start; i < start + count; i++){ - const point = points[i]; - const parsed = !reset && this.getParsed(i); - const properties = {}; - const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]); - const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]); - properties.skip = isNaN(iPixel) || isNaN(vPixel); - if (includeOptions) { - properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode); - if (reset) { - properties.options.radius = 0; - } - } - this.updateElement(point, i, properties, mode); - } - } - resolveDataElementOptions(index, mode) { - const parsed = this.getParsed(index); - let values = super.resolveDataElementOptions(index, mode); - if (values.$shared) { - values = Object.assign({}, values, { - $shared: false - }); - } - const radius = values.radius; - if (mode !== 'active') { - values.radius = 0; - } - values.radius += valueOrDefault(parsed && parsed._custom, radius); - return values; - } -} - -function getRatioAndOffset(rotation, circumference, cutout) { - let ratioX = 1; - let ratioY = 1; - let offsetX = 0; - let offsetY = 0; - if (circumference < TAU) { - const startAngle = rotation; - const endAngle = startAngle + circumference; - const startX = Math.cos(startAngle); - const startY = Math.sin(startAngle); - const endX = Math.cos(endAngle); - const endY = Math.sin(endAngle); - const calcMax = (angle, a, b)=>_angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout); - const calcMin = (angle, a, b)=>_angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout); - const maxX = calcMax(0, startX, endX); - const maxY = calcMax(HALF_PI, startY, endY); - const minX = calcMin(PI, startX, endX); - const minY = calcMin(PI + HALF_PI, startY, endY); - ratioX = (maxX - minX) / 2; - ratioY = (maxY - minY) / 2; - offsetX = -(maxX + minX) / 2; - offsetY = -(maxY + minY) / 2; - } - return { - ratioX, - ratioY, - offsetX, - offsetY - }; -} -class DoughnutController extends DatasetController { - static id = 'doughnut'; - static defaults = { - datasetElementType: false, - dataElementType: 'arc', - animation: { - animateRotate: true, - animateScale: false - }, - animations: { - numbers: { - type: 'number', - properties: [ - 'circumference', - 'endAngle', - 'innerRadius', - 'outerRadius', - 'startAngle', - 'x', - 'y', - 'offset', - 'borderWidth', - 'spacing' - ] - } - }, - cutout: '50%', - rotation: 0, - circumference: 360, - radius: '100%', - spacing: 0, - indexAxis: 'r' - }; - static descriptors = { - _scriptable: (name)=>name !== 'spacing', - _indexable: (name)=>name !== 'spacing' && !name.startsWith('borderDash') && !name.startsWith('hoverBorderDash') - }; - static overrides = { - aspectRatio: 1, - plugins: { - legend: { - labels: { - generateLabels (chart) { - const data = chart.data; - const { labels: { pointStyle , textAlign , color , useBorderRadius , borderRadius } } = chart.legend.options; - if (data.labels.length && data.datasets.length) { - return data.labels.map((label, i)=>{ - const meta = chart.getDatasetMeta(0); - const style = meta.controller.getStyle(i); - return { - text: label, - fillStyle: style.backgroundColor, - fontColor: color, - hidden: !chart.getDataVisibility(i), - lineDash: style.borderDash, - lineDashOffset: style.borderDashOffset, - lineJoin: style.borderJoinStyle, - lineWidth: style.borderWidth, - strokeStyle: style.borderColor, - textAlign: textAlign, - pointStyle: pointStyle, - borderRadius: useBorderRadius && (borderRadius || style.borderRadius), - index: i - }; - }); - } - return []; - } - }, - onClick (e, legendItem, legend) { - legend.chart.toggleDataVisibility(legendItem.index); - legend.chart.update(); - } - } - } - }; - constructor(chart, datasetIndex){ - super(chart, datasetIndex); - this.enableOptionSharing = true; - this.innerRadius = undefined; - this.outerRadius = undefined; - this.offsetX = undefined; - this.offsetY = undefined; - } - linkScales() {} - parse(start, count) { - const data = this.getDataset().data; - const meta = this._cachedMeta; - if (this._parsing === false) { - meta._parsed = data; - } else { - let getter = (i)=>+data[i]; - if (isObject(data[start])) { - const { key ='value' } = this._parsing; - getter = (i)=>+resolveObjectKey(data[i], key); - } - let i, ilen; - for(i = start, ilen = start + count; i < ilen; ++i){ - meta._parsed[i] = getter(i); - } - } - } - _getRotation() { - return toRadians(this.options.rotation - 90); - } - _getCircumference() { - return toRadians(this.options.circumference); - } - _getRotationExtents() { - let min = TAU; - let max = -TAU; - for(let i = 0; i < this.chart.data.datasets.length; ++i){ - if (this.chart.isDatasetVisible(i) && this.chart.getDatasetMeta(i).type === this._type) { - const controller = this.chart.getDatasetMeta(i).controller; - const rotation = controller._getRotation(); - const circumference = controller._getCircumference(); - min = Math.min(min, rotation); - max = Math.max(max, rotation + circumference); - } - } - return { - rotation: min, - circumference: max - min - }; - } - update(mode) { - const chart = this.chart; - const { chartArea } = chart; - const meta = this._cachedMeta; - const arcs = meta.data; - const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing; - const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0); - const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1); - const chartWeight = this._getRingWeight(this.index); - const { circumference , rotation } = this._getRotationExtents(); - const { ratioX , ratioY , offsetX , offsetY } = getRatioAndOffset(rotation, circumference, cutout); - const maxWidth = (chartArea.width - spacing) / ratioX; - const maxHeight = (chartArea.height - spacing) / ratioY; - const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0); - const outerRadius = toDimension(this.options.radius, maxRadius); - const innerRadius = Math.max(outerRadius * cutout, 0); - const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal(); - this.offsetX = offsetX * outerRadius; - this.offsetY = offsetY * outerRadius; - meta.total = this.calculateTotal(); - this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index); - this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0); - this.updateElements(arcs, 0, arcs.length, mode); - } - _circumference(i, reset) { - const opts = this.options; - const meta = this._cachedMeta; - const circumference = this._getCircumference(); - if (reset && opts.animation.animateRotate || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) { - return 0; - } - return this.calculateCircumference(meta._parsed[i] * circumference / TAU); - } - updateElements(arcs, start, count, mode) { - const reset = mode === 'reset'; - const chart = this.chart; - const chartArea = chart.chartArea; - const opts = chart.options; - const animationOpts = opts.animation; - const centerX = (chartArea.left + chartArea.right) / 2; - const centerY = (chartArea.top + chartArea.bottom) / 2; - const animateScale = reset && animationOpts.animateScale; - const innerRadius = animateScale ? 0 : this.innerRadius; - const outerRadius = animateScale ? 0 : this.outerRadius; - const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode); - let startAngle = this._getRotation(); - let i; - for(i = 0; i < start; ++i){ - startAngle += this._circumference(i, reset); - } - for(i = start; i < start + count; ++i){ - const circumference = this._circumference(i, reset); - const arc = arcs[i]; - const properties = { - x: centerX + this.offsetX, - y: centerY + this.offsetY, - startAngle, - endAngle: startAngle + circumference, - circumference, - outerRadius, - innerRadius - }; - if (includeOptions) { - properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode); - } - startAngle += circumference; - this.updateElement(arc, i, properties, mode); - } - } - calculateTotal() { - const meta = this._cachedMeta; - const metaData = meta.data; - let total = 0; - let i; - for(i = 0; i < metaData.length; i++){ - const value = meta._parsed[i]; - if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) { - total += Math.abs(value); - } - } - return total; - } - calculateCircumference(value) { - const total = this._cachedMeta.total; - if (total > 0 && !isNaN(value)) { - return TAU * (Math.abs(value) / total); - } - return 0; - } - getLabelAndValue(index) { - const meta = this._cachedMeta; - const chart = this.chart; - const labels = chart.data.labels || []; - const value = formatNumber(meta._parsed[index], chart.options.locale); - return { - label: labels[index] || '', - value - }; - } - getMaxBorderWidth(arcs) { - let max = 0; - const chart = this.chart; - let i, ilen, meta, controller, options; - if (!arcs) { - for(i = 0, ilen = chart.data.datasets.length; i < ilen; ++i){ - if (chart.isDatasetVisible(i)) { - meta = chart.getDatasetMeta(i); - arcs = meta.data; - controller = meta.controller; - break; - } - } - } - if (!arcs) { - return 0; - } - for(i = 0, ilen = arcs.length; i < ilen; ++i){ - options = controller.resolveDataElementOptions(i); - if (options.borderAlign !== 'inner') { - max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0); - } - } - return max; - } - getMaxOffset(arcs) { - let max = 0; - for(let i = 0, ilen = arcs.length; i < ilen; ++i){ - const options = this.resolveDataElementOptions(i); - max = Math.max(max, options.offset || 0, options.hoverOffset || 0); - } - return max; - } - _getRingWeightOffset(datasetIndex) { - let ringWeightOffset = 0; - for(let i = 0; i < datasetIndex; ++i){ - if (this.chart.isDatasetVisible(i)) { - ringWeightOffset += this._getRingWeight(i); - } - } - return ringWeightOffset; - } - _getRingWeight(datasetIndex) { - return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0); - } - _getVisibleDatasetWeightTotal() { - return this._getRingWeightOffset(this.chart.data.datasets.length) || 1; - } -} - -class LineController extends DatasetController { - static id = 'line'; - static defaults = { - datasetElementType: 'line', - dataElementType: 'point', - showLine: true, - spanGaps: false - }; - static overrides = { - scales: { - _index_: { - type: 'category' - }, - _value_: { - type: 'linear' - } - } - }; - initialize() { - this.enableOptionSharing = true; - this.supportsDecimation = true; - super.initialize(); - } - update(mode) { - const meta = this._cachedMeta; - const { dataset: line , data: points = [] , _dataset } = meta; - const animationsDisabled = this.chart._animationsDisabled; - let { start , count } = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled); - this._drawStart = start; - this._drawCount = count; - if (_scaleRangesChanged(meta)) { - start = 0; - count = points.length; - } - line._chart = this.chart; - line._datasetIndex = this.index; - line._decimated = !!_dataset._decimated; - line.points = points; - const options = this.resolveDatasetElementOptions(mode); - if (!this.options.showLine) { - options.borderWidth = 0; - } - options.segment = this.options.segment; - this.updateElement(line, undefined, { - animated: !animationsDisabled, - options - }, mode); - this.updateElements(points, start, count, mode); - } - updateElements(points, start, count, mode) { - const reset = mode === 'reset'; - const { iScale , vScale , _stacked , _dataset } = this._cachedMeta; - const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode); - const iAxis = iScale.axis; - const vAxis = vScale.axis; - const { spanGaps , segment } = this.options; - const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY; - const directUpdate = this.chart._animationsDisabled || reset || mode === 'none'; - const end = start + count; - const pointsCount = points.length; - let prevParsed = start > 0 && this.getParsed(start - 1); - for(let i = 0; i < pointsCount; ++i){ - const point = points[i]; - const properties = directUpdate ? point : {}; - if (i < start || i >= end) { - properties.skip = true; - continue; - } - const parsed = this.getParsed(i); - const nullData = isNullOrUndef(parsed[vAxis]); - const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i); - const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i); - properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData; - properties.stop = i > 0 && Math.abs(parsed[iAxis] - prevParsed[iAxis]) > maxGapLength; - if (segment) { - properties.parsed = parsed; - properties.raw = _dataset.data[i]; - } - if (includeOptions) { - properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode); - } - if (!directUpdate) { - this.updateElement(point, i, properties, mode); - } - prevParsed = parsed; - } - } - getMaxOverflow() { - const meta = this._cachedMeta; - const dataset = meta.dataset; - const border = dataset.options && dataset.options.borderWidth || 0; - const data = meta.data || []; - if (!data.length) { - return border; - } - const firstPoint = data[0].size(this.resolveDataElementOptions(0)); - const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1)); - return Math.max(border, firstPoint, lastPoint) / 2; - } - draw() { - const meta = this._cachedMeta; - meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis); - super.draw(); - } -} - -class PolarAreaController extends DatasetController { - static id = 'polarArea'; - static defaults = { - dataElementType: 'arc', - animation: { - animateRotate: true, - animateScale: true - }, - animations: { - numbers: { - type: 'number', - properties: [ - 'x', - 'y', - 'startAngle', - 'endAngle', - 'innerRadius', - 'outerRadius' - ] - } - }, - indexAxis: 'r', - startAngle: 0 - }; - static overrides = { - aspectRatio: 1, - plugins: { - legend: { - labels: { - generateLabels (chart) { - const data = chart.data; - if (data.labels.length && data.datasets.length) { - const { labels: { pointStyle , color } } = chart.legend.options; - return data.labels.map((label, i)=>{ - const meta = chart.getDatasetMeta(0); - const style = meta.controller.getStyle(i); - return { - text: label, - fillStyle: style.backgroundColor, - strokeStyle: style.borderColor, - fontColor: color, - lineWidth: style.borderWidth, - pointStyle: pointStyle, - hidden: !chart.getDataVisibility(i), - index: i - }; - }); - } - return []; - } - }, - onClick (e, legendItem, legend) { - legend.chart.toggleDataVisibility(legendItem.index); - legend.chart.update(); - } - } - }, - scales: { - r: { - type: 'radialLinear', - angleLines: { - display: false - }, - beginAtZero: true, - grid: { - circular: true - }, - pointLabels: { - display: false - }, - startAngle: 0 - } - } - }; - constructor(chart, datasetIndex){ - super(chart, datasetIndex); - this.innerRadius = undefined; - this.outerRadius = undefined; - } - getLabelAndValue(index) { - const meta = this._cachedMeta; - const chart = this.chart; - const labels = chart.data.labels || []; - const value = formatNumber(meta._parsed[index].r, chart.options.locale); - return { - label: labels[index] || '', - value - }; - } - parseObjectData(meta, data, start, count) { - return _parseObjectDataRadialScale.bind(this)(meta, data, start, count); - } - update(mode) { - const arcs = this._cachedMeta.data; - this._updateRadius(); - this.updateElements(arcs, 0, arcs.length, mode); - } - getMinMax() { - const meta = this._cachedMeta; - const range = { - min: Number.POSITIVE_INFINITY, - max: Number.NEGATIVE_INFINITY - }; - meta.data.forEach((element, index)=>{ - const parsed = this.getParsed(index).r; - if (!isNaN(parsed) && this.chart.getDataVisibility(index)) { - if (parsed < range.min) { - range.min = parsed; - } - if (parsed > range.max) { - range.max = parsed; - } - } - }); - return range; - } - _updateRadius() { - const chart = this.chart; - const chartArea = chart.chartArea; - const opts = chart.options; - const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top); - const outerRadius = Math.max(minSize / 2, 0); - const innerRadius = Math.max(opts.cutoutPercentage ? outerRadius / 100 * opts.cutoutPercentage : 1, 0); - const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount(); - this.outerRadius = outerRadius - radiusLength * this.index; - this.innerRadius = this.outerRadius - radiusLength; - } - updateElements(arcs, start, count, mode) { - const reset = mode === 'reset'; - const chart = this.chart; - const opts = chart.options; - const animationOpts = opts.animation; - const scale = this._cachedMeta.rScale; - const centerX = scale.xCenter; - const centerY = scale.yCenter; - const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI; - let angle = datasetStartAngle; - let i; - const defaultAngle = 360 / this.countVisibleElements(); - for(i = 0; i < start; ++i){ - angle += this._computeAngle(i, mode, defaultAngle); - } - for(i = start; i < start + count; i++){ - const arc = arcs[i]; - let startAngle = angle; - let endAngle = angle + this._computeAngle(i, mode, defaultAngle); - let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0; - angle = endAngle; - if (reset) { - if (animationOpts.animateScale) { - outerRadius = 0; - } - if (animationOpts.animateRotate) { - startAngle = endAngle = datasetStartAngle; - } - } - const properties = { - x: centerX, - y: centerY, - innerRadius: 0, - outerRadius, - startAngle, - endAngle, - options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode) - }; - this.updateElement(arc, i, properties, mode); - } - } - countVisibleElements() { - const meta = this._cachedMeta; - let count = 0; - meta.data.forEach((element, index)=>{ - if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) { - count++; - } - }); - return count; - } - _computeAngle(index, mode, defaultAngle) { - return this.chart.getDataVisibility(index) ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle) : 0; - } -} - -class PieController extends DoughnutController { - static id = 'pie'; - static defaults = { - cutout: 0, - rotation: 0, - circumference: 360, - radius: '100%' - }; -} - -class RadarController extends DatasetController { - static id = 'radar'; - static defaults = { - datasetElementType: 'line', - dataElementType: 'point', - indexAxis: 'r', - showLine: true, - elements: { - line: { - fill: 'start' - } - } - }; - static overrides = { - aspectRatio: 1, - scales: { - r: { - type: 'radialLinear' - } - } - }; - getLabelAndValue(index) { - const vScale = this._cachedMeta.vScale; - const parsed = this.getParsed(index); - return { - label: vScale.getLabels()[index], - value: '' + vScale.getLabelForValue(parsed[vScale.axis]) - }; - } - parseObjectData(meta, data, start, count) { - return _parseObjectDataRadialScale.bind(this)(meta, data, start, count); - } - update(mode) { - const meta = this._cachedMeta; - const line = meta.dataset; - const points = meta.data || []; - const labels = meta.iScale.getLabels(); - line.points = points; - if (mode !== 'resize') { - const options = this.resolveDatasetElementOptions(mode); - if (!this.options.showLine) { - options.borderWidth = 0; - } - const properties = { - _loop: true, - _fullLoop: labels.length === points.length, - options - }; - this.updateElement(line, undefined, properties, mode); - } - this.updateElements(points, 0, points.length, mode); - } - updateElements(points, start, count, mode) { - const scale = this._cachedMeta.rScale; - const reset = mode === 'reset'; - for(let i = start; i < start + count; i++){ - const point = points[i]; - const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode); - const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r); - const x = reset ? scale.xCenter : pointPosition.x; - const y = reset ? scale.yCenter : pointPosition.y; - const properties = { - x, - y, - angle: pointPosition.angle, - skip: isNaN(x) || isNaN(y), - options - }; - this.updateElement(point, i, properties, mode); - } - } -} - -class ScatterController extends DatasetController { - static id = 'scatter'; - static defaults = { - datasetElementType: false, - dataElementType: 'point', - showLine: false, - fill: false - }; - static overrides = { - interaction: { - mode: 'point' - }, - scales: { - x: { - type: 'linear' - }, - y: { - type: 'linear' - } - } - }; - getLabelAndValue(index) { - const meta = this._cachedMeta; - const labels = this.chart.data.labels || []; - const { xScale , yScale } = meta; - const parsed = this.getParsed(index); - const x = xScale.getLabelForValue(parsed.x); - const y = yScale.getLabelForValue(parsed.y); - return { - label: labels[index] || '', - value: '(' + x + ', ' + y + ')' - }; - } - update(mode) { - const meta = this._cachedMeta; - const { data: points = [] } = meta; - const animationsDisabled = this.chart._animationsDisabled; - let { start , count } = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled); - this._drawStart = start; - this._drawCount = count; - if (_scaleRangesChanged(meta)) { - start = 0; - count = points.length; - } - if (this.options.showLine) { - if (!this.datasetElementType) { - this.addElements(); - } - const { dataset: line , _dataset } = meta; - line._chart = this.chart; - line._datasetIndex = this.index; - line._decimated = !!_dataset._decimated; - line.points = points; - const options = this.resolveDatasetElementOptions(mode); - options.segment = this.options.segment; - this.updateElement(line, undefined, { - animated: !animationsDisabled, - options - }, mode); - } else if (this.datasetElementType) { - delete meta.dataset; - this.datasetElementType = false; - } - this.updateElements(points, start, count, mode); - } - addElements() { - const { showLine } = this.options; - if (!this.datasetElementType && showLine) { - this.datasetElementType = this.chart.registry.getElement('line'); - } - super.addElements(); - } - updateElements(points, start, count, mode) { - const reset = mode === 'reset'; - const { iScale , vScale , _stacked , _dataset } = this._cachedMeta; - const firstOpts = this.resolveDataElementOptions(start, mode); - const sharedOptions = this.getSharedOptions(firstOpts); - const includeOptions = this.includeOptions(mode, sharedOptions); - const iAxis = iScale.axis; - const vAxis = vScale.axis; - const { spanGaps , segment } = this.options; - const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY; - const directUpdate = this.chart._animationsDisabled || reset || mode === 'none'; - let prevParsed = start > 0 && this.getParsed(start - 1); - for(let i = start; i < start + count; ++i){ - const point = points[i]; - const parsed = this.getParsed(i); - const properties = directUpdate ? point : {}; - const nullData = isNullOrUndef(parsed[vAxis]); - const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i); - const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i); - properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData; - properties.stop = i > 0 && Math.abs(parsed[iAxis] - prevParsed[iAxis]) > maxGapLength; - if (segment) { - properties.parsed = parsed; - properties.raw = _dataset.data[i]; - } - if (includeOptions) { - properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode); - } - if (!directUpdate) { - this.updateElement(point, i, properties, mode); - } - prevParsed = parsed; - } - this.updateSharedOptions(sharedOptions, mode, firstOpts); - } - getMaxOverflow() { - const meta = this._cachedMeta; - const data = meta.data || []; - if (!this.options.showLine) { - let max = 0; - for(let i = data.length - 1; i >= 0; --i){ - max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2); - } - return max > 0 && max; - } - const dataset = meta.dataset; - const border = dataset.options && dataset.options.borderWidth || 0; - if (!data.length) { - return border; - } - const firstPoint = data[0].size(this.resolveDataElementOptions(0)); - const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1)); - return Math.max(border, firstPoint, lastPoint) / 2; - } -} - -var controllers = /*#__PURE__*/Object.freeze({ -__proto__: null, -BarController: BarController, -BubbleController: BubbleController, -DoughnutController: DoughnutController, -LineController: LineController, -PieController: PieController, -PolarAreaController: PolarAreaController, -RadarController: RadarController, -ScatterController: ScatterController -}); - -/** - * @namespace Chart._adapters - * @since 2.8.0 - * @private - */ function chart_abstract() { - throw new Error('This method is not implemented: Check that a complete date adapter is provided.'); -} -/** - * Date adapter (current used by the time scale) - * @namespace Chart._adapters._date - * @memberof Chart._adapters - * @private - */ class DateAdapterBase { - /** - * Override default date adapter methods. - * Accepts type parameter to define options type. - * @example - * Chart._adapters._date.override<{myAdapterOption: string}>({ - * init() { - * console.log(this.options.myAdapterOption); - * } - * }) - */ static override(members) { - Object.assign(DateAdapterBase.prototype, members); - } - options; - constructor(options){ - this.options = options || {}; - } - // eslint-disable-next-line @typescript-eslint/no-empty-function - init() {} - formats() { - return chart_abstract(); - } - parse() { - return chart_abstract(); - } - format() { - return chart_abstract(); - } - add() { - return chart_abstract(); - } - diff() { - return chart_abstract(); - } - startOf() { - return chart_abstract(); - } - endOf() { - return chart_abstract(); - } -} -var adapters = { - _date: DateAdapterBase -}; - -function binarySearch(metaset, axis, value, intersect) { - const { controller , data , _sorted } = metaset; - const iScale = controller._cachedMeta.iScale; - const spanGaps = metaset.dataset ? metaset.dataset.options ? metaset.dataset.options.spanGaps : null : null; - if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) { - const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey; - if (!intersect) { - const result = lookupMethod(data, axis, value); - if (spanGaps) { - const { vScale } = controller._cachedMeta; - const { _parsed } = metaset; - const distanceToDefinedLo = _parsed.slice(0, result.lo + 1).reverse().findIndex((point)=>!isNullOrUndef(point[vScale.axis])); - result.lo -= Math.max(0, distanceToDefinedLo); - const distanceToDefinedHi = _parsed.slice(result.hi).findIndex((point)=>!isNullOrUndef(point[vScale.axis])); - result.hi += Math.max(0, distanceToDefinedHi); - } - return result; - } else if (controller._sharedOptions) { - const el = data[0]; - const range = typeof el.getRange === 'function' && el.getRange(axis); - if (range) { - const start = lookupMethod(data, axis, value - range); - const end = lookupMethod(data, axis, value + range); - return { - lo: start.lo, - hi: end.hi - }; - } - } - } - return { - lo: 0, - hi: data.length - 1 - }; -} - function evaluateInteractionItems(chart, axis, position, handler, intersect) { - const metasets = chart.getSortedVisibleDatasetMetas(); - const value = position[axis]; - for(let i = 0, ilen = metasets.length; i < ilen; ++i){ - const { index , data } = metasets[i]; - const { lo , hi } = binarySearch(metasets[i], axis, value, intersect); - for(let j = lo; j <= hi; ++j){ - const element = data[j]; - if (!element.skip) { - handler(element, index, j); - } - } - } -} - function getDistanceMetricForAxis(axis) { - const useX = axis.indexOf('x') !== -1; - const useY = axis.indexOf('y') !== -1; - return function(pt1, pt2) { - const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0; - const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0; - return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2)); - }; -} - function getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) { - const items = []; - if (!includeInvisible && !chart.isPointInArea(position)) { - return items; - } - const evaluationFunc = function(element, datasetIndex, index) { - if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) { - return; - } - if (element.inRange(position.x, position.y, useFinalPosition)) { - items.push({ - element, - datasetIndex, - index - }); - } - }; - evaluateInteractionItems(chart, axis, position, evaluationFunc, true); - return items; -} - function getNearestRadialItems(chart, position, axis, useFinalPosition) { - let items = []; - function evaluationFunc(element, datasetIndex, index) { - const { startAngle , endAngle } = element.getProps([ - 'startAngle', - 'endAngle' - ], useFinalPosition); - const { angle } = getAngleFromPoint(element, { - x: position.x, - y: position.y - }); - if (_angleBetween(angle, startAngle, endAngle)) { - items.push({ - element, - datasetIndex, - index - }); - } - } - evaluateInteractionItems(chart, axis, position, evaluationFunc); - return items; -} - function getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) { - let items = []; - const distanceMetric = getDistanceMetricForAxis(axis); - let minDistance = Number.POSITIVE_INFINITY; - function evaluationFunc(element, datasetIndex, index) { - const inRange = element.inRange(position.x, position.y, useFinalPosition); - if (intersect && !inRange) { - return; - } - const center = element.getCenterPoint(useFinalPosition); - const pointInArea = !!includeInvisible || chart.isPointInArea(center); - if (!pointInArea && !inRange) { - return; - } - const distance = distanceMetric(position, center); - if (distance < minDistance) { - items = [ - { - element, - datasetIndex, - index - } - ]; - minDistance = distance; - } else if (distance === minDistance) { - items.push({ - element, - datasetIndex, - index - }); - } - } - evaluateInteractionItems(chart, axis, position, evaluationFunc); - return items; -} - function getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) { - if (!includeInvisible && !chart.isPointInArea(position)) { - return []; - } - return axis === 'r' && !intersect ? getNearestRadialItems(chart, position, axis, useFinalPosition) : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible); -} - function getAxisItems(chart, position, axis, intersect, useFinalPosition) { - const items = []; - const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange'; - let intersectsItem = false; - evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index)=>{ - if (element[rangeMethod] && element[rangeMethod](position[axis], useFinalPosition)) { - items.push({ - element, - datasetIndex, - index - }); - intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition); - } - }); - if (intersect && !intersectsItem) { - return []; - } - return items; -} - var Interaction = { - evaluateInteractionItems, - modes: { - index (chart, e, options, useFinalPosition) { - const position = getRelativePosition(e, chart); - const axis = options.axis || 'x'; - const includeInvisible = options.includeInvisible || false; - const items = options.intersect ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible); - const elements = []; - if (!items.length) { - return []; - } - chart.getSortedVisibleDatasetMetas().forEach((meta)=>{ - const index = items[0].index; - const element = meta.data[index]; - if (element && !element.skip) { - elements.push({ - element, - datasetIndex: meta.index, - index - }); - } - }); - return elements; - }, - dataset (chart, e, options, useFinalPosition) { - const position = getRelativePosition(e, chart); - const axis = options.axis || 'xy'; - const includeInvisible = options.includeInvisible || false; - let items = options.intersect ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible); - if (items.length > 0) { - const datasetIndex = items[0].datasetIndex; - const data = chart.getDatasetMeta(datasetIndex).data; - items = []; - for(let i = 0; i < data.length; ++i){ - items.push({ - element: data[i], - datasetIndex, - index: i - }); - } - } - return items; - }, - point (chart, e, options, useFinalPosition) { - const position = getRelativePosition(e, chart); - const axis = options.axis || 'xy'; - const includeInvisible = options.includeInvisible || false; - return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible); - }, - nearest (chart, e, options, useFinalPosition) { - const position = getRelativePosition(e, chart); - const axis = options.axis || 'xy'; - const includeInvisible = options.includeInvisible || false; - return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible); - }, - x (chart, e, options, useFinalPosition) { - const position = getRelativePosition(e, chart); - return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition); - }, - y (chart, e, options, useFinalPosition) { - const position = getRelativePosition(e, chart); - return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition); - } - } -}; - -const STATIC_POSITIONS = [ - 'left', - 'top', - 'right', - 'bottom' -]; -function filterByPosition(array, position) { - return array.filter((v)=>v.pos === position); -} -function filterDynamicPositionByAxis(array, axis) { - return array.filter((v)=>STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis); -} -function sortByWeight(array, reverse) { - return array.sort((a, b)=>{ - const v0 = reverse ? b : a; - const v1 = reverse ? a : b; - return v0.weight === v1.weight ? v0.index - v1.index : v0.weight - v1.weight; - }); -} -function wrapBoxes(boxes) { - const layoutBoxes = []; - let i, ilen, box, pos, stack, stackWeight; - for(i = 0, ilen = (boxes || []).length; i < ilen; ++i){ - box = boxes[i]; - ({ position: pos , options: { stack , stackWeight =1 } } = box); - layoutBoxes.push({ - index: i, - box, - pos, - horizontal: box.isHorizontal(), - weight: box.weight, - stack: stack && pos + stack, - stackWeight - }); - } - return layoutBoxes; -} -function buildStacks(layouts) { - const stacks = {}; - for (const wrap of layouts){ - const { stack , pos , stackWeight } = wrap; - if (!stack || !STATIC_POSITIONS.includes(pos)) { - continue; - } - const _stack = stacks[stack] || (stacks[stack] = { - count: 0, - placed: 0, - weight: 0, - size: 0 - }); - _stack.count++; - _stack.weight += stackWeight; - } - return stacks; -} - function setLayoutDims(layouts, params) { - const stacks = buildStacks(layouts); - const { vBoxMaxWidth , hBoxMaxHeight } = params; - let i, ilen, layout; - for(i = 0, ilen = layouts.length; i < ilen; ++i){ - layout = layouts[i]; - const { fullSize } = layout.box; - const stack = stacks[layout.stack]; - const factor = stack && layout.stackWeight / stack.weight; - if (layout.horizontal) { - layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth; - layout.height = hBoxMaxHeight; - } else { - layout.width = vBoxMaxWidth; - layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight; - } - } - return stacks; -} -function buildLayoutBoxes(boxes) { - const layoutBoxes = wrapBoxes(boxes); - const fullSize = sortByWeight(layoutBoxes.filter((wrap)=>wrap.box.fullSize), true); - const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true); - const right = sortByWeight(filterByPosition(layoutBoxes, 'right')); - const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true); - const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom')); - const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x'); - const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y'); - return { - fullSize, - leftAndTop: left.concat(top), - rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal), - chartArea: filterByPosition(layoutBoxes, 'chartArea'), - vertical: left.concat(right).concat(centerVertical), - horizontal: top.concat(bottom).concat(centerHorizontal) - }; -} -function getCombinedMax(maxPadding, chartArea, a, b) { - return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]); -} -function updateMaxPadding(maxPadding, boxPadding) { - maxPadding.top = Math.max(maxPadding.top, boxPadding.top); - maxPadding.left = Math.max(maxPadding.left, boxPadding.left); - maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom); - maxPadding.right = Math.max(maxPadding.right, boxPadding.right); -} -function updateDims(chartArea, params, layout, stacks) { - const { pos , box } = layout; - const maxPadding = chartArea.maxPadding; - if (!isObject(pos)) { - if (layout.size) { - chartArea[pos] -= layout.size; - } - const stack = stacks[layout.stack] || { - size: 0, - count: 1 - }; - stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width); - layout.size = stack.size / stack.count; - chartArea[pos] += layout.size; - } - if (box.getPadding) { - updateMaxPadding(maxPadding, box.getPadding()); - } - const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right')); - const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom')); - const widthChanged = newWidth !== chartArea.w; - const heightChanged = newHeight !== chartArea.h; - chartArea.w = newWidth; - chartArea.h = newHeight; - return layout.horizontal ? { - same: widthChanged, - other: heightChanged - } : { - same: heightChanged, - other: widthChanged - }; -} -function handleMaxPadding(chartArea) { - const maxPadding = chartArea.maxPadding; - function updatePos(pos) { - const change = Math.max(maxPadding[pos] - chartArea[pos], 0); - chartArea[pos] += change; - return change; - } - chartArea.y += updatePos('top'); - chartArea.x += updatePos('left'); - updatePos('right'); - updatePos('bottom'); -} -function getMargins(horizontal, chartArea) { - const maxPadding = chartArea.maxPadding; - function marginForPositions(positions) { - const margin = { - left: 0, - top: 0, - right: 0, - bottom: 0 - }; - positions.forEach((pos)=>{ - margin[pos] = Math.max(chartArea[pos], maxPadding[pos]); - }); - return margin; - } - return horizontal ? marginForPositions([ - 'left', - 'right' - ]) : marginForPositions([ - 'top', - 'bottom' - ]); -} -function fitBoxes(boxes, chartArea, params, stacks) { - const refitBoxes = []; - let i, ilen, layout, box, refit, changed; - for(i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i){ - layout = boxes[i]; - box = layout.box; - box.update(layout.width || chartArea.w, layout.height || chartArea.h, getMargins(layout.horizontal, chartArea)); - const { same , other } = updateDims(chartArea, params, layout, stacks); - refit |= same && refitBoxes.length; - changed = changed || other; - if (!box.fullSize) { - refitBoxes.push(layout); - } - } - return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed; -} -function setBoxDims(box, left, top, width, height) { - box.top = top; - box.left = left; - box.right = left + width; - box.bottom = top + height; - box.width = width; - box.height = height; -} -function placeBoxes(boxes, chartArea, params, stacks) { - const userPadding = params.padding; - let { x , y } = chartArea; - for (const layout of boxes){ - const box = layout.box; - const stack = stacks[layout.stack] || { - count: 1, - placed: 0, - weight: 1 - }; - const weight = layout.stackWeight / stack.weight || 1; - if (layout.horizontal) { - const width = chartArea.w * weight; - const height = stack.size || box.height; - if (defined(stack.start)) { - y = stack.start; - } - if (box.fullSize) { - setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height); - } else { - setBoxDims(box, chartArea.left + stack.placed, y, width, height); - } - stack.start = y; - stack.placed += width; - y = box.bottom; - } else { - const height = chartArea.h * weight; - const width = stack.size || box.width; - if (defined(stack.start)) { - x = stack.start; - } - if (box.fullSize) { - setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top); - } else { - setBoxDims(box, x, chartArea.top + stack.placed, width, height); - } - stack.start = x; - stack.placed += height; - x = box.right; - } - } - chartArea.x = x; - chartArea.y = y; -} -var layouts = { - addBox (chart, item) { - if (!chart.boxes) { - chart.boxes = []; - } - item.fullSize = item.fullSize || false; - item.position = item.position || 'top'; - item.weight = item.weight || 0; - item._layers = item._layers || function() { - return [ - { - z: 0, - draw (chartArea) { - item.draw(chartArea); - } - } - ]; - }; - chart.boxes.push(item); - }, - removeBox (chart, layoutItem) { - const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1; - if (index !== -1) { - chart.boxes.splice(index, 1); - } - }, - configure (chart, item, options) { - item.fullSize = options.fullSize; - item.position = options.position; - item.weight = options.weight; - }, - update (chart, width, height, minPadding) { - if (!chart) { - return; - } - const padding = toPadding(chart.options.layout.padding); - const availableWidth = Math.max(width - padding.width, 0); - const availableHeight = Math.max(height - padding.height, 0); - const boxes = buildLayoutBoxes(chart.boxes); - const verticalBoxes = boxes.vertical; - const horizontalBoxes = boxes.horizontal; - each(chart.boxes, (box)=>{ - if (typeof box.beforeLayout === 'function') { - box.beforeLayout(); - } - }); - const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap)=>wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1; - const params = Object.freeze({ - outerWidth: width, - outerHeight: height, - padding, - availableWidth, - availableHeight, - vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount, - hBoxMaxHeight: availableHeight / 2 - }); - const maxPadding = Object.assign({}, padding); - updateMaxPadding(maxPadding, toPadding(minPadding)); - const chartArea = Object.assign({ - maxPadding, - w: availableWidth, - h: availableHeight, - x: padding.left, - y: padding.top - }, padding); - const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params); - fitBoxes(boxes.fullSize, chartArea, params, stacks); - fitBoxes(verticalBoxes, chartArea, params, stacks); - if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) { - fitBoxes(verticalBoxes, chartArea, params, stacks); - } - handleMaxPadding(chartArea); - placeBoxes(boxes.leftAndTop, chartArea, params, stacks); - chartArea.x += chartArea.w; - chartArea.y += chartArea.h; - placeBoxes(boxes.rightAndBottom, chartArea, params, stacks); - chart.chartArea = { - left: chartArea.left, - top: chartArea.top, - right: chartArea.left + chartArea.w, - bottom: chartArea.top + chartArea.h, - height: chartArea.h, - width: chartArea.w - }; - each(boxes.chartArea, (layout)=>{ - const box = layout.box; - Object.assign(box, chart.chartArea); - box.update(chartArea.w, chartArea.h, { - left: 0, - top: 0, - right: 0, - bottom: 0 - }); - }); - } -}; - -class BasePlatform { - acquireContext(canvas, aspectRatio) {} - releaseContext(context) { - return false; - } - addEventListener(chart, type, listener) {} - removeEventListener(chart, type, listener) {} - getDevicePixelRatio() { - return 1; - } - getMaximumSize(element, width, height, aspectRatio) { - width = Math.max(0, width || element.width); - height = height || element.height; - return { - width, - height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height) - }; - } - isAttached(canvas) { - return true; - } - updateConfig(config) { - } -} - -class BasicPlatform extends BasePlatform { - acquireContext(item) { - return item && item.getContext && item.getContext('2d') || null; - } - updateConfig(config) { - config.options.animation = false; - } -} - -const EXPANDO_KEY = '$chartjs'; - const EVENT_TYPES = { - touchstart: 'mousedown', - touchmove: 'mousemove', - touchend: 'mouseup', - pointerenter: 'mouseenter', - pointerdown: 'mousedown', - pointermove: 'mousemove', - pointerup: 'mouseup', - pointerleave: 'mouseout', - pointerout: 'mouseout' -}; -const isNullOrEmpty = (value)=>value === null || value === ''; - function initCanvas(canvas, aspectRatio) { - const style = canvas.style; - const renderHeight = canvas.getAttribute('height'); - const renderWidth = canvas.getAttribute('width'); - canvas[EXPANDO_KEY] = { - initial: { - height: renderHeight, - width: renderWidth, - style: { - display: style.display, - height: style.height, - width: style.width - } - } - }; - style.display = style.display || 'block'; - style.boxSizing = style.boxSizing || 'border-box'; - if (isNullOrEmpty(renderWidth)) { - const displayWidth = readUsedSize(canvas, 'width'); - if (displayWidth !== undefined) { - canvas.width = displayWidth; - } - } - if (isNullOrEmpty(renderHeight)) { - if (canvas.style.height === '') { - canvas.height = canvas.width / (aspectRatio || 2); - } else { - const displayHeight = readUsedSize(canvas, 'height'); - if (displayHeight !== undefined) { - canvas.height = displayHeight; - } - } - } - return canvas; -} -const eventListenerOptions = supportsEventListenerOptions ? { - passive: true -} : false; -function addListener(node, type, listener) { - if (node) { - node.addEventListener(type, listener, eventListenerOptions); - } -} -function removeListener(chart, type, listener) { - if (chart && chart.canvas) { - chart.canvas.removeEventListener(type, listener, eventListenerOptions); - } -} -function fromNativeEvent(event, chart) { - const type = EVENT_TYPES[event.type] || event.type; - const { x , y } = getRelativePosition(event, chart); - return { - type, - chart, - native: event, - x: x !== undefined ? x : null, - y: y !== undefined ? y : null - }; -} -function nodeListContains(nodeList, canvas) { - for (const node of nodeList){ - if (node === canvas || node.contains(canvas)) { - return true; - } - } -} -function createAttachObserver(chart, type, listener) { - const canvas = chart.canvas; - const observer = new MutationObserver((entries)=>{ - let trigger = false; - for (const entry of entries){ - trigger = trigger || nodeListContains(entry.addedNodes, canvas); - trigger = trigger && !nodeListContains(entry.removedNodes, canvas); - } - if (trigger) { - listener(); - } - }); - observer.observe(document, { - childList: true, - subtree: true - }); - return observer; -} -function createDetachObserver(chart, type, listener) { - const canvas = chart.canvas; - const observer = new MutationObserver((entries)=>{ - let trigger = false; - for (const entry of entries){ - trigger = trigger || nodeListContains(entry.removedNodes, canvas); - trigger = trigger && !nodeListContains(entry.addedNodes, canvas); - } - if (trigger) { - listener(); - } - }); - observer.observe(document, { - childList: true, - subtree: true - }); - return observer; -} -const drpListeningCharts = new Map(); -let oldDevicePixelRatio = 0; -function onWindowResize() { - const dpr = window.devicePixelRatio; - if (dpr === oldDevicePixelRatio) { - return; - } - oldDevicePixelRatio = dpr; - drpListeningCharts.forEach((resize, chart)=>{ - if (chart.currentDevicePixelRatio !== dpr) { - resize(); - } - }); -} -function listenDevicePixelRatioChanges(chart, resize) { - if (!drpListeningCharts.size) { - window.addEventListener('resize', onWindowResize); - } - drpListeningCharts.set(chart, resize); -} -function unlistenDevicePixelRatioChanges(chart) { - drpListeningCharts.delete(chart); - if (!drpListeningCharts.size) { - window.removeEventListener('resize', onWindowResize); - } -} -function createResizeObserver(chart, type, listener) { - const canvas = chart.canvas; - const container = canvas && _getParentNode(canvas); - if (!container) { - return; - } - const resize = throttled((width, height)=>{ - const w = container.clientWidth; - listener(width, height); - if (w < container.clientWidth) { - listener(); - } - }, window); - const observer = new ResizeObserver((entries)=>{ - const entry = entries[0]; - const width = entry.contentRect.width; - const height = entry.contentRect.height; - if (width === 0 && height === 0) { - return; - } - resize(width, height); - }); - observer.observe(container); - listenDevicePixelRatioChanges(chart, resize); - return observer; -} -function releaseObserver(chart, type, observer) { - if (observer) { - observer.disconnect(); - } - if (type === 'resize') { - unlistenDevicePixelRatioChanges(chart); - } -} -function createProxyAndListen(chart, type, listener) { - const canvas = chart.canvas; - const proxy = throttled((event)=>{ - if (chart.ctx !== null) { - listener(fromNativeEvent(event, chart)); - } - }, chart); - addListener(canvas, type, proxy); - return proxy; -} - class DomPlatform extends BasePlatform { - acquireContext(canvas, aspectRatio) { - const context = canvas && canvas.getContext && canvas.getContext('2d'); - if (context && context.canvas === canvas) { - initCanvas(canvas, aspectRatio); - return context; - } - return null; - } - releaseContext(context) { - const canvas = context.canvas; - if (!canvas[EXPANDO_KEY]) { - return false; - } - const initial = canvas[EXPANDO_KEY].initial; - [ - 'height', - 'width' - ].forEach((prop)=>{ - const value = initial[prop]; - if (isNullOrUndef(value)) { - canvas.removeAttribute(prop); - } else { - canvas.setAttribute(prop, value); - } - }); - const style = initial.style || {}; - Object.keys(style).forEach((key)=>{ - canvas.style[key] = style[key]; - }); - canvas.width = canvas.width; - delete canvas[EXPANDO_KEY]; - return true; - } - addEventListener(chart, type, listener) { - this.removeEventListener(chart, type); - const proxies = chart.$proxies || (chart.$proxies = {}); - const handlers = { - attach: createAttachObserver, - detach: createDetachObserver, - resize: createResizeObserver - }; - const handler = handlers[type] || createProxyAndListen; - proxies[type] = handler(chart, type, listener); - } - removeEventListener(chart, type) { - const proxies = chart.$proxies || (chart.$proxies = {}); - const proxy = proxies[type]; - if (!proxy) { - return; - } - const handlers = { - attach: releaseObserver, - detach: releaseObserver, - resize: releaseObserver - }; - const handler = handlers[type] || removeListener; - handler(chart, type, proxy); - proxies[type] = undefined; - } - getDevicePixelRatio() { - return window.devicePixelRatio; - } - getMaximumSize(canvas, width, height, aspectRatio) { - return getMaximumSize(canvas, width, height, aspectRatio); - } - isAttached(canvas) { - const container = canvas && _getParentNode(canvas); - return !!(container && container.isConnected); - } -} - -function _detectPlatform(canvas) { - if (!_isDomSupported() || typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas) { - return BasicPlatform; - } - return DomPlatform; -} - -class chart_Element { - static defaults = {}; - static defaultRoutes = undefined; - x; - y; - active = false; - options; - $animations; - tooltipPosition(useFinalPosition) { - const { x , y } = this.getProps([ - 'x', - 'y' - ], useFinalPosition); - return { - x, - y - }; - } - hasValue() { - return isNumber(this.x) && isNumber(this.y); - } - getProps(props, final) { - const anims = this.$animations; - if (!final || !anims) { - // let's not create an object, if not needed - return this; - } - const ret = {}; - props.forEach((prop)=>{ - ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop]; - }); - return ret; - } -} - -function autoSkip(scale, ticks) { - const tickOpts = scale.options.ticks; - const determinedMaxTicks = determineMaxTicks(scale); - const ticksLimit = Math.min(tickOpts.maxTicksLimit || determinedMaxTicks, determinedMaxTicks); - const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : []; - const numMajorIndices = majorIndices.length; - const first = majorIndices[0]; - const last = majorIndices[numMajorIndices - 1]; - const newTicks = []; - if (numMajorIndices > ticksLimit) { - skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit); - return newTicks; - } - const spacing = calculateSpacing(majorIndices, ticks, ticksLimit); - if (numMajorIndices > 0) { - let i, ilen; - const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null; - skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first); - for(i = 0, ilen = numMajorIndices - 1; i < ilen; i++){ - skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]); - } - skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing); - return newTicks; - } - skip(ticks, newTicks, spacing); - return newTicks; -} -function determineMaxTicks(scale) { - const offset = scale.options.offset; - const tickLength = scale._tickSize(); - const maxScale = scale._length / tickLength + (offset ? 0 : 1); - const maxChart = scale._maxLength / tickLength; - return Math.floor(Math.min(maxScale, maxChart)); -} - function calculateSpacing(majorIndices, ticks, ticksLimit) { - const evenMajorSpacing = getEvenSpacing(majorIndices); - const spacing = ticks.length / ticksLimit; - if (!evenMajorSpacing) { - return Math.max(spacing, 1); - } - const factors = _factorize(evenMajorSpacing); - for(let i = 0, ilen = factors.length - 1; i < ilen; i++){ - const factor = factors[i]; - if (factor > spacing) { - return factor; - } - } - return Math.max(spacing, 1); -} - function getMajorIndices(ticks) { - const result = []; - let i, ilen; - for(i = 0, ilen = ticks.length; i < ilen; i++){ - if (ticks[i].major) { - result.push(i); - } - } - return result; -} - function skipMajors(ticks, newTicks, majorIndices, spacing) { - let count = 0; - let next = majorIndices[0]; - let i; - spacing = Math.ceil(spacing); - for(i = 0; i < ticks.length; i++){ - if (i === next) { - newTicks.push(ticks[i]); - count++; - next = majorIndices[count * spacing]; - } - } -} - function skip(ticks, newTicks, spacing, majorStart, majorEnd) { - const start = valueOrDefault(majorStart, 0); - const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length); - let count = 0; - let length, i, next; - spacing = Math.ceil(spacing); - if (majorEnd) { - length = majorEnd - majorStart; - spacing = length / Math.floor(length / spacing); - } - next = start; - while(next < 0){ - count++; - next = Math.round(start + count * spacing); - } - for(i = Math.max(start, 0); i < end; i++){ - if (i === next) { - newTicks.push(ticks[i]); - count++; - next = Math.round(start + count * spacing); - } - } -} - function getEvenSpacing(arr) { - const len = arr.length; - let i, diff; - if (len < 2) { - return false; - } - for(diff = arr[0], i = 1; i < len; ++i){ - if (arr[i] - arr[i - 1] !== diff) { - return false; - } - } - return diff; -} - -const reverseAlign = (align)=>align === 'left' ? 'right' : align === 'right' ? 'left' : align; -const offsetFromEdge = (scale, edge, offset)=>edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset; -const getTicksLimit = (ticksLength, maxTicksLimit)=>Math.min(maxTicksLimit || ticksLength, ticksLength); - function sample(arr, numItems) { - const result = []; - const increment = arr.length / numItems; - const len = arr.length; - let i = 0; - for(; i < len; i += increment){ - result.push(arr[Math.floor(i)]); - } - return result; -} - function getPixelForGridLine(scale, index, offsetGridLines) { - const length = scale.ticks.length; - const validIndex = Math.min(index, length - 1); - const start = scale._startPixel; - const end = scale._endPixel; - const epsilon = 1e-6; - let lineValue = scale.getPixelForTick(validIndex); - let offset; - if (offsetGridLines) { - if (length === 1) { - offset = Math.max(lineValue - start, end - lineValue); - } else if (index === 0) { - offset = (scale.getPixelForTick(1) - lineValue) / 2; - } else { - offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2; - } - lineValue += validIndex < index ? offset : -offset; - if (lineValue < start - epsilon || lineValue > end + epsilon) { - return; - } - } - return lineValue; -} - function garbageCollect(caches, length) { - each(caches, (cache)=>{ - const gc = cache.gc; - const gcLen = gc.length / 2; - let i; - if (gcLen > length) { - for(i = 0; i < gcLen; ++i){ - delete cache.data[gc[i]]; - } - gc.splice(0, gcLen); - } - }); -} - function getTickMarkLength(options) { - return options.drawTicks ? options.tickLength : 0; -} - function getTitleHeight(options, fallback) { - if (!options.display) { - return 0; - } - const font = toFont(options.font, fallback); - const padding = toPadding(options.padding); - const lines = isArray(options.text) ? options.text.length : 1; - return lines * font.lineHeight + padding.height; -} -function createScaleContext(parent, scale) { - return createContext(parent, { - scale, - type: 'scale' - }); -} -function createTickContext(parent, index, tick) { - return createContext(parent, { - tick, - index, - type: 'tick' - }); -} -function titleAlign(align, position, reverse) { - let ret = _toLeftRightCenter(align); - if (reverse && position !== 'right' || !reverse && position === 'right') { - ret = reverseAlign(ret); - } - return ret; -} -function titleArgs(scale, offset, position, align) { - const { top , left , bottom , right , chart } = scale; - const { chartArea , scales } = chart; - let rotation = 0; - let maxWidth, titleX, titleY; - const height = bottom - top; - const width = right - left; - if (scale.isHorizontal()) { - titleX = _alignStartEnd(align, left, right); - if (isObject(position)) { - const positionAxisID = Object.keys(position)[0]; - const value = position[positionAxisID]; - titleY = scales[positionAxisID].getPixelForValue(value) + height - offset; - } else if (position === 'center') { - titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset; - } else { - titleY = offsetFromEdge(scale, position, offset); - } - maxWidth = right - left; - } else { - if (isObject(position)) { - const positionAxisID = Object.keys(position)[0]; - const value = position[positionAxisID]; - titleX = scales[positionAxisID].getPixelForValue(value) - width + offset; - } else if (position === 'center') { - titleX = (chartArea.left + chartArea.right) / 2 - width + offset; - } else { - titleX = offsetFromEdge(scale, position, offset); - } - titleY = _alignStartEnd(align, bottom, top); - rotation = position === 'left' ? -HALF_PI : HALF_PI; - } - return { - titleX, - titleY, - maxWidth, - rotation - }; -} -class Scale extends chart_Element { - constructor(cfg){ - super(); - this.id = cfg.id; - this.type = cfg.type; - this.options = undefined; - this.ctx = cfg.ctx; - this.chart = cfg.chart; - this.top = undefined; - this.bottom = undefined; - this.left = undefined; - this.right = undefined; - this.width = undefined; - this.height = undefined; - this._margins = { - left: 0, - right: 0, - top: 0, - bottom: 0 - }; - this.maxWidth = undefined; - this.maxHeight = undefined; - this.paddingTop = undefined; - this.paddingBottom = undefined; - this.paddingLeft = undefined; - this.paddingRight = undefined; - this.axis = undefined; - this.labelRotation = undefined; - this.min = undefined; - this.max = undefined; - this._range = undefined; - this.ticks = []; - this._gridLineItems = null; - this._labelItems = null; - this._labelSizes = null; - this._length = 0; - this._maxLength = 0; - this._longestTextCache = {}; - this._startPixel = undefined; - this._endPixel = undefined; - this._reversePixels = false; - this._userMax = undefined; - this._userMin = undefined; - this._suggestedMax = undefined; - this._suggestedMin = undefined; - this._ticksLength = 0; - this._borderValue = 0; - this._cache = {}; - this._dataLimitsCached = false; - this.$context = undefined; - } - init(options) { - this.options = options.setContext(this.getContext()); - this.axis = options.axis; - this._userMin = this.parse(options.min); - this._userMax = this.parse(options.max); - this._suggestedMin = this.parse(options.suggestedMin); - this._suggestedMax = this.parse(options.suggestedMax); - } - parse(raw, index) { - return raw; - } - getUserBounds() { - let { _userMin , _userMax , _suggestedMin , _suggestedMax } = this; - _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY); - _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY); - _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY); - _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY); - return { - min: finiteOrDefault(_userMin, _suggestedMin), - max: finiteOrDefault(_userMax, _suggestedMax), - minDefined: isNumberFinite(_userMin), - maxDefined: isNumberFinite(_userMax) - }; - } - getMinMax(canStack) { - let { min , max , minDefined , maxDefined } = this.getUserBounds(); - let range; - if (minDefined && maxDefined) { - return { - min, - max - }; - } - const metas = this.getMatchingVisibleMetas(); - for(let i = 0, ilen = metas.length; i < ilen; ++i){ - range = metas[i].controller.getMinMax(this, canStack); - if (!minDefined) { - min = Math.min(min, range.min); - } - if (!maxDefined) { - max = Math.max(max, range.max); - } - } - min = maxDefined && min > max ? max : min; - max = minDefined && min > max ? min : max; - return { - min: finiteOrDefault(min, finiteOrDefault(max, min)), - max: finiteOrDefault(max, finiteOrDefault(min, max)) - }; - } - getPadding() { - return { - left: this.paddingLeft || 0, - top: this.paddingTop || 0, - right: this.paddingRight || 0, - bottom: this.paddingBottom || 0 - }; - } - getTicks() { - return this.ticks; - } - getLabels() { - const data = this.chart.data; - return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || []; - } - getLabelItems(chartArea = this.chart.chartArea) { - const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea)); - return items; - } - beforeLayout() { - this._cache = {}; - this._dataLimitsCached = false; - } - beforeUpdate() { - callback(this.options.beforeUpdate, [ - this - ]); - } - update(maxWidth, maxHeight, margins) { - const { beginAtZero , grace , ticks: tickOpts } = this.options; - const sampleSize = tickOpts.sampleSize; - this.beforeUpdate(); - this.maxWidth = maxWidth; - this.maxHeight = maxHeight; - this._margins = margins = Object.assign({ - left: 0, - right: 0, - top: 0, - bottom: 0 - }, margins); - this.ticks = null; - this._labelSizes = null; - this._gridLineItems = null; - this._labelItems = null; - this.beforeSetDimensions(); - this.setDimensions(); - this.afterSetDimensions(); - this._maxLength = this.isHorizontal() ? this.width + margins.left + margins.right : this.height + margins.top + margins.bottom; - if (!this._dataLimitsCached) { - this.beforeDataLimits(); - this.determineDataLimits(); - this.afterDataLimits(); - this._range = _addGrace(this, grace, beginAtZero); - this._dataLimitsCached = true; - } - this.beforeBuildTicks(); - this.ticks = this.buildTicks() || []; - this.afterBuildTicks(); - const samplingEnabled = sampleSize < this.ticks.length; - this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks); - this.configure(); - this.beforeCalculateLabelRotation(); - this.calculateLabelRotation(); - this.afterCalculateLabelRotation(); - if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) { - this.ticks = autoSkip(this, this.ticks); - this._labelSizes = null; - this.afterAutoSkip(); - } - if (samplingEnabled) { - this._convertTicksToLabels(this.ticks); - } - this.beforeFit(); - this.fit(); - this.afterFit(); - this.afterUpdate(); - } - configure() { - let reversePixels = this.options.reverse; - let startPixel, endPixel; - if (this.isHorizontal()) { - startPixel = this.left; - endPixel = this.right; - } else { - startPixel = this.top; - endPixel = this.bottom; - reversePixels = !reversePixels; - } - this._startPixel = startPixel; - this._endPixel = endPixel; - this._reversePixels = reversePixels; - this._length = endPixel - startPixel; - this._alignToPixels = this.options.alignToPixels; - } - afterUpdate() { - callback(this.options.afterUpdate, [ - this - ]); - } - beforeSetDimensions() { - callback(this.options.beforeSetDimensions, [ - this - ]); - } - setDimensions() { - if (this.isHorizontal()) { - this.width = this.maxWidth; - this.left = 0; - this.right = this.width; - } else { - this.height = this.maxHeight; - this.top = 0; - this.bottom = this.height; - } - this.paddingLeft = 0; - this.paddingTop = 0; - this.paddingRight = 0; - this.paddingBottom = 0; - } - afterSetDimensions() { - callback(this.options.afterSetDimensions, [ - this - ]); - } - _callHooks(name) { - this.chart.notifyPlugins(name, this.getContext()); - callback(this.options[name], [ - this - ]); - } - beforeDataLimits() { - this._callHooks('beforeDataLimits'); - } - determineDataLimits() {} - afterDataLimits() { - this._callHooks('afterDataLimits'); - } - beforeBuildTicks() { - this._callHooks('beforeBuildTicks'); - } - buildTicks() { - return []; - } - afterBuildTicks() { - this._callHooks('afterBuildTicks'); - } - beforeTickToLabelConversion() { - callback(this.options.beforeTickToLabelConversion, [ - this - ]); - } - generateTickLabels(ticks) { - const tickOpts = this.options.ticks; - let i, ilen, tick; - for(i = 0, ilen = ticks.length; i < ilen; i++){ - tick = ticks[i]; - tick.label = callback(tickOpts.callback, [ - tick.value, - i, - ticks - ], this); - } - } - afterTickToLabelConversion() { - callback(this.options.afterTickToLabelConversion, [ - this - ]); - } - beforeCalculateLabelRotation() { - callback(this.options.beforeCalculateLabelRotation, [ - this - ]); - } - calculateLabelRotation() { - const options = this.options; - const tickOpts = options.ticks; - const numTicks = getTicksLimit(this.ticks.length, options.ticks.maxTicksLimit); - const minRotation = tickOpts.minRotation || 0; - const maxRotation = tickOpts.maxRotation; - let labelRotation = minRotation; - let tickWidth, maxHeight, maxLabelDiagonal; - if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) { - this.labelRotation = minRotation; - return; - } - const labelSizes = this._getLabelSizes(); - const maxLabelWidth = labelSizes.widest.width; - const maxLabelHeight = labelSizes.highest.height; - const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth); - tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1); - if (maxLabelWidth + 6 > tickWidth) { - tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1)); - maxHeight = this.maxHeight - getTickMarkLength(options.grid) - tickOpts.padding - getTitleHeight(options.title, this.chart.options.font); - maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight); - labelRotation = toDegrees(Math.min(Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)), Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1)))); - labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation)); - } - this.labelRotation = labelRotation; - } - afterCalculateLabelRotation() { - callback(this.options.afterCalculateLabelRotation, [ - this - ]); - } - afterAutoSkip() {} - beforeFit() { - callback(this.options.beforeFit, [ - this - ]); - } - fit() { - const minSize = { - width: 0, - height: 0 - }; - const { chart , options: { ticks: tickOpts , title: titleOpts , grid: gridOpts } } = this; - const display = this._isVisible(); - const isHorizontal = this.isHorizontal(); - if (display) { - const titleHeight = getTitleHeight(titleOpts, chart.options.font); - if (isHorizontal) { - minSize.width = this.maxWidth; - minSize.height = getTickMarkLength(gridOpts) + titleHeight; - } else { - minSize.height = this.maxHeight; - minSize.width = getTickMarkLength(gridOpts) + titleHeight; - } - if (tickOpts.display && this.ticks.length) { - const { first , last , widest , highest } = this._getLabelSizes(); - const tickPadding = tickOpts.padding * 2; - const angleRadians = toRadians(this.labelRotation); - const cos = Math.cos(angleRadians); - const sin = Math.sin(angleRadians); - if (isHorizontal) { - const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height; - minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding); - } else { - const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height; - minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding); - } - this._calculatePadding(first, last, sin, cos); - } - } - this._handleMargins(); - if (isHorizontal) { - this.width = this._length = chart.width - this._margins.left - this._margins.right; - this.height = minSize.height; - } else { - this.width = minSize.width; - this.height = this._length = chart.height - this._margins.top - this._margins.bottom; - } - } - _calculatePadding(first, last, sin, cos) { - const { ticks: { align , padding } , position } = this.options; - const isRotated = this.labelRotation !== 0; - const labelsBelowTicks = position !== 'top' && this.axis === 'x'; - if (this.isHorizontal()) { - const offsetLeft = this.getPixelForTick(0) - this.left; - const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1); - let paddingLeft = 0; - let paddingRight = 0; - if (isRotated) { - if (labelsBelowTicks) { - paddingLeft = cos * first.width; - paddingRight = sin * last.height; - } else { - paddingLeft = sin * first.height; - paddingRight = cos * last.width; - } - } else if (align === 'start') { - paddingRight = last.width; - } else if (align === 'end') { - paddingLeft = first.width; - } else if (align !== 'inner') { - paddingLeft = first.width / 2; - paddingRight = last.width / 2; - } - this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0); - this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0); - } else { - let paddingTop = last.height / 2; - let paddingBottom = first.height / 2; - if (align === 'start') { - paddingTop = 0; - paddingBottom = first.height; - } else if (align === 'end') { - paddingTop = last.height; - paddingBottom = 0; - } - this.paddingTop = paddingTop + padding; - this.paddingBottom = paddingBottom + padding; - } - } - _handleMargins() { - if (this._margins) { - this._margins.left = Math.max(this.paddingLeft, this._margins.left); - this._margins.top = Math.max(this.paddingTop, this._margins.top); - this._margins.right = Math.max(this.paddingRight, this._margins.right); - this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom); - } - } - afterFit() { - callback(this.options.afterFit, [ - this - ]); - } - isHorizontal() { - const { axis , position } = this.options; - return position === 'top' || position === 'bottom' || axis === 'x'; - } - isFullSize() { - return this.options.fullSize; - } - _convertTicksToLabels(ticks) { - this.beforeTickToLabelConversion(); - this.generateTickLabels(ticks); - let i, ilen; - for(i = 0, ilen = ticks.length; i < ilen; i++){ - if (isNullOrUndef(ticks[i].label)) { - ticks.splice(i, 1); - ilen--; - i--; - } - } - this.afterTickToLabelConversion(); - } - _getLabelSizes() { - let labelSizes = this._labelSizes; - if (!labelSizes) { - const sampleSize = this.options.ticks.sampleSize; - let ticks = this.ticks; - if (sampleSize < ticks.length) { - ticks = sample(ticks, sampleSize); - } - this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length, this.options.ticks.maxTicksLimit); - } - return labelSizes; - } - _computeLabelSizes(ticks, length, maxTicksLimit) { - const { ctx , _longestTextCache: caches } = this; - const widths = []; - const heights = []; - const increment = Math.floor(length / getTicksLimit(length, maxTicksLimit)); - let widestLabelSize = 0; - let highestLabelSize = 0; - let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel; - for(i = 0; i < length; i += increment){ - label = ticks[i].label; - tickFont = this._resolveTickFontOptions(i); - ctx.font = fontString = tickFont.string; - cache = caches[fontString] = caches[fontString] || { - data: {}, - gc: [] - }; - lineHeight = tickFont.lineHeight; - width = height = 0; - if (!isNullOrUndef(label) && !isArray(label)) { - width = _measureText(ctx, cache.data, cache.gc, width, label); - height = lineHeight; - } else if (isArray(label)) { - for(j = 0, jlen = label.length; j < jlen; ++j){ - nestedLabel = label[j]; - if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) { - width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel); - height += lineHeight; - } - } - } - widths.push(width); - heights.push(height); - widestLabelSize = Math.max(width, widestLabelSize); - highestLabelSize = Math.max(height, highestLabelSize); - } - garbageCollect(caches, length); - const widest = widths.indexOf(widestLabelSize); - const highest = heights.indexOf(highestLabelSize); - const valueAt = (idx)=>({ - width: widths[idx] || 0, - height: heights[idx] || 0 - }); - return { - first: valueAt(0), - last: valueAt(length - 1), - widest: valueAt(widest), - highest: valueAt(highest), - widths, - heights - }; - } - getLabelForValue(value) { - return value; - } - getPixelForValue(value, index) { - return NaN; - } - getValueForPixel(pixel) {} - getPixelForTick(index) { - const ticks = this.ticks; - if (index < 0 || index > ticks.length - 1) { - return null; - } - return this.getPixelForValue(ticks[index].value); - } - getPixelForDecimal(decimal) { - if (this._reversePixels) { - decimal = 1 - decimal; - } - const pixel = this._startPixel + decimal * this._length; - return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel); - } - getDecimalForPixel(pixel) { - const decimal = (pixel - this._startPixel) / this._length; - return this._reversePixels ? 1 - decimal : decimal; - } - getBasePixel() { - return this.getPixelForValue(this.getBaseValue()); - } - getBaseValue() { - const { min , max } = this; - return min < 0 && max < 0 ? max : min > 0 && max > 0 ? min : 0; - } - getContext(index) { - const ticks = this.ticks || []; - if (index >= 0 && index < ticks.length) { - const tick = ticks[index]; - return tick.$context || (tick.$context = createTickContext(this.getContext(), index, tick)); - } - return this.$context || (this.$context = createScaleContext(this.chart.getContext(), this)); - } - _tickSize() { - const optionTicks = this.options.ticks; - const rot = toRadians(this.labelRotation); - const cos = Math.abs(Math.cos(rot)); - const sin = Math.abs(Math.sin(rot)); - const labelSizes = this._getLabelSizes(); - const padding = optionTicks.autoSkipPadding || 0; - const w = labelSizes ? labelSizes.widest.width + padding : 0; - const h = labelSizes ? labelSizes.highest.height + padding : 0; - return this.isHorizontal() ? h * cos > w * sin ? w / cos : h / sin : h * sin < w * cos ? h / cos : w / sin; - } - _isVisible() { - const display = this.options.display; - if (display !== 'auto') { - return !!display; - } - return this.getMatchingVisibleMetas().length > 0; - } - _computeGridLineItems(chartArea) { - const axis = this.axis; - const chart = this.chart; - const options = this.options; - const { grid , position , border } = options; - const offset = grid.offset; - const isHorizontal = this.isHorizontal(); - const ticks = this.ticks; - const ticksLength = ticks.length + (offset ? 1 : 0); - const tl = getTickMarkLength(grid); - const items = []; - const borderOpts = border.setContext(this.getContext()); - const axisWidth = borderOpts.display ? borderOpts.width : 0; - const axisHalfWidth = axisWidth / 2; - const alignBorderValue = function(pixel) { - return _alignPixel(chart, pixel, axisWidth); - }; - let borderValue, i, lineValue, alignedLineValue; - let tx1, ty1, tx2, ty2, x1, y1, x2, y2; - if (position === 'top') { - borderValue = alignBorderValue(this.bottom); - ty1 = this.bottom - tl; - ty2 = borderValue - axisHalfWidth; - y1 = alignBorderValue(chartArea.top) + axisHalfWidth; - y2 = chartArea.bottom; - } else if (position === 'bottom') { - borderValue = alignBorderValue(this.top); - y1 = chartArea.top; - y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth; - ty1 = borderValue + axisHalfWidth; - ty2 = this.top + tl; - } else if (position === 'left') { - borderValue = alignBorderValue(this.right); - tx1 = this.right - tl; - tx2 = borderValue - axisHalfWidth; - x1 = alignBorderValue(chartArea.left) + axisHalfWidth; - x2 = chartArea.right; - } else if (position === 'right') { - borderValue = alignBorderValue(this.left); - x1 = chartArea.left; - x2 = alignBorderValue(chartArea.right) - axisHalfWidth; - tx1 = borderValue + axisHalfWidth; - tx2 = this.left + tl; - } else if (axis === 'x') { - if (position === 'center') { - borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5); - } else if (isObject(position)) { - const positionAxisID = Object.keys(position)[0]; - const value = position[positionAxisID]; - borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value)); - } - y1 = chartArea.top; - y2 = chartArea.bottom; - ty1 = borderValue + axisHalfWidth; - ty2 = ty1 + tl; - } else if (axis === 'y') { - if (position === 'center') { - borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2); - } else if (isObject(position)) { - const positionAxisID = Object.keys(position)[0]; - const value = position[positionAxisID]; - borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value)); - } - tx1 = borderValue - axisHalfWidth; - tx2 = tx1 - tl; - x1 = chartArea.left; - x2 = chartArea.right; - } - const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength); - const step = Math.max(1, Math.ceil(ticksLength / limit)); - for(i = 0; i < ticksLength; i += step){ - const context = this.getContext(i); - const optsAtIndex = grid.setContext(context); - const optsAtIndexBorder = border.setContext(context); - const lineWidth = optsAtIndex.lineWidth; - const lineColor = optsAtIndex.color; - const borderDash = optsAtIndexBorder.dash || []; - const borderDashOffset = optsAtIndexBorder.dashOffset; - const tickWidth = optsAtIndex.tickWidth; - const tickColor = optsAtIndex.tickColor; - const tickBorderDash = optsAtIndex.tickBorderDash || []; - const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset; - lineValue = getPixelForGridLine(this, i, offset); - if (lineValue === undefined) { - continue; - } - alignedLineValue = _alignPixel(chart, lineValue, lineWidth); - if (isHorizontal) { - tx1 = tx2 = x1 = x2 = alignedLineValue; - } else { - ty1 = ty2 = y1 = y2 = alignedLineValue; - } - items.push({ - tx1, - ty1, - tx2, - ty2, - x1, - y1, - x2, - y2, - width: lineWidth, - color: lineColor, - borderDash, - borderDashOffset, - tickWidth, - tickColor, - tickBorderDash, - tickBorderDashOffset - }); - } - this._ticksLength = ticksLength; - this._borderValue = borderValue; - return items; - } - _computeLabelItems(chartArea) { - const axis = this.axis; - const options = this.options; - const { position , ticks: optionTicks } = options; - const isHorizontal = this.isHorizontal(); - const ticks = this.ticks; - const { align , crossAlign , padding , mirror } = optionTicks; - const tl = getTickMarkLength(options.grid); - const tickAndPadding = tl + padding; - const hTickAndPadding = mirror ? -padding : tickAndPadding; - const rotation = -toRadians(this.labelRotation); - const items = []; - let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset; - let textBaseline = 'middle'; - if (position === 'top') { - y = this.bottom - hTickAndPadding; - textAlign = this._getXAxisLabelAlignment(); - } else if (position === 'bottom') { - y = this.top + hTickAndPadding; - textAlign = this._getXAxisLabelAlignment(); - } else if (position === 'left') { - const ret = this._getYAxisLabelAlignment(tl); - textAlign = ret.textAlign; - x = ret.x; - } else if (position === 'right') { - const ret = this._getYAxisLabelAlignment(tl); - textAlign = ret.textAlign; - x = ret.x; - } else if (axis === 'x') { - if (position === 'center') { - y = (chartArea.top + chartArea.bottom) / 2 + tickAndPadding; - } else if (isObject(position)) { - const positionAxisID = Object.keys(position)[0]; - const value = position[positionAxisID]; - y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding; - } - textAlign = this._getXAxisLabelAlignment(); - } else if (axis === 'y') { - if (position === 'center') { - x = (chartArea.left + chartArea.right) / 2 - tickAndPadding; - } else if (isObject(position)) { - const positionAxisID = Object.keys(position)[0]; - const value = position[positionAxisID]; - x = this.chart.scales[positionAxisID].getPixelForValue(value); - } - textAlign = this._getYAxisLabelAlignment(tl).textAlign; - } - if (axis === 'y') { - if (align === 'start') { - textBaseline = 'top'; - } else if (align === 'end') { - textBaseline = 'bottom'; - } - } - const labelSizes = this._getLabelSizes(); - for(i = 0, ilen = ticks.length; i < ilen; ++i){ - tick = ticks[i]; - label = tick.label; - const optsAtIndex = optionTicks.setContext(this.getContext(i)); - pixel = this.getPixelForTick(i) + optionTicks.labelOffset; - font = this._resolveTickFontOptions(i); - lineHeight = font.lineHeight; - lineCount = isArray(label) ? label.length : 1; - const halfCount = lineCount / 2; - const color = optsAtIndex.color; - const strokeColor = optsAtIndex.textStrokeColor; - const strokeWidth = optsAtIndex.textStrokeWidth; - let tickTextAlign = textAlign; - if (isHorizontal) { - x = pixel; - if (textAlign === 'inner') { - if (i === ilen - 1) { - tickTextAlign = !this.options.reverse ? 'right' : 'left'; - } else if (i === 0) { - tickTextAlign = !this.options.reverse ? 'left' : 'right'; - } else { - tickTextAlign = 'center'; - } - } - if (position === 'top') { - if (crossAlign === 'near' || rotation !== 0) { - textOffset = -lineCount * lineHeight + lineHeight / 2; - } else if (crossAlign === 'center') { - textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight; - } else { - textOffset = -labelSizes.highest.height + lineHeight / 2; - } - } else { - if (crossAlign === 'near' || rotation !== 0) { - textOffset = lineHeight / 2; - } else if (crossAlign === 'center') { - textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight; - } else { - textOffset = labelSizes.highest.height - lineCount * lineHeight; - } - } - if (mirror) { - textOffset *= -1; - } - if (rotation !== 0 && !optsAtIndex.showLabelBackdrop) { - x += lineHeight / 2 * Math.sin(rotation); - } - } else { - y = pixel; - textOffset = (1 - lineCount) * lineHeight / 2; - } - let backdrop; - if (optsAtIndex.showLabelBackdrop) { - const labelPadding = toPadding(optsAtIndex.backdropPadding); - const height = labelSizes.heights[i]; - const width = labelSizes.widths[i]; - let top = textOffset - labelPadding.top; - let left = 0 - labelPadding.left; - switch(textBaseline){ - case 'middle': - top -= height / 2; - break; - case 'bottom': - top -= height; - break; - } - switch(textAlign){ - case 'center': - left -= width / 2; - break; - case 'right': - left -= width; - break; - case 'inner': - if (i === ilen - 1) { - left -= width; - } else if (i > 0) { - left -= width / 2; - } - break; - } - backdrop = { - left, - top, - width: width + labelPadding.width, - height: height + labelPadding.height, - color: optsAtIndex.backdropColor - }; - } - items.push({ - label, - font, - textOffset, - options: { - rotation, - color, - strokeColor, - strokeWidth, - textAlign: tickTextAlign, - textBaseline, - translation: [ - x, - y - ], - backdrop - } - }); - } - return items; - } - _getXAxisLabelAlignment() { - const { position , ticks } = this.options; - const rotation = -toRadians(this.labelRotation); - if (rotation) { - return position === 'top' ? 'left' : 'right'; - } - let align = 'center'; - if (ticks.align === 'start') { - align = 'left'; - } else if (ticks.align === 'end') { - align = 'right'; - } else if (ticks.align === 'inner') { - align = 'inner'; - } - return align; - } - _getYAxisLabelAlignment(tl) { - const { position , ticks: { crossAlign , mirror , padding } } = this.options; - const labelSizes = this._getLabelSizes(); - const tickAndPadding = tl + padding; - const widest = labelSizes.widest.width; - let textAlign; - let x; - if (position === 'left') { - if (mirror) { - x = this.right + padding; - if (crossAlign === 'near') { - textAlign = 'left'; - } else if (crossAlign === 'center') { - textAlign = 'center'; - x += widest / 2; - } else { - textAlign = 'right'; - x += widest; - } - } else { - x = this.right - tickAndPadding; - if (crossAlign === 'near') { - textAlign = 'right'; - } else if (crossAlign === 'center') { - textAlign = 'center'; - x -= widest / 2; - } else { - textAlign = 'left'; - x = this.left; - } - } - } else if (position === 'right') { - if (mirror) { - x = this.left + padding; - if (crossAlign === 'near') { - textAlign = 'right'; - } else if (crossAlign === 'center') { - textAlign = 'center'; - x -= widest / 2; - } else { - textAlign = 'left'; - x -= widest; - } - } else { - x = this.left + tickAndPadding; - if (crossAlign === 'near') { - textAlign = 'left'; - } else if (crossAlign === 'center') { - textAlign = 'center'; - x += widest / 2; - } else { - textAlign = 'right'; - x = this.right; - } - } - } else { - textAlign = 'right'; - } - return { - textAlign, - x - }; - } - _computeLabelArea() { - if (this.options.ticks.mirror) { - return; - } - const chart = this.chart; - const position = this.options.position; - if (position === 'left' || position === 'right') { - return { - top: 0, - left: this.left, - bottom: chart.height, - right: this.right - }; - } - if (position === 'top' || position === 'bottom') { - return { - top: this.top, - left: 0, - bottom: this.bottom, - right: chart.width - }; - } - } - drawBackground() { - const { ctx , options: { backgroundColor } , left , top , width , height } = this; - if (backgroundColor) { - ctx.save(); - ctx.fillStyle = backgroundColor; - ctx.fillRect(left, top, width, height); - ctx.restore(); - } - } - getLineWidthForValue(value) { - const grid = this.options.grid; - if (!this._isVisible() || !grid.display) { - return 0; - } - const ticks = this.ticks; - const index = ticks.findIndex((t)=>t.value === value); - if (index >= 0) { - const opts = grid.setContext(this.getContext(index)); - return opts.lineWidth; - } - return 0; - } - drawGrid(chartArea) { - const grid = this.options.grid; - const ctx = this.ctx; - const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea)); - let i, ilen; - const drawLine = (p1, p2, style)=>{ - if (!style.width || !style.color) { - return; - } - ctx.save(); - ctx.lineWidth = style.width; - ctx.strokeStyle = style.color; - ctx.setLineDash(style.borderDash || []); - ctx.lineDashOffset = style.borderDashOffset; - ctx.beginPath(); - ctx.moveTo(p1.x, p1.y); - ctx.lineTo(p2.x, p2.y); - ctx.stroke(); - ctx.restore(); - }; - if (grid.display) { - for(i = 0, ilen = items.length; i < ilen; ++i){ - const item = items[i]; - if (grid.drawOnChartArea) { - drawLine({ - x: item.x1, - y: item.y1 - }, { - x: item.x2, - y: item.y2 - }, item); - } - if (grid.drawTicks) { - drawLine({ - x: item.tx1, - y: item.ty1 - }, { - x: item.tx2, - y: item.ty2 - }, { - color: item.tickColor, - width: item.tickWidth, - borderDash: item.tickBorderDash, - borderDashOffset: item.tickBorderDashOffset - }); - } - } - } - } - drawBorder() { - const { chart , ctx , options: { border , grid } } = this; - const borderOpts = border.setContext(this.getContext()); - const axisWidth = border.display ? borderOpts.width : 0; - if (!axisWidth) { - return; - } - const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth; - const borderValue = this._borderValue; - let x1, x2, y1, y2; - if (this.isHorizontal()) { - x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2; - x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2; - y1 = y2 = borderValue; - } else { - y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2; - y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2; - x1 = x2 = borderValue; - } - ctx.save(); - ctx.lineWidth = borderOpts.width; - ctx.strokeStyle = borderOpts.color; - ctx.beginPath(); - ctx.moveTo(x1, y1); - ctx.lineTo(x2, y2); - ctx.stroke(); - ctx.restore(); - } - drawLabels(chartArea) { - const optionTicks = this.options.ticks; - if (!optionTicks.display) { - return; - } - const ctx = this.ctx; - const area = this._computeLabelArea(); - if (area) { - clipArea(ctx, area); - } - const items = this.getLabelItems(chartArea); - for (const item of items){ - const renderTextOptions = item.options; - const tickFont = item.font; - const label = item.label; - const y = item.textOffset; - renderText(ctx, label, 0, y, tickFont, renderTextOptions); - } - if (area) { - unclipArea(ctx); - } - } - drawTitle() { - const { ctx , options: { position , title , reverse } } = this; - if (!title.display) { - return; - } - const font = toFont(title.font); - const padding = toPadding(title.padding); - const align = title.align; - let offset = font.lineHeight / 2; - if (position === 'bottom' || position === 'center' || isObject(position)) { - offset += padding.bottom; - if (isArray(title.text)) { - offset += font.lineHeight * (title.text.length - 1); - } - } else { - offset += padding.top; - } - const { titleX , titleY , maxWidth , rotation } = titleArgs(this, offset, position, align); - renderText(ctx, title.text, 0, 0, font, { - color: title.color, - maxWidth, - rotation, - textAlign: titleAlign(align, position, reverse), - textBaseline: 'middle', - translation: [ - titleX, - titleY - ] - }); - } - draw(chartArea) { - if (!this._isVisible()) { - return; - } - this.drawBackground(); - this.drawGrid(chartArea); - this.drawBorder(); - this.drawTitle(); - this.drawLabels(chartArea); - } - _layers() { - const opts = this.options; - const tz = opts.ticks && opts.ticks.z || 0; - const gz = valueOrDefault(opts.grid && opts.grid.z, -1); - const bz = valueOrDefault(opts.border && opts.border.z, 0); - if (!this._isVisible() || this.draw !== Scale.prototype.draw) { - return [ - { - z: tz, - draw: (chartArea)=>{ - this.draw(chartArea); - } - } - ]; - } - return [ - { - z: gz, - draw: (chartArea)=>{ - this.drawBackground(); - this.drawGrid(chartArea); - this.drawTitle(); - } - }, - { - z: bz, - draw: ()=>{ - this.drawBorder(); - } - }, - { - z: tz, - draw: (chartArea)=>{ - this.drawLabels(chartArea); - } - } - ]; - } - getMatchingVisibleMetas(type) { - const metas = this.chart.getSortedVisibleDatasetMetas(); - const axisID = this.axis + 'AxisID'; - const result = []; - let i, ilen; - for(i = 0, ilen = metas.length; i < ilen; ++i){ - const meta = metas[i]; - if (meta[axisID] === this.id && (!type || meta.type === type)) { - result.push(meta); - } - } - return result; - } - _resolveTickFontOptions(index) { - const opts = this.options.ticks.setContext(this.getContext(index)); - return toFont(opts.font); - } - _maxDigits() { - const fontSize = this._resolveTickFontOptions(0).lineHeight; - return (this.isHorizontal() ? this.width : this.height) / fontSize; - } -} - -class TypedRegistry { - constructor(type, scope, override){ - this.type = type; - this.scope = scope; - this.override = override; - this.items = Object.create(null); - } - isForType(type) { - return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype); - } - register(item) { - const proto = Object.getPrototypeOf(item); - let parentScope; - if (isIChartComponent(proto)) { - parentScope = this.register(proto); - } - const items = this.items; - const id = item.id; - const scope = this.scope + '.' + id; - if (!id) { - throw new Error('class does not have id: ' + item); - } - if (id in items) { - return scope; - } - items[id] = item; - registerDefaults(item, scope, parentScope); - if (this.override) { - defaults.override(item.id, item.overrides); - } - return scope; - } - get(id) { - return this.items[id]; - } - unregister(item) { - const items = this.items; - const id = item.id; - const scope = this.scope; - if (id in items) { - delete items[id]; - } - if (scope && id in defaults[scope]) { - delete defaults[scope][id]; - if (this.override) { - delete overrides[id]; - } - } - } -} -function registerDefaults(item, scope, parentScope) { - const itemDefaults = merge(Object.create(null), [ - parentScope ? defaults.get(parentScope) : {}, - defaults.get(scope), - item.defaults - ]); - defaults.set(scope, itemDefaults); - if (item.defaultRoutes) { - routeDefaults(scope, item.defaultRoutes); - } - if (item.descriptors) { - defaults.describe(scope, item.descriptors); - } -} -function routeDefaults(scope, routes) { - Object.keys(routes).forEach((property)=>{ - const propertyParts = property.split('.'); - const sourceName = propertyParts.pop(); - const sourceScope = [ - scope - ].concat(propertyParts).join('.'); - const parts = routes[property].split('.'); - const targetName = parts.pop(); - const targetScope = parts.join('.'); - defaults.route(sourceScope, sourceName, targetScope, targetName); - }); -} -function isIChartComponent(proto) { - return 'id' in proto && 'defaults' in proto; -} - -class Registry { - constructor(){ - this.controllers = new TypedRegistry(DatasetController, 'datasets', true); - this.elements = new TypedRegistry(chart_Element, 'elements'); - this.plugins = new TypedRegistry(Object, 'plugins'); - this.scales = new TypedRegistry(Scale, 'scales'); - this._typedRegistries = [ - this.controllers, - this.scales, - this.elements - ]; - } - add(...args) { - this._each('register', args); - } - remove(...args) { - this._each('unregister', args); - } - addControllers(...args) { - this._each('register', args, this.controllers); - } - addElements(...args) { - this._each('register', args, this.elements); - } - addPlugins(...args) { - this._each('register', args, this.plugins); - } - addScales(...args) { - this._each('register', args, this.scales); - } - getController(id) { - return this._get(id, this.controllers, 'controller'); - } - getElement(id) { - return this._get(id, this.elements, 'element'); - } - getPlugin(id) { - return this._get(id, this.plugins, 'plugin'); - } - getScale(id) { - return this._get(id, this.scales, 'scale'); - } - removeControllers(...args) { - this._each('unregister', args, this.controllers); - } - removeElements(...args) { - this._each('unregister', args, this.elements); - } - removePlugins(...args) { - this._each('unregister', args, this.plugins); - } - removeScales(...args) { - this._each('unregister', args, this.scales); - } - _each(method, args, typedRegistry) { - [ - ...args - ].forEach((arg)=>{ - const reg = typedRegistry || this._getRegistryForType(arg); - if (typedRegistry || reg.isForType(arg) || reg === this.plugins && arg.id) { - this._exec(method, reg, arg); - } else { - each(arg, (item)=>{ - const itemReg = typedRegistry || this._getRegistryForType(item); - this._exec(method, itemReg, item); - }); - } - }); - } - _exec(method, registry, component) { - const camelMethod = _capitalize(method); - callback(component['before' + camelMethod], [], component); - registry[method](component); - callback(component['after' + camelMethod], [], component); - } - _getRegistryForType(type) { - for(let i = 0; i < this._typedRegistries.length; i++){ - const reg = this._typedRegistries[i]; - if (reg.isForType(type)) { - return reg; - } - } - return this.plugins; - } - _get(id, typedRegistry, type) { - const item = typedRegistry.get(id); - if (item === undefined) { - throw new Error('"' + id + '" is not a registered ' + type + '.'); - } - return item; - } -} -var registry = /* #__PURE__ */ new Registry(); - -class PluginService { - constructor(){ - this._init = undefined; - } - notify(chart, hook, args, filter) { - if (hook === 'beforeInit') { - this._init = this._createDescriptors(chart, true); - this._notify(this._init, chart, 'install'); - } - if (this._init === undefined) { - return; - } - const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart); - const result = this._notify(descriptors, chart, hook, args); - if (hook === 'afterDestroy') { - this._notify(descriptors, chart, 'stop'); - this._notify(this._init, chart, 'uninstall'); - this._init = undefined; - } - return result; - } - _notify(descriptors, chart, hook, args) { - args = args || {}; - for (const descriptor of descriptors){ - const plugin = descriptor.plugin; - const method = plugin[hook]; - const params = [ - chart, - args, - descriptor.options - ]; - if (callback(method, params, plugin) === false && args.cancelable) { - return false; - } - } - return true; - } - invalidate() { - if (!isNullOrUndef(this._cache)) { - this._oldCache = this._cache; - this._cache = undefined; - } - } - _descriptors(chart) { - if (this._cache) { - return this._cache; - } - const descriptors = this._cache = this._createDescriptors(chart); - this._notifyStateChanges(chart); - return descriptors; - } - _createDescriptors(chart, all) { - const config = chart && chart.config; - const options = valueOrDefault(config.options && config.options.plugins, {}); - const plugins = allPlugins(config); - return options === false && !all ? [] : createDescriptors(chart, plugins, options, all); - } - _notifyStateChanges(chart) { - const previousDescriptors = this._oldCache || []; - const descriptors = this._cache; - const diff = (a, b)=>a.filter((x)=>!b.some((y)=>x.plugin.id === y.plugin.id)); - this._notify(diff(previousDescriptors, descriptors), chart, 'stop'); - this._notify(diff(descriptors, previousDescriptors), chart, 'start'); - } -} - function allPlugins(config) { - const localIds = {}; - const plugins = []; - const keys = Object.keys(registry.plugins.items); - for(let i = 0; i < keys.length; i++){ - plugins.push(registry.getPlugin(keys[i])); - } - const local = config.plugins || []; - for(let i = 0; i < local.length; i++){ - const plugin = local[i]; - if (plugins.indexOf(plugin) === -1) { - plugins.push(plugin); - localIds[plugin.id] = true; - } - } - return { - plugins, - localIds - }; -} -function getOpts(options, all) { - if (!all && options === false) { - return null; - } - if (options === true) { - return {}; - } - return options; -} -function createDescriptors(chart, { plugins , localIds }, options, all) { - const result = []; - const context = chart.getContext(); - for (const plugin of plugins){ - const id = plugin.id; - const opts = getOpts(options[id], all); - if (opts === null) { - continue; - } - result.push({ - plugin, - options: pluginOpts(chart.config, { - plugin, - local: localIds[id] - }, opts, context) - }); - } - return result; -} -function pluginOpts(config, { plugin , local }, opts, context) { - const keys = config.pluginScopeKeys(plugin); - const scopes = config.getOptionScopes(opts, keys); - if (local && plugin.defaults) { - scopes.push(plugin.defaults); - } - return config.createResolver(scopes, context, [ - '' - ], { - scriptable: false, - indexable: false, - allKeys: true - }); -} - -function getIndexAxis(type, options) { - const datasetDefaults = defaults.datasets[type] || {}; - const datasetOptions = (options.datasets || {})[type] || {}; - return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x'; -} -function getAxisFromDefaultScaleID(id, indexAxis) { - let axis = id; - if (id === '_index_') { - axis = indexAxis; - } else if (id === '_value_') { - axis = indexAxis === 'x' ? 'y' : 'x'; - } - return axis; -} -function getDefaultScaleIDFromAxis(axis, indexAxis) { - return axis === indexAxis ? '_index_' : '_value_'; -} -function idMatchesAxis(id) { - if (id === 'x' || id === 'y' || id === 'r') { - return id; - } -} -function axisFromPosition(position) { - if (position === 'top' || position === 'bottom') { - return 'x'; - } - if (position === 'left' || position === 'right') { - return 'y'; - } -} -function determineAxis(id, ...scaleOptions) { - if (idMatchesAxis(id)) { - return id; - } - for (const opts of scaleOptions){ - const axis = opts.axis || axisFromPosition(opts.position) || id.length > 1 && idMatchesAxis(id[0].toLowerCase()); - if (axis) { - return axis; - } - } - throw new Error(`Cannot determine type of '${id}' axis. Please provide 'axis' or 'position' option.`); -} -function getAxisFromDataset(id, axis, dataset) { - if (dataset[axis + 'AxisID'] === id) { - return { - axis - }; - } -} -function retrieveAxisFromDatasets(id, config) { - if (config.data && config.data.datasets) { - const boundDs = config.data.datasets.filter((d)=>d.xAxisID === id || d.yAxisID === id); - if (boundDs.length) { - return getAxisFromDataset(id, 'x', boundDs[0]) || getAxisFromDataset(id, 'y', boundDs[0]); - } - } - return {}; -} -function mergeScaleConfig(config, options) { - const chartDefaults = overrides[config.type] || { - scales: {} - }; - const configScales = options.scales || {}; - const chartIndexAxis = getIndexAxis(config.type, options); - const scales = Object.create(null); - Object.keys(configScales).forEach((id)=>{ - const scaleConf = configScales[id]; - if (!isObject(scaleConf)) { - return console.error(`Invalid scale configuration for scale: ${id}`); - } - if (scaleConf._proxy) { - return console.warn(`Ignoring resolver passed as options for scale: ${id}`); - } - const axis = determineAxis(id, scaleConf, retrieveAxisFromDatasets(id, config), defaults.scales[scaleConf.type]); - const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis); - const defaultScaleOptions = chartDefaults.scales || {}; - scales[id] = mergeIf(Object.create(null), [ - { - axis - }, - scaleConf, - defaultScaleOptions[axis], - defaultScaleOptions[defaultId] - ]); - }); - config.data.datasets.forEach((dataset)=>{ - const type = dataset.type || config.type; - const indexAxis = dataset.indexAxis || getIndexAxis(type, options); - const datasetDefaults = overrides[type] || {}; - const defaultScaleOptions = datasetDefaults.scales || {}; - Object.keys(defaultScaleOptions).forEach((defaultID)=>{ - const axis = getAxisFromDefaultScaleID(defaultID, indexAxis); - const id = dataset[axis + 'AxisID'] || axis; - scales[id] = scales[id] || Object.create(null); - mergeIf(scales[id], [ - { - axis - }, - configScales[id], - defaultScaleOptions[defaultID] - ]); - }); - }); - Object.keys(scales).forEach((key)=>{ - const scale = scales[key]; - mergeIf(scale, [ - defaults.scales[scale.type], - defaults.scale - ]); - }); - return scales; -} -function initOptions(config) { - const options = config.options || (config.options = {}); - options.plugins = valueOrDefault(options.plugins, {}); - options.scales = mergeScaleConfig(config, options); -} -function initData(data) { - data = data || {}; - data.datasets = data.datasets || []; - data.labels = data.labels || []; - return data; -} -function initConfig(config) { - config = config || {}; - config.data = initData(config.data); - initOptions(config); - return config; -} -const keyCache = new Map(); -const keysCached = new Set(); -function cachedKeys(cacheKey, generate) { - let keys = keyCache.get(cacheKey); - if (!keys) { - keys = generate(); - keyCache.set(cacheKey, keys); - keysCached.add(keys); - } - return keys; -} -const addIfFound = (set, obj, key)=>{ - const opts = resolveObjectKey(obj, key); - if (opts !== undefined) { - set.add(opts); - } -}; -class Config { - constructor(config){ - this._config = initConfig(config); - this._scopeCache = new Map(); - this._resolverCache = new Map(); - } - get platform() { - return this._config.platform; - } - get type() { - return this._config.type; - } - set type(type) { - this._config.type = type; - } - get data() { - return this._config.data; - } - set data(data) { - this._config.data = initData(data); - } - get options() { - return this._config.options; - } - set options(options) { - this._config.options = options; - } - get plugins() { - return this._config.plugins; - } - update() { - const config = this._config; - this.clearCache(); - initOptions(config); - } - clearCache() { - this._scopeCache.clear(); - this._resolverCache.clear(); - } - datasetScopeKeys(datasetType) { - return cachedKeys(datasetType, ()=>[ - [ - `datasets.${datasetType}`, - '' - ] - ]); - } - datasetAnimationScopeKeys(datasetType, transition) { - return cachedKeys(`${datasetType}.transition.${transition}`, ()=>[ - [ - `datasets.${datasetType}.transitions.${transition}`, - `transitions.${transition}` - ], - [ - `datasets.${datasetType}`, - '' - ] - ]); - } - datasetElementScopeKeys(datasetType, elementType) { - return cachedKeys(`${datasetType}-${elementType}`, ()=>[ - [ - `datasets.${datasetType}.elements.${elementType}`, - `datasets.${datasetType}`, - `elements.${elementType}`, - '' - ] - ]); - } - pluginScopeKeys(plugin) { - const id = plugin.id; - const type = this.type; - return cachedKeys(`${type}-plugin-${id}`, ()=>[ - [ - `plugins.${id}`, - ...plugin.additionalOptionScopes || [] - ] - ]); - } - _cachedScopes(mainScope, resetCache) { - const _scopeCache = this._scopeCache; - let cache = _scopeCache.get(mainScope); - if (!cache || resetCache) { - cache = new Map(); - _scopeCache.set(mainScope, cache); - } - return cache; - } - getOptionScopes(mainScope, keyLists, resetCache) { - const { options , type } = this; - const cache = this._cachedScopes(mainScope, resetCache); - const cached = cache.get(keyLists); - if (cached) { - return cached; - } - const scopes = new Set(); - keyLists.forEach((keys)=>{ - if (mainScope) { - scopes.add(mainScope); - keys.forEach((key)=>addIfFound(scopes, mainScope, key)); - } - keys.forEach((key)=>addIfFound(scopes, options, key)); - keys.forEach((key)=>addIfFound(scopes, overrides[type] || {}, key)); - keys.forEach((key)=>addIfFound(scopes, defaults, key)); - keys.forEach((key)=>addIfFound(scopes, descriptors, key)); - }); - const array = Array.from(scopes); - if (array.length === 0) { - array.push(Object.create(null)); - } - if (keysCached.has(keyLists)) { - cache.set(keyLists, array); - } - return array; - } - chartOptionScopes() { - const { options , type } = this; - return [ - options, - overrides[type] || {}, - defaults.datasets[type] || {}, - { - type - }, - defaults, - descriptors - ]; - } - resolveNamedOptions(scopes, names, context, prefixes = [ - '' - ]) { - const result = { - $shared: true - }; - const { resolver , subPrefixes } = getResolver(this._resolverCache, scopes, prefixes); - let options = resolver; - if (needContext(resolver, names)) { - result.$shared = false; - context = isFunction(context) ? context() : context; - const subResolver = this.createResolver(scopes, context, subPrefixes); - options = _attachContext(resolver, context, subResolver); - } - for (const prop of names){ - result[prop] = options[prop]; - } - return result; - } - createResolver(scopes, context, prefixes = [ - '' - ], descriptorDefaults) { - const { resolver } = getResolver(this._resolverCache, scopes, prefixes); - return isObject(context) ? _attachContext(resolver, context, undefined, descriptorDefaults) : resolver; - } -} -function getResolver(resolverCache, scopes, prefixes) { - let cache = resolverCache.get(scopes); - if (!cache) { - cache = new Map(); - resolverCache.set(scopes, cache); - } - const cacheKey = prefixes.join(); - let cached = cache.get(cacheKey); - if (!cached) { - const resolver = _createResolver(scopes, prefixes); - cached = { - resolver, - subPrefixes: prefixes.filter((p)=>!p.toLowerCase().includes('hover')) - }; - cache.set(cacheKey, cached); - } - return cached; -} -const hasFunction = (value)=>isObject(value) && Object.getOwnPropertyNames(value).some((key)=>isFunction(value[key])); -function needContext(proxy, names) { - const { isScriptable , isIndexable } = _descriptors(proxy); - for (const prop of names){ - const scriptable = isScriptable(prop); - const indexable = isIndexable(prop); - const value = (indexable || scriptable) && proxy[prop]; - if (scriptable && (isFunction(value) || hasFunction(value)) || indexable && isArray(value)) { - return true; - } - } - return false; -} - -var version = "4.5.1"; - -const KNOWN_POSITIONS = [ - 'top', - 'bottom', - 'left', - 'right', - 'chartArea' -]; -function positionIsHorizontal(position, axis) { - return position === 'top' || position === 'bottom' || KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x'; -} -function compare2Level(l1, l2) { - return function(a, b) { - return a[l1] === b[l1] ? a[l2] - b[l2] : a[l1] - b[l1]; - }; -} -function onAnimationsComplete(context) { - const chart = context.chart; - const animationOptions = chart.options.animation; - chart.notifyPlugins('afterRender'); - callback(animationOptions && animationOptions.onComplete, [ - context - ], chart); -} -function onAnimationProgress(context) { - const chart = context.chart; - const animationOptions = chart.options.animation; - callback(animationOptions && animationOptions.onProgress, [ - context - ], chart); -} - function getCanvas(item) { - if (_isDomSupported() && typeof item === 'string') { - item = document.getElementById(item); - } else if (item && item.length) { - item = item[0]; - } - if (item && item.canvas) { - item = item.canvas; - } - return item; -} -const instances = {}; -const getChart = (key)=>{ - const canvas = getCanvas(key); - return Object.values(instances).filter((c)=>c.canvas === canvas).pop(); -}; -function moveNumericKeys(obj, start, move) { - const keys = Object.keys(obj); - for (const key of keys){ - const intKey = +key; - if (intKey >= start) { - const value = obj[key]; - delete obj[key]; - if (move > 0 || intKey > start) { - obj[intKey + move] = value; - } - } - } -} - function determineLastEvent(e, lastEvent, inChartArea, isClick) { - if (!inChartArea || e.type === 'mouseout') { - return null; - } - if (isClick) { - return lastEvent; - } - return e; -} -class chart_Chart { - static defaults = defaults; - static instances = instances; - static overrides = overrides; - static registry = registry; - static version = version; - static getChart = getChart; - static register(...items) { - registry.add(...items); - invalidatePlugins(); - } - static unregister(...items) { - registry.remove(...items); - invalidatePlugins(); - } - constructor(item, userConfig){ - const config = this.config = new Config(userConfig); - const initialCanvas = getCanvas(item); - const existingChart = getChart(initialCanvas); - if (existingChart) { - throw new Error('Canvas is already in use. Chart with ID \'' + existingChart.id + '\'' + ' must be destroyed before the canvas with ID \'' + existingChart.canvas.id + '\' can be reused.'); - } - const options = config.createResolver(config.chartOptionScopes(), this.getContext()); - this.platform = new (config.platform || _detectPlatform(initialCanvas))(); - this.platform.updateConfig(config); - const context = this.platform.acquireContext(initialCanvas, options.aspectRatio); - const canvas = context && context.canvas; - const height = canvas && canvas.height; - const width = canvas && canvas.width; - this.id = uid(); - this.ctx = context; - this.canvas = canvas; - this.width = width; - this.height = height; - this._options = options; - this._aspectRatio = this.aspectRatio; - this._layers = []; - this._metasets = []; - this._stacks = undefined; - this.boxes = []; - this.currentDevicePixelRatio = undefined; - this.chartArea = undefined; - this._active = []; - this._lastEvent = undefined; - this._listeners = {}; - this._responsiveListeners = undefined; - this._sortedMetasets = []; - this.scales = {}; - this._plugins = new PluginService(); - this.$proxies = {}; - this._hiddenIndices = {}; - this.attached = false; - this._animationsDisabled = undefined; - this.$context = undefined; - this._doResize = debounce((mode)=>this.update(mode), options.resizeDelay || 0); - this._dataChanges = []; - instances[this.id] = this; - if (!context || !canvas) { - console.error("Failed to create chart: can't acquire context from the given item"); - return; - } - animator.listen(this, 'complete', onAnimationsComplete); - animator.listen(this, 'progress', onAnimationProgress); - this._initialize(); - if (this.attached) { - this.update(); - } - } - get aspectRatio() { - const { options: { aspectRatio , maintainAspectRatio } , width , height , _aspectRatio } = this; - if (!isNullOrUndef(aspectRatio)) { - return aspectRatio; - } - if (maintainAspectRatio && _aspectRatio) { - return _aspectRatio; - } - return height ? width / height : null; - } - get data() { - return this.config.data; - } - set data(data) { - this.config.data = data; - } - get options() { - return this._options; - } - set options(options) { - this.config.options = options; - } - get registry() { - return registry; - } - _initialize() { - this.notifyPlugins('beforeInit'); - if (this.options.responsive) { - this.resize(); - } else { - retinaScale(this, this.options.devicePixelRatio); - } - this.bindEvents(); - this.notifyPlugins('afterInit'); - return this; - } - clear() { - clearCanvas(this.canvas, this.ctx); - return this; - } - stop() { - animator.stop(this); - return this; - } - resize(width, height) { - if (!animator.running(this)) { - this._resize(width, height); - } else { - this._resizeBeforeDraw = { - width, - height - }; - } - } - _resize(width, height) { - const options = this.options; - const canvas = this.canvas; - const aspectRatio = options.maintainAspectRatio && this.aspectRatio; - const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio); - const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio(); - const mode = this.width ? 'resize' : 'attach'; - this.width = newSize.width; - this.height = newSize.height; - this._aspectRatio = this.aspectRatio; - if (!retinaScale(this, newRatio, true)) { - return; - } - this.notifyPlugins('resize', { - size: newSize - }); - callback(options.onResize, [ - this, - newSize - ], this); - if (this.attached) { - if (this._doResize(mode)) { - this.render(); - } - } - } - ensureScalesHaveIDs() { - const options = this.options; - const scalesOptions = options.scales || {}; - each(scalesOptions, (axisOptions, axisID)=>{ - axisOptions.id = axisID; - }); - } - buildOrUpdateScales() { - const options = this.options; - const scaleOpts = options.scales; - const scales = this.scales; - const updated = Object.keys(scales).reduce((obj, id)=>{ - obj[id] = false; - return obj; - }, {}); - let items = []; - if (scaleOpts) { - items = items.concat(Object.keys(scaleOpts).map((id)=>{ - const scaleOptions = scaleOpts[id]; - const axis = determineAxis(id, scaleOptions); - const isRadial = axis === 'r'; - const isHorizontal = axis === 'x'; - return { - options: scaleOptions, - dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left', - dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear' - }; - })); - } - each(items, (item)=>{ - const scaleOptions = item.options; - const id = scaleOptions.id; - const axis = determineAxis(id, scaleOptions); - const scaleType = valueOrDefault(scaleOptions.type, item.dtype); - if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) { - scaleOptions.position = item.dposition; - } - updated[id] = true; - let scale = null; - if (id in scales && scales[id].type === scaleType) { - scale = scales[id]; - } else { - const scaleClass = registry.getScale(scaleType); - scale = new scaleClass({ - id, - type: scaleType, - ctx: this.ctx, - chart: this - }); - scales[scale.id] = scale; - } - scale.init(scaleOptions, options); - }); - each(updated, (hasUpdated, id)=>{ - if (!hasUpdated) { - delete scales[id]; - } - }); - each(scales, (scale)=>{ - layouts.configure(this, scale, scale.options); - layouts.addBox(this, scale); - }); - } - _updateMetasets() { - const metasets = this._metasets; - const numData = this.data.datasets.length; - const numMeta = metasets.length; - metasets.sort((a, b)=>a.index - b.index); - if (numMeta > numData) { - for(let i = numData; i < numMeta; ++i){ - this._destroyDatasetMeta(i); - } - metasets.splice(numData, numMeta - numData); - } - this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index')); - } - _removeUnreferencedMetasets() { - const { _metasets: metasets , data: { datasets } } = this; - if (metasets.length > datasets.length) { - delete this._stacks; - } - metasets.forEach((meta, index)=>{ - if (datasets.filter((x)=>x === meta._dataset).length === 0) { - this._destroyDatasetMeta(index); - } - }); - } - buildOrUpdateControllers() { - const newControllers = []; - const datasets = this.data.datasets; - let i, ilen; - this._removeUnreferencedMetasets(); - for(i = 0, ilen = datasets.length; i < ilen; i++){ - const dataset = datasets[i]; - let meta = this.getDatasetMeta(i); - const type = dataset.type || this.config.type; - if (meta.type && meta.type !== type) { - this._destroyDatasetMeta(i); - meta = this.getDatasetMeta(i); - } - meta.type = type; - meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options); - meta.order = dataset.order || 0; - meta.index = i; - meta.label = '' + dataset.label; - meta.visible = this.isDatasetVisible(i); - if (meta.controller) { - meta.controller.updateIndex(i); - meta.controller.linkScales(); - } else { - const ControllerClass = registry.getController(type); - const { datasetElementType , dataElementType } = defaults.datasets[type]; - Object.assign(ControllerClass, { - dataElementType: registry.getElement(dataElementType), - datasetElementType: datasetElementType && registry.getElement(datasetElementType) - }); - meta.controller = new ControllerClass(this, i); - newControllers.push(meta.controller); - } - } - this._updateMetasets(); - return newControllers; - } - _resetElements() { - each(this.data.datasets, (dataset, datasetIndex)=>{ - this.getDatasetMeta(datasetIndex).controller.reset(); - }, this); - } - reset() { - this._resetElements(); - this.notifyPlugins('reset'); - } - update(mode) { - const config = this.config; - config.update(); - const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext()); - const animsDisabled = this._animationsDisabled = !options.animation; - this._updateScales(); - this._checkEventBindings(); - this._updateHiddenIndices(); - this._plugins.invalidate(); - if (this.notifyPlugins('beforeUpdate', { - mode, - cancelable: true - }) === false) { - return; - } - const newControllers = this.buildOrUpdateControllers(); - this.notifyPlugins('beforeElementsUpdate'); - let minPadding = 0; - for(let i = 0, ilen = this.data.datasets.length; i < ilen; i++){ - const { controller } = this.getDatasetMeta(i); - const reset = !animsDisabled && newControllers.indexOf(controller) === -1; - controller.buildOrUpdateElements(reset); - minPadding = Math.max(+controller.getMaxOverflow(), minPadding); - } - minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0; - this._updateLayout(minPadding); - if (!animsDisabled) { - each(newControllers, (controller)=>{ - controller.reset(); - }); - } - this._updateDatasets(mode); - this.notifyPlugins('afterUpdate', { - mode - }); - this._layers.sort(compare2Level('z', '_idx')); - const { _active , _lastEvent } = this; - if (_lastEvent) { - this._eventHandler(_lastEvent, true); - } else if (_active.length) { - this._updateHoverStyles(_active, _active, true); - } - this.render(); - } - _updateScales() { - each(this.scales, (scale)=>{ - layouts.removeBox(this, scale); - }); - this.ensureScalesHaveIDs(); - this.buildOrUpdateScales(); - } - _checkEventBindings() { - const options = this.options; - const existingEvents = new Set(Object.keys(this._listeners)); - const newEvents = new Set(options.events); - if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) { - this.unbindEvents(); - this.bindEvents(); - } - } - _updateHiddenIndices() { - const { _hiddenIndices } = this; - const changes = this._getUniformDataChanges() || []; - for (const { method , start , count } of changes){ - const move = method === '_removeElements' ? -count : count; - moveNumericKeys(_hiddenIndices, start, move); - } - } - _getUniformDataChanges() { - const _dataChanges = this._dataChanges; - if (!_dataChanges || !_dataChanges.length) { - return; - } - this._dataChanges = []; - const datasetCount = this.data.datasets.length; - const makeSet = (idx)=>new Set(_dataChanges.filter((c)=>c[0] === idx).map((c, i)=>i + ',' + c.splice(1).join(','))); - const changeSet = makeSet(0); - for(let i = 1; i < datasetCount; i++){ - if (!setsEqual(changeSet, makeSet(i))) { - return; - } - } - return Array.from(changeSet).map((c)=>c.split(',')).map((a)=>({ - method: a[1], - start: +a[2], - count: +a[3] - })); - } - _updateLayout(minPadding) { - if (this.notifyPlugins('beforeLayout', { - cancelable: true - }) === false) { - return; - } - layouts.update(this, this.width, this.height, minPadding); - const area = this.chartArea; - const noArea = area.width <= 0 || area.height <= 0; - this._layers = []; - each(this.boxes, (box)=>{ - if (noArea && box.position === 'chartArea') { - return; - } - if (box.configure) { - box.configure(); - } - this._layers.push(...box._layers()); - }, this); - this._layers.forEach((item, index)=>{ - item._idx = index; - }); - this.notifyPlugins('afterLayout'); - } - _updateDatasets(mode) { - if (this.notifyPlugins('beforeDatasetsUpdate', { - mode, - cancelable: true - }) === false) { - return; - } - for(let i = 0, ilen = this.data.datasets.length; i < ilen; ++i){ - this.getDatasetMeta(i).controller.configure(); - } - for(let i = 0, ilen = this.data.datasets.length; i < ilen; ++i){ - this._updateDataset(i, isFunction(mode) ? mode({ - datasetIndex: i - }) : mode); - } - this.notifyPlugins('afterDatasetsUpdate', { - mode - }); - } - _updateDataset(index, mode) { - const meta = this.getDatasetMeta(index); - const args = { - meta, - index, - mode, - cancelable: true - }; - if (this.notifyPlugins('beforeDatasetUpdate', args) === false) { - return; - } - meta.controller._update(mode); - args.cancelable = false; - this.notifyPlugins('afterDatasetUpdate', args); - } - render() { - if (this.notifyPlugins('beforeRender', { - cancelable: true - }) === false) { - return; - } - if (animator.has(this)) { - if (this.attached && !animator.running(this)) { - animator.start(this); - } - } else { - this.draw(); - onAnimationsComplete({ - chart: this - }); - } - } - draw() { - let i; - if (this._resizeBeforeDraw) { - const { width , height } = this._resizeBeforeDraw; - this._resizeBeforeDraw = null; - this._resize(width, height); - } - this.clear(); - if (this.width <= 0 || this.height <= 0) { - return; - } - if (this.notifyPlugins('beforeDraw', { - cancelable: true - }) === false) { - return; - } - const layers = this._layers; - for(i = 0; i < layers.length && layers[i].z <= 0; ++i){ - layers[i].draw(this.chartArea); - } - this._drawDatasets(); - for(; i < layers.length; ++i){ - layers[i].draw(this.chartArea); - } - this.notifyPlugins('afterDraw'); - } - _getSortedDatasetMetas(filterVisible) { - const metasets = this._sortedMetasets; - const result = []; - let i, ilen; - for(i = 0, ilen = metasets.length; i < ilen; ++i){ - const meta = metasets[i]; - if (!filterVisible || meta.visible) { - result.push(meta); - } - } - return result; - } - getSortedVisibleDatasetMetas() { - return this._getSortedDatasetMetas(true); - } - _drawDatasets() { - if (this.notifyPlugins('beforeDatasetsDraw', { - cancelable: true - }) === false) { - return; - } - const metasets = this.getSortedVisibleDatasetMetas(); - for(let i = metasets.length - 1; i >= 0; --i){ - this._drawDataset(metasets[i]); - } - this.notifyPlugins('afterDatasetsDraw'); - } - _drawDataset(meta) { - const ctx = this.ctx; - const args = { - meta, - index: meta.index, - cancelable: true - }; - const clip = getDatasetClipArea(this, meta); - if (this.notifyPlugins('beforeDatasetDraw', args) === false) { - return; - } - if (clip) { - clipArea(ctx, clip); - } - meta.controller.draw(); - if (clip) { - unclipArea(ctx); - } - args.cancelable = false; - this.notifyPlugins('afterDatasetDraw', args); - } - isPointInArea(point) { - return _isPointInArea(point, this.chartArea, this._minPadding); - } - getElementsAtEventForMode(e, mode, options, useFinalPosition) { - const method = Interaction.modes[mode]; - if (typeof method === 'function') { - return method(this, e, options, useFinalPosition); - } - return []; - } - getDatasetMeta(datasetIndex) { - const dataset = this.data.datasets[datasetIndex]; - const metasets = this._metasets; - let meta = metasets.filter((x)=>x && x._dataset === dataset).pop(); - if (!meta) { - meta = { - type: null, - data: [], - dataset: null, - controller: null, - hidden: null, - xAxisID: null, - yAxisID: null, - order: dataset && dataset.order || 0, - index: datasetIndex, - _dataset: dataset, - _parsed: [], - _sorted: false - }; - metasets.push(meta); - } - return meta; - } - getContext() { - return this.$context || (this.$context = createContext(null, { - chart: this, - type: 'chart' - })); - } - getVisibleDatasetCount() { - return this.getSortedVisibleDatasetMetas().length; - } - isDatasetVisible(datasetIndex) { - const dataset = this.data.datasets[datasetIndex]; - if (!dataset) { - return false; - } - const meta = this.getDatasetMeta(datasetIndex); - return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden; - } - setDatasetVisibility(datasetIndex, visible) { - const meta = this.getDatasetMeta(datasetIndex); - meta.hidden = !visible; - } - toggleDataVisibility(index) { - this._hiddenIndices[index] = !this._hiddenIndices[index]; - } - getDataVisibility(index) { - return !this._hiddenIndices[index]; - } - _updateVisibility(datasetIndex, dataIndex, visible) { - const mode = visible ? 'show' : 'hide'; - const meta = this.getDatasetMeta(datasetIndex); - const anims = meta.controller._resolveAnimations(undefined, mode); - if (defined(dataIndex)) { - meta.data[dataIndex].hidden = !visible; - this.update(); - } else { - this.setDatasetVisibility(datasetIndex, visible); - anims.update(meta, { - visible - }); - this.update((ctx)=>ctx.datasetIndex === datasetIndex ? mode : undefined); - } - } - hide(datasetIndex, dataIndex) { - this._updateVisibility(datasetIndex, dataIndex, false); - } - show(datasetIndex, dataIndex) { - this._updateVisibility(datasetIndex, dataIndex, true); - } - _destroyDatasetMeta(datasetIndex) { - const meta = this._metasets[datasetIndex]; - if (meta && meta.controller) { - meta.controller._destroy(); - } - delete this._metasets[datasetIndex]; - } - _stop() { - let i, ilen; - this.stop(); - animator.remove(this); - for(i = 0, ilen = this.data.datasets.length; i < ilen; ++i){ - this._destroyDatasetMeta(i); - } - } - destroy() { - this.notifyPlugins('beforeDestroy'); - const { canvas , ctx } = this; - this._stop(); - this.config.clearCache(); - if (canvas) { - this.unbindEvents(); - clearCanvas(canvas, ctx); - this.platform.releaseContext(ctx); - this.canvas = null; - this.ctx = null; - } - delete instances[this.id]; - this.notifyPlugins('afterDestroy'); - } - toBase64Image(...args) { - return this.canvas.toDataURL(...args); - } - bindEvents() { - this.bindUserEvents(); - if (this.options.responsive) { - this.bindResponsiveEvents(); - } else { - this.attached = true; - } - } - bindUserEvents() { - const listeners = this._listeners; - const platform = this.platform; - const _add = (type, listener)=>{ - platform.addEventListener(this, type, listener); - listeners[type] = listener; - }; - const listener = (e, x, y)=>{ - e.offsetX = x; - e.offsetY = y; - this._eventHandler(e); - }; - each(this.options.events, (type)=>_add(type, listener)); - } - bindResponsiveEvents() { - if (!this._responsiveListeners) { - this._responsiveListeners = {}; - } - const listeners = this._responsiveListeners; - const platform = this.platform; - const _add = (type, listener)=>{ - platform.addEventListener(this, type, listener); - listeners[type] = listener; - }; - const _remove = (type, listener)=>{ - if (listeners[type]) { - platform.removeEventListener(this, type, listener); - delete listeners[type]; - } - }; - const listener = (width, height)=>{ - if (this.canvas) { - this.resize(width, height); - } - }; - let detached; - const attached = ()=>{ - _remove('attach', attached); - this.attached = true; - this.resize(); - _add('resize', listener); - _add('detach', detached); - }; - detached = ()=>{ - this.attached = false; - _remove('resize', listener); - this._stop(); - this._resize(0, 0); - _add('attach', attached); - }; - if (platform.isAttached(this.canvas)) { - attached(); - } else { - detached(); - } - } - unbindEvents() { - each(this._listeners, (listener, type)=>{ - this.platform.removeEventListener(this, type, listener); - }); - this._listeners = {}; - each(this._responsiveListeners, (listener, type)=>{ - this.platform.removeEventListener(this, type, listener); - }); - this._responsiveListeners = undefined; - } - updateHoverStyle(items, mode, enabled) { - const prefix = enabled ? 'set' : 'remove'; - let meta, item, i, ilen; - if (mode === 'dataset') { - meta = this.getDatasetMeta(items[0].datasetIndex); - meta.controller['_' + prefix + 'DatasetHoverStyle'](); - } - for(i = 0, ilen = items.length; i < ilen; ++i){ - item = items[i]; - const controller = item && this.getDatasetMeta(item.datasetIndex).controller; - if (controller) { - controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index); - } - } - } - getActiveElements() { - return this._active || []; - } - setActiveElements(activeElements) { - const lastActive = this._active || []; - const active = activeElements.map(({ datasetIndex , index })=>{ - const meta = this.getDatasetMeta(datasetIndex); - if (!meta) { - throw new Error('No dataset found at index ' + datasetIndex); - } - return { - datasetIndex, - element: meta.data[index], - index - }; - }); - const changed = !_elementsEqual(active, lastActive); - if (changed) { - this._active = active; - this._lastEvent = null; - this._updateHoverStyles(active, lastActive); - } - } - notifyPlugins(hook, args, filter) { - return this._plugins.notify(this, hook, args, filter); - } - isPluginEnabled(pluginId) { - return this._plugins._cache.filter((p)=>p.plugin.id === pluginId).length === 1; - } - _updateHoverStyles(active, lastActive, replay) { - const hoverOptions = this.options.hover; - const diff = (a, b)=>a.filter((x)=>!b.some((y)=>x.datasetIndex === y.datasetIndex && x.index === y.index)); - const deactivated = diff(lastActive, active); - const activated = replay ? active : diff(active, lastActive); - if (deactivated.length) { - this.updateHoverStyle(deactivated, hoverOptions.mode, false); - } - if (activated.length && hoverOptions.mode) { - this.updateHoverStyle(activated, hoverOptions.mode, true); - } - } - _eventHandler(e, replay) { - const args = { - event: e, - replay, - cancelable: true, - inChartArea: this.isPointInArea(e) - }; - const eventFilter = (plugin)=>(plugin.options.events || this.options.events).includes(e.native.type); - if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) { - return; - } - const changed = this._handleEvent(e, replay, args.inChartArea); - args.cancelable = false; - this.notifyPlugins('afterEvent', args, eventFilter); - if (changed || args.changed) { - this.render(); - } - return this; - } - _handleEvent(e, replay, inChartArea) { - const { _active: lastActive = [] , options } = this; - const useFinalPosition = replay; - const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition); - const isClick = _isClickEvent(e); - const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick); - if (inChartArea) { - this._lastEvent = null; - callback(options.onHover, [ - e, - active, - this - ], this); - if (isClick) { - callback(options.onClick, [ - e, - active, - this - ], this); - } - } - const changed = !_elementsEqual(active, lastActive); - if (changed || replay) { - this._active = active; - this._updateHoverStyles(active, lastActive, replay); - } - this._lastEvent = lastEvent; - return changed; - } - _getActiveElements(e, lastActive, inChartArea, useFinalPosition) { - if (e.type === 'mouseout') { - return []; - } - if (!inChartArea) { - return lastActive; - } - const hoverOptions = this.options.hover; - return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition); - } -} -function invalidatePlugins() { - return each(chart_Chart.instances, (chart)=>chart._plugins.invalidate()); -} - -function clipSelf(ctx, element, endAngle) { - const { startAngle , x , y , outerRadius , innerRadius , options } = element; - const { borderWidth , borderJoinStyle } = options; - const outerAngleClip = Math.min(borderWidth / outerRadius, _normalizeAngle(startAngle - endAngle)); - ctx.beginPath(); - ctx.arc(x, y, outerRadius - borderWidth / 2, startAngle + outerAngleClip / 2, endAngle - outerAngleClip / 2); - if (innerRadius > 0) { - const innerAngleClip = Math.min(borderWidth / innerRadius, _normalizeAngle(startAngle - endAngle)); - ctx.arc(x, y, innerRadius + borderWidth / 2, endAngle - innerAngleClip / 2, startAngle + innerAngleClip / 2, true); - } else { - const clipWidth = Math.min(borderWidth / 2, outerRadius * _normalizeAngle(startAngle - endAngle)); - if (borderJoinStyle === 'round') { - ctx.arc(x, y, clipWidth, endAngle - PI / 2, startAngle + PI / 2, true); - } else if (borderJoinStyle === 'bevel') { - const r = 2 * clipWidth * clipWidth; - const endX = -r * Math.cos(endAngle + PI / 2) + x; - const endY = -r * Math.sin(endAngle + PI / 2) + y; - const startX = r * Math.cos(startAngle + PI / 2) + x; - const startY = r * Math.sin(startAngle + PI / 2) + y; - ctx.lineTo(endX, endY); - ctx.lineTo(startX, startY); - } - } - ctx.closePath(); - ctx.moveTo(0, 0); - ctx.rect(0, 0, ctx.canvas.width, ctx.canvas.height); - ctx.clip('evenodd'); -} -function clipArc(ctx, element, endAngle) { - const { startAngle , pixelMargin , x , y , outerRadius , innerRadius } = element; - let angleMargin = pixelMargin / outerRadius; - // Draw an inner border by clipping the arc and drawing a double-width border - // Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders - ctx.beginPath(); - ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin); - if (innerRadius > pixelMargin) { - angleMargin = pixelMargin / innerRadius; - ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true); - } else { - ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI); - } - ctx.closePath(); - ctx.clip(); -} -function toRadiusCorners(value) { - return _readValueToProps(value, [ - 'outerStart', - 'outerEnd', - 'innerStart', - 'innerEnd' - ]); -} -/** - * Parse border radius from the provided options - */ function parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) { - const o = toRadiusCorners(arc.options.borderRadius); - const halfThickness = (outerRadius - innerRadius) / 2; - const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2); - // Outer limits are complicated. We want to compute the available angular distance at - // a radius of outerRadius - borderRadius because for small angular distances, this term limits. - // We compute at r = outerRadius - borderRadius because this circle defines the center of the border corners. - // - // If the borderRadius is large, that value can become negative. - // This causes the outer borders to lose their radius entirely, which is rather unexpected. To solve that, if borderRadius > outerRadius - // we know that the thickness term will dominate and compute the limits at that point - const computeOuterLimit = (val)=>{ - const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2; - return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit)); - }; - return { - outerStart: computeOuterLimit(o.outerStart), - outerEnd: computeOuterLimit(o.outerEnd), - innerStart: _limitValue(o.innerStart, 0, innerLimit), - innerEnd: _limitValue(o.innerEnd, 0, innerLimit) - }; -} -/** - * Convert (r, 𝜃) to (x, y) - */ function rThetaToXY(r, theta, x, y) { - return { - x: x + r * Math.cos(theta), - y: y + r * Math.sin(theta) - }; -} -/** - * Path the arc, respecting border radius by separating into left and right halves. - * - * Start End - * - * 1--->a--->2 Outer - * / \ - * 8 3 - * | | - * | | - * 7 4 - * \ / - * 6<---b<---5 Inner - */ function pathArc(ctx, element, offset, spacing, end, circular) { - const { x , y , startAngle: start , pixelMargin , innerRadius: innerR } = element; - const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0); - const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0; - let spacingOffset = 0; - const alpha = end - start; - if (spacing) { - // When spacing is present, it is the same for all items - // So we adjust the start and end angle of the arc such that - // the distance is the same as it would be without the spacing - const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0; - const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0; - const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2; - const adjustedAngle = avNogSpacingRadius !== 0 ? alpha * avNogSpacingRadius / (avNogSpacingRadius + spacing) : alpha; - spacingOffset = (alpha - adjustedAngle) / 2; - } - const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius; - const angleOffset = (alpha - beta) / 2; - const startAngle = start + angleOffset + spacingOffset; - const endAngle = end - angleOffset - spacingOffset; - const { outerStart , outerEnd , innerStart , innerEnd } = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle); - const outerStartAdjustedRadius = outerRadius - outerStart; - const outerEndAdjustedRadius = outerRadius - outerEnd; - const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius; - const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius; - const innerStartAdjustedRadius = innerRadius + innerStart; - const innerEndAdjustedRadius = innerRadius + innerEnd; - const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius; - const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius; - ctx.beginPath(); - if (circular) { - // The first arc segments from point 1 to point a to point 2 - const outerMidAdjustedAngle = (outerStartAdjustedAngle + outerEndAdjustedAngle) / 2; - ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerMidAdjustedAngle); - ctx.arc(x, y, outerRadius, outerMidAdjustedAngle, outerEndAdjustedAngle); - // The corner segment from point 2 to point 3 - if (outerEnd > 0) { - const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y); - ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI); - } - // The line from point 3 to point 4 - const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y); - ctx.lineTo(p4.x, p4.y); - // The corner segment from point 4 to point 5 - if (innerEnd > 0) { - const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y); - ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI); - } - // The inner arc from point 5 to point b to point 6 - const innerMidAdjustedAngle = (endAngle - innerEnd / innerRadius + (startAngle + innerStart / innerRadius)) / 2; - ctx.arc(x, y, innerRadius, endAngle - innerEnd / innerRadius, innerMidAdjustedAngle, true); - ctx.arc(x, y, innerRadius, innerMidAdjustedAngle, startAngle + innerStart / innerRadius, true); - // The corner segment from point 6 to point 7 - if (innerStart > 0) { - const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y); - ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI); - } - // The line from point 7 to point 8 - const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y); - ctx.lineTo(p8.x, p8.y); - // The corner segment from point 8 to point 1 - if (outerStart > 0) { - const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y); - ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle); - } - } else { - ctx.moveTo(x, y); - const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x; - const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y; - ctx.lineTo(outerStartX, outerStartY); - const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x; - const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y; - ctx.lineTo(outerEndX, outerEndY); - } - ctx.closePath(); -} -function drawArc(ctx, element, offset, spacing, circular) { - const { fullCircles , startAngle , circumference } = element; - let endAngle = element.endAngle; - if (fullCircles) { - pathArc(ctx, element, offset, spacing, endAngle, circular); - for(let i = 0; i < fullCircles; ++i){ - ctx.fill(); - } - if (!isNaN(circumference)) { - endAngle = startAngle + (circumference % TAU || TAU); - } - } - pathArc(ctx, element, offset, spacing, endAngle, circular); - ctx.fill(); - return endAngle; -} -function drawBorder(ctx, element, offset, spacing, circular) { - const { fullCircles , startAngle , circumference , options } = element; - const { borderWidth , borderJoinStyle , borderDash , borderDashOffset , borderRadius } = options; - const inner = options.borderAlign === 'inner'; - if (!borderWidth) { - return; - } - ctx.setLineDash(borderDash || []); - ctx.lineDashOffset = borderDashOffset; - if (inner) { - ctx.lineWidth = borderWidth * 2; - ctx.lineJoin = borderJoinStyle || 'round'; - } else { - ctx.lineWidth = borderWidth; - ctx.lineJoin = borderJoinStyle || 'bevel'; - } - let endAngle = element.endAngle; - if (fullCircles) { - pathArc(ctx, element, offset, spacing, endAngle, circular); - for(let i = 0; i < fullCircles; ++i){ - ctx.stroke(); - } - if (!isNaN(circumference)) { - endAngle = startAngle + (circumference % TAU || TAU); - } - } - if (inner) { - clipArc(ctx, element, endAngle); - } - if (options.selfJoin && endAngle - startAngle >= PI && borderRadius === 0 && borderJoinStyle !== 'miter') { - clipSelf(ctx, element, endAngle); - } - if (!fullCircles) { - pathArc(ctx, element, offset, spacing, endAngle, circular); - ctx.stroke(); - } -} -class ArcElement extends chart_Element { - static id = 'arc'; - static defaults = { - borderAlign: 'center', - borderColor: '#fff', - borderDash: [], - borderDashOffset: 0, - borderJoinStyle: undefined, - borderRadius: 0, - borderWidth: 2, - offset: 0, - spacing: 0, - angle: undefined, - circular: true, - selfJoin: false - }; - static defaultRoutes = { - backgroundColor: 'backgroundColor' - }; - static descriptors = { - _scriptable: true, - _indexable: (name)=>name !== 'borderDash' - }; - circumference; - endAngle; - fullCircles; - innerRadius; - outerRadius; - pixelMargin; - startAngle; - constructor(cfg){ - super(); - this.options = undefined; - this.circumference = undefined; - this.startAngle = undefined; - this.endAngle = undefined; - this.innerRadius = undefined; - this.outerRadius = undefined; - this.pixelMargin = 0; - this.fullCircles = 0; - if (cfg) { - Object.assign(this, cfg); - } - } - inRange(chartX, chartY, useFinalPosition) { - const point = this.getProps([ - 'x', - 'y' - ], useFinalPosition); - const { angle , distance } = getAngleFromPoint(point, { - x: chartX, - y: chartY - }); - const { startAngle , endAngle , innerRadius , outerRadius , circumference } = this.getProps([ - 'startAngle', - 'endAngle', - 'innerRadius', - 'outerRadius', - 'circumference' - ], useFinalPosition); - const rAdjust = (this.options.spacing + this.options.borderWidth) / 2; - const _circumference = valueOrDefault(circumference, endAngle - startAngle); - const nonZeroBetween = _angleBetween(angle, startAngle, endAngle) && startAngle !== endAngle; - const betweenAngles = _circumference >= TAU || nonZeroBetween; - const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust); - return betweenAngles && withinRadius; - } - getCenterPoint(useFinalPosition) { - const { x , y , startAngle , endAngle , innerRadius , outerRadius } = this.getProps([ - 'x', - 'y', - 'startAngle', - 'endAngle', - 'innerRadius', - 'outerRadius' - ], useFinalPosition); - const { offset , spacing } = this.options; - const halfAngle = (startAngle + endAngle) / 2; - const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2; - return { - x: x + Math.cos(halfAngle) * halfRadius, - y: y + Math.sin(halfAngle) * halfRadius - }; - } - tooltipPosition(useFinalPosition) { - return this.getCenterPoint(useFinalPosition); - } - draw(ctx) { - const { options , circumference } = this; - const offset = (options.offset || 0) / 4; - const spacing = (options.spacing || 0) / 2; - const circular = options.circular; - this.pixelMargin = options.borderAlign === 'inner' ? 0.33 : 0; - this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0; - if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) { - return; - } - ctx.save(); - const halfAngle = (this.startAngle + this.endAngle) / 2; - ctx.translate(Math.cos(halfAngle) * offset, Math.sin(halfAngle) * offset); - const fix = 1 - Math.sin(Math.min(PI, circumference || 0)); - const radiusOffset = offset * fix; - ctx.fillStyle = options.backgroundColor; - ctx.strokeStyle = options.borderColor; - drawArc(ctx, this, radiusOffset, spacing, circular); - drawBorder(ctx, this, radiusOffset, spacing, circular); - ctx.restore(); - } -} - -function setStyle(ctx, options, style = options) { - ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle); - ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash)); - ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset); - ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle); - ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth); - ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor); -} -function lineTo(ctx, previous, target) { - ctx.lineTo(target.x, target.y); -} - function getLineMethod(options) { - if (options.stepped) { - return _steppedLineTo; - } - if (options.tension || options.cubicInterpolationMode === 'monotone') { - return _bezierCurveTo; - } - return lineTo; -} -function pathVars(points, segment, params = {}) { - const count = points.length; - const { start: paramsStart = 0 , end: paramsEnd = count - 1 } = params; - const { start: segmentStart , end: segmentEnd } = segment; - const start = Math.max(paramsStart, segmentStart); - const end = Math.min(paramsEnd, segmentEnd); - const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd; - return { - count, - start, - loop: segment.loop, - ilen: end < start && !outside ? count + end - start : end - start - }; -} - function pathSegment(ctx, line, segment, params) { - const { points , options } = line; - const { count , start , loop , ilen } = pathVars(points, segment, params); - const lineMethod = getLineMethod(options); - let { move =true , reverse } = params || {}; - let i, point, prev; - for(i = 0; i <= ilen; ++i){ - point = points[(start + (reverse ? ilen - i : i)) % count]; - if (point.skip) { - continue; - } else if (move) { - ctx.moveTo(point.x, point.y); - move = false; - } else { - lineMethod(ctx, prev, point, reverse, options.stepped); - } - prev = point; - } - if (loop) { - point = points[(start + (reverse ? ilen : 0)) % count]; - lineMethod(ctx, prev, point, reverse, options.stepped); - } - return !!loop; -} - function fastPathSegment(ctx, line, segment, params) { - const points = line.points; - const { count , start , ilen } = pathVars(points, segment, params); - const { move =true , reverse } = params || {}; - let avgX = 0; - let countX = 0; - let i, point, prevX, minY, maxY, lastY; - const pointIndex = (index)=>(start + (reverse ? ilen - index : index)) % count; - const drawX = ()=>{ - if (minY !== maxY) { - ctx.lineTo(avgX, maxY); - ctx.lineTo(avgX, minY); - ctx.lineTo(avgX, lastY); - } - }; - if (move) { - point = points[pointIndex(0)]; - ctx.moveTo(point.x, point.y); - } - for(i = 0; i <= ilen; ++i){ - point = points[pointIndex(i)]; - if (point.skip) { - continue; - } - const x = point.x; - const y = point.y; - const truncX = x | 0; - if (truncX === prevX) { - if (y < minY) { - minY = y; - } else if (y > maxY) { - maxY = y; - } - avgX = (countX * avgX + x) / ++countX; - } else { - drawX(); - ctx.lineTo(x, y); - prevX = truncX; - countX = 0; - minY = maxY = y; - } - lastY = y; - } - drawX(); -} - function _getSegmentMethod(line) { - const opts = line.options; - const borderDash = opts.borderDash && opts.borderDash.length; - const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash; - return useFastPath ? fastPathSegment : pathSegment; -} - function _getInterpolationMethod(options) { - if (options.stepped) { - return _steppedInterpolation; - } - if (options.tension || options.cubicInterpolationMode === 'monotone') { - return _bezierInterpolation; - } - return _pointInLine; -} -function strokePathWithCache(ctx, line, start, count) { - let path = line._path; - if (!path) { - path = line._path = new Path2D(); - if (line.path(path, start, count)) { - path.closePath(); - } - } - setStyle(ctx, line.options); - ctx.stroke(path); -} -function strokePathDirect(ctx, line, start, count) { - const { segments , options } = line; - const segmentMethod = _getSegmentMethod(line); - for (const segment of segments){ - setStyle(ctx, options, segment.style); - ctx.beginPath(); - if (segmentMethod(ctx, line, segment, { - start, - end: start + count - 1 - })) { - ctx.closePath(); - } - ctx.stroke(); - } -} -const usePath2D = typeof Path2D === 'function'; -function draw(ctx, line, start, count) { - if (usePath2D && !line.options.segment) { - strokePathWithCache(ctx, line, start, count); - } else { - strokePathDirect(ctx, line, start, count); - } -} -class LineElement extends chart_Element { - static id = 'line'; - static defaults = { - borderCapStyle: 'butt', - borderDash: [], - borderDashOffset: 0, - borderJoinStyle: 'miter', - borderWidth: 3, - capBezierPoints: true, - cubicInterpolationMode: 'default', - fill: false, - spanGaps: false, - stepped: false, - tension: 0 - }; - static defaultRoutes = { - backgroundColor: 'backgroundColor', - borderColor: 'borderColor' - }; - static descriptors = { - _scriptable: true, - _indexable: (name)=>name !== 'borderDash' && name !== 'fill' - }; - constructor(cfg){ - super(); - this.animated = true; - this.options = undefined; - this._chart = undefined; - this._loop = undefined; - this._fullLoop = undefined; - this._path = undefined; - this._points = undefined; - this._segments = undefined; - this._decimated = false; - this._pointsUpdated = false; - this._datasetIndex = undefined; - if (cfg) { - Object.assign(this, cfg); - } - } - updateControlPoints(chartArea, indexAxis) { - const options = this.options; - if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) { - const loop = options.spanGaps ? this._loop : this._fullLoop; - _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis); - this._pointsUpdated = true; - } - } - set points(points) { - this._points = points; - delete this._segments; - delete this._path; - this._pointsUpdated = false; - } - get points() { - return this._points; - } - get segments() { - return this._segments || (this._segments = _computeSegments(this, this.options.segment)); - } - first() { - const segments = this.segments; - const points = this.points; - return segments.length && points[segments[0].start]; - } - last() { - const segments = this.segments; - const points = this.points; - const count = segments.length; - return count && points[segments[count - 1].end]; - } - interpolate(point, property) { - const options = this.options; - const value = point[property]; - const points = this.points; - const segments = _boundSegments(this, { - property, - start: value, - end: value - }); - if (!segments.length) { - return; - } - const result = []; - const _interpolate = _getInterpolationMethod(options); - let i, ilen; - for(i = 0, ilen = segments.length; i < ilen; ++i){ - const { start , end } = segments[i]; - const p1 = points[start]; - const p2 = points[end]; - if (p1 === p2) { - result.push(p1); - continue; - } - const t = Math.abs((value - p1[property]) / (p2[property] - p1[property])); - const interpolated = _interpolate(p1, p2, t, options.stepped); - interpolated[property] = point[property]; - result.push(interpolated); - } - return result.length === 1 ? result[0] : result; - } - pathSegment(ctx, segment, params) { - const segmentMethod = _getSegmentMethod(this); - return segmentMethod(ctx, this, segment, params); - } - path(ctx, start, count) { - const segments = this.segments; - const segmentMethod = _getSegmentMethod(this); - let loop = this._loop; - start = start || 0; - count = count || this.points.length - start; - for (const segment of segments){ - loop &= segmentMethod(ctx, this, segment, { - start, - end: start + count - 1 - }); - } - return !!loop; - } - draw(ctx, chartArea, start, count) { - const options = this.options || {}; - const points = this.points || []; - if (points.length && options.borderWidth) { - ctx.save(); - draw(ctx, this, start, count); - ctx.restore(); - } - if (this.animated) { - this._pointsUpdated = false; - this._path = undefined; - } - } -} - -function inRange$1(el, pos, axis, useFinalPosition) { - const options = el.options; - const { [axis]: value } = el.getProps([ - axis - ], useFinalPosition); - return Math.abs(pos - value) < options.radius + options.hitRadius; -} -class PointElement extends chart_Element { - static id = 'point'; - parsed; - skip; - stop; - /** - * @type {any} - */ static defaults = { - borderWidth: 1, - hitRadius: 1, - hoverBorderWidth: 1, - hoverRadius: 4, - pointStyle: 'circle', - radius: 3, - rotation: 0 - }; - /** - * @type {any} - */ static defaultRoutes = { - backgroundColor: 'backgroundColor', - borderColor: 'borderColor' - }; - constructor(cfg){ - super(); - this.options = undefined; - this.parsed = undefined; - this.skip = undefined; - this.stop = undefined; - if (cfg) { - Object.assign(this, cfg); - } - } - inRange(mouseX, mouseY, useFinalPosition) { - const options = this.options; - const { x , y } = this.getProps([ - 'x', - 'y' - ], useFinalPosition); - return Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2) < Math.pow(options.hitRadius + options.radius, 2); - } - inXRange(mouseX, useFinalPosition) { - return inRange$1(this, mouseX, 'x', useFinalPosition); - } - inYRange(mouseY, useFinalPosition) { - return inRange$1(this, mouseY, 'y', useFinalPosition); - } - getCenterPoint(useFinalPosition) { - const { x , y } = this.getProps([ - 'x', - 'y' - ], useFinalPosition); - return { - x, - y - }; - } - size(options) { - options = options || this.options || {}; - let radius = options.radius || 0; - radius = Math.max(radius, radius && options.hoverRadius || 0); - const borderWidth = radius && options.borderWidth || 0; - return (radius + borderWidth) * 2; - } - draw(ctx, area) { - const options = this.options; - if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) { - return; - } - ctx.strokeStyle = options.borderColor; - ctx.lineWidth = options.borderWidth; - ctx.fillStyle = options.backgroundColor; - drawPoint(ctx, options, this.x, this.y); - } - getRange() { - const options = this.options || {}; - // @ts-expect-error Fallbacks should never be hit in practice - return options.radius + options.hitRadius; - } -} - -function getBarBounds(bar, useFinalPosition) { - const { x , y , base , width , height } = bar.getProps([ - 'x', - 'y', - 'base', - 'width', - 'height' - ], useFinalPosition); - let left, right, top, bottom, half; - if (bar.horizontal) { - half = height / 2; - left = Math.min(x, base); - right = Math.max(x, base); - top = y - half; - bottom = y + half; - } else { - half = width / 2; - left = x - half; - right = x + half; - top = Math.min(y, base); - bottom = Math.max(y, base); - } - return { - left, - top, - right, - bottom - }; -} -function skipOrLimit(skip, value, min, max) { - return skip ? 0 : _limitValue(value, min, max); -} -function parseBorderWidth(bar, maxW, maxH) { - const value = bar.options.borderWidth; - const skip = bar.borderSkipped; - const o = toTRBL(value); - return { - t: skipOrLimit(skip.top, o.top, 0, maxH), - r: skipOrLimit(skip.right, o.right, 0, maxW), - b: skipOrLimit(skip.bottom, o.bottom, 0, maxH), - l: skipOrLimit(skip.left, o.left, 0, maxW) - }; -} -function parseBorderRadius(bar, maxW, maxH) { - const { enableBorderRadius } = bar.getProps([ - 'enableBorderRadius' - ]); - const value = bar.options.borderRadius; - const o = toTRBLCorners(value); - const maxR = Math.min(maxW, maxH); - const skip = bar.borderSkipped; - const enableBorder = enableBorderRadius || isObject(value); - return { - topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR), - topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR), - bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR), - bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR) - }; -} -function boundingRects(bar) { - const bounds = getBarBounds(bar); - const width = bounds.right - bounds.left; - const height = bounds.bottom - bounds.top; - const border = parseBorderWidth(bar, width / 2, height / 2); - const radius = parseBorderRadius(bar, width / 2, height / 2); - return { - outer: { - x: bounds.left, - y: bounds.top, - w: width, - h: height, - radius - }, - inner: { - x: bounds.left + border.l, - y: bounds.top + border.t, - w: width - border.l - border.r, - h: height - border.t - border.b, - radius: { - topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)), - topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)), - bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)), - bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)) - } - } - }; -} -function inRange(bar, x, y, useFinalPosition) { - const skipX = x === null; - const skipY = y === null; - const skipBoth = skipX && skipY; - const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition); - return bounds && (skipX || _isBetween(x, bounds.left, bounds.right)) && (skipY || _isBetween(y, bounds.top, bounds.bottom)); -} -function hasRadius(radius) { - return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight; -} - function addNormalRectPath(ctx, rect) { - ctx.rect(rect.x, rect.y, rect.w, rect.h); -} -function inflateRect(rect, amount, refRect = {}) { - const x = rect.x !== refRect.x ? -amount : 0; - const y = rect.y !== refRect.y ? -amount : 0; - const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x; - const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y; - return { - x: rect.x + x, - y: rect.y + y, - w: rect.w + w, - h: rect.h + h, - radius: rect.radius - }; -} -class BarElement extends chart_Element { - static id = 'bar'; - static defaults = { - borderSkipped: 'start', - borderWidth: 0, - borderRadius: 0, - inflateAmount: 'auto', - pointStyle: undefined - }; - static defaultRoutes = { - backgroundColor: 'backgroundColor', - borderColor: 'borderColor' - }; - constructor(cfg){ - super(); - this.options = undefined; - this.horizontal = undefined; - this.base = undefined; - this.width = undefined; - this.height = undefined; - this.inflateAmount = undefined; - if (cfg) { - Object.assign(this, cfg); - } - } - draw(ctx) { - const { inflateAmount , options: { borderColor , backgroundColor } } = this; - const { inner , outer } = boundingRects(this); - const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath; - ctx.save(); - if (outer.w !== inner.w || outer.h !== inner.h) { - ctx.beginPath(); - addRectPath(ctx, inflateRect(outer, inflateAmount, inner)); - ctx.clip(); - addRectPath(ctx, inflateRect(inner, -inflateAmount, outer)); - ctx.fillStyle = borderColor; - ctx.fill('evenodd'); - } - ctx.beginPath(); - addRectPath(ctx, inflateRect(inner, inflateAmount)); - ctx.fillStyle = backgroundColor; - ctx.fill(); - ctx.restore(); - } - inRange(mouseX, mouseY, useFinalPosition) { - return inRange(this, mouseX, mouseY, useFinalPosition); - } - inXRange(mouseX, useFinalPosition) { - return inRange(this, mouseX, null, useFinalPosition); - } - inYRange(mouseY, useFinalPosition) { - return inRange(this, null, mouseY, useFinalPosition); - } - getCenterPoint(useFinalPosition) { - const { x , y , base , horizontal } = this.getProps([ - 'x', - 'y', - 'base', - 'horizontal' - ], useFinalPosition); - return { - x: horizontal ? (x + base) / 2 : x, - y: horizontal ? y : (y + base) / 2 - }; - } - getRange(axis) { - return axis === 'x' ? this.width / 2 : this.height / 2; - } -} - -var chart_elements = /*#__PURE__*/Object.freeze({ -__proto__: null, -ArcElement: ArcElement, -BarElement: BarElement, -LineElement: LineElement, -PointElement: PointElement -}); - -const BORDER_COLORS = [ - 'rgb(54, 162, 235)', - 'rgb(255, 99, 132)', - 'rgb(255, 159, 64)', - 'rgb(255, 205, 86)', - 'rgb(75, 192, 192)', - 'rgb(153, 102, 255)', - 'rgb(201, 203, 207)' // grey -]; -// Border colors with 50% transparency -const BACKGROUND_COLORS = /* #__PURE__ */ BORDER_COLORS.map((color)=>color.replace('rgb(', 'rgba(').replace(')', ', 0.5)')); -function getBorderColor(i) { - return BORDER_COLORS[i % BORDER_COLORS.length]; -} -function getBackgroundColor(i) { - return BACKGROUND_COLORS[i % BACKGROUND_COLORS.length]; -} -function colorizeDefaultDataset(dataset, i) { - dataset.borderColor = getBorderColor(i); - dataset.backgroundColor = getBackgroundColor(i); - return ++i; -} -function colorizeDoughnutDataset(dataset, i) { - dataset.backgroundColor = dataset.data.map(()=>getBorderColor(i++)); - return i; -} -function colorizePolarAreaDataset(dataset, i) { - dataset.backgroundColor = dataset.data.map(()=>getBackgroundColor(i++)); - return i; -} -function getColorizer(chart) { - let i = 0; - return (dataset, datasetIndex)=>{ - const controller = chart.getDatasetMeta(datasetIndex).controller; - if (controller instanceof DoughnutController) { - i = colorizeDoughnutDataset(dataset, i); - } else if (controller instanceof PolarAreaController) { - i = colorizePolarAreaDataset(dataset, i); - } else if (controller) { - i = colorizeDefaultDataset(dataset, i); - } - }; -} -function containsColorsDefinitions(descriptors) { - let k; - for(k in descriptors){ - if (descriptors[k].borderColor || descriptors[k].backgroundColor) { - return true; - } - } - return false; -} -function containsColorsDefinition(descriptor) { - return descriptor && (descriptor.borderColor || descriptor.backgroundColor); -} -function containsDefaultColorsDefenitions() { - return defaults.borderColor !== 'rgba(0,0,0,0.1)' || defaults.backgroundColor !== 'rgba(0,0,0,0.1)'; -} -var plugin_colors = { - id: 'colors', - defaults: { - enabled: true, - forceOverride: false - }, - beforeLayout (chart, _args, options) { - if (!options.enabled) { - return; - } - const { data: { datasets } , options: chartOptions } = chart.config; - const { elements } = chartOptions; - const containsColorDefenition = containsColorsDefinitions(datasets) || containsColorsDefinition(chartOptions) || elements && containsColorsDefinitions(elements) || containsDefaultColorsDefenitions(); - if (!options.forceOverride && containsColorDefenition) { - return; - } - const colorizer = getColorizer(chart); - datasets.forEach(colorizer); - } -}; - -function lttbDecimation(data, start, count, availableWidth, options) { - const samples = options.samples || availableWidth; - if (samples >= count) { - return data.slice(start, start + count); - } - const decimated = []; - const bucketWidth = (count - 2) / (samples - 2); - let sampledIndex = 0; - const endIndex = start + count - 1; - let a = start; - let i, maxAreaPoint, maxArea, area, nextA; - decimated[sampledIndex++] = data[a]; - for(i = 0; i < samples - 2; i++){ - let avgX = 0; - let avgY = 0; - let j; - const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start; - const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start; - const avgRangeLength = avgRangeEnd - avgRangeStart; - for(j = avgRangeStart; j < avgRangeEnd; j++){ - avgX += data[j].x; - avgY += data[j].y; - } - avgX /= avgRangeLength; - avgY /= avgRangeLength; - const rangeOffs = Math.floor(i * bucketWidth) + 1 + start; - const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start; - const { x: pointAx , y: pointAy } = data[a]; - maxArea = area = -1; - for(j = rangeOffs; j < rangeTo; j++){ - area = 0.5 * Math.abs((pointAx - avgX) * (data[j].y - pointAy) - (pointAx - data[j].x) * (avgY - pointAy)); - if (area > maxArea) { - maxArea = area; - maxAreaPoint = data[j]; - nextA = j; - } - } - decimated[sampledIndex++] = maxAreaPoint; - a = nextA; - } - decimated[sampledIndex++] = data[endIndex]; - return decimated; -} -function minMaxDecimation(data, start, count, availableWidth) { - let avgX = 0; - let countX = 0; - let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY; - const decimated = []; - const endIndex = start + count - 1; - const xMin = data[start].x; - const xMax = data[endIndex].x; - const dx = xMax - xMin; - for(i = start; i < start + count; ++i){ - point = data[i]; - x = (point.x - xMin) / dx * availableWidth; - y = point.y; - const truncX = x | 0; - if (truncX === prevX) { - if (y < minY) { - minY = y; - minIndex = i; - } else if (y > maxY) { - maxY = y; - maxIndex = i; - } - avgX = (countX * avgX + point.x) / ++countX; - } else { - const lastIndex = i - 1; - if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) { - const intermediateIndex1 = Math.min(minIndex, maxIndex); - const intermediateIndex2 = Math.max(minIndex, maxIndex); - if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) { - decimated.push({ - ...data[intermediateIndex1], - x: avgX - }); - } - if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) { - decimated.push({ - ...data[intermediateIndex2], - x: avgX - }); - } - } - if (i > 0 && lastIndex !== startIndex) { - decimated.push(data[lastIndex]); - } - decimated.push(point); - prevX = truncX; - countX = 0; - minY = maxY = y; - minIndex = maxIndex = startIndex = i; - } - } - return decimated; -} -function cleanDecimatedDataset(dataset) { - if (dataset._decimated) { - const data = dataset._data; - delete dataset._decimated; - delete dataset._data; - Object.defineProperty(dataset, 'data', { - configurable: true, - enumerable: true, - writable: true, - value: data - }); - } -} -function cleanDecimatedData(chart) { - chart.data.datasets.forEach((dataset)=>{ - cleanDecimatedDataset(dataset); - }); -} -function getStartAndCountOfVisiblePointsSimplified(meta, points) { - const pointCount = points.length; - let start = 0; - let count; - const { iScale } = meta; - const { min , max , minDefined , maxDefined } = iScale.getUserBounds(); - if (minDefined) { - start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1); - } - if (maxDefined) { - count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start; - } else { - count = pointCount - start; - } - return { - start, - count - }; -} -var plugin_decimation = { - id: 'decimation', - defaults: { - algorithm: 'min-max', - enabled: false - }, - beforeElementsUpdate: (chart, args, options)=>{ - if (!options.enabled) { - cleanDecimatedData(chart); - return; - } - const availableWidth = chart.width; - chart.data.datasets.forEach((dataset, datasetIndex)=>{ - const { _data , indexAxis } = dataset; - const meta = chart.getDatasetMeta(datasetIndex); - const data = _data || dataset.data; - if (resolve([ - indexAxis, - chart.options.indexAxis - ]) === 'y') { - return; - } - if (!meta.controller.supportsDecimation) { - return; - } - const xAxis = chart.scales[meta.xAxisID]; - if (xAxis.type !== 'linear' && xAxis.type !== 'time') { - return; - } - if (chart.options.parsing) { - return; - } - let { start , count } = getStartAndCountOfVisiblePointsSimplified(meta, data); - const threshold = options.threshold || 4 * availableWidth; - if (count <= threshold) { - cleanDecimatedDataset(dataset); - return; - } - if (isNullOrUndef(_data)) { - dataset._data = data; - delete dataset.data; - Object.defineProperty(dataset, 'data', { - configurable: true, - enumerable: true, - get: function() { - return this._decimated; - }, - set: function(d) { - this._data = d; - } - }); - } - let decimated; - switch(options.algorithm){ - case 'lttb': - decimated = lttbDecimation(data, start, count, availableWidth, options); - break; - case 'min-max': - decimated = minMaxDecimation(data, start, count, availableWidth); - break; - default: - throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`); - } - dataset._decimated = decimated; - }); - }, - destroy (chart) { - cleanDecimatedData(chart); - } -}; - -function _segments(line, target, property) { - const segments = line.segments; - const points = line.points; - const tpoints = target.points; - const parts = []; - for (const segment of segments){ - let { start , end } = segment; - end = _findSegmentEnd(start, end, points); - const bounds = _getBounds(property, points[start], points[end], segment.loop); - if (!target.segments) { - parts.push({ - source: segment, - target: bounds, - start: points[start], - end: points[end] - }); - continue; - } - const targetSegments = _boundSegments(target, bounds); - for (const tgt of targetSegments){ - const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop); - const fillSources = _boundSegment(segment, points, subBounds); - for (const fillSource of fillSources){ - parts.push({ - source: fillSource, - target: tgt, - start: { - [property]: _getEdge(bounds, subBounds, 'start', Math.max) - }, - end: { - [property]: _getEdge(bounds, subBounds, 'end', Math.min) - } - }); - } - } - } - return parts; -} -function _getBounds(property, first, last, loop) { - if (loop) { - return; - } - let start = first[property]; - let end = last[property]; - if (property === 'angle') { - start = _normalizeAngle(start); - end = _normalizeAngle(end); - } - return { - property, - start, - end - }; -} -function _pointsFromSegments(boundary, line) { - const { x =null , y =null } = boundary || {}; - const linePoints = line.points; - const points = []; - line.segments.forEach(({ start , end })=>{ - end = _findSegmentEnd(start, end, linePoints); - const first = linePoints[start]; - const last = linePoints[end]; - if (y !== null) { - points.push({ - x: first.x, - y - }); - points.push({ - x: last.x, - y - }); - } else if (x !== null) { - points.push({ - x, - y: first.y - }); - points.push({ - x, - y: last.y - }); - } - }); - return points; -} -function _findSegmentEnd(start, end, points) { - for(; end > start; end--){ - const point = points[end]; - if (!isNaN(point.x) && !isNaN(point.y)) { - break; - } - } - return end; -} -function _getEdge(a, b, prop, fn) { - if (a && b) { - return fn(a[prop], b[prop]); - } - return a ? a[prop] : b ? b[prop] : 0; -} - -function _createBoundaryLine(boundary, line) { - let points = []; - let _loop = false; - if (isArray(boundary)) { - _loop = true; - points = boundary; - } else { - points = _pointsFromSegments(boundary, line); - } - return points.length ? new LineElement({ - points, - options: { - tension: 0 - }, - _loop, - _fullLoop: _loop - }) : null; -} -function _shouldApplyFill(source) { - return source && source.fill !== false; -} - -function _resolveTarget(sources, index, propagate) { - const source = sources[index]; - let fill = source.fill; - const visited = [ - index - ]; - let target; - if (!propagate) { - return fill; - } - while(fill !== false && visited.indexOf(fill) === -1){ - if (!isNumberFinite(fill)) { - return fill; - } - target = sources[fill]; - if (!target) { - return false; - } - if (target.visible) { - return fill; - } - visited.push(fill); - fill = target.fill; - } - return false; -} - function _decodeFill(line, index, count) { - const fill = parseFillOption(line); - if (isObject(fill)) { - return isNaN(fill.value) ? false : fill; - } - let target = parseFloat(fill); - if (isNumberFinite(target) && Math.floor(target) === target) { - return decodeTargetIndex(fill[0], index, target, count); - } - return [ - 'origin', - 'start', - 'end', - 'stack', - 'shape' - ].indexOf(fill) >= 0 && fill; -} -function decodeTargetIndex(firstCh, index, target, count) { - if (firstCh === '-' || firstCh === '+') { - target = index + target; - } - if (target === index || target < 0 || target >= count) { - return false; - } - return target; -} - function _getTargetPixel(fill, scale) { - let pixel = null; - if (fill === 'start') { - pixel = scale.bottom; - } else if (fill === 'end') { - pixel = scale.top; - } else if (isObject(fill)) { - pixel = scale.getPixelForValue(fill.value); - } else if (scale.getBasePixel) { - pixel = scale.getBasePixel(); - } - return pixel; -} - function _getTargetValue(fill, scale, startValue) { - let value; - if (fill === 'start') { - value = startValue; - } else if (fill === 'end') { - value = scale.options.reverse ? scale.min : scale.max; - } else if (isObject(fill)) { - value = fill.value; - } else { - value = scale.getBaseValue(); - } - return value; -} - function parseFillOption(line) { - const options = line.options; - const fillOption = options.fill; - let fill = valueOrDefault(fillOption && fillOption.target, fillOption); - if (fill === undefined) { - fill = !!options.backgroundColor; - } - if (fill === false || fill === null) { - return false; - } - if (fill === true) { - return 'origin'; - } - return fill; -} - -function _buildStackLine(source) { - const { scale , index , line } = source; - const points = []; - const segments = line.segments; - const sourcePoints = line.points; - const linesBelow = getLinesBelow(scale, index); - linesBelow.push(_createBoundaryLine({ - x: null, - y: scale.bottom - }, line)); - for(let i = 0; i < segments.length; i++){ - const segment = segments[i]; - for(let j = segment.start; j <= segment.end; j++){ - addPointsBelow(points, sourcePoints[j], linesBelow); - } - } - return new LineElement({ - points, - options: {} - }); -} - function getLinesBelow(scale, index) { - const below = []; - const metas = scale.getMatchingVisibleMetas('line'); - for(let i = 0; i < metas.length; i++){ - const meta = metas[i]; - if (meta.index === index) { - break; - } - if (!meta.hidden) { - below.unshift(meta.dataset); - } - } - return below; -} - function addPointsBelow(points, sourcePoint, linesBelow) { - const postponed = []; - for(let j = 0; j < linesBelow.length; j++){ - const line = linesBelow[j]; - const { first , last , point } = findPoint(line, sourcePoint, 'x'); - if (!point || first && last) { - continue; - } - if (first) { - postponed.unshift(point); - } else { - points.push(point); - if (!last) { - break; - } - } - } - points.push(...postponed); -} - function findPoint(line, sourcePoint, property) { - const point = line.interpolate(sourcePoint, property); - if (!point) { - return {}; - } - const pointValue = point[property]; - const segments = line.segments; - const linePoints = line.points; - let first = false; - let last = false; - for(let i = 0; i < segments.length; i++){ - const segment = segments[i]; - const firstValue = linePoints[segment.start][property]; - const lastValue = linePoints[segment.end][property]; - if (_isBetween(pointValue, firstValue, lastValue)) { - first = pointValue === firstValue; - last = pointValue === lastValue; - break; - } - } - return { - first, - last, - point - }; -} - -class simpleArc { - constructor(opts){ - this.x = opts.x; - this.y = opts.y; - this.radius = opts.radius; - } - pathSegment(ctx, bounds, opts) { - const { x , y , radius } = this; - bounds = bounds || { - start: 0, - end: TAU - }; - ctx.arc(x, y, radius, bounds.end, bounds.start, true); - return !opts.bounds; - } - interpolate(point) { - const { x , y , radius } = this; - const angle = point.angle; - return { - x: x + Math.cos(angle) * radius, - y: y + Math.sin(angle) * radius, - angle - }; - } -} - -function _getTarget(source) { - const { chart , fill , line } = source; - if (isNumberFinite(fill)) { - return getLineByIndex(chart, fill); - } - if (fill === 'stack') { - return _buildStackLine(source); - } - if (fill === 'shape') { - return true; - } - const boundary = computeBoundary(source); - if (boundary instanceof simpleArc) { - return boundary; - } - return _createBoundaryLine(boundary, line); -} - function getLineByIndex(chart, index) { - const meta = chart.getDatasetMeta(index); - const visible = meta && chart.isDatasetVisible(index); - return visible ? meta.dataset : null; -} -function computeBoundary(source) { - const scale = source.scale || {}; - if (scale.getPointPositionForValue) { - return computeCircularBoundary(source); - } - return computeLinearBoundary(source); -} -function computeLinearBoundary(source) { - const { scale ={} , fill } = source; - const pixel = _getTargetPixel(fill, scale); - if (isNumberFinite(pixel)) { - const horizontal = scale.isHorizontal(); - return { - x: horizontal ? pixel : null, - y: horizontal ? null : pixel - }; - } - return null; -} -function computeCircularBoundary(source) { - const { scale , fill } = source; - const options = scale.options; - const length = scale.getLabels().length; - const start = options.reverse ? scale.max : scale.min; - const value = _getTargetValue(fill, scale, start); - const target = []; - if (options.grid.circular) { - const center = scale.getPointPositionForValue(0, start); - return new simpleArc({ - x: center.x, - y: center.y, - radius: scale.getDistanceFromCenterForValue(value) - }); - } - for(let i = 0; i < length; ++i){ - target.push(scale.getPointPositionForValue(i, value)); - } - return target; -} - -function _drawfill(ctx, source, area) { - const target = _getTarget(source); - const { chart , index , line , scale , axis } = source; - const lineOpts = line.options; - const fillOption = lineOpts.fill; - const color = lineOpts.backgroundColor; - const { above =color , below =color } = fillOption || {}; - const meta = chart.getDatasetMeta(index); - const clip = getDatasetClipArea(chart, meta); - if (target && line.points.length) { - clipArea(ctx, area); - doFill(ctx, { - line, - target, - above, - below, - area, - scale, - axis, - clip - }); - unclipArea(ctx); - } -} -function doFill(ctx, cfg) { - const { line , target , above , below , area , scale , clip } = cfg; - const property = line._loop ? 'angle' : cfg.axis; - ctx.save(); - let fillColor = below; - if (below !== above) { - if (property === 'x') { - clipVertical(ctx, target, area.top); - fill(ctx, { - line, - target, - color: above, - scale, - property, - clip - }); - ctx.restore(); - ctx.save(); - clipVertical(ctx, target, area.bottom); - } else if (property === 'y') { - clipHorizontal(ctx, target, area.left); - fill(ctx, { - line, - target, - color: below, - scale, - property, - clip - }); - ctx.restore(); - ctx.save(); - clipHorizontal(ctx, target, area.right); - fillColor = above; - } - } - fill(ctx, { - line, - target, - color: fillColor, - scale, - property, - clip - }); - ctx.restore(); -} -function clipVertical(ctx, target, clipY) { - const { segments , points } = target; - let first = true; - let lineLoop = false; - ctx.beginPath(); - for (const segment of segments){ - const { start , end } = segment; - const firstPoint = points[start]; - const lastPoint = points[_findSegmentEnd(start, end, points)]; - if (first) { - ctx.moveTo(firstPoint.x, firstPoint.y); - first = false; - } else { - ctx.lineTo(firstPoint.x, clipY); - ctx.lineTo(firstPoint.x, firstPoint.y); - } - lineLoop = !!target.pathSegment(ctx, segment, { - move: lineLoop - }); - if (lineLoop) { - ctx.closePath(); - } else { - ctx.lineTo(lastPoint.x, clipY); - } - } - ctx.lineTo(target.first().x, clipY); - ctx.closePath(); - ctx.clip(); -} -function clipHorizontal(ctx, target, clipX) { - const { segments , points } = target; - let first = true; - let lineLoop = false; - ctx.beginPath(); - for (const segment of segments){ - const { start , end } = segment; - const firstPoint = points[start]; - const lastPoint = points[_findSegmentEnd(start, end, points)]; - if (first) { - ctx.moveTo(firstPoint.x, firstPoint.y); - first = false; - } else { - ctx.lineTo(clipX, firstPoint.y); - ctx.lineTo(firstPoint.x, firstPoint.y); - } - lineLoop = !!target.pathSegment(ctx, segment, { - move: lineLoop - }); - if (lineLoop) { - ctx.closePath(); - } else { - ctx.lineTo(clipX, lastPoint.y); - } - } - ctx.lineTo(clipX, target.first().y); - ctx.closePath(); - ctx.clip(); -} -function fill(ctx, cfg) { - const { line , target , property , color , scale , clip } = cfg; - const segments = _segments(line, target, property); - for (const { source: src , target: tgt , start , end } of segments){ - const { style: { backgroundColor =color } = {} } = src; - const notShape = target !== true; - ctx.save(); - ctx.fillStyle = backgroundColor; - clipBounds(ctx, scale, clip, notShape && _getBounds(property, start, end)); - ctx.beginPath(); - const lineLoop = !!line.pathSegment(ctx, src); - let loop; - if (notShape) { - if (lineLoop) { - ctx.closePath(); - } else { - interpolatedLineTo(ctx, target, end, property); - } - const targetLoop = !!target.pathSegment(ctx, tgt, { - move: lineLoop, - reverse: true - }); - loop = lineLoop && targetLoop; - if (!loop) { - interpolatedLineTo(ctx, target, start, property); - } - } - ctx.closePath(); - ctx.fill(loop ? 'evenodd' : 'nonzero'); - ctx.restore(); - } -} -function clipBounds(ctx, scale, clip, bounds) { - const chartArea = scale.chart.chartArea; - const { property , start , end } = bounds || {}; - if (property === 'x' || property === 'y') { - let left, top, right, bottom; - if (property === 'x') { - left = start; - top = chartArea.top; - right = end; - bottom = chartArea.bottom; - } else { - left = chartArea.left; - top = start; - right = chartArea.right; - bottom = end; - } - ctx.beginPath(); - if (clip) { - left = Math.max(left, clip.left); - right = Math.min(right, clip.right); - top = Math.max(top, clip.top); - bottom = Math.min(bottom, clip.bottom); - } - ctx.rect(left, top, right - left, bottom - top); - ctx.clip(); - } -} -function interpolatedLineTo(ctx, target, point, property) { - const interpolatedPoint = target.interpolate(point, property); - if (interpolatedPoint) { - ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y); - } -} - -var index = { - id: 'filler', - afterDatasetsUpdate (chart, _args, options) { - const count = (chart.data.datasets || []).length; - const sources = []; - let meta, i, line, source; - for(i = 0; i < count; ++i){ - meta = chart.getDatasetMeta(i); - line = meta.dataset; - source = null; - if (line && line.options && line instanceof LineElement) { - source = { - visible: chart.isDatasetVisible(i), - index: i, - fill: _decodeFill(line, i, count), - chart, - axis: meta.controller.options.indexAxis, - scale: meta.vScale, - line - }; - } - meta.$filler = source; - sources.push(source); - } - for(i = 0; i < count; ++i){ - source = sources[i]; - if (!source || source.fill === false) { - continue; - } - source.fill = _resolveTarget(sources, i, options.propagate); - } - }, - beforeDraw (chart, _args, options) { - const draw = options.drawTime === 'beforeDraw'; - const metasets = chart.getSortedVisibleDatasetMetas(); - const area = chart.chartArea; - for(let i = metasets.length - 1; i >= 0; --i){ - const source = metasets[i].$filler; - if (!source) { - continue; - } - source.line.updateControlPoints(area, source.axis); - if (draw && source.fill) { - _drawfill(chart.ctx, source, area); - } - } - }, - beforeDatasetsDraw (chart, _args, options) { - if (options.drawTime !== 'beforeDatasetsDraw') { - return; - } - const metasets = chart.getSortedVisibleDatasetMetas(); - for(let i = metasets.length - 1; i >= 0; --i){ - const source = metasets[i].$filler; - if (_shouldApplyFill(source)) { - _drawfill(chart.ctx, source, chart.chartArea); - } - } - }, - beforeDatasetDraw (chart, args, options) { - const source = args.meta.$filler; - if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') { - return; - } - _drawfill(chart.ctx, source, chart.chartArea); - }, - defaults: { - propagate: true, - drawTime: 'beforeDatasetDraw' - } -}; - -const getBoxSize = (labelOpts, fontSize)=>{ - let { boxHeight =fontSize , boxWidth =fontSize } = labelOpts; - if (labelOpts.usePointStyle) { - boxHeight = Math.min(boxHeight, fontSize); - boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize); - } - return { - boxWidth, - boxHeight, - itemHeight: Math.max(fontSize, boxHeight) - }; -}; -const itemsEqual = (a, b)=>a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index; -class Legend extends chart_Element { - constructor(config){ - super(); - this._added = false; - this.legendHitBoxes = []; - this._hoveredItem = null; - this.doughnutMode = false; - this.chart = config.chart; - this.options = config.options; - this.ctx = config.ctx; - this.legendItems = undefined; - this.columnSizes = undefined; - this.lineWidths = undefined; - this.maxHeight = undefined; - this.maxWidth = undefined; - this.top = undefined; - this.bottom = undefined; - this.left = undefined; - this.right = undefined; - this.height = undefined; - this.width = undefined; - this._margins = undefined; - this.position = undefined; - this.weight = undefined; - this.fullSize = undefined; - } - update(maxWidth, maxHeight, margins) { - this.maxWidth = maxWidth; - this.maxHeight = maxHeight; - this._margins = margins; - this.setDimensions(); - this.buildLabels(); - this.fit(); - } - setDimensions() { - if (this.isHorizontal()) { - this.width = this.maxWidth; - this.left = this._margins.left; - this.right = this.width; - } else { - this.height = this.maxHeight; - this.top = this._margins.top; - this.bottom = this.height; - } - } - buildLabels() { - const labelOpts = this.options.labels || {}; - let legendItems = callback(labelOpts.generateLabels, [ - this.chart - ], this) || []; - if (labelOpts.filter) { - legendItems = legendItems.filter((item)=>labelOpts.filter(item, this.chart.data)); - } - if (labelOpts.sort) { - legendItems = legendItems.sort((a, b)=>labelOpts.sort(a, b, this.chart.data)); - } - if (this.options.reverse) { - legendItems.reverse(); - } - this.legendItems = legendItems; - } - fit() { - const { options , ctx } = this; - if (!options.display) { - this.width = this.height = 0; - return; - } - const labelOpts = options.labels; - const labelFont = toFont(labelOpts.font); - const fontSize = labelFont.size; - const titleHeight = this._computeTitleHeight(); - const { boxWidth , itemHeight } = getBoxSize(labelOpts, fontSize); - let width, height; - ctx.font = labelFont.string; - if (this.isHorizontal()) { - width = this.maxWidth; - height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10; - } else { - height = this.maxHeight; - width = this._fitCols(titleHeight, labelFont, boxWidth, itemHeight) + 10; - } - this.width = Math.min(width, options.maxWidth || this.maxWidth); - this.height = Math.min(height, options.maxHeight || this.maxHeight); - } - _fitRows(titleHeight, fontSize, boxWidth, itemHeight) { - const { ctx , maxWidth , options: { labels: { padding } } } = this; - const hitboxes = this.legendHitBoxes = []; - const lineWidths = this.lineWidths = [ - 0 - ]; - const lineHeight = itemHeight + padding; - let totalHeight = titleHeight; - ctx.textAlign = 'left'; - ctx.textBaseline = 'middle'; - let row = -1; - let top = -lineHeight; - this.legendItems.forEach((legendItem, i)=>{ - const itemWidth = boxWidth + fontSize / 2 + ctx.measureText(legendItem.text).width; - if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) { - totalHeight += lineHeight; - lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0; - top += lineHeight; - row++; - } - hitboxes[i] = { - left: 0, - top, - row, - width: itemWidth, - height: itemHeight - }; - lineWidths[lineWidths.length - 1] += itemWidth + padding; - }); - return totalHeight; - } - _fitCols(titleHeight, labelFont, boxWidth, _itemHeight) { - const { ctx , maxHeight , options: { labels: { padding } } } = this; - const hitboxes = this.legendHitBoxes = []; - const columnSizes = this.columnSizes = []; - const heightLimit = maxHeight - titleHeight; - let totalWidth = padding; - let currentColWidth = 0; - let currentColHeight = 0; - let left = 0; - let col = 0; - this.legendItems.forEach((legendItem, i)=>{ - const { itemWidth , itemHeight } = calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight); - if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) { - totalWidth += currentColWidth + padding; - columnSizes.push({ - width: currentColWidth, - height: currentColHeight - }); - left += currentColWidth + padding; - col++; - currentColWidth = currentColHeight = 0; - } - hitboxes[i] = { - left, - top: currentColHeight, - col, - width: itemWidth, - height: itemHeight - }; - currentColWidth = Math.max(currentColWidth, itemWidth); - currentColHeight += itemHeight + padding; - }); - totalWidth += currentColWidth; - columnSizes.push({ - width: currentColWidth, - height: currentColHeight - }); - return totalWidth; - } - adjustHitBoxes() { - if (!this.options.display) { - return; - } - const titleHeight = this._computeTitleHeight(); - const { legendHitBoxes: hitboxes , options: { align , labels: { padding } , rtl } } = this; - const rtlHelper = getRtlAdapter(rtl, this.left, this.width); - if (this.isHorizontal()) { - let row = 0; - let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]); - for (const hitbox of hitboxes){ - if (row !== hitbox.row) { - row = hitbox.row; - left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]); - } - hitbox.top += this.top + titleHeight + padding; - hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width); - left += hitbox.width + padding; - } - } else { - let col = 0; - let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height); - for (const hitbox of hitboxes){ - if (hitbox.col !== col) { - col = hitbox.col; - top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height); - } - hitbox.top = top; - hitbox.left += this.left + padding; - hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width); - top += hitbox.height + padding; - } - } - } - isHorizontal() { - return this.options.position === 'top' || this.options.position === 'bottom'; - } - draw() { - if (this.options.display) { - const ctx = this.ctx; - clipArea(ctx, this); - this._draw(); - unclipArea(ctx); - } - } - _draw() { - const { options: opts , columnSizes , lineWidths , ctx } = this; - const { align , labels: labelOpts } = opts; - const defaultColor = defaults.color; - const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width); - const labelFont = toFont(labelOpts.font); - const { padding } = labelOpts; - const fontSize = labelFont.size; - const halfFontSize = fontSize / 2; - let cursor; - this.drawTitle(); - ctx.textAlign = rtlHelper.textAlign('left'); - ctx.textBaseline = 'middle'; - ctx.lineWidth = 0.5; - ctx.font = labelFont.string; - const { boxWidth , boxHeight , itemHeight } = getBoxSize(labelOpts, fontSize); - const drawLegendBox = function(x, y, legendItem) { - if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) { - return; - } - ctx.save(); - const lineWidth = valueOrDefault(legendItem.lineWidth, 1); - ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor); - ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt'); - ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0); - ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter'); - ctx.lineWidth = lineWidth; - ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor); - ctx.setLineDash(valueOrDefault(legendItem.lineDash, [])); - if (labelOpts.usePointStyle) { - const drawOptions = { - radius: boxHeight * Math.SQRT2 / 2, - pointStyle: legendItem.pointStyle, - rotation: legendItem.rotation, - borderWidth: lineWidth - }; - const centerX = rtlHelper.xPlus(x, boxWidth / 2); - const centerY = y + halfFontSize; - drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth); - } else { - const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0); - const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth); - const borderRadius = toTRBLCorners(legendItem.borderRadius); - ctx.beginPath(); - if (Object.values(borderRadius).some((v)=>v !== 0)) { - addRoundedRectPath(ctx, { - x: xBoxLeft, - y: yBoxTop, - w: boxWidth, - h: boxHeight, - radius: borderRadius - }); - } else { - ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight); - } - ctx.fill(); - if (lineWidth !== 0) { - ctx.stroke(); - } - } - ctx.restore(); - }; - const fillText = function(x, y, legendItem) { - renderText(ctx, legendItem.text, x, y + itemHeight / 2, labelFont, { - strikethrough: legendItem.hidden, - textAlign: rtlHelper.textAlign(legendItem.textAlign) - }); - }; - const isHorizontal = this.isHorizontal(); - const titleHeight = this._computeTitleHeight(); - if (isHorizontal) { - cursor = { - x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]), - y: this.top + padding + titleHeight, - line: 0 - }; - } else { - cursor = { - x: this.left + padding, - y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height), - line: 0 - }; - } - overrideTextDirection(this.ctx, opts.textDirection); - const lineHeight = itemHeight + padding; - this.legendItems.forEach((legendItem, i)=>{ - ctx.strokeStyle = legendItem.fontColor; - ctx.fillStyle = legendItem.fontColor; - const textWidth = ctx.measureText(legendItem.text).width; - const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign)); - const width = boxWidth + halfFontSize + textWidth; - let x = cursor.x; - let y = cursor.y; - rtlHelper.setWidth(this.width); - if (isHorizontal) { - if (i > 0 && x + width + padding > this.right) { - y = cursor.y += lineHeight; - cursor.line++; - x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]); - } - } else if (i > 0 && y + lineHeight > this.bottom) { - x = cursor.x = x + columnSizes[cursor.line].width + padding; - cursor.line++; - y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height); - } - const realX = rtlHelper.x(x); - drawLegendBox(realX, y, legendItem); - x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl); - fillText(rtlHelper.x(x), y, legendItem); - if (isHorizontal) { - cursor.x += width + padding; - } else if (typeof legendItem.text !== 'string') { - const fontLineHeight = labelFont.lineHeight; - cursor.y += calculateLegendItemHeight(legendItem, fontLineHeight) + padding; - } else { - cursor.y += lineHeight; - } - }); - restoreTextDirection(this.ctx, opts.textDirection); - } - drawTitle() { - const opts = this.options; - const titleOpts = opts.title; - const titleFont = toFont(titleOpts.font); - const titlePadding = toPadding(titleOpts.padding); - if (!titleOpts.display) { - return; - } - const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width); - const ctx = this.ctx; - const position = titleOpts.position; - const halfFontSize = titleFont.size / 2; - const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize; - let y; - let left = this.left; - let maxWidth = this.width; - if (this.isHorizontal()) { - maxWidth = Math.max(...this.lineWidths); - y = this.top + topPaddingPlusHalfFontSize; - left = _alignStartEnd(opts.align, left, this.right - maxWidth); - } else { - const maxHeight = this.columnSizes.reduce((acc, size)=>Math.max(acc, size.height), 0); - y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight()); - } - const x = _alignStartEnd(position, left, left + maxWidth); - ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position)); - ctx.textBaseline = 'middle'; - ctx.strokeStyle = titleOpts.color; - ctx.fillStyle = titleOpts.color; - ctx.font = titleFont.string; - renderText(ctx, titleOpts.text, x, y, titleFont); - } - _computeTitleHeight() { - const titleOpts = this.options.title; - const titleFont = toFont(titleOpts.font); - const titlePadding = toPadding(titleOpts.padding); - return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0; - } - _getLegendItemAt(x, y) { - let i, hitBox, lh; - if (_isBetween(x, this.left, this.right) && _isBetween(y, this.top, this.bottom)) { - lh = this.legendHitBoxes; - for(i = 0; i < lh.length; ++i){ - hitBox = lh[i]; - if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width) && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) { - return this.legendItems[i]; - } - } - } - return null; - } - handleEvent(e) { - const opts = this.options; - if (!isListened(e.type, opts)) { - return; - } - const hoveredItem = this._getLegendItemAt(e.x, e.y); - if (e.type === 'mousemove' || e.type === 'mouseout') { - const previous = this._hoveredItem; - const sameItem = itemsEqual(previous, hoveredItem); - if (previous && !sameItem) { - callback(opts.onLeave, [ - e, - previous, - this - ], this); - } - this._hoveredItem = hoveredItem; - if (hoveredItem && !sameItem) { - callback(opts.onHover, [ - e, - hoveredItem, - this - ], this); - } - } else if (hoveredItem) { - callback(opts.onClick, [ - e, - hoveredItem, - this - ], this); - } - } -} -function calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight) { - const itemWidth = calculateItemWidth(legendItem, boxWidth, labelFont, ctx); - const itemHeight = calculateItemHeight(_itemHeight, legendItem, labelFont.lineHeight); - return { - itemWidth, - itemHeight - }; -} -function calculateItemWidth(legendItem, boxWidth, labelFont, ctx) { - let legendItemText = legendItem.text; - if (legendItemText && typeof legendItemText !== 'string') { - legendItemText = legendItemText.reduce((a, b)=>a.length > b.length ? a : b); - } - return boxWidth + labelFont.size / 2 + ctx.measureText(legendItemText).width; -} -function calculateItemHeight(_itemHeight, legendItem, fontLineHeight) { - let itemHeight = _itemHeight; - if (typeof legendItem.text !== 'string') { - itemHeight = calculateLegendItemHeight(legendItem, fontLineHeight); - } - return itemHeight; -} -function calculateLegendItemHeight(legendItem, fontLineHeight) { - const labelHeight = legendItem.text ? legendItem.text.length : 0; - return fontLineHeight * labelHeight; -} -function isListened(type, opts) { - if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) { - return true; - } - if (opts.onClick && (type === 'click' || type === 'mouseup')) { - return true; - } - return false; -} -var plugin_legend = { - id: 'legend', - _element: Legend, - start (chart, _args, options) { - const legend = chart.legend = new Legend({ - ctx: chart.ctx, - options, - chart - }); - layouts.configure(chart, legend, options); - layouts.addBox(chart, legend); - }, - stop (chart) { - layouts.removeBox(chart, chart.legend); - delete chart.legend; - }, - beforeUpdate (chart, _args, options) { - const legend = chart.legend; - layouts.configure(chart, legend, options); - legend.options = options; - }, - afterUpdate (chart) { - const legend = chart.legend; - legend.buildLabels(); - legend.adjustHitBoxes(); - }, - afterEvent (chart, args) { - if (!args.replay) { - chart.legend.handleEvent(args.event); - } - }, - defaults: { - display: true, - position: 'top', - align: 'center', - fullSize: true, - reverse: false, - weight: 1000, - onClick (e, legendItem, legend) { - const index = legendItem.datasetIndex; - const ci = legend.chart; - if (ci.isDatasetVisible(index)) { - ci.hide(index); - legendItem.hidden = true; - } else { - ci.show(index); - legendItem.hidden = false; - } - }, - onHover: null, - onLeave: null, - labels: { - color: (ctx)=>ctx.chart.options.color, - boxWidth: 40, - padding: 10, - generateLabels (chart) { - const datasets = chart.data.datasets; - const { labels: { usePointStyle , pointStyle , textAlign , color , useBorderRadius , borderRadius } } = chart.legend.options; - return chart._getSortedDatasetMetas().map((meta)=>{ - const style = meta.controller.getStyle(usePointStyle ? 0 : undefined); - const borderWidth = toPadding(style.borderWidth); - return { - text: datasets[meta.index].label, - fillStyle: style.backgroundColor, - fontColor: color, - hidden: !meta.visible, - lineCap: style.borderCapStyle, - lineDash: style.borderDash, - lineDashOffset: style.borderDashOffset, - lineJoin: style.borderJoinStyle, - lineWidth: (borderWidth.width + borderWidth.height) / 4, - strokeStyle: style.borderColor, - pointStyle: pointStyle || style.pointStyle, - rotation: style.rotation, - textAlign: textAlign || style.textAlign, - borderRadius: useBorderRadius && (borderRadius || style.borderRadius), - datasetIndex: meta.index - }; - }, this); - } - }, - title: { - color: (ctx)=>ctx.chart.options.color, - display: false, - position: 'center', - text: '' - } - }, - descriptors: { - _scriptable: (name)=>!name.startsWith('on'), - labels: { - _scriptable: (name)=>![ - 'generateLabels', - 'filter', - 'sort' - ].includes(name) - } - } -}; - -class Title extends chart_Element { - constructor(config){ - super(); - this.chart = config.chart; - this.options = config.options; - this.ctx = config.ctx; - this._padding = undefined; - this.top = undefined; - this.bottom = undefined; - this.left = undefined; - this.right = undefined; - this.width = undefined; - this.height = undefined; - this.position = undefined; - this.weight = undefined; - this.fullSize = undefined; - } - update(maxWidth, maxHeight) { - const opts = this.options; - this.left = 0; - this.top = 0; - if (!opts.display) { - this.width = this.height = this.right = this.bottom = 0; - return; - } - this.width = this.right = maxWidth; - this.height = this.bottom = maxHeight; - const lineCount = isArray(opts.text) ? opts.text.length : 1; - this._padding = toPadding(opts.padding); - const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height; - if (this.isHorizontal()) { - this.height = textSize; - } else { - this.width = textSize; - } - } - isHorizontal() { - const pos = this.options.position; - return pos === 'top' || pos === 'bottom'; - } - _drawArgs(offset) { - const { top , left , bottom , right , options } = this; - const align = options.align; - let rotation = 0; - let maxWidth, titleX, titleY; - if (this.isHorizontal()) { - titleX = _alignStartEnd(align, left, right); - titleY = top + offset; - maxWidth = right - left; - } else { - if (options.position === 'left') { - titleX = left + offset; - titleY = _alignStartEnd(align, bottom, top); - rotation = PI * -0.5; - } else { - titleX = right - offset; - titleY = _alignStartEnd(align, top, bottom); - rotation = PI * 0.5; - } - maxWidth = bottom - top; - } - return { - titleX, - titleY, - maxWidth, - rotation - }; - } - draw() { - const ctx = this.ctx; - const opts = this.options; - if (!opts.display) { - return; - } - const fontOpts = toFont(opts.font); - const lineHeight = fontOpts.lineHeight; - const offset = lineHeight / 2 + this._padding.top; - const { titleX , titleY , maxWidth , rotation } = this._drawArgs(offset); - renderText(ctx, opts.text, 0, 0, fontOpts, { - color: opts.color, - maxWidth, - rotation, - textAlign: _toLeftRightCenter(opts.align), - textBaseline: 'middle', - translation: [ - titleX, - titleY - ] - }); - } -} -function createTitle(chart, titleOpts) { - const title = new Title({ - ctx: chart.ctx, - options: titleOpts, - chart - }); - layouts.configure(chart, title, titleOpts); - layouts.addBox(chart, title); - chart.titleBlock = title; -} -var plugin_title = { - id: 'title', - _element: Title, - start (chart, _args, options) { - createTitle(chart, options); - }, - stop (chart) { - const titleBlock = chart.titleBlock; - layouts.removeBox(chart, titleBlock); - delete chart.titleBlock; - }, - beforeUpdate (chart, _args, options) { - const title = chart.titleBlock; - layouts.configure(chart, title, options); - title.options = options; - }, - defaults: { - align: 'center', - display: false, - font: { - weight: 'bold' - }, - fullSize: true, - padding: 10, - position: 'top', - text: '', - weight: 2000 - }, - defaultRoutes: { - color: 'color' - }, - descriptors: { - _scriptable: true, - _indexable: false - } -}; - -const chart_map = new WeakMap(); -var plugin_subtitle = { - id: 'subtitle', - start (chart, _args, options) { - const title = new Title({ - ctx: chart.ctx, - options, - chart - }); - layouts.configure(chart, title, options); - layouts.addBox(chart, title); - chart_map.set(chart, title); - }, - stop (chart) { - layouts.removeBox(chart, chart_map.get(chart)); - chart_map.delete(chart); - }, - beforeUpdate (chart, _args, options) { - const title = chart_map.get(chart); - layouts.configure(chart, title, options); - title.options = options; - }, - defaults: { - align: 'center', - display: false, - font: { - weight: 'normal' - }, - fullSize: true, - padding: 0, - position: 'top', - text: '', - weight: 1500 - }, - defaultRoutes: { - color: 'color' - }, - descriptors: { - _scriptable: true, - _indexable: false - } -}; - -const positioners = { - average (items) { - if (!items.length) { - return false; - } - let i, len; - let xSet = new Set(); - let y = 0; - let count = 0; - for(i = 0, len = items.length; i < len; ++i){ - const el = items[i].element; - if (el && el.hasValue()) { - const pos = el.tooltipPosition(); - xSet.add(pos.x); - y += pos.y; - ++count; - } - } - if (count === 0 || xSet.size === 0) { - return false; - } - const xAverage = [ - ...xSet - ].reduce((a, b)=>a + b) / xSet.size; - return { - x: xAverage, - y: y / count - }; - }, - nearest (items, eventPosition) { - if (!items.length) { - return false; - } - let x = eventPosition.x; - let y = eventPosition.y; - let minDistance = Number.POSITIVE_INFINITY; - let i, len, nearestElement; - for(i = 0, len = items.length; i < len; ++i){ - const el = items[i].element; - if (el && el.hasValue()) { - const center = el.getCenterPoint(); - const d = distanceBetweenPoints(eventPosition, center); - if (d < minDistance) { - minDistance = d; - nearestElement = el; - } - } - } - if (nearestElement) { - const tp = nearestElement.tooltipPosition(); - x = tp.x; - y = tp.y; - } - return { - x, - y - }; - } -}; -function pushOrConcat(base, toPush) { - if (toPush) { - if (isArray(toPush)) { - Array.prototype.push.apply(base, toPush); - } else { - base.push(toPush); - } - } - return base; -} - function splitNewlines(str) { - if ((typeof str === 'string' || str instanceof String) && str.indexOf('\n') > -1) { - return str.split('\n'); - } - return str; -} - function createTooltipItem(chart, item) { - const { element , datasetIndex , index } = item; - const controller = chart.getDatasetMeta(datasetIndex).controller; - const { label , value } = controller.getLabelAndValue(index); - return { - chart, - label, - parsed: controller.getParsed(index), - raw: chart.data.datasets[datasetIndex].data[index], - formattedValue: value, - dataset: controller.getDataset(), - dataIndex: index, - datasetIndex, - element - }; -} - function getTooltipSize(tooltip, options) { - const ctx = tooltip.chart.ctx; - const { body , footer , title } = tooltip; - const { boxWidth , boxHeight } = options; - const bodyFont = toFont(options.bodyFont); - const titleFont = toFont(options.titleFont); - const footerFont = toFont(options.footerFont); - const titleLineCount = title.length; - const footerLineCount = footer.length; - const bodyLineItemCount = body.length; - const padding = toPadding(options.padding); - let height = padding.height; - let width = 0; - let combinedBodyLength = body.reduce((count, bodyItem)=>count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0); - combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length; - if (titleLineCount) { - height += titleLineCount * titleFont.lineHeight + (titleLineCount - 1) * options.titleSpacing + options.titleMarginBottom; - } - if (combinedBodyLength) { - const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight; - height += bodyLineItemCount * bodyLineHeight + (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight + (combinedBodyLength - 1) * options.bodySpacing; - } - if (footerLineCount) { - height += options.footerMarginTop + footerLineCount * footerFont.lineHeight + (footerLineCount - 1) * options.footerSpacing; - } - let widthPadding = 0; - const maxLineWidth = function(line) { - width = Math.max(width, ctx.measureText(line).width + widthPadding); - }; - ctx.save(); - ctx.font = titleFont.string; - each(tooltip.title, maxLineWidth); - ctx.font = bodyFont.string; - each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth); - widthPadding = options.displayColors ? boxWidth + 2 + options.boxPadding : 0; - each(body, (bodyItem)=>{ - each(bodyItem.before, maxLineWidth); - each(bodyItem.lines, maxLineWidth); - each(bodyItem.after, maxLineWidth); - }); - widthPadding = 0; - ctx.font = footerFont.string; - each(tooltip.footer, maxLineWidth); - ctx.restore(); - width += padding.width; - return { - width, - height - }; -} -function determineYAlign(chart, size) { - const { y , height } = size; - if (y < height / 2) { - return 'top'; - } else if (y > chart.height - height / 2) { - return 'bottom'; - } - return 'center'; -} -function doesNotFitWithAlign(xAlign, chart, options, size) { - const { x , width } = size; - const caret = options.caretSize + options.caretPadding; - if (xAlign === 'left' && x + width + caret > chart.width) { - return true; - } - if (xAlign === 'right' && x - width - caret < 0) { - return true; - } -} -function determineXAlign(chart, options, size, yAlign) { - const { x , width } = size; - const { width: chartWidth , chartArea: { left , right } } = chart; - let xAlign = 'center'; - if (yAlign === 'center') { - xAlign = x <= (left + right) / 2 ? 'left' : 'right'; - } else if (x <= width / 2) { - xAlign = 'left'; - } else if (x >= chartWidth - width / 2) { - xAlign = 'right'; - } - if (doesNotFitWithAlign(xAlign, chart, options, size)) { - xAlign = 'center'; - } - return xAlign; -} - function determineAlignment(chart, options, size) { - const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size); - return { - xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign), - yAlign - }; -} -function alignX(size, xAlign) { - let { x , width } = size; - if (xAlign === 'right') { - x -= width; - } else if (xAlign === 'center') { - x -= width / 2; - } - return x; -} -function alignY(size, yAlign, paddingAndSize) { - let { y , height } = size; - if (yAlign === 'top') { - y += paddingAndSize; - } else if (yAlign === 'bottom') { - y -= height + paddingAndSize; - } else { - y -= height / 2; - } - return y; -} - function getBackgroundPoint(options, size, alignment, chart) { - const { caretSize , caretPadding , cornerRadius } = options; - const { xAlign , yAlign } = alignment; - const paddingAndSize = caretSize + caretPadding; - const { topLeft , topRight , bottomLeft , bottomRight } = toTRBLCorners(cornerRadius); - let x = alignX(size, xAlign); - const y = alignY(size, yAlign, paddingAndSize); - if (yAlign === 'center') { - if (xAlign === 'left') { - x += paddingAndSize; - } else if (xAlign === 'right') { - x -= paddingAndSize; - } - } else if (xAlign === 'left') { - x -= Math.max(topLeft, bottomLeft) + caretSize; - } else if (xAlign === 'right') { - x += Math.max(topRight, bottomRight) + caretSize; - } - return { - x: _limitValue(x, 0, chart.width - size.width), - y: _limitValue(y, 0, chart.height - size.height) - }; -} -function getAlignedX(tooltip, align, options) { - const padding = toPadding(options.padding); - return align === 'center' ? tooltip.x + tooltip.width / 2 : align === 'right' ? tooltip.x + tooltip.width - padding.right : tooltip.x + padding.left; -} - function getBeforeAfterBodyLines(callback) { - return pushOrConcat([], splitNewlines(callback)); -} -function createTooltipContext(parent, tooltip, tooltipItems) { - return createContext(parent, { - tooltip, - tooltipItems, - type: 'tooltip' - }); -} -function overrideCallbacks(callbacks, context) { - const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks; - return override ? callbacks.override(override) : callbacks; -} -const defaultCallbacks = { - beforeTitle: noop, - title (tooltipItems) { - if (tooltipItems.length > 0) { - const item = tooltipItems[0]; - const labels = item.chart.data.labels; - const labelCount = labels ? labels.length : 0; - if (this && this.options && this.options.mode === 'dataset') { - return item.dataset.label || ''; - } else if (item.label) { - return item.label; - } else if (labelCount > 0 && item.dataIndex < labelCount) { - return labels[item.dataIndex]; - } - } - return ''; - }, - afterTitle: noop, - beforeBody: noop, - beforeLabel: noop, - label (tooltipItem) { - if (this && this.options && this.options.mode === 'dataset') { - return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue; - } - let label = tooltipItem.dataset.label || ''; - if (label) { - label += ': '; - } - const value = tooltipItem.formattedValue; - if (!isNullOrUndef(value)) { - label += value; - } - return label; - }, - labelColor (tooltipItem) { - const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex); - const options = meta.controller.getStyle(tooltipItem.dataIndex); - return { - borderColor: options.borderColor, - backgroundColor: options.backgroundColor, - borderWidth: options.borderWidth, - borderDash: options.borderDash, - borderDashOffset: options.borderDashOffset, - borderRadius: 0 - }; - }, - labelTextColor () { - return this.options.bodyColor; - }, - labelPointStyle (tooltipItem) { - const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex); - const options = meta.controller.getStyle(tooltipItem.dataIndex); - return { - pointStyle: options.pointStyle, - rotation: options.rotation - }; - }, - afterLabel: noop, - afterBody: noop, - beforeFooter: noop, - footer: noop, - afterFooter: noop -}; - function invokeCallbackWithFallback(callbacks, name, ctx, arg) { - const result = callbacks[name].call(ctx, arg); - if (typeof result === 'undefined') { - return defaultCallbacks[name].call(ctx, arg); - } - return result; -} -class Tooltip extends chart_Element { - static positioners = positioners; - constructor(config){ - super(); - this.opacity = 0; - this._active = []; - this._eventPosition = undefined; - this._size = undefined; - this._cachedAnimations = undefined; - this._tooltipItems = []; - this.$animations = undefined; - this.$context = undefined; - this.chart = config.chart; - this.options = config.options; - this.dataPoints = undefined; - this.title = undefined; - this.beforeBody = undefined; - this.body = undefined; - this.afterBody = undefined; - this.footer = undefined; - this.xAlign = undefined; - this.yAlign = undefined; - this.x = undefined; - this.y = undefined; - this.height = undefined; - this.width = undefined; - this.caretX = undefined; - this.caretY = undefined; - this.labelColors = undefined; - this.labelPointStyles = undefined; - this.labelTextColors = undefined; - } - initialize(options) { - this.options = options; - this._cachedAnimations = undefined; - this.$context = undefined; - } - _resolveAnimations() { - const cached = this._cachedAnimations; - if (cached) { - return cached; - } - const chart = this.chart; - const options = this.options.setContext(this.getContext()); - const opts = options.enabled && chart.options.animation && options.animations; - const animations = new Animations(this.chart, opts); - if (opts._cacheable) { - this._cachedAnimations = Object.freeze(animations); - } - return animations; - } - getContext() { - return this.$context || (this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems)); - } - getTitle(context, options) { - const { callbacks } = options; - const beforeTitle = invokeCallbackWithFallback(callbacks, 'beforeTitle', this, context); - const title = invokeCallbackWithFallback(callbacks, 'title', this, context); - const afterTitle = invokeCallbackWithFallback(callbacks, 'afterTitle', this, context); - let lines = []; - lines = pushOrConcat(lines, splitNewlines(beforeTitle)); - lines = pushOrConcat(lines, splitNewlines(title)); - lines = pushOrConcat(lines, splitNewlines(afterTitle)); - return lines; - } - getBeforeBody(tooltipItems, options) { - return getBeforeAfterBodyLines(invokeCallbackWithFallback(options.callbacks, 'beforeBody', this, tooltipItems)); - } - getBody(tooltipItems, options) { - const { callbacks } = options; - const bodyItems = []; - each(tooltipItems, (context)=>{ - const bodyItem = { - before: [], - lines: [], - after: [] - }; - const scoped = overrideCallbacks(callbacks, context); - pushOrConcat(bodyItem.before, splitNewlines(invokeCallbackWithFallback(scoped, 'beforeLabel', this, context))); - pushOrConcat(bodyItem.lines, invokeCallbackWithFallback(scoped, 'label', this, context)); - pushOrConcat(bodyItem.after, splitNewlines(invokeCallbackWithFallback(scoped, 'afterLabel', this, context))); - bodyItems.push(bodyItem); - }); - return bodyItems; - } - getAfterBody(tooltipItems, options) { - return getBeforeAfterBodyLines(invokeCallbackWithFallback(options.callbacks, 'afterBody', this, tooltipItems)); - } - getFooter(tooltipItems, options) { - const { callbacks } = options; - const beforeFooter = invokeCallbackWithFallback(callbacks, 'beforeFooter', this, tooltipItems); - const footer = invokeCallbackWithFallback(callbacks, 'footer', this, tooltipItems); - const afterFooter = invokeCallbackWithFallback(callbacks, 'afterFooter', this, tooltipItems); - let lines = []; - lines = pushOrConcat(lines, splitNewlines(beforeFooter)); - lines = pushOrConcat(lines, splitNewlines(footer)); - lines = pushOrConcat(lines, splitNewlines(afterFooter)); - return lines; - } - _createItems(options) { - const active = this._active; - const data = this.chart.data; - const labelColors = []; - const labelPointStyles = []; - const labelTextColors = []; - let tooltipItems = []; - let i, len; - for(i = 0, len = active.length; i < len; ++i){ - tooltipItems.push(createTooltipItem(this.chart, active[i])); - } - if (options.filter) { - tooltipItems = tooltipItems.filter((element, index, array)=>options.filter(element, index, array, data)); - } - if (options.itemSort) { - tooltipItems = tooltipItems.sort((a, b)=>options.itemSort(a, b, data)); - } - each(tooltipItems, (context)=>{ - const scoped = overrideCallbacks(options.callbacks, context); - labelColors.push(invokeCallbackWithFallback(scoped, 'labelColor', this, context)); - labelPointStyles.push(invokeCallbackWithFallback(scoped, 'labelPointStyle', this, context)); - labelTextColors.push(invokeCallbackWithFallback(scoped, 'labelTextColor', this, context)); - }); - this.labelColors = labelColors; - this.labelPointStyles = labelPointStyles; - this.labelTextColors = labelTextColors; - this.dataPoints = tooltipItems; - return tooltipItems; - } - update(changed, replay) { - const options = this.options.setContext(this.getContext()); - const active = this._active; - let properties; - let tooltipItems = []; - if (!active.length) { - if (this.opacity !== 0) { - properties = { - opacity: 0 - }; - } - } else { - const position = positioners[options.position].call(this, active, this._eventPosition); - tooltipItems = this._createItems(options); - this.title = this.getTitle(tooltipItems, options); - this.beforeBody = this.getBeforeBody(tooltipItems, options); - this.body = this.getBody(tooltipItems, options); - this.afterBody = this.getAfterBody(tooltipItems, options); - this.footer = this.getFooter(tooltipItems, options); - const size = this._size = getTooltipSize(this, options); - const positionAndSize = Object.assign({}, position, size); - const alignment = determineAlignment(this.chart, options, positionAndSize); - const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart); - this.xAlign = alignment.xAlign; - this.yAlign = alignment.yAlign; - properties = { - opacity: 1, - x: backgroundPoint.x, - y: backgroundPoint.y, - width: size.width, - height: size.height, - caretX: position.x, - caretY: position.y - }; - } - this._tooltipItems = tooltipItems; - this.$context = undefined; - if (properties) { - this._resolveAnimations().update(this, properties); - } - if (changed && options.external) { - options.external.call(this, { - chart: this.chart, - tooltip: this, - replay - }); - } - } - drawCaret(tooltipPoint, ctx, size, options) { - const caretPosition = this.getCaretPosition(tooltipPoint, size, options); - ctx.lineTo(caretPosition.x1, caretPosition.y1); - ctx.lineTo(caretPosition.x2, caretPosition.y2); - ctx.lineTo(caretPosition.x3, caretPosition.y3); - } - getCaretPosition(tooltipPoint, size, options) { - const { xAlign , yAlign } = this; - const { caretSize , cornerRadius } = options; - const { topLeft , topRight , bottomLeft , bottomRight } = toTRBLCorners(cornerRadius); - const { x: ptX , y: ptY } = tooltipPoint; - const { width , height } = size; - let x1, x2, x3, y1, y2, y3; - if (yAlign === 'center') { - y2 = ptY + height / 2; - if (xAlign === 'left') { - x1 = ptX; - x2 = x1 - caretSize; - y1 = y2 + caretSize; - y3 = y2 - caretSize; - } else { - x1 = ptX + width; - x2 = x1 + caretSize; - y1 = y2 - caretSize; - y3 = y2 + caretSize; - } - x3 = x1; - } else { - if (xAlign === 'left') { - x2 = ptX + Math.max(topLeft, bottomLeft) + caretSize; - } else if (xAlign === 'right') { - x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize; - } else { - x2 = this.caretX; - } - if (yAlign === 'top') { - y1 = ptY; - y2 = y1 - caretSize; - x1 = x2 - caretSize; - x3 = x2 + caretSize; - } else { - y1 = ptY + height; - y2 = y1 + caretSize; - x1 = x2 + caretSize; - x3 = x2 - caretSize; - } - y3 = y1; - } - return { - x1, - x2, - x3, - y1, - y2, - y3 - }; - } - drawTitle(pt, ctx, options) { - const title = this.title; - const length = title.length; - let titleFont, titleSpacing, i; - if (length) { - const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width); - pt.x = getAlignedX(this, options.titleAlign, options); - ctx.textAlign = rtlHelper.textAlign(options.titleAlign); - ctx.textBaseline = 'middle'; - titleFont = toFont(options.titleFont); - titleSpacing = options.titleSpacing; - ctx.fillStyle = options.titleColor; - ctx.font = titleFont.string; - for(i = 0; i < length; ++i){ - ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2); - pt.y += titleFont.lineHeight + titleSpacing; - if (i + 1 === length) { - pt.y += options.titleMarginBottom - titleSpacing; - } - } - } - } - _drawColorBox(ctx, pt, i, rtlHelper, options) { - const labelColor = this.labelColors[i]; - const labelPointStyle = this.labelPointStyles[i]; - const { boxHeight , boxWidth } = options; - const bodyFont = toFont(options.bodyFont); - const colorX = getAlignedX(this, 'left', options); - const rtlColorX = rtlHelper.x(colorX); - const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0; - const colorY = pt.y + yOffSet; - if (options.usePointStyle) { - const drawOptions = { - radius: Math.min(boxWidth, boxHeight) / 2, - pointStyle: labelPointStyle.pointStyle, - rotation: labelPointStyle.rotation, - borderWidth: 1 - }; - const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2; - const centerY = colorY + boxHeight / 2; - ctx.strokeStyle = options.multiKeyBackground; - ctx.fillStyle = options.multiKeyBackground; - drawPoint(ctx, drawOptions, centerX, centerY); - ctx.strokeStyle = labelColor.borderColor; - ctx.fillStyle = labelColor.backgroundColor; - drawPoint(ctx, drawOptions, centerX, centerY); - } else { - ctx.lineWidth = isObject(labelColor.borderWidth) ? Math.max(...Object.values(labelColor.borderWidth)) : labelColor.borderWidth || 1; - ctx.strokeStyle = labelColor.borderColor; - ctx.setLineDash(labelColor.borderDash || []); - ctx.lineDashOffset = labelColor.borderDashOffset || 0; - const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth); - const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - 2); - const borderRadius = toTRBLCorners(labelColor.borderRadius); - if (Object.values(borderRadius).some((v)=>v !== 0)) { - ctx.beginPath(); - ctx.fillStyle = options.multiKeyBackground; - addRoundedRectPath(ctx, { - x: outerX, - y: colorY, - w: boxWidth, - h: boxHeight, - radius: borderRadius - }); - ctx.fill(); - ctx.stroke(); - ctx.fillStyle = labelColor.backgroundColor; - ctx.beginPath(); - addRoundedRectPath(ctx, { - x: innerX, - y: colorY + 1, - w: boxWidth - 2, - h: boxHeight - 2, - radius: borderRadius - }); - ctx.fill(); - } else { - ctx.fillStyle = options.multiKeyBackground; - ctx.fillRect(outerX, colorY, boxWidth, boxHeight); - ctx.strokeRect(outerX, colorY, boxWidth, boxHeight); - ctx.fillStyle = labelColor.backgroundColor; - ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2); - } - } - ctx.fillStyle = this.labelTextColors[i]; - } - drawBody(pt, ctx, options) { - const { body } = this; - const { bodySpacing , bodyAlign , displayColors , boxHeight , boxWidth , boxPadding } = options; - const bodyFont = toFont(options.bodyFont); - let bodyLineHeight = bodyFont.lineHeight; - let xLinePadding = 0; - const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width); - const fillLineOfText = function(line) { - ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2); - pt.y += bodyLineHeight + bodySpacing; - }; - const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign); - let bodyItem, textColor, lines, i, j, ilen, jlen; - ctx.textAlign = bodyAlign; - ctx.textBaseline = 'middle'; - ctx.font = bodyFont.string; - pt.x = getAlignedX(this, bodyAlignForCalculation, options); - ctx.fillStyle = options.bodyColor; - each(this.beforeBody, fillLineOfText); - xLinePadding = displayColors && bodyAlignForCalculation !== 'right' ? bodyAlign === 'center' ? boxWidth / 2 + boxPadding : boxWidth + 2 + boxPadding : 0; - for(i = 0, ilen = body.length; i < ilen; ++i){ - bodyItem = body[i]; - textColor = this.labelTextColors[i]; - ctx.fillStyle = textColor; - each(bodyItem.before, fillLineOfText); - lines = bodyItem.lines; - if (displayColors && lines.length) { - this._drawColorBox(ctx, pt, i, rtlHelper, options); - bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight); - } - for(j = 0, jlen = lines.length; j < jlen; ++j){ - fillLineOfText(lines[j]); - bodyLineHeight = bodyFont.lineHeight; - } - each(bodyItem.after, fillLineOfText); - } - xLinePadding = 0; - bodyLineHeight = bodyFont.lineHeight; - each(this.afterBody, fillLineOfText); - pt.y -= bodySpacing; - } - drawFooter(pt, ctx, options) { - const footer = this.footer; - const length = footer.length; - let footerFont, i; - if (length) { - const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width); - pt.x = getAlignedX(this, options.footerAlign, options); - pt.y += options.footerMarginTop; - ctx.textAlign = rtlHelper.textAlign(options.footerAlign); - ctx.textBaseline = 'middle'; - footerFont = toFont(options.footerFont); - ctx.fillStyle = options.footerColor; - ctx.font = footerFont.string; - for(i = 0; i < length; ++i){ - ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2); - pt.y += footerFont.lineHeight + options.footerSpacing; - } - } - } - drawBackground(pt, ctx, tooltipSize, options) { - const { xAlign , yAlign } = this; - const { x , y } = pt; - const { width , height } = tooltipSize; - const { topLeft , topRight , bottomLeft , bottomRight } = toTRBLCorners(options.cornerRadius); - ctx.fillStyle = options.backgroundColor; - ctx.strokeStyle = options.borderColor; - ctx.lineWidth = options.borderWidth; - ctx.beginPath(); - ctx.moveTo(x + topLeft, y); - if (yAlign === 'top') { - this.drawCaret(pt, ctx, tooltipSize, options); - } - ctx.lineTo(x + width - topRight, y); - ctx.quadraticCurveTo(x + width, y, x + width, y + topRight); - if (yAlign === 'center' && xAlign === 'right') { - this.drawCaret(pt, ctx, tooltipSize, options); - } - ctx.lineTo(x + width, y + height - bottomRight); - ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height); - if (yAlign === 'bottom') { - this.drawCaret(pt, ctx, tooltipSize, options); - } - ctx.lineTo(x + bottomLeft, y + height); - ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft); - if (yAlign === 'center' && xAlign === 'left') { - this.drawCaret(pt, ctx, tooltipSize, options); - } - ctx.lineTo(x, y + topLeft); - ctx.quadraticCurveTo(x, y, x + topLeft, y); - ctx.closePath(); - ctx.fill(); - if (options.borderWidth > 0) { - ctx.stroke(); - } - } - _updateAnimationTarget(options) { - const chart = this.chart; - const anims = this.$animations; - const animX = anims && anims.x; - const animY = anims && anims.y; - if (animX || animY) { - const position = positioners[options.position].call(this, this._active, this._eventPosition); - if (!position) { - return; - } - const size = this._size = getTooltipSize(this, options); - const positionAndSize = Object.assign({}, position, this._size); - const alignment = determineAlignment(chart, options, positionAndSize); - const point = getBackgroundPoint(options, positionAndSize, alignment, chart); - if (animX._to !== point.x || animY._to !== point.y) { - this.xAlign = alignment.xAlign; - this.yAlign = alignment.yAlign; - this.width = size.width; - this.height = size.height; - this.caretX = position.x; - this.caretY = position.y; - this._resolveAnimations().update(this, point); - } - } - } - _willRender() { - return !!this.opacity; - } - draw(ctx) { - const options = this.options.setContext(this.getContext()); - let opacity = this.opacity; - if (!opacity) { - return; - } - this._updateAnimationTarget(options); - const tooltipSize = { - width: this.width, - height: this.height - }; - const pt = { - x: this.x, - y: this.y - }; - opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity; - const padding = toPadding(options.padding); - const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length; - if (options.enabled && hasTooltipContent) { - ctx.save(); - ctx.globalAlpha = opacity; - this.drawBackground(pt, ctx, tooltipSize, options); - overrideTextDirection(ctx, options.textDirection); - pt.y += padding.top; - this.drawTitle(pt, ctx, options); - this.drawBody(pt, ctx, options); - this.drawFooter(pt, ctx, options); - restoreTextDirection(ctx, options.textDirection); - ctx.restore(); - } - } - getActiveElements() { - return this._active || []; - } - setActiveElements(activeElements, eventPosition) { - const lastActive = this._active; - const active = activeElements.map(({ datasetIndex , index })=>{ - const meta = this.chart.getDatasetMeta(datasetIndex); - if (!meta) { - throw new Error('Cannot find a dataset at index ' + datasetIndex); - } - return { - datasetIndex, - element: meta.data[index], - index - }; - }); - const changed = !_elementsEqual(lastActive, active); - const positionChanged = this._positionChanged(active, eventPosition); - if (changed || positionChanged) { - this._active = active; - this._eventPosition = eventPosition; - this._ignoreReplayEvents = true; - this.update(true); - } - } - handleEvent(e, replay, inChartArea = true) { - if (replay && this._ignoreReplayEvents) { - return false; - } - this._ignoreReplayEvents = false; - const options = this.options; - const lastActive = this._active || []; - const active = this._getActiveElements(e, lastActive, replay, inChartArea); - const positionChanged = this._positionChanged(active, e); - const changed = replay || !_elementsEqual(active, lastActive) || positionChanged; - if (changed) { - this._active = active; - if (options.enabled || options.external) { - this._eventPosition = { - x: e.x, - y: e.y - }; - this.update(true, replay); - } - } - return changed; - } - _getActiveElements(e, lastActive, replay, inChartArea) { - const options = this.options; - if (e.type === 'mouseout') { - return []; - } - if (!inChartArea) { - return lastActive.filter((i)=>this.chart.data.datasets[i.datasetIndex] && this.chart.getDatasetMeta(i.datasetIndex).controller.getParsed(i.index) !== undefined); - } - const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay); - if (options.reverse) { - active.reverse(); - } - return active; - } - _positionChanged(active, e) { - const { caretX , caretY , options } = this; - const position = positioners[options.position].call(this, active, e); - return position !== false && (caretX !== position.x || caretY !== position.y); - } -} -var plugin_tooltip = { - id: 'tooltip', - _element: Tooltip, - positioners, - afterInit (chart, _args, options) { - if (options) { - chart.tooltip = new Tooltip({ - chart, - options - }); - } - }, - beforeUpdate (chart, _args, options) { - if (chart.tooltip) { - chart.tooltip.initialize(options); - } - }, - reset (chart, _args, options) { - if (chart.tooltip) { - chart.tooltip.initialize(options); - } - }, - afterDraw (chart) { - const tooltip = chart.tooltip; - if (tooltip && tooltip._willRender()) { - const args = { - tooltip - }; - if (chart.notifyPlugins('beforeTooltipDraw', { - ...args, - cancelable: true - }) === false) { - return; - } - tooltip.draw(chart.ctx); - chart.notifyPlugins('afterTooltipDraw', args); - } - }, - afterEvent (chart, args) { - if (chart.tooltip) { - const useFinalPosition = args.replay; - if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) { - args.changed = true; - } - } - }, - defaults: { - enabled: true, - external: null, - position: 'average', - backgroundColor: 'rgba(0,0,0,0.8)', - titleColor: '#fff', - titleFont: { - weight: 'bold' - }, - titleSpacing: 2, - titleMarginBottom: 6, - titleAlign: 'left', - bodyColor: '#fff', - bodySpacing: 2, - bodyFont: {}, - bodyAlign: 'left', - footerColor: '#fff', - footerSpacing: 2, - footerMarginTop: 6, - footerFont: { - weight: 'bold' - }, - footerAlign: 'left', - padding: 6, - caretPadding: 2, - caretSize: 5, - cornerRadius: 6, - boxHeight: (ctx, opts)=>opts.bodyFont.size, - boxWidth: (ctx, opts)=>opts.bodyFont.size, - multiKeyBackground: '#fff', - displayColors: true, - boxPadding: 0, - borderColor: 'rgba(0,0,0,0)', - borderWidth: 0, - animation: { - duration: 400, - easing: 'easeOutQuart' - }, - animations: { - numbers: { - type: 'number', - properties: [ - 'x', - 'y', - 'width', - 'height', - 'caretX', - 'caretY' - ] - }, - opacity: { - easing: 'linear', - duration: 200 - } - }, - callbacks: defaultCallbacks - }, - defaultRoutes: { - bodyFont: 'font', - footerFont: 'font', - titleFont: 'font' - }, - descriptors: { - _scriptable: (name)=>name !== 'filter' && name !== 'itemSort' && name !== 'external', - _indexable: false, - callbacks: { - _scriptable: false, - _indexable: false - }, - animation: { - _fallback: false - }, - animations: { - _fallback: 'animation' - } - }, - additionalOptionScopes: [ - 'interaction' - ] -}; - -var plugins = /*#__PURE__*/Object.freeze({ -__proto__: null, -Colors: plugin_colors, -Decimation: plugin_decimation, -Filler: index, -Legend: plugin_legend, -SubTitle: plugin_subtitle, -Title: plugin_title, -Tooltip: plugin_tooltip -}); - -const addIfString = (labels, raw, index, addedLabels)=>{ - if (typeof raw === 'string') { - index = labels.push(raw) - 1; - addedLabels.unshift({ - index, - label: raw - }); - } else if (isNaN(raw)) { - index = null; - } - return index; -}; -function findOrAddLabel(labels, raw, index, addedLabels) { - const first = labels.indexOf(raw); - if (first === -1) { - return addIfString(labels, raw, index, addedLabels); - } - const last = labels.lastIndexOf(raw); - return first !== last ? index : first; -} -const validIndex = (index, max)=>index === null ? null : _limitValue(Math.round(index), 0, max); -function _getLabelForValue(value) { - const labels = this.getLabels(); - if (value >= 0 && value < labels.length) { - return labels[value]; - } - return value; -} -class CategoryScale extends Scale { - static id = 'category'; - static defaults = { - ticks: { - callback: _getLabelForValue - } - }; - constructor(cfg){ - super(cfg); - this._startValue = undefined; - this._valueRange = 0; - this._addedLabels = []; - } - init(scaleOptions) { - const added = this._addedLabels; - if (added.length) { - const labels = this.getLabels(); - for (const { index , label } of added){ - if (labels[index] === label) { - labels.splice(index, 1); - } - } - this._addedLabels = []; - } - super.init(scaleOptions); - } - parse(raw, index) { - if (isNullOrUndef(raw)) { - return null; - } - const labels = this.getLabels(); - index = isFinite(index) && labels[index] === raw ? index : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels); - return validIndex(index, labels.length - 1); - } - determineDataLimits() { - const { minDefined , maxDefined } = this.getUserBounds(); - let { min , max } = this.getMinMax(true); - if (this.options.bounds === 'ticks') { - if (!minDefined) { - min = 0; - } - if (!maxDefined) { - max = this.getLabels().length - 1; - } - } - this.min = min; - this.max = max; - } - buildTicks() { - const min = this.min; - const max = this.max; - const offset = this.options.offset; - const ticks = []; - let labels = this.getLabels(); - labels = min === 0 && max === labels.length - 1 ? labels : labels.slice(min, max + 1); - this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1); - this._startValue = this.min - (offset ? 0.5 : 0); - for(let value = min; value <= max; value++){ - ticks.push({ - value - }); - } - return ticks; - } - getLabelForValue(value) { - return _getLabelForValue.call(this, value); - } - configure() { - super.configure(); - if (!this.isHorizontal()) { - this._reversePixels = !this._reversePixels; - } - } - getPixelForValue(value) { - if (typeof value !== 'number') { - value = this.parse(value); - } - return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange); - } - getPixelForTick(index) { - const ticks = this.ticks; - if (index < 0 || index > ticks.length - 1) { - return null; - } - return this.getPixelForValue(ticks[index].value); - } - getValueForPixel(pixel) { - return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange); - } - getBasePixel() { - return this.bottom; - } -} - -function generateTicks$1(generationOptions, dataRange) { - const ticks = []; - const MIN_SPACING = 1e-14; - const { bounds , step , min , max , precision , count , maxTicks , maxDigits , includeBounds } = generationOptions; - const unit = step || 1; - const maxSpaces = maxTicks - 1; - const { min: rmin , max: rmax } = dataRange; - const minDefined = !isNullOrUndef(min); - const maxDefined = !isNullOrUndef(max); - const countDefined = !isNullOrUndef(count); - const minSpacing = (rmax - rmin) / (maxDigits + 1); - let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit; - let factor, niceMin, niceMax, numSpaces; - if (spacing < MIN_SPACING && !minDefined && !maxDefined) { - return [ - { - value: rmin - }, - { - value: rmax - } - ]; - } - numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing); - if (numSpaces > maxSpaces) { - spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit; - } - if (!isNullOrUndef(precision)) { - factor = Math.pow(10, precision); - spacing = Math.ceil(spacing * factor) / factor; - } - if (bounds === 'ticks') { - niceMin = Math.floor(rmin / spacing) * spacing; - niceMax = Math.ceil(rmax / spacing) * spacing; - } else { - niceMin = rmin; - niceMax = rmax; - } - if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) { - numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks)); - spacing = (max - min) / numSpaces; - niceMin = min; - niceMax = max; - } else if (countDefined) { - niceMin = minDefined ? min : niceMin; - niceMax = maxDefined ? max : niceMax; - numSpaces = count - 1; - spacing = (niceMax - niceMin) / numSpaces; - } else { - numSpaces = (niceMax - niceMin) / spacing; - if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) { - numSpaces = Math.round(numSpaces); - } else { - numSpaces = Math.ceil(numSpaces); - } - } - const decimalPlaces = Math.max(_decimalPlaces(spacing), _decimalPlaces(niceMin)); - factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision); - niceMin = Math.round(niceMin * factor) / factor; - niceMax = Math.round(niceMax * factor) / factor; - let j = 0; - if (minDefined) { - if (includeBounds && niceMin !== min) { - ticks.push({ - value: min - }); - if (niceMin < min) { - j++; - } - if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) { - j++; - } - } else if (niceMin < min) { - j++; - } - } - for(; j < numSpaces; ++j){ - const tickValue = Math.round((niceMin + j * spacing) * factor) / factor; - if (maxDefined && tickValue > max) { - break; - } - ticks.push({ - value: tickValue - }); - } - if (maxDefined && includeBounds && niceMax !== max) { - if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) { - ticks[ticks.length - 1].value = max; - } else { - ticks.push({ - value: max - }); - } - } else if (!maxDefined || niceMax === max) { - ticks.push({ - value: niceMax - }); - } - return ticks; -} -function relativeLabelSize(value, minSpacing, { horizontal , minRotation }) { - const rad = toRadians(minRotation); - const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001; - const length = 0.75 * minSpacing * ('' + value).length; - return Math.min(minSpacing / ratio, length); -} -class LinearScaleBase extends Scale { - constructor(cfg){ - super(cfg); - this.start = undefined; - this.end = undefined; - this._startValue = undefined; - this._endValue = undefined; - this._valueRange = 0; - } - parse(raw, index) { - if (isNullOrUndef(raw)) { - return null; - } - if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) { - return null; - } - return +raw; - } - handleTickRangeOptions() { - const { beginAtZero } = this.options; - const { minDefined , maxDefined } = this.getUserBounds(); - let { min , max } = this; - const setMin = (v)=>min = minDefined ? min : v; - const setMax = (v)=>max = maxDefined ? max : v; - if (beginAtZero) { - const minSign = sign(min); - const maxSign = sign(max); - if (minSign < 0 && maxSign < 0) { - setMax(0); - } else if (minSign > 0 && maxSign > 0) { - setMin(0); - } - } - if (min === max) { - let offset = max === 0 ? 1 : Math.abs(max * 0.05); - setMax(max + offset); - if (!beginAtZero) { - setMin(min - offset); - } - } - this.min = min; - this.max = max; - } - getTickLimit() { - const tickOpts = this.options.ticks; - let { maxTicksLimit , stepSize } = tickOpts; - let maxTicks; - if (stepSize) { - maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1; - if (maxTicks > 1000) { - console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`); - maxTicks = 1000; - } - } else { - maxTicks = this.computeTickLimit(); - maxTicksLimit = maxTicksLimit || 11; - } - if (maxTicksLimit) { - maxTicks = Math.min(maxTicksLimit, maxTicks); - } - return maxTicks; - } - computeTickLimit() { - return Number.POSITIVE_INFINITY; - } - buildTicks() { - const opts = this.options; - const tickOpts = opts.ticks; - let maxTicks = this.getTickLimit(); - maxTicks = Math.max(2, maxTicks); - const numericGeneratorOptions = { - maxTicks, - bounds: opts.bounds, - min: opts.min, - max: opts.max, - precision: tickOpts.precision, - step: tickOpts.stepSize, - count: tickOpts.count, - maxDigits: this._maxDigits(), - horizontal: this.isHorizontal(), - minRotation: tickOpts.minRotation || 0, - includeBounds: tickOpts.includeBounds !== false - }; - const dataRange = this._range || this; - const ticks = generateTicks$1(numericGeneratorOptions, dataRange); - if (opts.bounds === 'ticks') { - _setMinAndMaxByKey(ticks, this, 'value'); - } - if (opts.reverse) { - ticks.reverse(); - this.start = this.max; - this.end = this.min; - } else { - this.start = this.min; - this.end = this.max; - } - return ticks; - } - configure() { - const ticks = this.ticks; - let start = this.min; - let end = this.max; - super.configure(); - if (this.options.offset && ticks.length) { - const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2; - start -= offset; - end += offset; - } - this._startValue = start; - this._endValue = end; - this._valueRange = end - start; - } - getLabelForValue(value) { - return formatNumber(value, this.chart.options.locale, this.options.ticks.format); - } -} - -class LinearScale extends LinearScaleBase { - static id = 'linear'; - static defaults = { - ticks: { - callback: Ticks.formatters.numeric - } - }; - determineDataLimits() { - const { min , max } = this.getMinMax(true); - this.min = isNumberFinite(min) ? min : 0; - this.max = isNumberFinite(max) ? max : 1; - this.handleTickRangeOptions(); - } - computeTickLimit() { - const horizontal = this.isHorizontal(); - const length = horizontal ? this.width : this.height; - const minRotation = toRadians(this.options.ticks.minRotation); - const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001; - const tickFont = this._resolveTickFontOptions(0); - return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio)); - } - getPixelForValue(value) { - return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange); - } - getValueForPixel(pixel) { - return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange; - } -} - -const log10Floor = (v)=>Math.floor(log10(v)); -const changeExponent = (v, m)=>Math.pow(10, log10Floor(v) + m); -function isMajor(tickVal) { - const remain = tickVal / Math.pow(10, log10Floor(tickVal)); - return remain === 1; -} -function steps(min, max, rangeExp) { - const rangeStep = Math.pow(10, rangeExp); - const start = Math.floor(min / rangeStep); - const end = Math.ceil(max / rangeStep); - return end - start; -} -function startExp(min, max) { - const range = max - min; - let rangeExp = log10Floor(range); - while(steps(min, max, rangeExp) > 10){ - rangeExp++; - } - while(steps(min, max, rangeExp) < 10){ - rangeExp--; - } - return Math.min(rangeExp, log10Floor(min)); -} - function generateTicks(generationOptions, { min , max }) { - min = finiteOrDefault(generationOptions.min, min); - const ticks = []; - const minExp = log10Floor(min); - let exp = startExp(min, max); - let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1; - const stepSize = Math.pow(10, exp); - const base = minExp > exp ? Math.pow(10, minExp) : 0; - const start = Math.round((min - base) * precision) / precision; - const offset = Math.floor((min - base) / stepSize / 10) * stepSize * 10; - let significand = Math.floor((start - offset) / Math.pow(10, exp)); - let value = finiteOrDefault(generationOptions.min, Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision); - while(value < max){ - ticks.push({ - value, - major: isMajor(value), - significand - }); - if (significand >= 10) { - significand = significand < 15 ? 15 : 20; - } else { - significand++; - } - if (significand >= 20) { - exp++; - significand = 2; - precision = exp >= 0 ? 1 : precision; - } - value = Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision; - } - const lastTick = finiteOrDefault(generationOptions.max, value); - ticks.push({ - value: lastTick, - major: isMajor(lastTick), - significand - }); - return ticks; -} -class LogarithmicScale extends Scale { - static id = 'logarithmic'; - static defaults = { - ticks: { - callback: Ticks.formatters.logarithmic, - major: { - enabled: true - } - } - }; - constructor(cfg){ - super(cfg); - this.start = undefined; - this.end = undefined; - this._startValue = undefined; - this._valueRange = 0; - } - parse(raw, index) { - const value = LinearScaleBase.prototype.parse.apply(this, [ - raw, - index - ]); - if (value === 0) { - this._zero = true; - return undefined; - } - return isNumberFinite(value) && value > 0 ? value : null; - } - determineDataLimits() { - const { min , max } = this.getMinMax(true); - this.min = isNumberFinite(min) ? Math.max(0, min) : null; - this.max = isNumberFinite(max) ? Math.max(0, max) : null; - if (this.options.beginAtZero) { - this._zero = true; - } - if (this._zero && this.min !== this._suggestedMin && !isNumberFinite(this._userMin)) { - this.min = min === changeExponent(this.min, 0) ? changeExponent(this.min, -1) : changeExponent(this.min, 0); - } - this.handleTickRangeOptions(); - } - handleTickRangeOptions() { - const { minDefined , maxDefined } = this.getUserBounds(); - let min = this.min; - let max = this.max; - const setMin = (v)=>min = minDefined ? min : v; - const setMax = (v)=>max = maxDefined ? max : v; - if (min === max) { - if (min <= 0) { - setMin(1); - setMax(10); - } else { - setMin(changeExponent(min, -1)); - setMax(changeExponent(max, +1)); - } - } - if (min <= 0) { - setMin(changeExponent(max, -1)); - } - if (max <= 0) { - setMax(changeExponent(min, +1)); - } - this.min = min; - this.max = max; - } - buildTicks() { - const opts = this.options; - const generationOptions = { - min: this._userMin, - max: this._userMax - }; - const ticks = generateTicks(generationOptions, this); - if (opts.bounds === 'ticks') { - _setMinAndMaxByKey(ticks, this, 'value'); - } - if (opts.reverse) { - ticks.reverse(); - this.start = this.max; - this.end = this.min; - } else { - this.start = this.min; - this.end = this.max; - } - return ticks; - } - getLabelForValue(value) { - return value === undefined ? '0' : formatNumber(value, this.chart.options.locale, this.options.ticks.format); - } - configure() { - const start = this.min; - super.configure(); - this._startValue = log10(start); - this._valueRange = log10(this.max) - log10(start); - } - getPixelForValue(value) { - if (value === undefined || value === 0) { - value = this.min; - } - if (value === null || isNaN(value)) { - return NaN; - } - return this.getPixelForDecimal(value === this.min ? 0 : (log10(value) - this._startValue) / this._valueRange); - } - getValueForPixel(pixel) { - const decimal = this.getDecimalForPixel(pixel); - return Math.pow(10, this._startValue + decimal * this._valueRange); - } -} - -function getTickBackdropHeight(opts) { - const tickOpts = opts.ticks; - if (tickOpts.display && opts.display) { - const padding = toPadding(tickOpts.backdropPadding); - return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height; - } - return 0; -} -function measureLabelSize(ctx, font, label) { - label = isArray(label) ? label : [ - label - ]; - return { - w: _longestText(ctx, font.string, label), - h: label.length * font.lineHeight - }; -} -function determineLimits(angle, pos, size, min, max) { - if (angle === min || angle === max) { - return { - start: pos - size / 2, - end: pos + size / 2 - }; - } else if (angle < min || angle > max) { - return { - start: pos - size, - end: pos - }; - } - return { - start: pos, - end: pos + size - }; -} - function fitWithPointLabels(scale) { - const orig = { - l: scale.left + scale._padding.left, - r: scale.right - scale._padding.right, - t: scale.top + scale._padding.top, - b: scale.bottom - scale._padding.bottom - }; - const limits = Object.assign({}, orig); - const labelSizes = []; - const padding = []; - const valueCount = scale._pointLabels.length; - const pointLabelOpts = scale.options.pointLabels; - const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0; - for(let i = 0; i < valueCount; i++){ - const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i)); - padding[i] = opts.padding; - const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle); - const plFont = toFont(opts.font); - const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]); - labelSizes[i] = textSize; - const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle); - const angle = Math.round(toDegrees(angleRadians)); - const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180); - const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270); - updateLimits(limits, orig, angleRadians, hLimits, vLimits); - } - scale.setCenterPoint(orig.l - limits.l, limits.r - orig.r, orig.t - limits.t, limits.b - orig.b); - scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding); -} -function updateLimits(limits, orig, angle, hLimits, vLimits) { - const sin = Math.abs(Math.sin(angle)); - const cos = Math.abs(Math.cos(angle)); - let x = 0; - let y = 0; - if (hLimits.start < orig.l) { - x = (orig.l - hLimits.start) / sin; - limits.l = Math.min(limits.l, orig.l - x); - } else if (hLimits.end > orig.r) { - x = (hLimits.end - orig.r) / sin; - limits.r = Math.max(limits.r, orig.r + x); - } - if (vLimits.start < orig.t) { - y = (orig.t - vLimits.start) / cos; - limits.t = Math.min(limits.t, orig.t - y); - } else if (vLimits.end > orig.b) { - y = (vLimits.end - orig.b) / cos; - limits.b = Math.max(limits.b, orig.b + y); - } -} -function createPointLabelItem(scale, index, itemOpts) { - const outerDistance = scale.drawingArea; - const { extra , additionalAngle , padding , size } = itemOpts; - const pointLabelPosition = scale.getPointPosition(index, outerDistance + extra + padding, additionalAngle); - const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI))); - const y = yForAngle(pointLabelPosition.y, size.h, angle); - const textAlign = getTextAlignForAngle(angle); - const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign); - return { - visible: true, - x: pointLabelPosition.x, - y, - textAlign, - left, - top: y, - right: left + size.w, - bottom: y + size.h - }; -} -function isNotOverlapped(item, area) { - if (!area) { - return true; - } - const { left , top , right , bottom } = item; - const apexesInArea = _isPointInArea({ - x: left, - y: top - }, area) || _isPointInArea({ - x: left, - y: bottom - }, area) || _isPointInArea({ - x: right, - y: top - }, area) || _isPointInArea({ - x: right, - y: bottom - }, area); - return !apexesInArea; -} -function buildPointLabelItems(scale, labelSizes, padding) { - const items = []; - const valueCount = scale._pointLabels.length; - const opts = scale.options; - const { centerPointLabels , display } = opts.pointLabels; - const itemOpts = { - extra: getTickBackdropHeight(opts) / 2, - additionalAngle: centerPointLabels ? PI / valueCount : 0 - }; - let area; - for(let i = 0; i < valueCount; i++){ - itemOpts.padding = padding[i]; - itemOpts.size = labelSizes[i]; - const item = createPointLabelItem(scale, i, itemOpts); - items.push(item); - if (display === 'auto') { - item.visible = isNotOverlapped(item, area); - if (item.visible) { - area = item; - } - } - } - return items; -} -function getTextAlignForAngle(angle) { - if (angle === 0 || angle === 180) { - return 'center'; - } else if (angle < 180) { - return 'left'; - } - return 'right'; -} -function leftForTextAlign(x, w, align) { - if (align === 'right') { - x -= w; - } else if (align === 'center') { - x -= w / 2; - } - return x; -} -function yForAngle(y, h, angle) { - if (angle === 90 || angle === 270) { - y -= h / 2; - } else if (angle > 270 || angle < 90) { - y -= h; - } - return y; -} -function drawPointLabelBox(ctx, opts, item) { - const { left , top , right , bottom } = item; - const { backdropColor } = opts; - if (!isNullOrUndef(backdropColor)) { - const borderRadius = toTRBLCorners(opts.borderRadius); - const padding = toPadding(opts.backdropPadding); - ctx.fillStyle = backdropColor; - const backdropLeft = left - padding.left; - const backdropTop = top - padding.top; - const backdropWidth = right - left + padding.width; - const backdropHeight = bottom - top + padding.height; - if (Object.values(borderRadius).some((v)=>v !== 0)) { - ctx.beginPath(); - addRoundedRectPath(ctx, { - x: backdropLeft, - y: backdropTop, - w: backdropWidth, - h: backdropHeight, - radius: borderRadius - }); - ctx.fill(); - } else { - ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight); - } - } -} -function drawPointLabels(scale, labelCount) { - const { ctx , options: { pointLabels } } = scale; - for(let i = labelCount - 1; i >= 0; i--){ - const item = scale._pointLabelItems[i]; - if (!item.visible) { - continue; - } - const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i)); - drawPointLabelBox(ctx, optsAtIndex, item); - const plFont = toFont(optsAtIndex.font); - const { x , y , textAlign } = item; - renderText(ctx, scale._pointLabels[i], x, y + plFont.lineHeight / 2, plFont, { - color: optsAtIndex.color, - textAlign: textAlign, - textBaseline: 'middle' - }); - } -} -function pathRadiusLine(scale, radius, circular, labelCount) { - const { ctx } = scale; - if (circular) { - ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU); - } else { - let pointPosition = scale.getPointPosition(0, radius); - ctx.moveTo(pointPosition.x, pointPosition.y); - for(let i = 1; i < labelCount; i++){ - pointPosition = scale.getPointPosition(i, radius); - ctx.lineTo(pointPosition.x, pointPosition.y); - } - } -} -function drawRadiusLine(scale, gridLineOpts, radius, labelCount, borderOpts) { - const ctx = scale.ctx; - const circular = gridLineOpts.circular; - const { color , lineWidth } = gridLineOpts; - if (!circular && !labelCount || !color || !lineWidth || radius < 0) { - return; - } - ctx.save(); - ctx.strokeStyle = color; - ctx.lineWidth = lineWidth; - ctx.setLineDash(borderOpts.dash || []); - ctx.lineDashOffset = borderOpts.dashOffset; - ctx.beginPath(); - pathRadiusLine(scale, radius, circular, labelCount); - ctx.closePath(); - ctx.stroke(); - ctx.restore(); -} -function createPointLabelContext(parent, index, label) { - return createContext(parent, { - label, - index, - type: 'pointLabel' - }); -} -class RadialLinearScale extends LinearScaleBase { - static id = 'radialLinear'; - static defaults = { - display: true, - animate: true, - position: 'chartArea', - angleLines: { - display: true, - lineWidth: 1, - borderDash: [], - borderDashOffset: 0.0 - }, - grid: { - circular: false - }, - startAngle: 0, - ticks: { - showLabelBackdrop: true, - callback: Ticks.formatters.numeric - }, - pointLabels: { - backdropColor: undefined, - backdropPadding: 2, - display: true, - font: { - size: 10 - }, - callback (label) { - return label; - }, - padding: 5, - centerPointLabels: false - } - }; - static defaultRoutes = { - 'angleLines.color': 'borderColor', - 'pointLabels.color': 'color', - 'ticks.color': 'color' - }; - static descriptors = { - angleLines: { - _fallback: 'grid' - } - }; - constructor(cfg){ - super(cfg); - this.xCenter = undefined; - this.yCenter = undefined; - this.drawingArea = undefined; - this._pointLabels = []; - this._pointLabelItems = []; - } - setDimensions() { - const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2); - const w = this.width = this.maxWidth - padding.width; - const h = this.height = this.maxHeight - padding.height; - this.xCenter = Math.floor(this.left + w / 2 + padding.left); - this.yCenter = Math.floor(this.top + h / 2 + padding.top); - this.drawingArea = Math.floor(Math.min(w, h) / 2); - } - determineDataLimits() { - const { min , max } = this.getMinMax(false); - this.min = isNumberFinite(min) && !isNaN(min) ? min : 0; - this.max = isNumberFinite(max) && !isNaN(max) ? max : 0; - this.handleTickRangeOptions(); - } - computeTickLimit() { - return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options)); - } - generateTickLabels(ticks) { - LinearScaleBase.prototype.generateTickLabels.call(this, ticks); - this._pointLabels = this.getLabels().map((value, index)=>{ - const label = callback(this.options.pointLabels.callback, [ - value, - index - ], this); - return label || label === 0 ? label : ''; - }).filter((v, i)=>this.chart.getDataVisibility(i)); - } - fit() { - const opts = this.options; - if (opts.display && opts.pointLabels.display) { - fitWithPointLabels(this); - } else { - this.setCenterPoint(0, 0, 0, 0); - } - } - setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) { - this.xCenter += Math.floor((leftMovement - rightMovement) / 2); - this.yCenter += Math.floor((topMovement - bottomMovement) / 2); - this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement)); - } - getIndexAngle(index) { - const angleMultiplier = TAU / (this._pointLabels.length || 1); - const startAngle = this.options.startAngle || 0; - return _normalizeAngle(index * angleMultiplier + toRadians(startAngle)); - } - getDistanceFromCenterForValue(value) { - if (isNullOrUndef(value)) { - return NaN; - } - const scalingFactor = this.drawingArea / (this.max - this.min); - if (this.options.reverse) { - return (this.max - value) * scalingFactor; - } - return (value - this.min) * scalingFactor; - } - getValueForDistanceFromCenter(distance) { - if (isNullOrUndef(distance)) { - return NaN; - } - const scaledDistance = distance / (this.drawingArea / (this.max - this.min)); - return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance; - } - getPointLabelContext(index) { - const pointLabels = this._pointLabels || []; - if (index >= 0 && index < pointLabels.length) { - const pointLabel = pointLabels[index]; - return createPointLabelContext(this.getContext(), index, pointLabel); - } - } - getPointPosition(index, distanceFromCenter, additionalAngle = 0) { - const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle; - return { - x: Math.cos(angle) * distanceFromCenter + this.xCenter, - y: Math.sin(angle) * distanceFromCenter + this.yCenter, - angle - }; - } - getPointPositionForValue(index, value) { - return this.getPointPosition(index, this.getDistanceFromCenterForValue(value)); - } - getBasePosition(index) { - return this.getPointPositionForValue(index || 0, this.getBaseValue()); - } - getPointLabelPosition(index) { - const { left , top , right , bottom } = this._pointLabelItems[index]; - return { - left, - top, - right, - bottom - }; - } - drawBackground() { - const { backgroundColor , grid: { circular } } = this.options; - if (backgroundColor) { - const ctx = this.ctx; - ctx.save(); - ctx.beginPath(); - pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length); - ctx.closePath(); - ctx.fillStyle = backgroundColor; - ctx.fill(); - ctx.restore(); - } - } - drawGrid() { - const ctx = this.ctx; - const opts = this.options; - const { angleLines , grid , border } = opts; - const labelCount = this._pointLabels.length; - let i, offset, position; - if (opts.pointLabels.display) { - drawPointLabels(this, labelCount); - } - if (grid.display) { - this.ticks.forEach((tick, index)=>{ - if (index !== 0 || index === 0 && this.min < 0) { - offset = this.getDistanceFromCenterForValue(tick.value); - const context = this.getContext(index); - const optsAtIndex = grid.setContext(context); - const optsAtIndexBorder = border.setContext(context); - drawRadiusLine(this, optsAtIndex, offset, labelCount, optsAtIndexBorder); - } - }); - } - if (angleLines.display) { - ctx.save(); - for(i = labelCount - 1; i >= 0; i--){ - const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i)); - const { color , lineWidth } = optsAtIndex; - if (!lineWidth || !color) { - continue; - } - ctx.lineWidth = lineWidth; - ctx.strokeStyle = color; - ctx.setLineDash(optsAtIndex.borderDash); - ctx.lineDashOffset = optsAtIndex.borderDashOffset; - offset = this.getDistanceFromCenterForValue(opts.reverse ? this.min : this.max); - position = this.getPointPosition(i, offset); - ctx.beginPath(); - ctx.moveTo(this.xCenter, this.yCenter); - ctx.lineTo(position.x, position.y); - ctx.stroke(); - } - ctx.restore(); - } - } - drawBorder() {} - drawLabels() { - const ctx = this.ctx; - const opts = this.options; - const tickOpts = opts.ticks; - if (!tickOpts.display) { - return; - } - const startAngle = this.getIndexAngle(0); - let offset, width; - ctx.save(); - ctx.translate(this.xCenter, this.yCenter); - ctx.rotate(startAngle); - ctx.textAlign = 'center'; - ctx.textBaseline = 'middle'; - this.ticks.forEach((tick, index)=>{ - if (index === 0 && this.min >= 0 && !opts.reverse) { - return; - } - const optsAtIndex = tickOpts.setContext(this.getContext(index)); - const tickFont = toFont(optsAtIndex.font); - offset = this.getDistanceFromCenterForValue(this.ticks[index].value); - if (optsAtIndex.showLabelBackdrop) { - ctx.font = tickFont.string; - width = ctx.measureText(tick.label).width; - ctx.fillStyle = optsAtIndex.backdropColor; - const padding = toPadding(optsAtIndex.backdropPadding); - ctx.fillRect(-width / 2 - padding.left, -offset - tickFont.size / 2 - padding.top, width + padding.width, tickFont.size + padding.height); - } - renderText(ctx, tick.label, 0, -offset, tickFont, { - color: optsAtIndex.color, - strokeColor: optsAtIndex.textStrokeColor, - strokeWidth: optsAtIndex.textStrokeWidth - }); - }); - ctx.restore(); - } - drawTitle() {} -} - -const INTERVALS = { - millisecond: { - common: true, - size: 1, - steps: 1000 - }, - second: { - common: true, - size: 1000, - steps: 60 - }, - minute: { - common: true, - size: 60000, - steps: 60 - }, - hour: { - common: true, - size: 3600000, - steps: 24 - }, - day: { - common: true, - size: 86400000, - steps: 30 - }, - week: { - common: false, - size: 604800000, - steps: 4 - }, - month: { - common: true, - size: 2.628e9, - steps: 12 - }, - quarter: { - common: false, - size: 7.884e9, - steps: 4 - }, - year: { - common: true, - size: 3.154e10 - } -}; - const UNITS = /* #__PURE__ */ Object.keys(INTERVALS); - function sorter(a, b) { - return a - b; -} - function parse(scale, input) { - if (isNullOrUndef(input)) { - return null; - } - const adapter = scale._adapter; - const { parser , round , isoWeekday } = scale._parseOpts; - let value = input; - if (typeof parser === 'function') { - value = parser(value); - } - if (!isNumberFinite(value)) { - value = typeof parser === 'string' ? adapter.parse(value, parser) : adapter.parse(value); - } - if (value === null) { - return null; - } - if (round) { - value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true) ? adapter.startOf(value, 'isoWeek', isoWeekday) : adapter.startOf(value, round); - } - return +value; -} - function determineUnitForAutoTicks(minUnit, min, max, capacity) { - const ilen = UNITS.length; - for(let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i){ - const interval = INTERVALS[UNITS[i]]; - const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER; - if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) { - return UNITS[i]; - } - } - return UNITS[ilen - 1]; -} - function determineUnitForFormatting(scale, numTicks, minUnit, min, max) { - for(let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--){ - const unit = UNITS[i]; - if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) { - return unit; - } - } - return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0]; -} - function determineMajorUnit(unit) { - for(let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i){ - if (INTERVALS[UNITS[i]].common) { - return UNITS[i]; - } - } -} - function addTick(ticks, time, timestamps) { - if (!timestamps) { - ticks[time] = true; - } else if (timestamps.length) { - const { lo , hi } = _lookup(timestamps, time); - const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi]; - ticks[timestamp] = true; - } -} - function setMajorTicks(scale, ticks, map, majorUnit) { - const adapter = scale._adapter; - const first = +adapter.startOf(ticks[0].value, majorUnit); - const last = ticks[ticks.length - 1].value; - let major, index; - for(major = first; major <= last; major = +adapter.add(major, 1, majorUnit)){ - index = map[major]; - if (index >= 0) { - ticks[index].major = true; - } - } - return ticks; -} - function ticksFromTimestamps(scale, values, majorUnit) { - const ticks = []; - const map = {}; - const ilen = values.length; - let i, value; - for(i = 0; i < ilen; ++i){ - value = values[i]; - map[value] = i; - ticks.push({ - value, - major: false - }); - } - return ilen === 0 || !majorUnit ? ticks : setMajorTicks(scale, ticks, map, majorUnit); -} -class TimeScale extends Scale { - static id = 'time'; - static defaults = { - bounds: 'data', - adapters: {}, - time: { - parser: false, - unit: false, - round: false, - isoWeekday: false, - minUnit: 'millisecond', - displayFormats: {} - }, - ticks: { - source: 'auto', - callback: false, - major: { - enabled: false - } - } - }; - constructor(props){ - super(props); - this._cache = { - data: [], - labels: [], - all: [] - }; - this._unit = 'day'; - this._majorUnit = undefined; - this._offsets = {}; - this._normalized = false; - this._parseOpts = undefined; - } - init(scaleOpts, opts = {}) { - const time = scaleOpts.time || (scaleOpts.time = {}); - const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date); - adapter.init(opts); - mergeIf(time.displayFormats, adapter.formats()); - this._parseOpts = { - parser: time.parser, - round: time.round, - isoWeekday: time.isoWeekday - }; - super.init(scaleOpts); - this._normalized = opts.normalized; - } - parse(raw, index) { - if (raw === undefined) { - return null; - } - return parse(this, raw); - } - beforeLayout() { - super.beforeLayout(); - this._cache = { - data: [], - labels: [], - all: [] - }; - } - determineDataLimits() { - const options = this.options; - const adapter = this._adapter; - const unit = options.time.unit || 'day'; - let { min , max , minDefined , maxDefined } = this.getUserBounds(); - function _applyBounds(bounds) { - if (!minDefined && !isNaN(bounds.min)) { - min = Math.min(min, bounds.min); - } - if (!maxDefined && !isNaN(bounds.max)) { - max = Math.max(max, bounds.max); - } - } - if (!minDefined || !maxDefined) { - _applyBounds(this._getLabelBounds()); - if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') { - _applyBounds(this.getMinMax(false)); - } - } - min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit); - max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1; - this.min = Math.min(min, max - 1); - this.max = Math.max(min + 1, max); - } - _getLabelBounds() { - const arr = this.getLabelTimestamps(); - let min = Number.POSITIVE_INFINITY; - let max = Number.NEGATIVE_INFINITY; - if (arr.length) { - min = arr[0]; - max = arr[arr.length - 1]; - } - return { - min, - max - }; - } - buildTicks() { - const options = this.options; - const timeOpts = options.time; - const tickOpts = options.ticks; - const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate(); - if (options.bounds === 'ticks' && timestamps.length) { - this.min = this._userMin || timestamps[0]; - this.max = this._userMax || timestamps[timestamps.length - 1]; - } - const min = this.min; - const max = this.max; - const ticks = _filterBetween(timestamps, min, max); - this._unit = timeOpts.unit || (tickOpts.autoSkip ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min)) : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max)); - this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined : determineMajorUnit(this._unit); - this.initOffsets(timestamps); - if (options.reverse) { - ticks.reverse(); - } - return ticksFromTimestamps(this, ticks, this._majorUnit); - } - afterAutoSkip() { - if (this.options.offsetAfterAutoskip) { - this.initOffsets(this.ticks.map((tick)=>+tick.value)); - } - } - initOffsets(timestamps = []) { - let start = 0; - let end = 0; - let first, last; - if (this.options.offset && timestamps.length) { - first = this.getDecimalForValue(timestamps[0]); - if (timestamps.length === 1) { - start = 1 - first; - } else { - start = (this.getDecimalForValue(timestamps[1]) - first) / 2; - } - last = this.getDecimalForValue(timestamps[timestamps.length - 1]); - if (timestamps.length === 1) { - end = last; - } else { - end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2; - } - } - const limit = timestamps.length < 3 ? 0.5 : 0.25; - start = _limitValue(start, 0, limit); - end = _limitValue(end, 0, limit); - this._offsets = { - start, - end, - factor: 1 / (start + 1 + end) - }; - } - _generate() { - const adapter = this._adapter; - const min = this.min; - const max = this.max; - const options = this.options; - const timeOpts = options.time; - const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min)); - const stepSize = valueOrDefault(options.ticks.stepSize, 1); - const weekday = minor === 'week' ? timeOpts.isoWeekday : false; - const hasWeekday = isNumber(weekday) || weekday === true; - const ticks = {}; - let first = min; - let time, count; - if (hasWeekday) { - first = +adapter.startOf(first, 'isoWeek', weekday); - } - first = +adapter.startOf(first, hasWeekday ? 'day' : minor); - if (adapter.diff(max, min, minor) > 100000 * stepSize) { - throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor); - } - const timestamps = options.ticks.source === 'data' && this.getDataTimestamps(); - for(time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++){ - addTick(ticks, time, timestamps); - } - if (time === max || options.bounds === 'ticks' || count === 1) { - addTick(ticks, time, timestamps); - } - return Object.keys(ticks).sort(sorter).map((x)=>+x); - } - getLabelForValue(value) { - const adapter = this._adapter; - const timeOpts = this.options.time; - if (timeOpts.tooltipFormat) { - return adapter.format(value, timeOpts.tooltipFormat); - } - return adapter.format(value, timeOpts.displayFormats.datetime); - } - format(value, format) { - const options = this.options; - const formats = options.time.displayFormats; - const unit = this._unit; - const fmt = format || formats[unit]; - return this._adapter.format(value, fmt); - } - _tickFormatFunction(time, index, ticks, format) { - const options = this.options; - const formatter = options.ticks.callback; - if (formatter) { - return callback(formatter, [ - time, - index, - ticks - ], this); - } - const formats = options.time.displayFormats; - const unit = this._unit; - const majorUnit = this._majorUnit; - const minorFormat = unit && formats[unit]; - const majorFormat = majorUnit && formats[majorUnit]; - const tick = ticks[index]; - const major = majorUnit && majorFormat && tick && tick.major; - return this._adapter.format(time, format || (major ? majorFormat : minorFormat)); - } - generateTickLabels(ticks) { - let i, ilen, tick; - for(i = 0, ilen = ticks.length; i < ilen; ++i){ - tick = ticks[i]; - tick.label = this._tickFormatFunction(tick.value, i, ticks); - } - } - getDecimalForValue(value) { - return value === null ? NaN : (value - this.min) / (this.max - this.min); - } - getPixelForValue(value) { - const offsets = this._offsets; - const pos = this.getDecimalForValue(value); - return this.getPixelForDecimal((offsets.start + pos) * offsets.factor); - } - getValueForPixel(pixel) { - const offsets = this._offsets; - const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end; - return this.min + pos * (this.max - this.min); - } - _getLabelSize(label) { - const ticksOpts = this.options.ticks; - const tickLabelWidth = this.ctx.measureText(label).width; - const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation); - const cosRotation = Math.cos(angle); - const sinRotation = Math.sin(angle); - const tickFontSize = this._resolveTickFontOptions(0).size; - return { - w: tickLabelWidth * cosRotation + tickFontSize * sinRotation, - h: tickLabelWidth * sinRotation + tickFontSize * cosRotation - }; - } - _getLabelCapacity(exampleTime) { - const timeOpts = this.options.time; - const displayFormats = timeOpts.displayFormats; - const format = displayFormats[timeOpts.unit] || displayFormats.millisecond; - const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [ - exampleTime - ], this._majorUnit), format); - const size = this._getLabelSize(exampleLabel); - const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1; - return capacity > 0 ? capacity : 1; - } - getDataTimestamps() { - let timestamps = this._cache.data || []; - let i, ilen; - if (timestamps.length) { - return timestamps; - } - const metas = this.getMatchingVisibleMetas(); - if (this._normalized && metas.length) { - return this._cache.data = metas[0].controller.getAllParsedValues(this); - } - for(i = 0, ilen = metas.length; i < ilen; ++i){ - timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this)); - } - return this._cache.data = this.normalize(timestamps); - } - getLabelTimestamps() { - const timestamps = this._cache.labels || []; - let i, ilen; - if (timestamps.length) { - return timestamps; - } - const labels = this.getLabels(); - for(i = 0, ilen = labels.length; i < ilen; ++i){ - timestamps.push(parse(this, labels[i])); - } - return this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps); - } - normalize(values) { - return _arrayUnique(values.sort(sorter)); - } -} - -function chart_interpolate(table, val, reverse) { - let lo = 0; - let hi = table.length - 1; - let prevSource, nextSource, prevTarget, nextTarget; - if (reverse) { - if (val >= table[lo].pos && val <= table[hi].pos) { - ({ lo , hi } = _lookupByKey(table, 'pos', val)); - } - ({ pos: prevSource , time: prevTarget } = table[lo]); - ({ pos: nextSource , time: nextTarget } = table[hi]); - } else { - if (val >= table[lo].time && val <= table[hi].time) { - ({ lo , hi } = _lookupByKey(table, 'time', val)); - } - ({ time: prevSource , pos: prevTarget } = table[lo]); - ({ time: nextSource , pos: nextTarget } = table[hi]); - } - const span = nextSource - prevSource; - return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget; -} -class TimeSeriesScale extends TimeScale { - static id = 'timeseries'; - static defaults = TimeScale.defaults; - constructor(props){ - super(props); - this._table = []; - this._minPos = undefined; - this._tableRange = undefined; - } - initOffsets() { - const timestamps = this._getTimestampsForTable(); - const table = this._table = this.buildLookupTable(timestamps); - this._minPos = chart_interpolate(table, this.min); - this._tableRange = chart_interpolate(table, this.max) - this._minPos; - super.initOffsets(timestamps); - } - buildLookupTable(timestamps) { - const { min , max } = this; - const items = []; - const table = []; - let i, ilen, prev, curr, next; - for(i = 0, ilen = timestamps.length; i < ilen; ++i){ - curr = timestamps[i]; - if (curr >= min && curr <= max) { - items.push(curr); - } - } - if (items.length < 2) { - return [ - { - time: min, - pos: 0 - }, - { - time: max, - pos: 1 - } - ]; - } - for(i = 0, ilen = items.length; i < ilen; ++i){ - next = items[i + 1]; - prev = items[i - 1]; - curr = items[i]; - if (Math.round((next + prev) / 2) !== curr) { - table.push({ - time: curr, - pos: i / (ilen - 1) - }); - } - } - return table; - } - _generate() { - const min = this.min; - const max = this.max; - let timestamps = super.getDataTimestamps(); - if (!timestamps.includes(min) || !timestamps.length) { - timestamps.splice(0, 0, min); - } - if (!timestamps.includes(max) || timestamps.length === 1) { - timestamps.push(max); - } - return timestamps.sort((a, b)=>a - b); - } - _getTimestampsForTable() { - let timestamps = this._cache.all || []; - if (timestamps.length) { - return timestamps; - } - const data = this.getDataTimestamps(); - const label = this.getLabelTimestamps(); - if (data.length && label.length) { - timestamps = this.normalize(data.concat(label)); - } else { - timestamps = data.length ? data : label; - } - timestamps = this._cache.all = timestamps; - return timestamps; - } - getDecimalForValue(value) { - return (chart_interpolate(this._table, value) - this._minPos) / this._tableRange; - } - getValueForPixel(pixel) { - const offsets = this._offsets; - const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end; - return chart_interpolate(this._table, decimal * this._tableRange + this._minPos, true); - } -} - -var scales = /*#__PURE__*/Object.freeze({ -__proto__: null, -CategoryScale: CategoryScale, -LinearScale: LinearScale, -LogarithmicScale: LogarithmicScale, -RadialLinearScale: RadialLinearScale, -TimeScale: TimeScale, -TimeSeriesScale: TimeSeriesScale -}); - -const registerables = [ - controllers, - chart_elements, - plugins, - scales -]; - - -//# sourceMappingURL=chart.js.map - -;// ../assets/scripts/constants/colors.js -const COLORS = { - 'white': '#ffffff', - 'red-50': '#ffebee', - 'red-100': '#ffcdd2', - 'red-200': '#ef9a9a', - 'red-300': '#e57373', - 'red-400': '#ef5350', - 'red-500': '#f44336', - 'red-600': '#e53935', - 'red-700': '#d32f2f', - 'red-800': '#c62828', - 'red-900': '#b71c1c', - 'red-a100': '#ff8a80', - 'red-a200': '#ff5252', - 'red-a400': '#ff1744', - 'red-a700': '#d50000', - 'pink-50': '#fce4ec', - 'pink-100': '#f8bbd0', - 'pink-200': '#f48fb1', - 'pink-300': '#f06292', - 'pink-400': '#ec407a', - 'pink-500': '#e91e63', - 'pink-600': '#d81b60', - 'pink-700': '#c2185b', - 'pink-800': '#ad1457', - 'pink-900': '#880e4f', - 'pink-a100': '#ff80ab', - 'pink-a200': '#ff4081', - 'pink-a400': '#f50057', - 'pink-a700': '#c51162', - 'purple-50': '#f3e5f5', - 'purple-100': '#e1bee7', - 'purple-200': '#ce93d8', - 'purple-300': '#ba68c8', - 'purple-400': '#ab47bc', - 'purple-500': '#9c27b0', - 'purple-600': '#8e24aa', - 'purple-700': '#7b1fa2', - 'purple-800': '#6a1b9a', - 'purple-900': '#4a148c', - 'purple-a100': '#ea80fc', - 'purple-a200': '#e040fb', - 'purple-a400': '#d500f9', - 'purple-a700': '#aa00ff', - 'deep-purple-50': '#ede7f6', - 'deep-purple-100': '#d1c4e9', - 'deep-purple-200': '#b39ddb', - 'deep-purple-300': '#9575cd', - 'deep-purple-400': '#7e57c2', - 'deep-purple-500': '#673ab7', - 'deep-purple-600': '#5e35b1', - 'deep-purple-700': '#512da8', - 'deep-purple-800': '#4527a0', - 'deep-purple-900': '#311b92', - 'deep-purple-a100': '#b388ff', - 'deep-purple-a200': '#7c4dff', - 'deep-purple-a400': '#651fff', - 'deep-purple-a700': '#6200ea', - 'indigo-50': '#e8eaf6', - 'indigo-100': '#c5cae9', - 'indigo-200': '#9fa8da', - 'indigo-300': '#7986cb', - 'indigo-400': '#5c6bc0', - 'indigo-500': '#3f51b5', - 'indigo-600': '#3949ab', - 'indigo-700': '#303f9f', - 'indigo-800': '#283593', - 'indigo-900': '#1a237e', - 'indigo-a100': '#8c9eff', - 'indigo-a200': '#536dfe', - 'indigo-a400': '#3d5afe', - 'indigo-a700': '#304ffe', - 'blue-50': '#e3f2fd', - 'blue-100': '#bbdefb', - 'blue-200': '#90caf9', - 'blue-300': '#64b5f6', - 'blue-400': '#42a5f5', - 'blue-500': '#2196f3', - 'blue-600': '#1e88e5', - 'blue-700': '#1976d2', - 'blue-800': '#1565c0', - 'blue-900': '#0d47a1', - 'blue-a100': '#82b1ff', - 'blue-a200': '#448aff', - 'blue-a400': '#2979ff', - 'blue-a700': '#2962ff', - 'light-blue-50': '#e1f5fe', - 'light-blue-100': '#b3e5fc', - 'light-blue-200': '#81d4fa', - 'light-blue-300': '#4fc3f7', - 'light-blue-400': '#29b6f6', - 'light-blue-500': '#03a9f4', - 'light-blue-600': '#039be5', - 'light-blue-700': '#0288d1', - 'light-blue-800': '#0277bd', - 'light-blue-900': '#01579b', - 'light-blue-a100': '#80d8ff', - 'light-blue-a200': '#40c4ff', - 'light-blue-a400': '#00b0ff', - 'light-blue-a700': '#0091ea', - 'cyan-50': '#e0f7fa', - 'cyan-100': '#b2ebf2', - 'cyan-200': '#80deea', - 'cyan-300': '#4dd0e1', - 'cyan-400': '#26c6da', - 'cyan-500': '#00bcd4', - 'cyan-600': '#00acc1', - 'cyan-700': '#0097a7', - 'cyan-800': '#00838f', - 'cyan-900': '#006064', - 'cyan-a100': '#84ffff', - 'cyan-a200': '#18ffff', - 'cyan-a400': '#00e5ff', - 'cyan-a700': '#00b8d4', - 'teal-50': '#e0f2f1', - 'teal-100': '#b2dfdb', - 'teal-200': '#80cbc4', - 'teal-300': '#4db6ac', - 'teal-400': '#26a69a', - 'teal-500': '#009688', - 'teal-600': '#00897b', - 'teal-700': '#00796b', - 'teal-800': '#00695c', - 'teal-900': '#004d40', - 'teal-a100': '#a7ffeb', - 'teal-a200': '#64ffda', - 'teal-a400': '#1de9b6', - 'teal-a700': '#00bfa5', - 'green-50': '#e8f5e9', - 'green-100': '#c8e6c9', - 'green-200': '#a5d6a7', - 'green-300': '#81c784', - 'green-400': '#66bb6a', - 'green-500': '#4caf50', - 'green-600': '#43a047', - 'green-700': '#388e3c', - 'green-800': '#2e7d32', - 'green-900': '#1b5e20', - 'green-a100': '#b9f6ca', - 'green-a200': '#69f0ae', - 'green-a400': '#00e676', - 'green-a700': '#00c853', - 'light-green-50': '#f1f8e9', - 'light-green-100': '#dcedc8', - 'light-green-200': '#c5e1a5', - 'light-green-300': '#aed581', - 'light-green-400': '#9ccc65', - 'light-green-500': '#8bc34a', - 'light-green-600': '#7cb342', - 'light-green-700': '#689f38', - 'light-green-800': '#558b2f', - 'light-green-900': '#33691e', - 'light-green-a100': '#ccff90', - 'light-green-a200': '#b2ff59', - 'light-green-a400': '#76ff03', - 'light-green-a700': '#64dd17', - 'lime-50': '#f9fbe7', - 'lime-100': '#f0f4c3', - 'lime-200': '#e6ee9c', - 'lime-300': '#dce775', - 'lime-400': '#d4e157', - 'lime-500': '#cddc39', - 'lime-600': '#c0ca33', - 'lime-700': '#afb42b', - 'lime-800': '#9e9d24', - 'lime-900': '#827717', - 'lime-a100': '#f4ff81', - 'lime-a200': '#eeff41', - 'lime-a400': '#c6ff00', - 'lime-a700': '#aeea00', - 'yellow-50': '#fffde7', - 'yellow-100': '#fff9c4', - 'yellow-200': '#fff59d', - 'yellow-300': '#fff176', - 'yellow-400': '#ffee58', - 'yellow-500': '#ffeb3b', - 'yellow-600': '#fdd835', - 'yellow-700': '#fbc02d', - 'yellow-800': '#f9a825', - 'yellow-900': '#f57f17', - 'yellow-a100': '#ffff8d', - 'yellow-a200': '#ffff00', - 'yellow-a400': '#ffea00', - 'yellow-a700': '#ffd600', - 'amber-50': '#fff8e1', - 'amber-100': '#ffecb3', - 'amber-200': '#ffe082', - 'amber-300': '#ffd54f', - 'amber-400': '#ffca28', - 'amber-500': '#ffc107', - 'amber-600': '#ffb300', - 'amber-700': '#ffa000', - 'amber-800': '#ff8f00', - 'amber-900': '#ff6f00', - 'amber-a100': '#ffe57f', - 'amber-a200': '#ffd740', - 'amber-a400': '#ffc400', - 'amber-a700': '#ffab00', - 'orange-50': '#fff3e0', - 'orange-100': '#ffe0b2', - 'orange-200': '#ffcc80', - 'orange-300': '#ffb74d', - 'orange-400': '#ffa726', - 'orange-500': '#ff9800', - 'orange-600': '#fb8c00', - 'orange-700': '#f57c00', - 'orange-800': '#ef6c00', - 'orange-900': '#e65100', - 'orange-a100': '#ffd180', - 'orange-a200': '#ffab40', - 'orange-a400': '#ff9100', - 'orange-a700': '#ff6d00', - 'deep-orange-50': '#fbe9e7', - 'deep-orange-100': '#ffccbc', - 'deep-orange-200': '#ffab91', - 'deep-orange-300': '#ff8a65', - 'deep-orange-400': '#ff7043', - 'deep-orange-500': '#ff5722', - 'deep-orange-600': '#f4511e', - 'deep-orange-700': '#e64a19', - 'deep-orange-800': '#d84315', - 'deep-orange-900': '#bf360c', - 'deep-orange-a100': '#ff9e80', - 'deep-orange-a200': '#ff6e40', - 'deep-orange-a400': '#ff3d00', - 'deep-orange-a700': '#dd2c00', - 'brown-50': '#efebe9', - 'brown-100': '#d7ccc8', - 'brown-200': '#bcaaa4', - 'brown-300': '#a1887f', - 'brown-400': '#8d6e63', - 'brown-500': '#795548', - 'brown-600': '#6d4c41', - 'brown-700': '#5d4037', - 'brown-800': '#4e342e', - 'brown-900': '#3e2723', - 'grey-50': '#fafafa', - 'grey-100': '#f5f5f5', - 'grey-200': '#eeeeee', - 'grey-300': '#e0e0e0', - 'grey-400': '#bdbdbd', - 'grey-500': '#9e9e9e', - 'grey-600': '#757575', - 'grey-700': '#616161', - 'grey-800': '#424242', - 'grey-900': '#212121', - 'blue-grey-50': '#eceff1', - 'blue-grey-100': '#cfd8dc', - 'blue-grey-200': '#b0bec5', - 'blue-grey-300': '#90a4ae', - 'blue-grey-400': '#78909c', - 'blue-grey-500': '#607d8b', - 'blue-grey-600': '#546e7a', - 'blue-grey-700': '#455a64', - 'blue-grey-800': '#37474f', - 'blue-grey-900': '#263238' -}; -const GREYS = { - 'grey-100': '#f9fafb', - 'grey-200': '#f2f3f5', - 'grey-300': '#e6eaf0', - 'grey-400': '#d3d9e3', - 'grey-500': '#b9c2d0', - 'grey-600': '#7c8695', - 'grey-700': '#72777a', - 'grey-800': '#565a5c', - 'grey-900': '#313435' -}; - -;// ../assets/scripts/components/Chart.js -/** - * Modern Chart Component - * Replaces jQuery Sparkline with Chart.js - */ - - - - -// Register Chart.js components -chart_Chart.register(...registerables); -class ChartComponent { - constructor() { - this.charts = new Map(); // Store chart instances - this.debounceTimer = null; - this.init(); - } - init() { - // Only disable resizing for small sparkline charts - this.createSparklines(); - this.createOtherCharts(); - this.setupResizeHandler(); - } - - /** - * Create sparklines (only for dashboard page) - */ - createSparklines() { - // Only create sparklines if we're on a page that has them - const sparklineExists = document.getElementById('sparklinedash'); - if (!sparklineExists) { - return; - } - const sparklineConfigs = [{ - id: 'sparklinedash', - data: [0, 5, 6, 10, 9, 12, 4, 9], - color: '#4caf50' - }, { - id: 'sparklinedash2', - data: [0, 5, 6, 10, 9, 12, 4, 9], - color: '#9675ce' - }, { - id: 'sparklinedash3', - data: [0, 5, 6, 10, 9, 12, 4, 9], - color: '#03a9f3' - }, { - id: 'sparklinedash4', - data: [0, 5, 6, 10, 9, 12, 4, 9], - color: '#f96262' - }]; - sparklineConfigs.forEach(config => { - // Only create if the target element exists - if (document.getElementById(config.id)) { - this.createSparklineChart(config); - } - }); - } - - /** - * Create sparkline chart from configuration - */ - createSparklineChart(_ref) { - let { - id, - data, - color - } = _ref; - let canvas = document.getElementById(id); - - // Only proceed if we have a valid target element - if (!canvas) { - return; - } - - // If element exists but isn't a canvas, replace it with canvas - if (canvas.tagName !== 'CANVAS') { - const parent = canvas.parentNode; - if (!parent) { - return; - } - - // Create new canvas element - const newCanvas = document.createElement('canvas'); - newCanvas.id = id; - newCanvas.width = 100; - newCanvas.height = 20; - newCanvas.style.width = '100px'; - newCanvas.style.height = '20px'; - - // Replace the span with canvas - parent.replaceChild(newCanvas, canvas); - canvas = newCanvas; - } else { - // Set canvas dimensions to match original sparkline - canvas.width = 100; - canvas.height = 20; - canvas.style.width = '100px'; - canvas.style.height = '20px'; - } - const ctx = canvas.getContext('2d'); - const chart = new chart_Chart(ctx, { - type: 'bar', - data: { - labels: data.map((_, i) => i), - datasets: [{ - data, - backgroundColor: color, - borderColor: color, - borderWidth: 0, - barPercentage: 0.6, - categoryPercentage: 0.8 - }] - }, - options: { - responsive: false, - maintainAspectRatio: false, - animation: false, - events: [], - onResize: null, - scales: { - x: { - display: false - }, - y: { - display: false - } - }, - plugins: { - legend: { - display: false - }, - tooltip: { - enabled: false - } - }, - elements: { - bar: { - borderRadius: 1 - } - } - } - }); - this.charts.set(id, chart); - } - - /** - * Create other chart types (only if they exist on the page) - */ - createOtherCharts() { - // Determine if we're on the dashboard or charts page - const isChartsPage = document.getElementById('area-chart') !== null; - const isDashboard = !isChartsPage && document.getElementById('line-chart') !== null; - - // Create Monthly Stats chart with enhanced dual-line data (dashboard only) - if (isDashboard) { - this.createMonthlyStatsChart(); - } - - // Charts page specific charts (only on charts page) - if (isChartsPage) { - this.createChartsPageCharts(); - } - - // Only create charts if their target elements exist - if (document.getElementById('sparkline')) { - this.createLineChart('sparkline', [5, 6, 7, 9, 9, 5, 3, 2, 2, 4, 6, 7]); - } - if (document.getElementById('compositebar')) { - this.createCompositeChart('compositebar', [4, 1, 5, 7, 9, 9, 8, 7, 6, 6, 4, 7, 8, 4, 3, 2, 2, 5, 6, 7]); - } - - // Regular sparklines with custom colors (only on pages that have them) - this.createCustomSparklines(); - - // Easy Pie Charts (only if they exist) - this.createEasyPieCharts(); - } - - /** - * Create enhanced Monthly Stats chart with dual lines and more data - */ - createMonthlyStatsChart() { - const canvas = document.getElementById('line-chart'); - if (!canvas) return; - const ctx = canvas.getContext('2d'); - - // Enhanced data for monthly stats - const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; - const salesData = [120, 135, 145, 165, 180, 195, 210, 225, 240, 220, 200, 185]; - const profitData = [45, 52, 58, 62, 68, 75, 82, 88, 92, 85, 78, 72]; - const chart = new chart_Chart(ctx, { - type: 'line', - data: { - labels: months, - datasets: [{ - label: 'Sales ($K)', - data: salesData, - borderColor: '#4caf50', - backgroundColor: 'rgba(76, 175, 80, 0.1)', - borderWidth: 3, - pointRadius: 5, - pointHoverRadius: 7, - pointBackgroundColor: '#4caf50', - pointBorderColor: '#ffffff', - pointBorderWidth: 2, - tension: 0.4, - fill: false - }, { - label: 'Profit ($K)', - data: profitData, - borderColor: '#2196f3', - backgroundColor: 'rgba(33, 150, 243, 0.1)', - borderWidth: 3, - pointRadius: 5, - pointHoverRadius: 7, - pointBackgroundColor: '#2196f3', - pointBorderColor: '#ffffff', - pointBorderWidth: 2, - tension: 0.4, - fill: false - }] - }, - options: { - responsive: true, - maintainAspectRatio: false, - plugins: { - legend: { - display: true, - position: 'top', - labels: { - padding: 20, - font: { - size: 12, - weight: '600' - } - } - }, - tooltip: { - enabled: true, - cornerRadius: 8, - displayColors: true, - intersect: false, - mode: 'index', - callbacks: { - label(context) { - return `${context.dataset.label}: $${context.parsed.y}K`; - } - } - } - }, - scales: { - x: { - grid: { - display: false - }, - ticks: { - font: { - size: 11 - } - } - }, - y: { - beginAtZero: true, - grid: { - borderDash: [5, 5] - }, - ticks: { - font: { - size: 11 - }, - callback(value) { - return `$${value}K`; - } - } - } - }, - interaction: { - intersect: false, - mode: 'index' - } - } - }); - this.charts.set('line-chart', chart); - } - - /** - * Create line chart (only if target exists) - */ - createLineChart(id, data) { - let canvas = document.getElementById(id); - - // Only proceed if target element exists - if (!canvas) { - return; - } - - // If element exists but isn't a canvas, replace it with canvas - if (canvas.tagName !== 'CANVAS') { - const parent = canvas.parentNode; - if (!parent) { - return; - } - - // Create new canvas element - const newCanvas = document.createElement('canvas'); - newCanvas.id = id; - newCanvas.width = 100; - newCanvas.height = 20; - newCanvas.style.width = '100px'; - newCanvas.style.height = '20px'; - - // Replace element with canvas - parent.replaceChild(newCanvas, canvas); - canvas = newCanvas; - } else { - canvas.width = 100; - canvas.height = 20; - canvas.style.width = '100px'; - canvas.style.height = '20px'; - } - const ctx = canvas.getContext('2d'); - const chart = new chart_Chart(ctx, { - type: 'line', - data: { - labels: data.map((_, i) => i), - datasets: [{ - data, - borderColor: COLORS['blue-500'], - backgroundColor: 'transparent', - borderWidth: 1, - pointRadius: 0, - tension: 0.4 - }] - }, - options: { - responsive: false, - maintainAspectRatio: false, - animation: false, - events: [], - onResize: null, - scales: { - x: { - display: false - }, - y: { - display: false - } - }, - plugins: { - legend: { - display: false - }, - tooltip: { - enabled: false - } - } - } - }); - this.charts.set(id, chart); - } - - /** - * Create composite chart (only if target exists) - */ - createCompositeChart(id, data) { - let canvas = document.getElementById(id); - - // Only proceed if target element exists - if (!canvas) { - return; - } - - // If element exists but isn't a canvas, replace it with canvas - if (canvas.tagName !== 'CANVAS') { - const parent = canvas.parentNode; - if (!parent) { - return; - } - - // Create new canvas element - const newCanvas = document.createElement('canvas'); - newCanvas.id = id; - newCanvas.width = 100; - newCanvas.height = 20; - newCanvas.style.width = '100px'; - newCanvas.style.height = '20px'; - - // Replace element with canvas - parent.replaceChild(newCanvas, canvas); - canvas = newCanvas; - } else { - canvas.width = 100; - canvas.height = 20; - canvas.style.width = '100px'; - canvas.style.height = '20px'; - } - const ctx = canvas.getContext('2d'); - const chart = new chart_Chart(ctx, { - type: 'bar', - data: { - labels: data.map((_, i) => i), - datasets: [{ - type: 'bar', - data, - backgroundColor: '#aaf', - borderColor: '#aaf', - borderWidth: 0 - }, { - type: 'line', - data, - borderColor: 'red', - backgroundColor: 'transparent', - borderWidth: 1, - pointRadius: 0, - tension: 0.4 - }] - }, - options: { - responsive: false, - maintainAspectRatio: false, - animation: false, - events: [], - onResize: null, - scales: { - x: { - display: false - }, - y: { - display: false - } - }, - plugins: { - legend: { - display: false - }, - tooltip: { - enabled: false - } - } - } - }); - this.charts.set(id, chart); - } - - /** - * Create custom sparklines for different elements (only if they exist) - */ - createCustomSparklines() { - const sparklineElements = document.querySelectorAll('.sparkline'); - const sparkbarElements = document.querySelectorAll('.sparkbar'); - const sparktriElements = document.querySelectorAll('.sparktri'); - const sparkdiscElements = document.querySelectorAll('.sparkdisc'); - const sparkbullElements = document.querySelectorAll('.sparkbull'); - const sparkboxElements = document.querySelectorAll('.sparkbox'); - - // Only create if we have elements - if (sparklineElements.length === 0 && sparkbarElements.length === 0 && sparktriElements.length === 0 && sparkdiscElements.length === 0 && sparkbullElements.length === 0 && sparkboxElements.length === 0) { - return; - } - const values = [5, 4, 5, -2, 0, 3, -5, 6, 7, 9, 9, 5, -3, -2, 2, -4]; - const valuesAlt = [1, 1, 0, 1, -1, -1, 1, -1, 0, 0, 1, 1]; - sparklineElements.forEach((element, index) => { - this.createCustomLineChart(element, values, `sparkline-${index}`); - }); - sparkbarElements.forEach((element, index) => { - this.createCustomBarChart(element, values, `sparkbar-${index}`); - }); - sparktriElements.forEach((element, index) => { - this.createTristateChart(element, valuesAlt, `sparktri-${index}`); - }); - sparkdiscElements.forEach((element, index) => { - this.createDiscreteChart(element, values, `sparkdisc-${index}`); - }); - sparkbullElements.forEach((element, index) => { - this.createBulletChart(element, values, `sparkbull-${index}`); - }); - sparkboxElements.forEach((element, index) => { - this.createBoxChart(element, values, `sparkbox-${index}`); - }); - } - - /** - * Create custom line chart for sparkline elements - */ - createCustomLineChart(element, data, id) { - // Create canvas if it doesn't exist - let canvas = element.querySelector('canvas'); - if (!canvas) { - canvas = document.createElement('canvas'); - canvas.width = 100; - canvas.height = 20; - canvas.style.width = '100px'; - canvas.style.height = '20px'; - element.appendChild(canvas); - } - const ctx = canvas.getContext('2d'); - const chart = new chart_Chart(ctx, { - type: 'line', - data: { - labels: data.map((_, i) => i), - datasets: [{ - data, - borderColor: COLORS['red-500'], - backgroundColor: 'transparent', - borderWidth: 2, - pointRadius: 3, - pointBackgroundColor: COLORS['red-500'], - tension: 0.4 - }] - }, - options: { - responsive: false, - maintainAspectRatio: false, - animation: false, - // Disable animations to prevent resize triggers - events: [], - // Disable all events to prevent resize - onResize: null, - // Explicitly disable resize callback - scales: { - x: { - display: false - }, - y: { - display: false - } - }, - plugins: { - legend: { - display: false - }, - tooltip: { - enabled: false - } // Disable tooltip to prevent events - } - } - }); - this.charts.set(id, chart); - } - - /** - * Create custom bar chart for sparkbar elements - */ - createCustomBarChart(element, data, id) { - // Create canvas if it doesn't exist - let canvas = element.querySelector('canvas'); - if (!canvas) { - canvas = document.createElement('canvas'); - canvas.width = 100; - canvas.height = 20; - canvas.style.width = '100px'; - canvas.style.height = '20px'; - element.appendChild(canvas); - } - const ctx = canvas.getContext('2d'); - const chart = new chart_Chart(ctx, { - type: 'bar', - data: { - labels: data.map((_, i) => i), - datasets: [{ - data, - backgroundColor: data.map(val => val < 0 ? COLORS['deep-purple-500'] : '#39f'), - borderColor: data.map(val => val < 0 ? COLORS['deep-purple-500'] : '#39f'), - borderWidth: 1, - barPercentage: 0.8 - }] - }, - options: { - responsive: false, - maintainAspectRatio: false, - scales: { - x: { - display: false - }, - y: { - display: false - } - }, - plugins: { - legend: { - display: false - }, - tooltip: { - enabled: true, - callbacks: { - label: context => `${context.parsed.y}°Celsius` - } - } - } - } - }); - this.charts.set(id, chart); - } - - /** - * Setup resize handler for charts - */ - setupResizeHandler() { - // Setup responsive resize for large charts only - window.addEventListener('resize', () => { - this.debounceResize(); - }); - - // Listen for sidebar toggle events - window.addEventListener('sidebar:toggle', () => { - this.debounceResize(); - }); - } - - /** - * Debounced resize handler - */ - debounceResize() { - if (this.debounceTimer) { - clearTimeout(this.debounceTimer); - } - this.debounceTimer = setTimeout(() => { - this.redrawLargeChartsOnly(); - }, 150); - } - - /** - * Redraw only large charts, not sparklines - */ - redrawLargeChartsOnly() { - const largeChartIds = ['line-chart', 'area-chart', 'scatter-chart', 'bar-chart', 'doughnut-chart', 'polar-chart', 'radar-chart', 'mixed-chart', 'bubble-chart']; - largeChartIds.forEach(id => { - const chart = this.charts.get(id); - if (chart && chart.options.responsive) { - chart.resize(); - } - }); - } - - /** - * Redraw all charts (used sparingly) - */ - redrawCharts() { - this.charts.forEach(chart => { - if (chart.options.responsive) { - chart.resize(); - } - }); - } - - /** - * Update chart data - */ - updateChart(id, newData) { - const chart = this.charts.get(id); - if (chart) { - chart.data.datasets[0].data = newData; - chart.update(); - } - } - - /** - * Create charts for the charts.html page - */ - createChartsPageCharts() { - // Line Chart - this.createLargeChart('line-chart', 'line', { - labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], - datasets: [{ - label: 'Dataset 1', - data: [65, 59, 80, 81, 56, 55, 40], - borderColor: 'rgb(75, 192, 192)', - backgroundColor: 'rgba(75, 192, 192, 0.2)', - tension: 0.4 - }] - }); - - // Area Chart - this.createLargeChart('area-chart', 'line', { - labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], - datasets: [{ - label: 'Dataset 1', - data: [65, 59, 80, 81, 56, 55, 40], - borderColor: 'rgb(54, 162, 235)', - backgroundColor: 'rgba(54, 162, 235, 0.4)', - fill: true, - tension: 0.4 - }] - }); - - // Scatter Chart with more data points - this.createLargeChart('scatter-chart', 'scatter', { - datasets: [{ - label: 'Dataset 1', - data: [{ - x: -15, - y: 8 - }, { - x: -12, - y: 12 - }, { - x: -8, - y: 3 - }, { - x: -5, - y: 15 - }, { - x: -2, - y: 7 - }, { - x: 0, - y: 10 - }, { - x: 3, - y: 18 - }, { - x: 6, - y: 5 - }, { - x: 9, - y: 22 - }, { - x: 12, - y: 8 - }, { - x: 15, - y: 14 - }, { - x: 18, - y: 19 - }, { - x: -10, - y: 0 - }, { - x: 10, - y: 5 - }, { - x: 0.5, - y: 5.5 - }, { - x: 7, - y: 12 - }, { - x: -7, - y: 17 - }, { - x: 4, - y: 9 - }, { - x: 11, - y: 16 - }, { - x: -3, - y: 11 - }], - backgroundColor: 'rgba(255, 99, 132, 0.7)', - borderColor: 'rgb(255, 99, 132)', - borderWidth: 1 - }, { - label: 'Dataset 2', - data: [{ - x: -13, - y: 4 - }, { - x: -9, - y: 8 - }, { - x: -6, - y: 13 - }, { - x: -1, - y: 6 - }, { - x: 2, - y: 11 - }, { - x: 5, - y: 15 - }, { - x: 8, - y: 2 - }, { - x: 13, - y: 17 - }, { - x: 16, - y: 9 - }, { - x: -4, - y: 14 - }, { - x: 1, - y: 20 - }, { - x: 14, - y: 4 - }], - backgroundColor: 'rgba(54, 162, 235, 0.7)', - borderColor: 'rgb(54, 162, 235)', - borderWidth: 1 - }] - }); - - // Bar Chart - this.createLargeChart('bar-chart', 'bar', { - labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'], - datasets: [{ - label: '# of Votes', - data: [12, 19, 3, 5, 2, 3], - backgroundColor: ['rgba(255, 99, 132, 0.6)', 'rgba(54, 162, 235, 0.6)', 'rgba(255, 205, 86, 0.6)', 'rgba(75, 192, 192, 0.6)', 'rgba(153, 102, 255, 0.6)', 'rgba(255, 159, 64, 0.6)'], - borderColor: ['rgba(255, 99, 132, 1)', 'rgba(54, 162, 235, 1)', 'rgba(255, 205, 86, 1)', 'rgba(75, 192, 192, 1)', 'rgba(153, 102, 255, 1)', 'rgba(255, 159, 64, 1)'], - borderWidth: 1 - }] - }); - - // Doughnut Chart - this.createLargeChart('doughnut-chart', 'doughnut', { - labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'], - datasets: [{ - label: 'My First Dataset', - data: [300, 50, 100, 75, 120, 60], - backgroundColor: ['rgba(255, 99, 132, 0.8)', 'rgba(54, 162, 235, 0.8)', 'rgba(255, 205, 86, 0.8)', 'rgba(75, 192, 192, 0.8)', 'rgba(153, 102, 255, 0.8)', 'rgba(255, 159, 64, 0.8)'], - borderColor: ['rgba(255, 99, 132, 1)', 'rgba(54, 162, 235, 1)', 'rgba(255, 205, 86, 1)', 'rgba(75, 192, 192, 1)', 'rgba(153, 102, 255, 1)', 'rgba(255, 159, 64, 1)'], - borderWidth: 2, - hoverOffset: 10 - }] - }); - - // Polar Area Chart - this.createLargeChart('polar-chart', 'polarArea', { - labels: ['Red', 'Green', 'Yellow', 'Grey', 'Blue'], - datasets: [{ - label: 'My First Dataset', - data: [11, 16, 7, 3, 14], - backgroundColor: ['rgba(255, 99, 132, 0.7)', 'rgba(75, 192, 192, 0.7)', 'rgba(255, 205, 86, 0.7)', 'rgba(201, 203, 207, 0.7)', 'rgba(54, 162, 235, 0.7)'], - borderColor: ['rgb(255, 99, 132)', 'rgb(75, 192, 192)', 'rgb(255, 205, 86)', 'rgb(201, 203, 207)', 'rgb(54, 162, 235)'], - borderWidth: 2 - }] - }); - - // Radar Chart - this.createLargeChart('radar-chart', 'radar', { - labels: ['Speed', 'Reliability', 'Comfort', 'Safety', 'Efficiency', 'Innovation'], - datasets: [{ - label: 'Product A', - data: [65, 59, 90, 81, 56, 55], - fill: true, - backgroundColor: 'rgba(54, 162, 235, 0.2)', - borderColor: 'rgb(54, 162, 235)', - borderWidth: 2, - pointBackgroundColor: 'rgb(54, 162, 235)', - pointBorderColor: '#fff', - pointHoverBackgroundColor: '#fff', - pointHoverBorderColor: 'rgb(54, 162, 235)' - }, { - label: 'Product B', - data: [28, 48, 40, 95, 86, 27], - fill: true, - backgroundColor: 'rgba(255, 99, 132, 0.2)', - borderColor: 'rgb(255, 99, 132)', - borderWidth: 2, - pointBackgroundColor: 'rgb(255, 99, 132)', - pointBorderColor: '#fff', - pointHoverBackgroundColor: '#fff', - pointHoverBorderColor: 'rgb(255, 99, 132)' - }] - }); - - // Mixed Chart (Bar + Line) - this.createLargeChart('mixed-chart', 'bar', { - labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'], - datasets: [{ - type: 'bar', - label: 'Sales', - data: [12, 19, 3, 5, 2, 3], - backgroundColor: 'rgba(54, 162, 235, 0.7)', - borderColor: 'rgb(54, 162, 235)', - borderWidth: 1 - }, { - type: 'line', - label: 'Revenue', - data: [18, 25, 8, 15, 12, 18], - fill: false, - borderColor: 'rgb(255, 99, 132)', - backgroundColor: 'rgba(255, 99, 132, 0.2)', - borderWidth: 3, - tension: 0.4, - pointRadius: 5, - pointHoverRadius: 7 - }] - }); - - // Bubble Chart - this.createLargeChart('bubble-chart', 'bubble', { - datasets: [{ - label: 'First Dataset', - data: [{ - x: 20, - y: 30, - r: 15 - }, { - x: 40, - y: 10, - r: 10 - }, { - x: 30, - y: 40, - r: 20 - }, { - x: 50, - y: 35, - r: 12 - }, { - x: 10, - y: 50, - r: 8 - }, { - x: 60, - y: 20, - r: 18 - }, { - x: 25, - y: 25, - r: 14 - }], - backgroundColor: 'rgba(54, 162, 235, 0.6)', - borderColor: 'rgb(54, 162, 235)', - borderWidth: 2 - }, { - label: 'Second Dataset', - data: [{ - x: 15, - y: 45, - r: 12 - }, { - x: 35, - y: 15, - r: 16 - }, { - x: 45, - y: 25, - r: 9 - }, { - x: 55, - y: 45, - r: 14 - }, { - x: 25, - y: 35, - r: 11 - }], - backgroundColor: 'rgba(255, 99, 132, 0.6)', - borderColor: 'rgb(255, 99, 132)', - borderWidth: 2 - }] - }); - } - - /** - * Create large chart for charts page - */ - createLargeChart(id, type, data) { - const canvas = document.getElementById(id); - if (!canvas) return; - const ctx = canvas.getContext('2d'); - - // Define chart-specific options - const chartOptions = this.getChartOptions(type); - const chart = new chart_Chart(ctx, { - type, - data, - options: chartOptions - }); - this.charts.set(id, chart); - } - - /** - * Get chart-specific options based on chart type - */ - getChartOptions(type) { - const baseOptions = { - responsive: true, - maintainAspectRatio: false, - plugins: { - legend: { - display: true, - position: 'top', - labels: { - padding: 20, - font: { - size: 12, - weight: '600' - } - } - }, - tooltip: { - enabled: true, - cornerRadius: 8, - displayColors: true - } - } - }; - - // Chart type specific configurations - switch (type) { - case 'doughnut': - case 'pie': - return { - ...baseOptions, - plugins: { - ...baseOptions.plugins, - legend: { - ...baseOptions.plugins.legend, - position: 'right' - } - }, - interaction: { - intersect: false - } - }; - case 'polarArea': - return { - ...baseOptions, - scales: { - r: { - pointLabels: { - display: true, - centerPointLabels: true, - font: { - size: 10 - } - }, - grid: {} - } - } - }; - case 'radar': - return { - ...baseOptions, - scales: { - r: { - angleLines: { - display: true - }, - grid: {}, - pointLabels: { - font: { - size: 11 - } - }, - ticks: { - display: true, - font: { - size: 10 - } - } - } - } - }; - case 'bubble': - return { - ...baseOptions, - scales: { - x: { - type: 'linear', - position: 'bottom', - grid: { - borderDash: [5, 5] - }, - ticks: { - font: { - size: 11 - } - } - }, - y: { - beginAtZero: true, - grid: { - borderDash: [5, 5] - }, - ticks: { - font: { - size: 11 - } - } - } - }, - plugins: { - ...baseOptions.plugins, - tooltip: { - ...baseOptions.plugins.tooltip, - callbacks: { - label(context) { - return `${context.dataset.label}: (${context.parsed.x}, ${context.parsed.y}), Size: ${context.parsed._custom}`; - } - } - } - } - }; - case 'scatter': - return { - ...baseOptions, - scales: { - x: { - type: 'linear', - position: 'bottom', - grid: { - borderDash: [5, 5] - }, - ticks: { - font: { - size: 11 - } - } - }, - y: { - grid: { - borderDash: [5, 5] - }, - ticks: { - font: { - size: 11 - } - } - } - } - }; - default: - // For line, bar, area, mixed charts - return { - ...baseOptions, - scales: { - x: { - grid: { - borderDash: [5, 5] - }, - ticks: { - font: { - size: 11 - } - } - }, - y: { - beginAtZero: true, - grid: { - borderDash: [5, 5] - }, - ticks: { - font: { - size: 11 - } - } - } - } - }; - } - } - - /** - * Create tristate chart (for .sparktri elements) - */ - createTristateChart(element, data, id) { - let canvas = element.querySelector('canvas'); - if (!canvas) { - canvas = document.createElement('canvas'); - canvas.width = 100; - canvas.height = 20; - canvas.style.width = '100px'; - canvas.style.height = '20px'; - element.appendChild(canvas); - } - const ctx = canvas.getContext('2d'); - const chart = new chart_Chart(ctx, { - type: 'bar', - data: { - labels: data.map((_, i) => i), - datasets: [{ - data: data.map(val => Math.abs(val)), - backgroundColor: data.map(val => { - if (val > 0) return COLORS['light-blue-500']; - if (val < 0) return '#f90'; - return '#000'; - }), - borderColor: data.map(val => { - if (val > 0) return COLORS['light-blue-500']; - if (val < 0) return '#f90'; - return '#000'; - }), - borderWidth: 1, - barPercentage: 0.8 - }] - }, - options: { - responsive: false, - maintainAspectRatio: false, - scales: { - x: { - display: false - }, - y: { - display: false - } - }, - plugins: { - legend: { - display: false - }, - tooltip: { - enabled: true, - callbacks: { - label: context => `${context.parsed.y}°Celsius` - } - } - } - } - }); - this.charts.set(id, chart); - } - - /** - * Create discrete chart (for .sparkdisc elements) - */ - createDiscreteChart(element, data, id) { - let canvas = element.querySelector('canvas'); - if (!canvas) { - canvas = document.createElement('canvas'); - canvas.width = 100; - canvas.height = 20; - canvas.style.width = '100px'; - canvas.style.height = '20px'; - element.appendChild(canvas); - } - const ctx = canvas.getContext('2d'); - const chart = new chart_Chart(ctx, { - type: 'scatter', - data: { - datasets: [{ - data: data.map((val, index) => ({ - x: index, - y: val - })), - backgroundColor: '#9f0', - borderColor: '#9f0', - pointRadius: 2, - showLine: false - }] - }, - options: { - responsive: false, - maintainAspectRatio: false, - scales: { - x: { - display: false - }, - y: { - display: false - } - }, - plugins: { - legend: { - display: false - }, - tooltip: { - enabled: true, - callbacks: { - label: context => `${context.parsed.y}°Celsius` - } - } - } - } - }); - this.charts.set(id, chart); - } - - /** - * Create bullet chart (for .sparkbull elements) - */ - createBulletChart(element, data, id) { - let canvas = element.querySelector('canvas'); - if (!canvas) { - canvas = document.createElement('canvas'); - canvas.width = 100; - canvas.height = 20; - canvas.style.width = '100px'; - canvas.style.height = '20px'; - element.appendChild(canvas); - } - const ctx = canvas.getContext('2d'); - - // Simplified bullet chart as horizontal bar - const chart = new chart_Chart(ctx, { - type: 'bar', - data: { - labels: [''], - datasets: [{ - data: [Math.max(...data)], - backgroundColor: COLORS['amber-500'], - borderColor: COLORS['amber-500'], - borderWidth: 1, - barPercentage: 0.6 - }] - }, - options: { - responsive: false, - maintainAspectRatio: false, - indexAxis: 'y', - scales: { - x: { - display: false - }, - y: { - display: false - } - }, - plugins: { - legend: { - display: false - }, - tooltip: { - enabled: true, - callbacks: { - label: context => `${context.parsed.x}°Celsius` - } - } - } - } - }); - this.charts.set(id, chart); - } - - /** - * Create box chart (for .sparkbox elements) - */ - createBoxChart(element, data, id) { - let canvas = element.querySelector('canvas'); - if (!canvas) { - canvas = document.createElement('canvas'); - canvas.width = 100; - canvas.height = 20; - canvas.style.width = '100px'; - canvas.style.height = '20px'; - element.appendChild(canvas); - } - const ctx = canvas.getContext('2d'); - - // Box plot simplified as bar chart showing quartiles - const sortedData = [...data].sort((a, b) => a - b); - const q1 = sortedData[Math.floor(sortedData.length * 0.25)]; - const median = sortedData[Math.floor(sortedData.length * 0.5)]; - const q3 = sortedData[Math.floor(sortedData.length * 0.75)]; - const chart = new chart_Chart(ctx, { - type: 'bar', - data: { - labels: ['Q1', 'Med', 'Q3'], - datasets: [{ - data: [q1, median, q3], - backgroundColor: '#9f0', - borderColor: '#9f0', - borderWidth: 1, - barPercentage: 0.8 - }] - }, - options: { - responsive: false, - maintainAspectRatio: false, - scales: { - x: { - display: false - }, - y: { - display: false - } - }, - plugins: { - legend: { - display: false - }, - tooltip: { - enabled: true, - callbacks: { - label: context => `${context.parsed.y}°Celsius` - } - } - } - } - }); - this.charts.set(id, chart); - } - - /** - * Create Easy Pie Charts (replaces jQuery Easy Pie Chart) - */ - createEasyPieCharts() { - const easyPieElements = document.querySelectorAll('.easy-pie-chart'); - easyPieElements.forEach((element, index) => { - const size = parseInt(element.dataset.size) || 80; - const percent = parseInt(element.dataset.percent) || 0; - const barColor = element.dataset.barColor || '#f44336'; - - // Create canvas for the pie chart - let canvas = element.querySelector('canvas'); - if (!canvas) { - canvas = document.createElement('canvas'); - canvas.width = size; - canvas.height = size; - canvas.style.width = `${size}px`; - canvas.style.height = `${size}px`; - element.appendChild(canvas); - } - - // Create percentage display - const percentDisplay = element.querySelector('span'); - if (percentDisplay) { - percentDisplay.textContent = `${percent}%`; - percentDisplay.style.position = 'absolute'; - percentDisplay.style.top = '50%'; - percentDisplay.style.left = '50%'; - percentDisplay.style.transform = 'translate(-50%, -50%)'; - percentDisplay.style.fontSize = '14px'; - percentDisplay.style.fontWeight = 'bold'; - } - - // Set element position to relative for absolute positioning of text - element.style.position = 'relative'; - element.style.display = 'inline-block'; - const ctx = canvas.getContext('2d'); - const chart = new chart_Chart(ctx, { - type: 'doughnut', - data: { - datasets: [{ - data: [percent, 100 - percent], - backgroundColor: [barColor, '#f0f0f0'], - borderWidth: 0, - cutout: '70%' - }] - }, - options: { - responsive: false, - maintainAspectRatio: false, - plugins: { - legend: { - display: false - }, - tooltip: { - enabled: false - } - } - } - }); - this.charts.set(`easy-pie-${index}`, chart); - }); - } - - /** - * Destroy all charts - */ - destroy() { - this.charts.forEach(chart => { - chart.destroy(); - }); - this.charts.clear(); - if (this.debounceTimer) { - clearTimeout(this.debounceTimer); - } - } -} -/* harmony default export */ const components_Chart = (ChartComponent); -;// ../../node_modules/preact/dist/preact.module.js -var n,l,u,i,t,r,o,f,e,c={},s=[],a=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function h(n,l){for(var u in l)n[u]=l[u];return n}function v(n){var l=n.parentNode;l&&l.removeChild(n)}function y(l,u,i){var t,r,o,f={};for(o in u)"key"==o?t=u[o]:"ref"==o?r=u[o]:f[o]=u[o];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),"function"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===f[o]&&(f[o]=l.defaultProps[o]);return p(l,f,t,r,null)}function p(n,i,t,r,o){var f={type:n,props:i,key:t,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++u:o};return null==o&&null!=l.vnode&&l.vnode(f),f}function d(){return{current:null}}function _(n){return n.children}function k(n,l,u,i,t){var r;for(r in u)"children"===r||"key"===r||r in l||g(n,r,null,u[r],i);for(r in l)t&&"function"!=typeof l[r]||"children"===r||"key"===r||"value"===r||"checked"===r||u[r]===l[r]||g(n,r,l[r],u[r],i)}function b(n,l,u){"-"===l[0]?n.setProperty(l,null==u?"":u):n[l]=null==u?"":"number"!=typeof u||a.test(l)?u:u+"px"}function g(n,l,u,i,t){var r;n:if("style"===l)if("string"==typeof u)n.style.cssText=u;else{if("string"==typeof i&&(n.style.cssText=i=""),i)for(l in i)u&&l in u||b(n.style,l,"");if(u)for(l in u)i&&u[l]===i[l]||b(n.style,l,u[l])}else if("o"===l[0]&&"n"===l[1])r=l!==(l=l.replace(/Capture$/,"")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=u,u?i||n.addEventListener(l,r?w:m,r):n.removeEventListener(l,r?w:m,r);else if("dangerouslySetInnerHTML"!==l){if(t)l=l.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!==l&&"height"!==l&&"href"!==l&&"list"!==l&&"form"!==l&&"tabIndex"!==l&&"download"!==l&&l in n)try{n[l]=null==u?"":u;break n}catch(n){}"function"==typeof u||(null==u||!1===u&&-1==l.indexOf("-")?n.removeAttribute(l):n.setAttribute(l,u))}}function m(n){t=!0;try{return this.l[n.type+!1](l.event?l.event(n):n)}finally{t=!1}}function w(n){t=!0;try{return this.l[n.type+!0](l.event?l.event(n):n)}finally{t=!1}}function x(n,l){this.props=n,this.context=l}function A(n,l){if(null==l)return n.__?A(n.__,n.__.__k.indexOf(n)+1):null;for(var u;ll&&r.sort(function(n,l){return n.__v.__b-l.__v.__b}));$.__r=0}function H(n,l,u,i,t,r,o,f,e,a){var h,v,y,d,k,b,g,m=i&&i.__k||s,w=m.length;for(u.__k=[],h=0;h0?p(d.type,d.props,d.key,d.ref?d.ref:null,d.__v):d)){if(d.__=u,d.__b=u.__b+1,null===(y=m[h])||y&&d.key==y.key&&d.type===y.type)m[h]=void 0;else for(v=0;v=0;l--)if((u=n.__k[l])&&(i=L(u)))return i;return null}function M(n,u,i,t,r,o,f,e,c){var s,a,v,y,p,d,k,b,g,m,w,A,P,C,T,$=u.type;if(void 0!==u.constructor)return null;null!=i.__h&&(c=i.__h,e=u.__e=i.__e,u.__h=null,o=[e]),(s=l.__b)&&s(u);try{n:if("function"==typeof $){if(b=u.props,g=(s=$.contextType)&&t[s.__c],m=s?g?g.props.value:s.__:t,i.__c?k=(a=u.__c=i.__c).__=a.__E:("prototype"in $&&$.prototype.render?u.__c=a=new $(b,m):(u.__c=a=new x(b,m),a.constructor=$,a.render=B),g&&g.sub(a),a.props=b,a.state||(a.state={}),a.context=m,a.__n=t,v=a.__d=!0,a.__h=[],a._sb=[]),null==a.__s&&(a.__s=a.state),null!=$.getDerivedStateFromProps&&(a.__s==a.state&&(a.__s=h({},a.__s)),h(a.__s,$.getDerivedStateFromProps(b,a.__s))),y=a.props,p=a.state,a.__v=u,v)null==$.getDerivedStateFromProps&&null!=a.componentWillMount&&a.componentWillMount(),null!=a.componentDidMount&&a.__h.push(a.componentDidMount);else{if(null==$.getDerivedStateFromProps&&b!==y&&null!=a.componentWillReceiveProps&&a.componentWillReceiveProps(b,m),!a.__e&&null!=a.shouldComponentUpdate&&!1===a.shouldComponentUpdate(b,a.__s,m)||u.__v===i.__v){for(u.__v!==i.__v&&(a.props=b,a.state=a.__s,a.__d=!1),u.__e=i.__e,u.__k=i.__k,u.__k.forEach(function(n){n&&(n.__=u)}),w=0;w2&&(f.children=arguments.length>3?n.call(arguments,2):i),p(l.type,f,t||l.key,r||l.ref,null)}function G(n,l){var u={__c:l="__cC"+e++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,i;return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,T(n)})},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=s.slice,l={__e:function(n,l,u,i){for(var t,r,o;l=l.__;)if((t=l.__c)&&!t.__)try{if((r=t.constructor)&&null!=r.getDerivedStateFromError&&(t.setState(r.getDerivedStateFromError(n)),o=t.__d),null!=t.componentDidCatch&&(t.componentDidCatch(n,i||{}),o=t.__d),o)return t.__E=t}catch(l){n=l}throw n}},u=0,i=function(n){return null!=n&&void 0===n.constructor},t=!1,x.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=h({},this.state),"function"==typeof n&&(n=n(h({},u),this.props)),n&&h(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),T(this))},x.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),T(this))},x.prototype.render=_,r=[],f="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,$.__r=0,e=0; -//# sourceMappingURL=preact.module.js.map - -;// ../../node_modules/preact/hooks/dist/hooks.module.js -var hooks_module_t,hooks_module_r,hooks_module_u,hooks_module_i,hooks_module_o=0,hooks_module_f=[],hooks_module_c=[],hooks_module_e=l.__b,hooks_module_a=l.__r,hooks_module_v=l.diffed,hooks_module_l=l.__c,hooks_module_m=l.unmount;function hooks_module_d(t,u){l.__h&&l.__h(hooks_module_r,t,hooks_module_o||u),hooks_module_o=0;var i=hooks_module_r.__H||(hooks_module_r.__H={__:[],__h:[]});return t>=i.__.length&&i.__.push({__V:hooks_module_c}),i.__[t]}function hooks_module_p(n){return hooks_module_o=1,hooks_module_y(hooks_module_B,n)}function hooks_module_y(n,u,i){var o=hooks_module_d(hooks_module_t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):hooks_module_B(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=hooks_module_r,!hooks_module_r.u)){hooks_module_r.u=!0;var f=hooks_module_r.shouldComponentUpdate;hooks_module_r.shouldComponentUpdate=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return n.__c});if(u.every(function(n){return!n.__N}))return!f||f.call(this,n,t,r);var i=!1;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),!(!i&&o.__c.props===n)&&(!f||f.call(this,n,t,r))}}return o.__N||o.__}function hooks_module_h(u,i){var o=hooks_module_d(hooks_module_t++,3);!l.__s&&hooks_module_z(o.__H,i)&&(o.__=u,o.i=i,hooks_module_r.__H.__h.push(o))}function hooks_module_s(u,i){var o=hooks_module_d(hooks_module_t++,4);!l.__s&&hooks_module_z(o.__H,i)&&(o.__=u,o.i=i,hooks_module_r.__h.push(o))}function hooks_module_(n){return hooks_module_o=5,hooks_module_F(function(){return{current:n}},[])}function hooks_module_A(n,t,r){hooks_module_o=6,hooks_module_s(function(){return"function"==typeof n?(n(t()),function(){return n(null)}):n?(n.current=t(),function(){return n.current=null}):void 0},null==r?r:r.concat(n))}function hooks_module_F(n,r){var u=hooks_module_d(hooks_module_t++,7);return hooks_module_z(u.__H,r)?(u.__V=n(),u.i=r,u.__h=n,u.__V):u.__}function hooks_module_T(n,t){return hooks_module_o=8,hooks_module_F(function(){return n},t)}function hooks_module_q(n){var u=hooks_module_r.context[n.__c],i=hooks_module_d(hooks_module_t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(hooks_module_r)),u.props.value):n.__}function hooks_module_x(t,r){l.useDebugValue&&l.useDebugValue(r?r(t):t)}function hooks_module_P(n){var u=hooks_module_d(hooks_module_t++,10),i=hooks_module_p();return u.__=n,hooks_module_r.componentDidCatch||(hooks_module_r.componentDidCatch=function(n,t){u.__&&u.__(n,t),i[1](n)}),[i[0],function(){i[1](void 0)}]}function V(){var n=hooks_module_d(hooks_module_t++,11);if(!n.__){for(var u=hooks_module_r.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;var i=u.__m||(u.__m=[0,0]);n.__="P"+i[0]+"-"+i[1]++}return n.__}function hooks_module_b(){for(var t;t=hooks_module_f.shift();)if(t.__P&&t.__H)try{t.__H.__h.forEach(hooks_module_k),t.__H.__h.forEach(hooks_module_w),t.__H.__h=[]}catch(r){t.__H.__h=[],l.__e(r,t.__v)}}l.__b=function(n){hooks_module_r=null,hooks_module_e&&hooks_module_e(n)},l.__r=function(n){hooks_module_a&&hooks_module_a(n),hooks_module_t=0;var i=(hooks_module_r=n.__c).__H;i&&(hooks_module_u===hooks_module_r?(i.__h=[],hooks_module_r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.__V=hooks_module_c,n.__N=n.i=void 0})):(i.__h.forEach(hooks_module_k),i.__h.forEach(hooks_module_w),i.__h=[])),hooks_module_u=hooks_module_r},l.diffed=function(t){hooks_module_v&&hooks_module_v(t);var o=t.__c;o&&o.__H&&(o.__H.__h.length&&(1!==hooks_module_f.push(o)&&hooks_module_i===l.requestAnimationFrame||((hooks_module_i=l.requestAnimationFrame)||hooks_module_j)(hooks_module_b)),o.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.__V!==hooks_module_c&&(n.__=n.__V),n.i=void 0,n.__V=hooks_module_c})),hooks_module_u=hooks_module_r=null},l.__c=function(t,r){r.some(function(t){try{t.__h.forEach(hooks_module_k),t.__h=t.__h.filter(function(n){return!n.__||hooks_module_w(n)})}catch(u){r.some(function(n){n.__h&&(n.__h=[])}),r=[],l.__e(u,t.__v)}}),hooks_module_l&&hooks_module_l(t,r)},l.unmount=function(t){hooks_module_m&&hooks_module_m(t);var r,u=t.__c;u&&u.__H&&(u.__H.__.forEach(function(n){try{hooks_module_k(n)}catch(n){r=n}}),u.__H=void 0,r&&l.__e(r,u.__v))};var hooks_module_g="function"==typeof requestAnimationFrame;function hooks_module_j(n){var t,r=function(){clearTimeout(u),hooks_module_g&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,100);hooks_module_g&&(t=requestAnimationFrame(r))}function hooks_module_k(n){var t=hooks_module_r,u=n.__c;"function"==typeof u&&(n.__c=void 0,u()),hooks_module_r=t}function hooks_module_w(n){var t=hooks_module_r;n.__c=n.__(),hooks_module_r=t}function hooks_module_z(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function hooks_module_B(n,t){return"function"==typeof t?t(n):t} -//# sourceMappingURL=hooks.module.js.map - -;// ../../node_modules/preact/compat/dist/compat.module.js -function compat_module_g(n,t){for(var e in t)n[e]=t[e];return n}function compat_module_C(n,t){for(var e in n)if("__source"!==e&&!(e in t))return!0;for(var r in t)if("__source"!==r&&n[r]!==t[r])return!0;return!1}function compat_module_E(n,t){return n===t&&(0!==n||1/n==1/t)||n!=n&&t!=t}function compat_module_w(n){this.props=n}function R(n,e){function r(n){var t=this.props.ref,r=t==n.ref;return!r&&t&&(t.call?t(null):t.current=null),e?!e(this.props,n)||!r:compat_module_C(this.props,n)}function u(e){return this.shouldComponentUpdate=r,y(n,e)}return u.displayName="Memo("+(n.displayName||n.name)+")",u.prototype.isReactComponent=!0,u.__f=!0,u}(compat_module_w.prototype=new x).isPureReactComponent=!0,compat_module_w.prototype.shouldComponentUpdate=function(n,t){return compat_module_C(this.props,n)||compat_module_C(this.state,t)};var compat_module_x=l.__b;l.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),compat_module_x&&compat_module_x(n)};var compat_module_N="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function compat_module_k(n){function t(t){var e=compat_module_g({},t);return delete e.ref,n(e,t.ref||null)}return t.$$typeof=compat_module_N,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(n.displayName||n.name)+")",t}var compat_module_A=function(n,t){return null==n?null:j(j(n).map(t))},compat_module_O={map:compat_module_A,forEach:compat_module_A,count:function(n){return n?j(n).length:0},only:function(n){var t=j(n);if(1!==t.length)throw"Children.only";return t[0]},toArray:j},compat_module_T=l.__e;l.__e=function(n,t,e,r){if(n.then)for(var u,o=t;o=o.__;)if((u=o.__c)&&u.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),u.__c(n,t);compat_module_T(n,t,e,r)};var compat_module_I=l.unmount;function compat_module_L(n,t,e){return n&&(n.__c&&n.__c.__H&&(n.__c.__H.__.forEach(function(n){"function"==typeof n.__c&&n.__c()}),n.__c.__H=null),null!=(n=compat_module_g({},n)).__c&&(n.__c.__P===e&&(n.__c.__P=t),n.__c=null),n.__k=n.__k&&n.__k.map(function(n){return compat_module_L(n,t,e)})),n}function U(n,t,e){return n&&(n.__v=null,n.__k=n.__k&&n.__k.map(function(n){return U(n,t,e)}),n.__c&&n.__c.__P===t&&(n.__e&&e.insertBefore(n.__e,n.__d),n.__c.__e=!0,n.__c.__P=e)),n}function compat_module_D(){this.__u=0,this.t=null,this.__b=null}function compat_module_F(n){var t=n.__.__c;return t&&t.__a&&t.__a(n)}function compat_module_M(n){var e,r,u;function o(o){if(e||(e=n()).then(function(n){r=n.default||n},function(n){u=n}),u)throw u;if(!r)throw e;return y(r,o)}return o.displayName="Lazy",o.__f=!0,o}function compat_module_V(){this.u=null,this.o=null}l.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&!0===n.__h&&(n.type=null),compat_module_I&&compat_module_I(n)},(compat_module_D.prototype=new x).__c=function(n,t){var e=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(e);var u=compat_module_F(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(l):l())};e.__R=i;var l=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=U(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate()}},c=!0===t.__h;r.__u++||c||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i)},compat_module_D.prototype.componentWillUnmount=function(){this.t=[]},compat_module_D.prototype.render=function(n,e){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=compat_module_L(this.__b,r,o.__O=o.__P)}this.__b=null}var i=e.__a&&y(_,null,n.fallback);return i&&(i.__h=null),[y(_,null,e.__a?null:n.children),i]};var W=function(n,t,e){if(++e[1]===e[0]&&n.o.delete(t),n.props.revealOrder&&("t"!==n.props.revealOrder[0]||!n.o.size))for(e=n.u;e;){for(;e.length>3;)e.pop()();if(e[1]>>1,1),e.i.removeChild(n)}}),D(y(compat_module_P,{context:e.context},n.__v),e.l)):e.l&&e.componentWillUnmount()}function compat_module_j(n,e){var r=y(compat_module_$,{__v:n,i:e});return r.containerInfo=e,r}(compat_module_V.prototype=new x).__a=function(n){var t=this,e=compat_module_F(t.__v),r=t.o.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),W(t,n,r)):u()};e?e(o):o()}},compat_module_V.prototype.render=function(n){this.u=null,this.o=new Map;var t=j(n.children);n.revealOrder&&"b"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.o.set(t[e],this.u=[1,0,this.u]);return n.children},compat_module_V.prototype.componentDidUpdate=compat_module_V.prototype.componentDidMount=function(){var n=this;this.o.forEach(function(t,e){W(n,e,t)})};var compat_module_z="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,compat_module_B=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,compat_module_H="undefined"!=typeof document,Z=function(n){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(n)};function Y(n,t,e){return null==t.__k&&(t.textContent=""),D(n,t),"function"==typeof e&&e(),n?n.__c:null}function compat_module_q(n,t,e){return E(n,t),"function"==typeof e&&e(),n?n.__c:null}x.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(x.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(n){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:n})}})});var compat_module_G=l.event;function J(){}function K(){return this.cancelBubble}function Q(){return this.defaultPrevented}l.event=function(n){return compat_module_G&&(n=compat_module_G(n)),n.persist=J,n.isPropagationStopped=K,n.isDefaultPrevented=Q,n.nativeEvent=n};var X,nn={configurable:!0,get:function(){return this.class}},tn=l.vnode;l.vnode=function(n){var t=n.type,e=n.props,u=e;if("string"==typeof t){var o=-1===t.indexOf("-");for(var i in u={},e){var l=e[i];compat_module_H&&"children"===i&&"noscript"===t||"value"===i&&"defaultValue"in e&&null==l||("defaultValue"===i&&"value"in e&&null==e.value?i="value":"download"===i&&!0===l?l="":/ondoubleclick/i.test(i)?i="ondblclick":/^onchange(textarea|input)/i.test(i+t)&&!Z(e.type)?i="oninput":/^onfocus$/i.test(i)?i="onfocusin":/^onblur$/i.test(i)?i="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(i)?i=i.toLowerCase():o&&compat_module_B.test(i)?i=i.replace(/[A-Z0-9]/g,"-$&").toLowerCase():null===l&&(l=void 0),/^oninput$/i.test(i)&&(i=i.toLowerCase(),u[i]&&(i="oninputCapture")),u[i]=l)}"select"==t&&u.multiple&&Array.isArray(u.value)&&(u.value=j(e.children).forEach(function(n){n.props.selected=-1!=u.value.indexOf(n.props.value)})),"select"==t&&null!=u.defaultValue&&(u.value=j(e.children).forEach(function(n){n.props.selected=u.multiple?-1!=u.defaultValue.indexOf(n.props.value):u.defaultValue==n.props.value})),n.props=u,e.class!=e.className&&(nn.enumerable="className"in e,null!=e.className&&(u.class=e.className),Object.defineProperty(u,"className",nn))}n.$$typeof=compat_module_z,tn&&tn(n)};var en=l.__r;l.__r=function(n){en&&en(n),X=n.__c};var rn={ReactCurrentDispatcher:{current:{readContext:function(n){return X.__n[n.__c].props.value}}}},un="17.0.2";function on(n){return y.bind(null,n)}function ln(n){return!!n&&n.$$typeof===compat_module_z}function cn(n){return ln(n)?F.apply(null,arguments):n}function fn(n){return!!n.__k&&(D(null,n),!0)}function an(n){return n&&(n.base||1===n.nodeType&&n)||null}var sn=function(n,t){return n(t)},hn=function(n,t){return n(t)},vn=_;function dn(n){n()}function pn(n){return n}function mn(){return[!1,dn]}var yn=hooks_module_s;function _n(n,t){var e=t(),r=hooks_module_p({h:{__:e,v:t}}),u=r[0].h,o=r[1];return hooks_module_s(function(){u.__=e,u.v=t,compat_module_E(u.__,t())||o({h:u})},[n,e,t]),hooks_module_h(function(){return compat_module_E(u.__,u.v())||o({h:u}),n(function(){compat_module_E(u.__,u.v())||o({h:u})})},[n]),e}var bn={useState:hooks_module_p,useId:V,useReducer:hooks_module_y,useEffect:hooks_module_h,useLayoutEffect:hooks_module_s,useInsertionEffect:yn,useTransition:mn,useDeferredValue:pn,useSyncExternalStore:_n,startTransition:dn,useRef:hooks_module_,useImperativeHandle:hooks_module_A,useMemo:hooks_module_F,useCallback:hooks_module_T,useContext:hooks_module_q,useDebugValue:hooks_module_x,version:"17.0.2",Children:compat_module_O,render:Y,hydrate:compat_module_q,unmountComponentAtNode:fn,createPortal:compat_module_j,createElement:y,createContext:G,createFactory:on,cloneElement:cn,createRef:d,Fragment:_,isValidElement:ln,findDOMNode:an,Component:x,PureComponent:compat_module_w,memo:R,forwardRef:compat_module_k,flushSync:hn,unstable_batchedUpdates:sn,StrictMode:vn,Suspense:compat_module_D,SuspenseList:compat_module_V,lazy:compat_module_M,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:rn}; -//# sourceMappingURL=compat.module.js.map - -;// ../../node_modules/@fullcalendar/core/internal-common.js - - - - -const styleTexts = []; -const styleEls = new Map(); -function injectStyles(styleText) { - styleTexts.push(styleText); - styleEls.forEach((styleEl) => { - appendStylesTo(styleEl, styleText); - }); -} -function ensureElHasStyles(el) { - if (el.isConnected && // sometimes true if SSR system simulates DOM - el.getRootNode // sometimes undefined if SSR system simulates DOM - ) { - registerStylesRoot(el.getRootNode()); - } -} -function registerStylesRoot(rootNode) { - let styleEl = styleEls.get(rootNode); - if (!styleEl || !styleEl.isConnected) { - styleEl = rootNode.querySelector('style[data-fullcalendar]'); - if (!styleEl) { - styleEl = document.createElement('style'); - styleEl.setAttribute('data-fullcalendar', ''); - const nonce = getNonceValue(); - if (nonce) { - styleEl.nonce = nonce; - } - const parentEl = rootNode === document ? document.head : rootNode; - const insertBefore = rootNode === document - ? parentEl.querySelector('script,link[rel=stylesheet],link[as=style],style') - : parentEl.firstChild; - parentEl.insertBefore(styleEl, insertBefore); - } - styleEls.set(rootNode, styleEl); - hydrateStylesRoot(styleEl); - } -} -function hydrateStylesRoot(styleEl) { - for (const styleText of styleTexts) { - appendStylesTo(styleEl, styleText); - } -} -function appendStylesTo(styleEl, styleText) { - const { sheet } = styleEl; - const ruleCnt = sheet.cssRules.length; - styleText.split('}').forEach((styleStr, i) => { - styleStr = styleStr.trim(); - if (styleStr) { - sheet.insertRule(styleStr + '}', ruleCnt + i); - } - }); -} -// nonce -// ------------------------------------------------------------------------------------------------- -let queriedNonceValue; -function getNonceValue() { - if (queriedNonceValue === undefined) { - queriedNonceValue = queryNonceValue(); - } - return queriedNonceValue; -} -/* -TODO: discourage meta tag and instead put nonce attribute on placeholder - - - - - - - - - - - - - -
-
-
- - - - - -
- - - - - -
- - diff --git a/public/adminator-erp-theme-two-pages-split-files/eda8b94308c6f538f04a.ttf b/public/adminator-erp-theme-two-pages-split-files/eda8b94308c6f538f04a.ttf deleted file mode 100644 index 5d627e701e86da4dde4cbb072995979de86a3db9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78584 zcmcG%37i~dnLl1nRoBsH^;KOxSM~Jt^mLNBr>CcrnVv}kMu%(R%HQDcybG>8|LW#5zWcBwQ7g_j zU2^`lS7RT?`F8A$ORku{c>3Y9euML?B`R&+e$n|CN|*l2?<88bANNPLkE}{9e3c)zw#BdmY+|!=WGWeMylex=T`VVG~`9D;pa7Ur9~UdvLz=M`-rp zzcrHd^K)X>9p!S_()ju@6ZG?&0-P`_Iok^t(fca7~ih z|5Xylbm*tefyNW!1~w!SN|~Y-?;7f^t`e_YeD9lGOC5RzFFhz_QDMQ>OID#mB`Q?P zrK(*iTUA>xTe5V)dTV{o{bq*NULX#S%dESAj>p9dE^xnL(b}9iT$ed6C*ga>5B&%I zl>S+=q%LV(+AK+_j+op=X-BplWsK~EUZ^HYg^oUXoQ5alF~X~cCgjR+pIoR6IkJ_G z$%QI!4!?XwI1$n1fT}2l5mYOmdthYmyVfe2s*s{<$KG7i!iK6EVJ(tL1cQl8WIC1a zX-eg@rkTyBntJjn>QzH#aIG3N3`Nlt`E&H*UtQqd_f93C1=f!6$l)5I znRuwy)SXW`v8H^It8%zb9>qfkMZay49s%U_DW%GUQsw{DN2MB#bXB@0F3xMLM7#R+9KRZz5FMpb>vpk3-3?iv=|Q_XNiO4S}g z|Fu$#@QmFmYnEOfNXJNzDOL#^lPs=KMXQ|Q4J*`;p(z1fQ)T=D0m2Ul_#;wNt(}%( zrlW>}t0^mpOB#Q@s%Zg5M+bIqtT-e~ZhIg%xVjkCR3m68a*$+&pCF3!4!x)awSY_k zJrdM|O?C=zk#SC>#JH5KP#8m{8>$xToEXRj+%*YjWly`-9f-x^nt}>+Jsysrd3qqA zMT0?%gQ2TYJBB97YACFeB9me^HOE3cM2ZrLBy0- zk+7_tswmlfcLtM5k!pv2Li_1C$(A-q=Sfl#(5YLcN}o~z1oO~XRR&wVs5PM4E;2l0 zqB2ov*50jR{dzCzNp_M-FI;qo6k#ei{6B8Z;7Li+q#XL=$MiL+ zByE%4DqSL7A-xUr8~~rO^*#Wpi9d&IhbAz)V+v39QlC5md}3pc3<3Trt#P3a%n%wL zSxo?9O7pxZ0~f5ubHjY6L({9}O2NWoCB4d9yM*nU716@7<;i%|X>AIw2&!r#8f|XQ zhV5V~oeArvY3fPa&?BP(D-dpNYYFpjGThSEDvsJSxwvV@^<*j?3Z+v?W73Sr&3I{9 z$^72i-yRz?$4q0Od7$|t=1hDStvflzbu|T5Egn5N#;*iW#iHqu8B*ndu12^mTliJ{ zYsE_@7mnJk_ITIwl4*pEKmeObvxGB#UCwcqbu@Q0|KK$9G_${XOY;^`o=Xq8G)qqa zueX3Mj7!G=FZZGQ09pkrUn!J;AML_~Qnt$pz*{$=V=D<9JHVriL=!qtc)83QI$jQ& zscx&&;f=o0FkB~0OTk$j#GCW`g90*R*xh?juTgK z9dIC@=wSyZaba`7s*L&Ev=PM*~iLQQ*WO>2lEjd!z@XM=?{-sL}{9JAXps zOEAWxG%{57#=43fV=#u1e$qR%4vi11K%ixOZH|Eb_@Dts{bX}h-m{`+eMxC9bkzNk z;R)gz^o-WgRi%2zcuxyaOV4;mW?7dL(Ub9%(KgtXCQ5e=wvno6WW>|xIXjiqwNNCe zji_2Q5fAB!SS+CH0vTD$T6pHPEVF`%WXy;K^_E;$aEGDAm!^)ZCL# zGlo{mp}0rqu#ZMS?e8XdwYNwo7X< z-i1C8!vYhwf`t*btum9waz)2Q+`?qWDK6p`3ZR%w6N)pirqk(M-R~$9IO$)FlQjc4 zdBt(c%bJw2F{No)*>RkTe^PN?>|8zACW;Sm@zp3kKCZM4;$%;)hVsKGKaBFDqf1Vh zKiPHYcXS)=1;j?B4ylS6rh~kuN~w~!UjkYTX;lF^;6?yuC4eHucGC1Ty?xuZvuJXX zK0t<W*rE$;QJS5tBAG43<3 zhEp-ah^4~elxY~4tu|<&8VG7&Q21Fbz;jEL9PpISgHKCKz0!K=MCmOJ8nlD}r5GUy z0#r#b$tgNad-`w*M2HcDT?8vpNvOp{F_BUeYJ$Ye_$B;O-v5IhHiPb6K{KrL5natk zj;yG%dzY*-y;NnonvdLFw8`D$P~3f~d+`$&KbvlKCzsG0`izlef-)mKMHzdAGe;SZ0_%$##h=egH+c3yvOCq=*XrK`TQW5<`SI*!P>-*!mmWK<9%qn<;z1ml^QyPqEe z(hX8AmWc-)Rp(P(b?;Z0Wl_Q9I_~o{SFhI`CuTa183%e6c-H~Vc%FU)iZOsMIY+u) zx&!^x;68ZVt&&x(Fo#;v0T{ry%&L^YsZ^Lh;S#{i%*fzN4m-nL!RY|(1vkTw+6-k& zFHk)O{u<12ESzqQ*LKz7t?BSCW}kgVocA@A8MuI^W`UO&xV7vi)rcB4h$t|N8M1Mr z(iP&)VP!`b?k<$4?Wy+WC{eVzJr&Q{33`=s)J89ZS8PktYoXk#7K(xsiiV?sH0EnO zY$W3eEjbX$W~`tU&9=3ImuP7Yr$Xs$CQ9HKO(PvZad1wNu$I&k@uWd9Q6!woW@6!N zCS!;PO-a%ZxrbcPzWXpgmjj+oZ*WCY6$peon0Xo@-&jB*+|x{sgq%}+(-J8?Z|7GN z5T{A`QeG|P_5A5Rx&ZnJ27x~ON$g_|lHRPunxK1Ko-WB5r(YQhxc8}akvp59%?bDM z?Ofr~$2T2`lQz9+3A(NJ^1%UT(s5>|rzNA&KYI`BpUb7|AhEvb_x~Y1q@aWJ5>L%C z{=`86bmxDsyV~{BuPnKbH`7H;`FUs7nRBrH-|DdE`W^SB+1cFAv(DQ2Wu zfJ4s#ww@Dx_c2<5x&5YnRvj508Lrf*Yq%fmW2uTiO!0nji_}qA0k*pUhD*q$V3Q%K4ho4s%=^{iSrZeEYd|%oGO$7}tWXA7cm)H; z?<=t=TT?3d&(DIp=L*2ctyTs`KqwT}HU^AfFp!0)2{}^N4J8{0293Z*EgT93x*%REDE>!0bFm60 zCm`#38}>3ChwnA?fT<=~f&}%Fld2iOB_(#8D9{Pz1j?x=oX~i%^Y?qMO>aCHA3cG3 zBI#B$-eQHrR!iJ$O-H7fDEQyb`?zSvANQeXtmqtd19y&EIXHsMAur(L%!*(_ zI}MO%F#Yk-(KwiY5O4$E2Nu%rmkhX6?il=K;%J^8Skf;jrO8Jc`8#6#!LipwotkATTPudT%%h5?tB1 zEZtRTkHst#CmWV03+-*udoA~S9pk;tS`;FFi_@OysP%$_u64-wM%&s8$>kd=IU|;d z#@aiJ>17)$IX#jL-)mjZ!a}0GttApc)y=)*9eA#VHF@AoUIj0~?cDf>wzLW{4T2ib z6_C}@&5jvw-fXj0bH>LVTH1Om7HcnbEouD?{DFyfrzIRoMzu!koA)^4S;jH^9gF?F z<`4aj5{sKhxBvI)_DwT0e@xHMI*!+Fk1zhbRFh7XE=Ie78JQ&mVq%_#0mjxm^2<1o zRS`?h3u=R<_c{DL&V9L)B}uwXi-g004PUb#{Tu76>$G4rWF$JWCZwutMky5Bk?w898&L>~`ci_mM2kfZx3oFd6{AE2W?;D5MzV-rz4WbKt<9T>uXTk;dOH zI_RP@7rd(j)kPcrc<;D1mi?VW&q6Xo&DFH~ zb-#U47cBZWNH!GcKurL)*ZV_(%iLYN=(1hzx2$ffJ7Z-snHAOwi+|nNXRu$9>9#I+ zzjZmf-7C5)y#hBa-0Vi-#vTu%D6Vr+4A13bYuc>x*%Of{Z~4W$li2MV*ZPNZjSV`R(s)}}Cezgxk77zYsg7*yQlGW)_q}X(5OxdNnkls=60N07s?eHL zUU^wbwiePSHkg7)q`?%_STWiLJ5m$B5OK5xk8U8M5Gw%AbJ+pJZi>C*jccCUWap0L)uE3?{CR9IS; z1IdBKxqXGMX}bI3$19ZZo_%a=G@Uwq_nP}xe>JlvvxcnI85zG7;whmUJV-9hHCk8z zG_Yn9Dq+oJWv?e*zE(5kOpX9AgDiFGHk1~&rL*c{eubV$B($Fnf9$7>E*X8gUrvpV zrn;t9Pp!U_8}Tk|pzKtkC2jn&j_W+XpLWw{@d5bGpM7ljXR@J(plE?9!+oVTmP&5k zIWfHk&s(cydu>{LZ@0pXU4Z19$^9wO-vXVu)2LF=O;0c5=@BHVn2Ab923nzM!vF>a5G1oOIm!%nY3f@k{i-r<*NHCrf8bSHhb4=YV`>)(b0@ zL8h9%CcxXXAmAzD%SBcUVAi5sW8zj)-h^fRUCo2nXNeZzRnVcFU*yk(%D|r*tUACL z7U|p9qvDAf_KE`JNpJZ-w}yGH6QX-YN2Q}5EVi(6mYPI2u;^lD9WmM z=;I^0kw~Y*Vb}olWBoVlfxFR*3{rv5e9ef(qN)aC8n@(1G$m%Zf9=2Us;ll)VH6Xs zQRv(I3uDQoYBgnpzVsZ-Hd*TBEI!MjC@c7)A((iCQcsc0Lod=ibp2_};1SG*22NSj z6>xV$d=vVD1S3ccir0zK(AKqGU2C@v`TKMcoUZ$HBo)*1qnmofDJ}O;>4~Lf`58x# zr6TUrU=)k#o=u~9x6T)6`N9R@l{)x_-Jl6sSb2KD-$Lg|9z|y}E;HZ?EA|Cp*X_Ju zoKzhWxQETFd1j$X9;hsERWvp4QE}2@X86Uh851TcK>GYVh9C3IeNiX_*~aM36D1Na zs-A`rY!@_!>UP$vLM&s06x*geCcq=(b)Ex4i?(}#nD_QFF|W_hyStdSpLiml;u@=? zU`uXTGC&h*(i5~_dXXjWBIakF=Oo?sB3R7;>@qLX4EmxEHkk{gYZph0WmguOp$h~h z5Q4IY%?hBqP;v`F#bPZ7L~dBSSO%A&TU@FH(n~Olfn^oCL|}v}No?W6cZ7um3EYDo zIAIg(OCdJa zn>s4$DrbxiW|xn&n=oiWC5zH92cT1bxN6l8#R2*kS3^y$j@dr4JnL@i=(rg;ov+F_ zKZfd+D1K-U1=E>qge~lB9fwLS9eht)c+{*`&CzgMc-1QKB1iS%)cxCMp<*ay;~u(uBje#GPFmw}2-@SN;ZKw21u%V{fN1AZ#yY683n zrQ4u3WKN{OoC!z~6f%RU0`qk`t+ioxis~oAg927eMXst&U}YK#eg_KI;2mO`)Q3XL z>dR;^*bR_Bz@ZTeY3@hYFSpX`=?qoZ>7DNkCu2H{OM#0n#hePb7Y{x0#E{^d+NC6T z%7;ZOPeVIP&`FI{fHGJo#fU^FfV~Yqne0qDquCn#8K4aUv0=MjN%eRZaM2(y1sf$Y zIuup#e4rn&3j)Z6JVIJPlQkmg{E=Eu)kk2s3eB?B}pg_&L<16NE&~jMp1`I(Tj>4t!fco{BaDoGu(3R6eSx73)pi9qwn#i96>r zK#M*O5#9aUmwXIHZ3?q_2Yj4O0*n7a{toRUD{LZr#Yp>@Fh%vzc(%8lEx+x(+3}u+ zVG5+@HM|~JmL5CwTlyK@kDkJ)wh*j%Hh^Cr`*`tZ?$*Dw&L?^w-S2Msm*U4CxSgc) zpv;n`N%ZNhunm-@O92)bs|DW%c7R}?2O5HBghwbF-Vh5u61tcWf0)Mv-P)RITkt@r zFC1CmyBL#z?_vjp`hqLM6P}xd=NvI9JQ(<)cK9y9RblZd;U*!TBD2+MT_{*zII?^{ z2T`iduMtQ2Kh!${J?#5fabL%z6w9;u1Z*MLQUO5B%yynt5|TqEScUyFGc11MPiQJ; z-8t%Q{0T1D({r(%X0I5(G)99fQ+QKNfFrj&8TU4(`#E=(PMmS4a&+SOB!p(1p)$N@ zk2^a#PA1ES+{UH#!Tn9ts547%iwarI;#bbcs0B4SXs$Ue?59qx?#|)^oElz&tMhYn z)3vq(IamVR`5Fuic#jNu^$^X`how#-fdVD6J|Dal3!&^GCU|X6;O`aqSj8H)hTTVfOC2ku*jIr%tcqp-DgehYVP#7%YQ2Kc zyy*9q(ud2HNqAIR*W_2mA|73mM&xnG7Q5zPYT5A3D=OYF*f+3zv1AlrLz z)6{?);xS=eM!v|b7Ng86W*&pfZXWN(-__Rf{U=`B^rt5;I~U`@;8d^GCK-^bnGHkl zxhL_p_jR9**I-PfLoWfA{t>)!9pldQtU=a5%!DOHxUQ^*chm5Qa8$7&9HC4lRrW?|44!O52dkk=-23jAo^g7bhUId zdK$i5i(lq_7Rb7m2Bw3x2%K>hpYHVrcNiPlvA6Nz8CaG*y-+_vU&zWJ^dHNf0CTv0 z37syF8ACY?ER9Y$sB#;JgkgsYsSz~@(?=LCsf!)A z*loHN2*NfJ48-7}8C1gVD|%~bur=8^){`Z$Q%yZ%g=EWMsZIZnar}bd!E-?Z|4z$hzFtW5` zk8m+@0L(Nrk{MwX1+PdPvUY%W2UML!9mw|(&hVeDQ{Ya)czJRfxGTuvIEQN@3vSGA z@db<@_RPaE`e5#WZ!lBGC2$d9QwN-3J>?ZJ#{~c%2s?O#Up2F?bOA2nhh_voAWcnY z6$?1JfD9kZU=Y4?f>Fc)Do35nuF&LJVJu?8&S%}a44Buk?W>-P$UvyOtylJL`3*vSi`JeXI{H=~U$-oRfD^lk$qL&N0>c?kD)`iD;Ti)E#c z2YdiF@PFuP^h^OF380s|2xlf>jMY>;s5r%tP!MJL8VfH3j0gx7_ZX%zMu1(wFlyk+ zaD$&^bOwBmb1|HJil4~>I*+&94-KvkSQbyvWhjqw9$I~f+w66Xf1nV7kQw%rYcM$*fnbb%6~|xELk7Mgpap@V8`={m z438T01U~O&f*U!%jr-z47A*OgFQCl<`4c={#RZ;%cku`F9Q=xyy*T(gmY_sw-tgm} z;BNGuz?M&*VnF8l@|zas@lw7FmjG7t8k!8*FJh$b2fbq_ zNp@IASBSRR{PpOCpe-7~mnjGo(8dixxnMLI0^FYix$b`YG(oFz7#>~<_yXA$7_bLp z)Jp8yumFP%$kzQUmB9*htCfM_KA~P~qXD4c!6kP+BH2bLJS5B*bU(laBgS~rL#oi_ z^8f>%GO|T~EZ*_(G6tf7pjoE?DDa=e0I4{}v_VyjmIWU5ftCoeGake!qQiNpxfYC! z77l7u7QhMkQ=!X;$1${Gz{!m3jj-@X1@tlkHDY04Cq~P`MAV?_7Y#EU$v9hB!38am;mV?|Yx%ZMWCJ z#NGxU0h)HF=IJHW(*eBAwpvBfh5aiL1=_4a8xNrheDFu;;@qpR!gK2(%DnG=J?EbL zbtqz)-Q_m)Hl7W@8x!7##LuV@!@!b34UwlPY2B&}VGI3*#DwaxFm zF?aUXJzNj-=w2HF_?9%RgN>Rzhlp~;X0NSsrDU-qS3y*IV1C!!)Oc-jCP#Z_y(*pg z8vf0&7uL)y*Q;T6mgo?@9r~0q{4usk*GRWQ{%G*!;6pQ(wG z<_*2|-n;}IGRw!F(%pT^v9N2?(&IzL^<%xUSnt^S;^L9LtSy;rTW0(Fcv~hK&9ue+ zJ%E@!abY>|_5$kI^uf@F{Zqy9?rgSuoPDwtxzju8Wc*DZNEgfPx#40uT^!D}my7BD z@m}O45{~!6uSc!6g#V^Qn-!hrR|RAIs#uU;In3|y-^F`R?l}lJ{DCLirC9Y;g7sck z^$e)2aG@v_*p!=R6G5r)?#u^2kiH7U_$oS&Q3e!oXL%wV@TzbJzTa~cZlhjn*DmXA z?pJBu+qUiV=gYo*zEXc5kFg@94n0RN&`GFe_mM5Rwk-7Ws%np;fcRcl!I7Xd__*){!cfi)M2KBPQSOsiXig^YM z_6-)_1ovw2ChQU{zE*f!;|7@8gvy>Um~ZZs!|u_Tb4OSt*fwD<3b}klyZKAq*#ige znV+AVovnl83c8O6O{PWg!5#|6!@B!v&^$&^97$ zLJbl@o{3IDSgFC-cwoO;m?}JrB*;PIs^HV{1nHnx%$6~i#lHI`o2^cHOpPk@cfx$3 z=4vr_(*X#(Q3uebfA+d z9V9`PgQ*le!f>TTS|n{Mx0NUIU`=Wi=@=h+Mm19@pmcz;9*DwCUhd+ev=?v~kWJIu zMVgwLqWN`WJ%(U1P&{B}6A>DR--;YcX5*fyh?_>w*t&ca#UrNs0}sx=$FfAQ=26O5lVtzJb3_ZT0n<{KQ@>mH5K?qnJ=EH91l?7(QgFL}ZbQ4@& zeePRWpDp%75XOPVvk2-GRmzfpL_~!^T)_BvIu}0b9Z7FD{Tb)!U+SXlj%NSrjAvT| zm7ej*VR2nAAJRiFu}~!9*9;3uVh-~qzm}KJ=A*OE=E~1zJ2vZpeVThV zKQlVYoB*^ftZR8z^pEf(p@sR#oxx~k>6G;PX6dY?xy5N{-bo?91>Qvbj|+u?aB(U& zT!L5|ZM^;MBK%I+*4^FQsI6PMQLK7y^xT|>KNj0pLmbR{jNu>JN=7x7*a&~RKdjME zUopbL-z=yj_o+~)|6U&e^Mk|lML5+F{I?X?3%(|Jg9WoBV2-SBTi;&ze{kUl2f(2u z{A4bpeef^(k95LIEsBSDH}TFn^y3OAQpnwPc2=)6M`xiQ-U28m|u@GI19z$gkD z69Fcre}Ux+$HCA?=-xm&fe=+SV#oJUZ=@OMg2KtB2>8KVqO&E%inLB}Soo%tbRlTX z#o#O?p*Do!n8e~d)a&J9du&?bB2AKzC%9*rqF_h48ORboD_aQ=^qop`j z1{7EDp3tencWWuj1Xs{fL(uU>X$#auSo;c~r-g^MoDCNBA^42d9z)!(oXU4|Tx*I4 zx4*X3>ybSiBStc9MZ%d>%J?zu-$=KByM*7IyJt>g!-Q{gHehAY=4Lns#g9edJt(R0 zF44!w1&)=1_>PZC$4O@(W))OYpj4Fsbt#Gz_|Z;lklGr&VAbZMMtmjHezxI*%)`Z= z*~Vg_QUuu-Yb6+*!!SYPSlvqJ@K;&^{(RT9Sct@wtj9$OrDr>o;;Jt=6RV!6kv8z_8Sb}g6jJokOBA)ib5ST}M_;B7(=IsH!Gw*U3`wGyzCfP_ z?MKKDq9Dq8u~0RMeOC1{ec|a1<#BShzV+-oOG88Nd+RuTdhX$uXJ)6SW@h+#l0Gb1 zbRj*6?_^wp$BADZT_|LJ=|0waG7$484%m9B2>kl<%TR}LALD=Fv z4Z>%UE2+S8G)MdAW`+IYe(F29w`pa@$*gSZJB7W(gaHg8y5r9J_?h+knep|g(v!c~ z-!lo%^)ARtc+2865Wb!qw(fhdRfO?GSjgB_UAU{?X2g=A2SdrIF-iOD^H72X9z;m0 zasajxVNMx$4&-XIeIpCD2BPdY^5u;Rim<|L<3{)7d6>IuDg59%b%qId&?Qt5bYkcwrsiG zKX|=@;+=OK`gh>vr(s`|V97R z%R-s~(?-wVvGwzx-+G7hg)caZN4FnwF7AkSO-WnfA0TZ0kkP%I9(j7+ald2H$TOG# zur)s8ekX&R1fqN!%HP`X5g_)kgp-9%*SOz7gy%CfVr`|7A8|+~JRkqT7W}F=XEhOZ zD6wlPK3`?I0J4Lxvd4s}N<^g%XO9e@vu-)G2cq80q4ttOH?hD@Seah00;E!4Q4g4)f zw~3uz03WQf<~A*mNgw0-RHs54&{ywykM)S(N&f!m&N`WU6%BgR*1Sd^@z^o5@#gLE z-m&9uza9Sm==PMj-8*({_&wSq1K+Qs#|1wV1sd=mslxI+9D}6Ctw$cQ9>;$i(DKJK zk3O1t{E|m9k3XJygmLm}_!#Y>&x04jvy4^oDIEKO$Em}6wkB$L{GfN%*z&W(c=iGR zSr6Ih;;p6Xy!VEZ^-ui9gWl^KTfiB&IfgdByYXJpfAEsw*CK+=dxuy2<6e`uKbraO zcQeR`0Ir(jk6HhwLWALXY!@1IuPU9%c{JeNkWZ9yaMx16vI&fv$aAnzg^vs4giV1@ z`OLc}LU1_ofq)*S*bvhvFcZP8fJe~}gEXF{RQNgF_Q}u%7tBpMHTV>R|3B)-gqwZL zS;cNdBOz8X5fky|My?oUuY#~1F}dd-6n%8wCx(#~=rq>Z&A4;(Tqy(#2pBm;i{R)d zeq=DQ&%1~dV-^B@1H?zZ#I^CBSsWPjF|Lg{od&Jy6LD6|zwLkz^Ig)t(wC&KqsQ>& zjpzYkX;;dK`mteM28CpO1;T!+P-s{Mw)W^keSw?RF}6yhK!t;Y#QiEi!QVh*=;B|e9&J@P}~=K?f8DGHqew^%mh!P@f{Fo5b= zJ?jyO1QSMkt|@YV*o3_O7f>0&QppBE7=0AwG%Xg2C>tV8PJ8nD4N3$F91@Bh19s!6gw-#&+@Gh%qhWi+6u**(s9-OM94~~Ls~q2 zL>VKLvbc;D2cHOB%5#VLmUhGsY+;%W{@X+BhsAbb?vx6w$Z8;b;D5|bpatYj5uVGQ zNFrjvXk(k&+BMkhxrW7^aprdrzC#&4o41Hr|K05b@LFb(s7eT@!+d-MFEvJwJ>Q|zg%vZ_*S zguYT)&|CsjVM;zP{8$`577j0qM|5y%3jQr~V(ZRNPvb=3sMmT|hwuX*gs(bcGT->U z3bgi?z*w(!G((rVh)fWy=`0^R>|f(79D!%%ptB|0*J>xl8?8RP@!+l-_+n{4aoeTT zLaU0vss$Js5b(2bOK7sz2-O@Q)V~WM3Y!}lqPH|InuU|9SqWFY{W2smgMetMO$iGuB1;Pm12%6Dw z;In)PqX-U5voOHlGC8#iIw&vI94$Gzbh=)5=RHam1bsYwBKzm#u%aUXC8YcN`kV_* zBI7te*9+(KsG`sCF$_c=A1!(eRK27e)e8d7EHZnidV5YK;80t|8P90!zm0&QCYLkYN= zPl&`8@H$Tj3lOvh9^1kJpiH6#ppj4)a35cGnNRR9yKJkBq#NNdQgg`t2l}r&?2PuB zj0CywOt-dp3;;#0Douk)coqWi;xXDv((!2P^YlsSRnQ60e&%`{_=+_4!eu1Jp7ZET z;X&^~m5_O17#X8cBq4*}$8bY3Ubqcah$kx_aYg7)8ly5sE9IdL5po;J3gbA;BJe&K@w#NQm7% z0`h8K6|`Cl!Dj<%BO~wtD_r<_7?+WfkDX1RP3>ZJD)=wO_8;lSRq%SkeM8Rs_4$?8;skbfEI%B2M15c>fpNzZU+2S zho5`iVccSNE|5=C!UzvzD-x@dKg#T^a7Vyvb^*4~u{v_RB@+4?R-mK(250Gn4?TSu z`p<)aBaB5iJ3EP}IR+e&yUypX!A9~xR{I!ecrQ*DA&M1iqJ{;S^B8tfqH*W-uGl^- zbOW?H26;MpT1n621AgQHCOOSclnizpiR4vFU*>)}d`x7yF(!Z{(F+a0(g9e26nuU7 zFqmrCI+nr|4+N>ehW@C(4m=_F4XF(qFt-GjZs8Gm4OluKL!!t6mi97W?t>72IR?2af`9~g28tmPej!=}gC#;)7z;31!#=nKG8ht2FM|z7j{%rHsAq@)MDRJ^ zZ+z&23koi9L4YG>ANb|d8xVws16V(XIRLLZ6?zB2NgeoRH{gW*B4F6iIaIZRY^T_& z(5p`m{prv&%))eE9f$=C5C^5xuz*Dch=6#C5v@j2&oBmurMsrxB~6MI?f!!y?Cne z{JmV?(>pU4PkwFPwDZ7OKNRL4p|ALNwBu=TnJEzqF7yN75UL6o7LVN!b8aIo>Ypxlh6R;5{U*MV*DG1*E*Wh0p^)h7;RqI8aQ^B$DtblMNj`5$P zbFCro_=}G7V&f$n_>HL6eSqKQeKYgL_q`s^Rm`K=s25u}tMC?4wBtF!a|yn43e3$k z7^Xg-+q&W80e2TJTs8pvM`%G$$GM$2vw@eFaRYdoQ!&!M%*`5dmbQ<|@FcW&3KQol zvw$koK%v7FdZ03Q0o-q((v;YB+Yc7!y&oR#?~(Njzj?41yXy6qtu@w~C&dN_)|0%U z8e}Fgq^aH$EfI}W9@R>q`2EZv*5mJ^Y{Fa?3 z+y`m%j?BNJhpu5}6Flb*&q2tC;l{H?Uma?xJgyk82R-i#+6+m=dBS5(9RW6i@A)0* z^|ufWTa}JS&obQu24$yF_Ed&95aTwxik==PT}5yuD;28=lo46V5{_a+1V=12l4gkH z8I82PO)=+~Q`f^_t86&+SY#&%rtPL!w8^%N)c9yO-L_(MB4t>1Q#96Or-SsZ#S|X2 z823Q`R6BdDT~TslXHPs%-+f0g?j>nV819#h!tnYPa__oIK1ip8ViA`A!m%(M;@Q68 z^K$`MMlX=2q&v~8?74+dk)yaez((wFgW79dNpRozL`TpCR%yKPg@sTDktdlwo7v{h z{FgA3F~MWII0B>fI`d|1jfY>3C;=-1(-0s}<{SjZpIStr9x9#o@AxG>A1xQ}&C9`X zRA+NKV{bhQN4@;-dkv!NG$U=s+&&d~v-1Vn;~-?6wTO2AnDiaM6LZbz+*Wu9H0SqP>^px7A!gdcj6|o|>8zKWL^Qw9m4}qD5rQ5i0Q*}P{TJN?JToethir*b zit+XmJdRN<*aH~A!2!fZ4EiYydB}VS03~bdgExMxADhCE@ z74>{ZGP!SsfE%BluRV}iLSN;bccabU)FG9{o76< z+7z*nORP~p0`?*&AaLmQil1;~Vc@O+v`$^1*-QFLWLUzy!A#Q29T{zCsoIsld?Bt0 zo!BT`WtRZGFr;NVmS$fP&Si@Vx&qy4Bx0r-UD4&p^1%48hVf?*h&x?KVcE*rc3Vr3 zZ`;xgis?3_Nz1_3Bb;f8yFUw>z*Xk5W$4zSu@T|Bg-7`Ty9+tOMJ2TOz+xr80RyO( z`m;LFLR54caaT5mEb(QpTX<|*k&n%aeEAP7&olu1-JxF!o{Fs$r7*D$q}oDuxk6uD zb;aMq`ax`TBRtfS~yUGCJ|jOAm;BQ*xA6VccDLf(ofY?JMn<=m!W%yPdO zaE)X`CAW~hBp18IW74>Tm{GIpzVZuxReiqpi{kj^DUm3*Rsah3d#5|!AU0JlJh0@cvzy7!@`xosq}@aC<(Cfq?a6<8(qoT3 zcJgBfT3DKEmtJ+viCc;g9AB zf0Jsdp%h#o30U%C1g=OzA-9w)d@cGzXe3NHrRI?=luSf`r*ci80sQ+b_qWk>0+AC) zn zH%^5e_Hu?zPi^TV4y>*+JW!*-8i6Z7yu}fB2NOlb2QGjuFYZxDp;+-K4fZV3*O@`I zDjMb1<+AWUGW~0!rO9?XM(*q=+_!>36Kzb#;guAOrz2ZA2L1aB*BjqJKX8BHeQho! z>a}wT?`ywOxfAJ!0)96{v$-Ulzt+7<)XGoC(s0U3BWZc+tjbvx_dc&n8m~nGj9p*> zr)J=vb(}N_NCCeje2Q7w%_W4GJrX#-D2BiQ&V~-tH`0+?HO<|1n8ecWd1Y$<4OJlMrh2s2uuhsJ1 z<~=Y#_cz~ikJ;Q`$ja^nf5ol0@@FtD@pC$^lTMS)1ua=c9bifegC%Z_EutzHktpmf z$||w}uayFeJ&P#RmvpR>U4hP92rP6g;w4}&37TdUax_-F$;JXf4yodc4m(!jT2mC< zeeeb~gwRo#RXUH!BaBoWev`T$l%q*ID$A*k=A_);FDIKjQk-@|rxo6q-c)^H97uEQ$BPWW zdq<26e5)2{zRHJimWOdpj2CV-+&ke~K@yJ)Co*z)w0M9{bVSk@hh;6rVW-jqEG9b# zd~FN$W;%yjd!63aq0WrMtm72(kj_rFht*s9I&Em}WxKPlrOs9|>K;9X!yn*Ej@>Dv zdLn6sO*3pI6Z+0xR@-pJz0OnB1qx*(q$5_ciJ$K(BQY<~3^xg(;a2 zEMCE9 z^7p%NARJKm0^9HS+nBz^&_C}3=fRp#8{gHBwJz)`-1}?=&d;20l$U)_sP>`H(x>jd zpYFeHns(BzDMC#4{bF11CU;NI0G%{w6x>%jD5f!w?7q-RF`V;z;J^x>MfS7HfTv@w z{5a_>c&4BiIX{Q+Q!POej6?>={?nLW4dsH4`3A8j!E0e5l?mq#OXw_#@>2|utewyq zsd&!`6&UQdj+|%(PV0m`l$-tJNAGiPV_7hfZ4L&T5cq=Z(YLm%+14g)Y6h!R^lHs5 zO@aJ$vxemy{2($c>YyDJ*+tvoVv_1?W?8AZGp)%WKh)h%#{+7@ndU^Qe?>7ADz4~H zC7MBB;oDH|%^UB{Q;N_n6m$RKb|c?cZbl~+={P+eVwxO^>p|qtgDN13G+C@b$B#`y zusX2BuM+qIFGuL-A>F{Qpo%Xq`#RJyc5jD%R0!uqD1HSm*iD|7mTz4vILX|KtOF4U z8B3j;2U+Jlcyo3I2;Hf?<-7h>ztj^vw;eyv5FRoxEp7c`JZO62(vvx9Y!4dN$oY2wJq;eXkJF2SP`{VNBRa99~!+0WE3+Sil! z317aaFM6b3yKi;&_w)plzQHT%T? z$pRx5YGB09Sez?lxaQ3$ctgf7O+x3*v6OF>c8ZlH7}u}>1qkPl6^Uk!^z^h*MnnP# zux&sw8$OppH`d51ib8Kx6S#Et7eNdXG?opjy%1yM6K=NUOtSyT`2SWh+U`(0nIVy% z5UC3J-3-xCld{tkt0s7dNN5IVO}+)joVJ*kI)NA1@tmd#C9gg2?B1o?pinJBFTZ(J?TU`fgDrIm` zfz#WUg2^-oyrxsZNVC&vV}T!p!d4u+2;Vk*V#D9yTO5l7{LNxH=dQL2bn)l1lO6m= zpLW@JbE~I^_^Onqb%;Rf!+o^Ne3z!upHS~v(4-AT?r#}D&(j74yTiGt;x=kk;yj4vcOGTG}@H04EZW8 zo=k=Pk|88_(Awu6KbK48LW!{EBRq($NCWv^ z))p@m)5CgasuP-2jTs`A8AU9R$9H^2dQkdnmXaVevf!8~LYEE=xd1X)#1=0R;$871$2;;7>IKz?)qpcdo0)L3I z2j=6jFQI2-8!zT58+&04maWca(}~(Sq|6tTi?c!S!@&?13`7-NREO!9pN6^_xAkZ$ z2eEDE%!~uldkgRu%)6kX;62 z=MR8&S;O1dS%I^3Kofz75D7$4C22dR98D)ffeKtOkf14)hNW9Wa!+;>MT{G_l&LGb zjPeooh{{FOEF}$O&<$uqGDYK=@cnFp9%IBM@XHiJu?6DiYKQ#-r6zsnd*;k>guBHQ&Vqq|DEi&!FSND{pd%cE)8}44}D+Mg?!>F z+%ffnQc&{vE0oH50TFH>>^AML(>+v2L+HKO9H2>Laqmj}`_EIq`EMDKjHVaA0>`^t z_JIeoU-=4#_7?D5Q<&pvwi5a?(Vt~jL#r@o0~Q&}u~;L3%;MZbfUYX%mZU1ODug+D zg|jP!6ES0%n#i;!`pZp7gPAIILOBqH>jIXM3`2<$vf?4En3o74_z)q?SZ*zt_a6=+ z|D}#t7@E=%uU6>p#L{xPW-W*{c@nXx63ZmxMljvfZpE{yM9@fPT9SGS9<`#My!pg& zzZ;-)Sjbd>xJfV8w*qrDub3vj#MAaJ2;3#r!|(VkDD1c+M8q)XRHEl(XbgLM-!fj5 znJH$x-ixIDGPHrE(z@Zi+~znUsFm4gcXA;P*reU;&tQrRzbv11Ojp-2XO%hChCa>q zLTAQd-!k?o!y(%Ur}Y>}!k5_UH_haD29IJXL9PXvrv)$3(EYLfoP9^vNb8VW@?2j1 zhYbV^`X8XsBTWLSQXTb28-8#CFkPs8LtG({(B3)l{CmQEB!XFq)F&*jf zmJn}{Y)n3OOj;!4+gan_2RO67VVpb5b3fsUj_G>lx!d*@zW%k&Z?5GzG(A1j({sXm z-+S4S%uMab2hqQblRaL|)8nyKOQO8!Gvws(d+g2n=>hkzw(ys4alZ})mwVZC*7B3W~M#+v1jt-kFN=Z4L;WY2DIDP3qKC1s7uq*pCWs~oze`v z`lXa!9T-}PR9!EkG9D=T&}hC$UV zc6CPT0UhWUIffX^GDjFtBDs!SL7;s^sPOQJDf;|{oQUCPT7uo zV6uIv)Ujt*=o6fe@Yc4qr)Rf2cZ6rC%I`sXnxnpW> zZp!(h)%guT;{5C<#|yX4LKyepjN^d!!jt+`tTK14$TT68ObuKGL6vb67Uc67QJ`5? z33ek%!hmOPDPZkB!IENhprpaTSVd46R>T0&VJV0sxwNB{_K0>|cINtC#%CinJ(WfN zl3Y_-U$v5%*537JE}LV-Qyh!LTVZl7Hk%Zl=w!5{b*|jF+*!VHWv7O8o4j&K?m2dE z@Esu-T-n6{(7E7eK-*y>i=~@mPjc-yfTH53&<*_dCu7aXR_s2<)A&Z=h>2(4&M^Kx zHEtrH94^6TT>ajDeiQtSmcEDID{#Ql7h*bqw#7j=Ujhvl@k}i+!&H!70{w&h67hZY zeQx_9=QDK0XJAG6#V>wA8TZwvp8C)KT;lJ*c0wC=uMXgVf?dWsD*$l2oZ@Jrk_z%$ zD)3R5S6>bs$ zYYT222P@aEb-zfLP0vFv@pW??&&0lOhet2L&t)OhXcmD+Yyepd5<-X&z8iLC5!>)L zpy@f`VTH^Zyo@lGpMszS`8p*Q*7nj0R=``Qz&yZlW2l-zMl0~u;3QKvmbjpM?lrI+ ztGY*{Ktw<9-G2rA8VWvm`4;BtHt$*esnfo^86JS(lQ0GD1=}Vg{PRih9p~4PEE3s< zAJbE2Tv>^b!eAm1Q{6{t2u`x9^8W2tQTDFO{tO%!hE^tsLkP-tf5GbxqW}FqV0|3h zQd*fWhL4YpfkUJ)+@TY8stjyg1V06hkH`^o>IxcN@vo_!(@uNj)n@kx%_L9nY68thxsOszo0`IAn=H0Qd(!jm)VRxF2P| zD}I*kw7&v;an>dDv0%#p30Q@vidEU+uT`L5o$&#|i9Lya|KREW@+8q26BB<*4GQ5?M><9QjFpY?`0qipKQbMI{lSXhXZ1;DLjosDqKp|D-$D*8@?P<=^9lKB8Yl5_pmw zkUF3MTg(q&d?<>r1v*(^1q%%+jW4jroe1V)CDKu$ma_EdUm#h23c2f>V!4h^Xt+B& za#7pLVhM#H{l%kxG!&NU^wzax)IZU@25z9T@cm!#Y4;VAw_vS!t|N;&cyU;u5;nEq zG%8+TR<^BMzI@%b3PcbQWv53$U#>K-77=#7j?~wE^4Qg(uif3y`7V*VV8&+yHR~oJ zb3ocS3DO4EO~C32-Z)88Qq~aXm;wLA8r~{M>Qc=b#87>Z{m?Cez6YUQtJ;jG#bSQq zGV8d&W{n|sl_MOZ`CzuWH8$$GcaDawbkbjZ5QYa4lM z--d!pmy#M{Qd2jkNpGohf8Tan5JiO+HoiE(* zY5R`b?N8#VVLZQk@p&Zkz#1x5-HS!n|Nckx>^JVZi`-{+r}phj?SAenwBzBOJ8yVl z=N0S^;K)eD(bBOz z6KiR<@o89Dmb>N~tayfVGFi?29hS(!9Bb{!q>4>2#Uh452BRkY+M?-PBIe2JoOdQ_ zX5n=T$Q6orX!fJ&4yX~Z061*E&^-_|CId}tMUI1C(k}+RKH*#@|C@bM@#B~O$UbQ) zzE+>iH@vq0Z~ElPU(mk|rnhWKqfZv&rXrw6eSnmOgg0O=L4p7TLW&ma!t!ju6oGXR zWQxsY$92(drFHO)-lnjy%R;TPEhm(oLi>4u?qge;x3<~jv?kUqifGeIL}w8?3C_)< z&)p*K&0Cl7U66DIsr`K;-zqH0vp`a)Doa#|!i2dnha2XQ*9w2jL!US{@nU`AHG!4a-cSro25D>f- z=tS7N*uZ-l>j1EBxAB*!-IKc}>!1k;HJ?WYoy$DqXAM^&RMUOztHzf&qc)h>sEZ6y z+c?YiHoO|}BOUrR=G5OwgRn3&ra{LGH0ohfaBx-lgbEPCJ3U|;gnJAn8i3XC7SWO3 zUOd;h4o|mN3GNrEY&YB?lAX(zXHxCR^Ak>S?w)wN(;D3r%VC>zfOI163N;3EFqSUO z$KxGXo++G8m>TVeqSp#rU4>jM-dQY|;S5y0^fj=f?8Xbi$qGfq-3G-1SYAVIYJ%Jc z+y!>^Q?mO`x`=g`0VEf7KMJKTs}%(sONx%PSQi)(gi*<|`w^y-O<3#b-yr8Tp(jR| zV<--=SHr@T0S30P%u^9by*TYS_lS@H?YvMBCKi0r%WTVIk&eC_F(bZz2OrWuwYcv` z26WXoAgD%2b-(fuMu>$g7PmwWIi7meSW~BUL1Ch=rKNA8aDi25j!{!{z({3VVi&ZP zd2PLN+XZHGHf7MI7~v^?nrrdh#Shm(wTo5!)`M1_10SEpDnv_FNFXhcWFa+yn*?)N z23Lt`h$|3YagMvJT!5wlOVS8h3w0(glv&AuDa)2yJo(y50B(`BDDu=MU>pTMh{R^W za4f3HXCE6*M?;g8Uf$Ue{XA`zu|#>)%ypGAb1a^Rkpa@E*A3)_3`2;Q&u)%ld2)Fx zoO!!)<`-x(6itVt9i7Y5M~CmvW8K%bXtdSIC!9ncP!?^&s<)pvJBnTD0~AWw<}nA- zUBwPFW@ELf1B*qR#Ru%Q;nu4cc$h0HkhRyjPRz=SlXiWv%x(C}@%FA=Q)%@R_4PuGSSJ;6s zI;X#-HB-bgoSjlU?xs?V2A1fG zIsajZ=RhL|--7J2=%)kLMl3eNG+)fEIuwXVFoF|r0UQuMgnPkf8Fo@JpI);rtRI!H zEIR&pb=5I0sEkj<_@F9Og4j4w)f=}<_z#Iqqg_1j7yg(WFKN~5w@Vd{zST)SJ-T< zY}#NWuI4)!Md`YSog7%PM5HVWM{T3oJ6!X zZjOfFJIt{($ikS3a0Y$N{d@QqhcsxM0})8`SP(;&XN$)SwzUl&Q}p*Dxj>4St2X#m zD!3C?lMt&yp*w>eGa6L6eTapDq?v`WI#ujwj}9jXqG{&6)6s$CaJ0Rnn2I)Kv!NXz zhghEm&Uay$-(bH~<>4?>K-fvOSRxgMdtNZ${&m~n+AhBhU26y1W;tzvu@IZ!`+~KK zoOj(A9VCg!S3o>Ck47QS1}uEZ+6y70Dx$6al55@{f&CMUs*BDE6cFX!C*3HZx{kWNbAtAv#XY8Dv4ycM#c zCx;?V$?H(k!bZxfTl_)O$vDl6A%|K9dFkBWP{K1gc`ISZLs4EEirmi-)U}`ZMYaR_ zJN^eNmbW%`0P7^c3G2Xx7a~Vfjd>&YclYcfWXcDh1r@9Vg{)gY=8F$M{KaEv91CXt z|INJ%m}F&n?^~;GtM2zpcXfAlchz)PPfyQG-+N}58!!yQ40lAB0R)E2fPjb!gI9t` z&?pKD8266Rh_kbeF+>@osOUjrVvI%^Vv_~CuJ8AL@8$o(c1e`Iuy3F3XXLlw#mrJ1E)RD`(oLJ2j*g7;GglM) zuxZ|Fg(x=&YY8u?l9WUTwA3R}u~$G*i+g+o{O1U(WXkwZUvGF0z5|!QyX|9^-2}e- z?SZ%8NpMf#H$a1WF!15PZwDR;{P)181D_3iKJewhlYu`8{CVKJf$s&rFaLc*WWnpE zSw2bIisOA449xLPSlYjT)-EY__>yMX4o>)C$T%lFYbUIvhEVhGU)Md$u=Ltl2mY~~ znY~mN0q>xj)O#VvN52fdtDD5ncK6rvk@M{Gp?7f9ZAbm6*O5U(j06YPd9r^D=hj=CLk!V&Tx8UxmG|Dg_c27{HdfzxIk z3x=tnVo1IkK({xu&SWs!Y>ZDjP2$WFAf)Lc8^gPN9^Z-u5Kn{S3-gPcodqu_*#e;m zF*~gi@?&vs8$k$(&qTCsg=rErJc3LDnN`Ys6E;*qJIRTa$nqq#H;=PNvz%EWg42UR z%z9>I=EObhm@Jnd87g~w6x^9TR2Du9^xxj2hXKRqWsb}fjKqgnU)CTnV__g>hdUuv zje~cMwDAU20}^gfrckzZzN)IQaj6N?^O5miwPDi2`pGh}c{I z(+1$vZ&Chl@#KBtEri`63#i@1rVkXg&7AR~ZNQw3D)RY4e!4O{P5gOhc22-bxVD<~ z);8tk(J?MDSrm3q9;{nyVOdPdwd-ZwDf2Dop_AI{!97BzE}cE&=)gt3nd(LDd!2^P zfpiqU|Ni@jhKAZVfG7jqKsffz2Co z`da|E{n#Bc@lc)*W0Be$V`L?N<7taAlfzdRIBCeY^!BJ^QL1t@#v4A=HCvTY7*tsO z4v!T({haTge(~uSZ_>vF`k2#4`Lg1D2*ynnaE=U$8DStu>tel8 z1yx~)$U?F`&BvdUX~n^VYQ8Do@*=Af77^l(JNDiomeYboto02eoGG!QcR1x8u&V6H zGoDoyy9oLshO2^Xr%xg`c5464IQwib^VILAP9%*@k|pIdtV_ z1O)*~ryTBrTRN@#4 zu(I=HsvjL)tdP&e&Z2Fj#3St5vrt9njkY3*$#Zo1E!c9%E_t96f|03;K2* zC;v`WU??s74frF@G&Tg)IGr-;hNVrx#W@dBk6<8*+^Eun{*(!s?YQn9$GMhwqcu&| zGseu)oK)OmiB^38J;eYh&rqSJ;Lylw26=0EVX0FgmHEZK4y{=bYq=J ziEOm7_Y<}wq2@5D)97UKMT2i-u!jgY*I@}I{0!yuDZ@64<+BO01&NG{rBk;zOGgrr zA*>L|fhowHnx~3nDhPc+k&!XaV{Q}K5Ib)o_5rVxjDQLl55FC)vqn3mBS%;IAhT2# zBp{Em<&QdWH(DaDVCACdkOM0+ACLk{r(ZIl1vyZm?JW2zuEtDj55O(xEP~G`tTnO_ z!kXQob0}a~W#v7OWxG^P$`4u)mt{L=L$5=!nohD9>)(5h8bGBXa|%fqK`h*@Ss>pL z#h^@D18M>11~_gWC=^4?s2VmB%UcpXNk*Q=_0zQuS zcrSJzE^YDpaKEha!=Wnvb7Tk~fKeyqCo4Uee_EYVE8#+Qa0;BdU@(!uyeyb3CaH8N zl`q9@wXu?l!=^ISh>Rer!CXFT$4)Sj2M-5nSc>N2wrVkz%;l*PTM3Zt6eKW=vjW8d zIfsU3U||2rv#F4{3tE^TX#FJSp&zJhDh-qq^xU}PLN-Y|(K$SxD|tM`ly;9N(fiT+ zf*Vl1h{)v)7DY%@udya@6Lz8Dh>#jN(#4T889izYT3N%APyU@qxd7^q79y)98QKeE zN0t>Xu+XS17nCmnl%JiHhEmzM@no1Xr8Rt5lSan|m-~>80_q2eqv~tViOJOhq(UA| zuhVzRDpjl|;mDW;T%@6?!5)%r-ax>0{?+*c{;ooyy$xv*x?Rx;sBRTx=ovx%FzN9N zXcmoLxtjIs9SLw3U5B|Rm0h#ftm&^(=L+==UM+kBkPuGscN;7sH|Q!k}jfl z2(^E+SI{iMbH@v|i!OWDwj0ix8r!#LyYmGaIMUd6#TjmTRii%!++`$FZ4ORed&%bZ zv!%fTy)GU~0l>pJWoDwm^2kJaaEg%QTDjx7{#<2lZo2f2mEO8p-xST4c<(xGpl{8H zGr*=xkz~}yziZxtrz!$e(QnBG!x2uY(s>yJDTl17GDr?6^<2TF7{^kdAjlurd-^Tg}8@a#3y8v7J z7f!-eYFIwna3jt=<_m7jxRkb$2=K&wgn625vU~y|e#q zfO{4gW1(N;AnVZ=BYwy+c{A|5sAYh585Q$^lGFR5FNn;g;XUL81A>}(=eXG-?vXZb z{BA)|NX3VC58UF&r>50H1{F8`DOCC4JA_Gb?+pT27UJ?X?-jzto9p#AUv?QJApHCL z{ARxTQ>=|q8C`?|Ep#S-gG^lZ&LCD|{U*KW5?_V}iGAM3&ONts_0^T9OJ|>5y7t<; zq@Qu7iKBAOHRZD6sa$hS`@cvJq?eGf2jJ5lHZ&7i63dPl+h7_&)^1`=S`oPvoAy;v zwutMzRAFC<&-^)So6qN??RS3sl>YxA+Nd2|`)~TU^=)sRb7gCzv*F|0A7L2~ z#p6Ax3!ED#p|ozK{SN2k>W?ELc;N)TU0>?MLiBd$it&@2#3#0Y9D)RKa)PUcge#L) z>hECpOh`kt6#2lp)E`xY7o|%&ZM{3Y2ctk8#in>BsF7G15usMcc)=>?u)*8od}7O% zy?Z~LDkh^5JPx2O@lf3SmtPlD!cqIVvS4_pgcwpJcUZ7c{8c;d{NjvDj(b(Pbe8k}_I*G3$w%+Hi;=wf#lJ%r|179FRdhY0hS?>{ zP|Bh|3dZoWKZF}Zo$bJLnd-@vu4(g@b!+vKGW~|S9j+a5cJDoO2-l!JhYvsf^wZdg zhjwkW*DmMZ+Lw%Z$1UeKAQtOQ8H!*CaX&4xhqgILdBTh_>>Er=xC8~*hF>D?RkYH2 z;DVdgY>-5x^@rMzjW*I{Cs9r}M(g!ZGZKF!6I?|kpnDD;JnxiKvQJdU#;Q+bOPTC9 zST7Ra&g3xr4+X+6{)oA!=j7};n#yBY&(dLAu)3az=u*P3ceaH-Uj9hsx1GyQd2M?A z|Gj?nBeB#MH@+bf`s{G>E1-EN-jK|HsQlZNkG!|^kx|a4Ut62_V&)C`S=07dMYL;8Q|ej#6sK-}&b!Z) z1Y+}M?P&MF#f9>N=MUCKWW?5qqWF~uA9POEj<~MV!^66=ePC(nm7o0NpAOTU(Lnaa ze{ha~3(&$=%JY%`n8#sgq7KVCRRv)8GE1QD4i#z^dtI1@JG*|Lw{V4<yCIL;?j~eDe6Jtrt$W&KC>C+zm&eZSF0J{?&uo@slr}ee2~(JezP- z6k{5TR2!Qn`$jkIo|@XdX*5+CDK&j!?i+CUB;4l(mZRJHl7$PrWz%%y7Rkl=t{yaf z(aEhK@Y}9Pqa2~4t{c52nqND&X;`IfUwe5nkw`|;fWX8u0H{{uT%h}C94B5l1Vb<}1QcIEgjzVwoP z^3qpqUN&s$ATIa~>T_F9`4{-#-3z=neTuGF#%fSY_;>mjI%{6ifQDXs2@{)_zJmFF zbUT9Fv0?xo(;RavTkwDnI-!cFV)y#h_P>v*?oa(QG7VBan8rs}X60|n84BD94ZPEN z4zBG~Lv8kW0pC=7IEW|?hJ(+o_@q_MGfkgbW0ys9MPzkVxI4GyT#lD~L{{vw^d?Gs ztO58>tch$42**&!Y2?DCPLAD-BL-s;uoZJ&7f4z%`%_wK#EzT>3U zULX5tZ|kHTa#{L|Y^{_`mhiZnX@7nC%-LFP_RMK#Q{C)=Hy0+hulx9i%VUFiq1Sx) z z2BIFwW?wNl_{zb-PcDCEvp-#-QbV7taozijp1i$$4jg#O{+I9V<-4sO=J{pz$;Q@r zb`YLdR~yc%jifywPq~+=tMYUMmY=*Oy{KPilp+%q@28kX?})DKn5@`YyKcotPpM$? zj(R!kj{4d0Me|AxYd~O95B?JSFDYu#$rE@})?gg*3D4o#7htb;luul@uU@`AN1&>z zbbGbiq1{f#RI%62f?drqKl4(uyE?HV1N&(o-CQh#6}jmCGBuFIF-QvGPSD zJmxh5T$E|HkG=vM)T3TR1yIA0rR-z4$C}dFb<{;_Y0HcDr3hTFR_@podHc~vSk;mq z&Q%eRd+c#+eisEW4vVRQaQHBDia1XP9&T@b*jamr04j+8i?QbLFpf<(?8O#mt@s&O zEAz#Cgrfw!l_JyyZ18zRgJy(ssAnuupgX|;P*Zn2{Ln+~!(=PGF-%cqIY==wAGc%Hv>sIE0z-((hv`k;UgG`?cM9Ow&tX7 zXX)8G<%Ap7oy)`|WiR1wL%9QI+dGFodHU()nVIro-W;K5lhGusd;6iA`8_*Z)|(^C z-}BY?=~rNhis$L5Q44moU=3@|p+t(HU+(qn95!`*{BqCpqO1cin|>VMUMfIb(EMCz zd0rfEa@a($4_dNG*YIIS_F=Qe(w5ZHauoDF%xK2uZTAwpjthEou`~wH!wl<%TJ2*4 z0}BHKivt4~bFO^-tXAXPYwQYwKp*|;kX8(fx-YV1Ht`98^QNMPH&dwh)y5EsDeV!i z$NWhaK(h04Y4h>hwrh*#(J-?b>yn!lM@G#?kJB{W=CYQu#x!cy&ChP@=4V-Tf1Z%8 zS$>v1jn<(;9#!E}%^~-h-j?!?JA_Cr$#t~saw{Kw?MgbQv-E~X>bT8&h!zmZla6_H z=^cHd{B`a6FkI?`c?5=$BiAw*3l(E3R_4A+W~+FzTtfGFaPo{pJ`w8z2sm0m1kb?+!vkO zzWB8-eBoPU?CCt5_THEK@o7}p@;Z<2w;>wdp>KKZnjSnEo-g2 z#tZl6-Km{cFHAqMN!F3qTJ~IfHvf9p(U6T;spxYrKECFI9i|Z^Hnq$|_+DuUml5Fj`m=9G7b` zkd)?m_8dOkKKao{Prv^9>#;dGe7O1Oqt1RZ$6Nh*Y?#0Myffm|4@kx*`{m(F^sz;0 zy}ZM6UB*-m^INcSYIUK&*lDv*an?R8@u1b^b{j~rD%2ES!MT^ZXz!u5*z*VP)Brrf zF{VvO!B>ZX&#JQ@33Qy9m$>K$L?eHcI@c8&$lf~ z_tExq#Zy=QJVP;+3E%uMv{G#B!w-8r>--he+gPm?w7q*>_vlxB z9RrMR*lVA(o_9=pwU>X8)O*|pFy`1hNIBsN!5fjIw+{8LM&8obo9-QZi{Y{91iM&~ zk9UnUdM{JPAwK%JePS{fTSx!>7B(aL6ZX@wYjB&%Li;T*%fooBA2=q-Il~rg&0<>j z;fHDC!#Mol+0*lhr=w1A_wpxm2AX4I_1R;_YEM18wL4zOsZCtQswGZ1%gqEkV#YnaZZIgUdGu*DTw6W#uy7vYkim)VY z*f@PlC~$|OG!qVG?_N8@rrS?yKTleYD<9db*Aab4`UEwAltDTfx;}Y;B9Y7(g9d1i zzJk7W5lCA?6gHm2R&h`AwwVQN-NQggu0Y3m$m26ibADX9xgy_{(4u?(y?if`BA=oj zue@WUu+vK{yz=!L4MpabngC%!6@l*A>$IgL9&T@OoIiHjKm0Z49S)>Vz*&ILfbk^@4@ZmBkA4d-Su!FFs2@b!kA)b9!<=as*7QBS(%LK6I!j-=p(7LAh-& zWxR?lyT(5LN8-O5>1J?wTwL2D{he{Uvh2p;Ml`tc#(%*%jjCz=2=lg&FkbapZ%Bwg zI=p4e!x~&5IIqZWC0+7%n^qU2E=JAG2i@DtbysZhY%9`W>P_UPumj#$F>Yg6+y<3` za;*H#7Mk)wP`x_0AHrD^I%A)`E1Jz=Z~yr$GcPW_RQt{WXJNFsF}So+5z98n(=N$g zS85ed{weRCPyDy`W1j#ywyPVJuJqnJWQ^^rH0A9L$#kB5s{Nc(f2zI5fK+<5nC`c~ z5K7{L>uY3j(M^WF^xcnqrbtsXy|!D_g|c+aD{Qj`sDi zg)dzXU(w}P0vl*-fn^TdB&lPAhBjXP;`-pAFI~fC1ay?;E=a{9K)qpM7Q!$FTZLGd zfFPMDAcL|gmBDC?fW;+j5iux=l}7vH`CR5@HOH-B3Zbl4ICJm&NHh!je6ol-Jeo*m z;+YCYH?qfx0bQNI&N33r3l;H-XjoPf#U8l?BMe|a0vB6Vr+WT@bISTu|%N*PfXZ~*kAAQeF~Nj zo;p5Yv9o64)b#@c>rb7)KO`GJV4+4!jed(5FGCN_HCg;=z70QAZ!AqzDiceMI`O|K z&Ve`p&cNo$r9oyMGWgJ=_bTCljvmU|r~RhAoxpi79&rvq-=7ig2Cc(r!#&1Rgqsfx z!_FGeBL>SS)?upwb?|HTeJ>~3L*jgi6+vl7Q`WEOiuDt3oH8X!Gq}-Q`zMQ5^{?BzULP5S*)@Xq4) z-KZA6GzvUMjq)<9)tB`}Jdz@cFHPgkk{a;C$LR~k2z@|jcs+*e6@3s5jVnQYAp1&n z-$T2gfu7X;$pj=?ji@alijO?B;p$_waqnL~xKugkv9&i(lJDjSU~o zSOOVBv<2$jH&It0Hb z!B$c4g!5CIgMj6wqOoEjAG<=6fhL#z749P06qfiq{R#5H7zVL!IGZoTo}u%@PHuS? zLoqbfu!28~qXWYUFP2qu2$AbT=y89R-YlAA^HB#-lkm8*uu%jdlP{*mnay$ko-3kQ zCdM#-O-5`IpJ8{H*FYq!J}?5KbwRdq@+r*P5tv)%q=xH7iV%)5g&MxfCci%}xX}ok za}{NR&|%LO8Pyd$AH!g8)O3b8r1Pi*jr|qFtWyhyxQ3f1NkrRR=*KSXmj1x`i@@Ko zzC`gFTkm*%B%2*vz#1X}7z=s_-K3tS$8%7yrNmpDd>c1T$X86}-o9Os=jm|N?@n-; z4kN%lq7)iWiwwN+^%hi{GS~w(0*B1`UtvC6=OZtl!oTEdHi5F7_9MNXY5!?-? z7V!GEUAh-(`L4>@jU6|F&H7ib*fu`NmPq2+=h_F@Ic?taSx}!2Ai6nn_1GI91DEZ_ z)r%OIv#Ue2jyytRRAun?xZ>5%4_pTx%l`_u?vFtTn^Cf3d~FoI!>4h!^1U?cz8pr9 zCNxxc-)K#vMoBLQR{DQDrk#v$-m0z1%h|~s_Cer03KR|bG5q}B*Z1bQ@(KF=D`>|K zOKBv$$2Ry^(vBx;KOesFSJaMsM4;6-m6i+zTNbuQzy0W)&%Jaz%6?CJmPf!T63$Y< z8PyW!;R$HhW2WI2t5gsHiq`2l;f@;h8g&l0m#vzegT7sJRwTPk`Jm<~OZCga3>{N& zfJIqK;_at>)HY|Gj@qB_>vHg*6Ikc}ScjdGk3%iYYNR3<6orad6pe+zpWgHR?>ocy z-KUU2s6JPJ{&VdIoOK{ZpJiIhWA63wq8%YwFQY{t=2qu#Kj+;1`P;bFImzw~26hG3 zuvdA|?4Do740QrNmX`lLyre+aOT+%R^I$LPm#!i{bkBKRM}0S=$9u}Tk0YyZ5$w=1 z3P+P%y{J+Gi2cVZqjTT)zrX&z``Z5^%~OP!06#X_nPMw$2N~i`(6(c-MO(hXc88If zTejf#6a0v?z?ysfu~Cs;40v21me^F;otR5>Ms>N~As6|BT^WVvb9Z3nI6P=^wd+Fz z>4O)=zy|hZ9Cd{$SNLuGH)G-1E8SEL;B>_=|EVH@3M0~|6>E=27kZylm&`@^Ty!u! zFjUX_A{aj!dS1O9!4gyd*Ztg36U1w>h*G?fAbDs0WsP;ASs|p1}cJ*I)+#pSIumEF<@Z7XxM< zeF;Kx8Ai)g`a$R6L(Xo`$$$HG=7$XD2#0yiDSX2vp6UFfW>NtA$SHWKXV|Mx;v2Ug zKhSptz8?6Cz|Wll=W^$bNc0#;{%+lu5~+c_4fmWc8#7Ky>kqgW>zw&<8B7z2j6Gc4 zoClUzVHJN!5CA7DNDm1GZY^8^e=8 z;BG-um^gmkIPTBe!$UsKt{%NKC_#bubZ(g|``)Xd*n`E<^ozN$2mli$_Z|POxF&nB zR?rkNF@xcH*h!?CHgSF#iMy`2Uzm1SRicw2wZenMPr;KU7Qt=Rws&yx-Z$ZdoEmTV zeC^L_HGGb79E09F`)YD47vJ0di5UA}y;K@%4ss_B)@Ok2lZ}-oS`#IG6eXg8<0dEh z-yLc-nCkEEPlFTEpNbuQCT59gPNxPx{_$Gv<6izMyPD;e{X%xs zHcU^y@x7BoqX&7wHdxVc=F40CLq=OXys@ueMWPvOufx7g{mPAOoK$bIL28N_)w`!D zNE&KxkvAj-b}nLU(CKa%ox(t%-}yU-2!m3hNrow4GiFH?afwY33A;Ebb#N;>!?z`% zGa;2Rf$@;iwkV_hbk79iz7ivwU?9veru-bpLKP+8?IGMU9WentVqijJCR)qSBiQhE z*7g8bdMgZhE+_;YcQe6f7lEg+$wo^$e@!nI z6^#inmyyvr^bk1|98nN2A9=QG%z}pC0)=T^%(jy@(+NgPP{LIv2h&R~pMXeb(ryH| zD&QkDSv9tGErMg*zg-*Qy4mjazSUdda57tg-$52g4yg!Zq%T!&_GcN{(Qq-Cu8vj{ zm1;E=PN&ms_W@+UpInTQy(C{Tlm+A}3<<^ppb7wDgcMdH#xOv5uHvYYJejd-H-^9z zwJ6)j50VO4CD<575rMA41U4?(ND74$Nqpp~yW_l1=%r3DQ)~50bST2Y9Y_z5&PRC^ zv97e905_2@R}wbOQ-o?jV3*4npiF(|MP?doI2>R@(g>(bg(A`hy~hIngX^H8?Gl6RQ`PNXt4k}2Wwlanly-_(Y- z*KqeT2az2xk4OsC2>g9Wi^h^5Nu<)zq}nH(s`XVBmMWOY=HsXXvPd(MuppvS`M#Vm z6vT?g;@Uw3m^b*9z%xBcgmmoff#*Y<4-^qXWpi~JWba;P+@TWDS|i!Pd}+QkqaWh{ z2ogU7%)q*CaRE7Mcn(hsVD%{SUMaH5 z+Ab)SNCG;OSP;1*z$=^sP|U8I&E*Kmj*1VoD}u9ET^oR@fx%h|s*MW80>YBrLNuw7 znE>*|7S`3b-b%Mf1m=d5eFFpOt0HmH6jlcf2k3~KEF^Enmh;U{Dv`+%?;#ljYfCIn z@YN0x($Xo$MN$z95uY1D75RiTg(A0P&Q)+)R&ojt4M!;xiG{+kbSn0FXEm@!0;ow) zXa;W_yx}S5-9#h6*O9D(E}EYS^P%g=gl56#{VKh|nx`EHP1>P7-j`;-cdF$=N(eY5 z98*yh(FS(L-iD3KhMhSzie$M?94; z)XK>`cq8am)`5(jDmNxe)k!=^+0-So*)q`FQvYV-Bl+fF;ZQUIrqIHxx7P_2tSMa@ zpBajmizvcQbmDWYV`zqr6>lu=p45fR^=Lj@aI51(kWN&`rU7%Dkqu`~g;NP|hr+RJ zJ{K=f3>2K-udb>9d73H=q(QiX0A>JkLDvnd%LpX+aJn#9>>sJHvbyBlj5UJeZ>5VF zSAp$cbq?_q%ICaF-2}l(l$?q-knO!cLk#*AF%Z`7c(B{bTD{oP=B!30KyQ^^>$G zlrQE(w}o?j5~F4)%}9tj0|y2i0LDUu5*f}sn4H@%m)y8zFcKNuvT?&$zJG1BamJ2n zeUOn1?;?YS!FqMa8I7p3HdJOy;s>|9@HBy$Zs7ovOKP|HGsxsM8kbj;QVoQa#Is@ ztqc%gEVIG_11F0?3L6Te!KwykO)^3JIpMU0B7{{bH~Q1L;kEVAh4GU1X&zU|r?gYq zY9=-?fA;+3Y10GF*qSqOd;rNR6YU!T-YTBUXWW>Rh%;021=mS7x6VZi>4cNFWz`@K z`)kBzDJs@P-xSdoCx;3gjn5504A{r9(xc~;E?vxUv^uz|FtU9S0yHpv(x|uQF=mmi zJ%Uw|;yJRmIxX1&621eA9;E$ELWa!+qJH|$DNy-Dvgjx%cs%JHgj0pUo@-{tDP$Ch;5=&)*fVcmz`uD%z z{+FkpuH)}wpWjsCzkL7u(eW4l{L_C}|G<5NfBLEW?k&H5!=DX)`UB;6zwxAR|7`rx z2kW0zeWLi1Y@rNyA-R%&ca>58YpPddA(D0$BFM|I?+hWdVlf9Lh&5T$vK2)G2DsGL zW!OwD@C&V(D$);IcgESDvBWR>3rNc?FC%Okey5PA44hNhVbb=n{966@#RLiu;rr)ZxnbXWi75V7k$r9FZc~p0>Nr z{<2U6n`#cAU+fbIQx|h$Tu8dD(ok!L zCGdpMI0mP*?dUW~46%N5kA}Ix^WbUGn8OVOwOakKKT> zcdLho5fSZJXbR(d&h*eUzUbo+mdi9+v%G)*d>U-3Shk#Y(iL_p*>c92Dc396$aU9= z?8b?-PH2bdb%l{NHBbV+;VeBE%aoESrat5#l`Lgq_a$trgeP=ySa4F z+EMpoVL6vz;J|^lOr>%2zOGiA@9*DVt8KuOX2okmt+v0vf4)|`PIk||FW>o3rkCAx zbN_qVcVhLtbNIv?(0}2*kA-~Xufnq#H@63?z8SEa1$ehL?C9mD zVXLV?8TQ#GdfdzSAqPGGg}b2lA_wn92HuN$fhlnUnl`0z4)O9FIMhvMfZwgeit=Ls zeCVNv9>WeFOX`(J&a))itIa9Bu*cU+Z7Z8R`K1|qipveRy3kE(Cy zS-Hox>-tn4KCXvPo4r|TQ}rY{au+d?ZuYii?-AvRu<+b6Dn) zyt;UIveM+6fg>`dJ<`3USD)F32IxFut=$bJmoCmNvR+$I(pC`;1jxmv*eP7oG9d+R zGTGZYgym9DNU*o$$LV1$H*uRHqL2ZrJ_y+W3VL=zt>6EMvCnt#gQ6ZE0$xTm(}rwq2W1#KZ$Ziu5xa1@*@*{mB~6N^TqmP zrEg*+52j%Mz(}r8AF3u_Pf!7Jak5@6uiwFq5a9_4ACyPP4NV43todwlbgHlYeBab) zQAbWrN9_ZJ(S8D-jusA?NU1*Gs#IF@b;E`^bVqfvUMSQjtJT$t3AMVqCsj(vVlb6k z{M)wdYeDp35Tl{xgU(p<*6>u|B3k^Nv^aL0et7k{keDT}O^qjl73^?F7CwTe?j!^A zix^0}mA1Or1^dcnuXh%TS|&l|?cMGN1Lw5P;r~y>qZ8w}k*~~54k9)PCR@|9CAN{Q zJ?vT~7ObqU7qS4sQ2UJg>yxXK?0YITqR0-Nnt1&8=4&XX?|*~mMRlcZ*orW1^Dn=rORU=8@%2Ro^I%z^(r`;G>WQ=N}H<>&%93t#g z%o24vnjRV+%`X;4`m&UYIb|=(pY0ndG}lyJx4NdOev!WaR{G^^>zA$UG*|Y@=*om% z)vxJ%e^3~js8%QH`Fvg9aN(=`BmYc2T^`EkhAQcFWhj>)DyN_AUhm&`^mndaPN&f! z``?t)3A_t_{dU%ZK7P1O2sg~ShK~XlFqvScoZI84U%xP)99%PU`cyjO2G4aiT#V*3 zaPh*xnxWjqMAM41dZ9}XzxZ!pu0GX+gR~|f8Jx_1Kq@I$m+-+}YH7P|?=gJ=dg!(y zfcguIu)L&m&cA;2(n~*j`Q`gR_~3PyU;dFBPJPXeBo5lwxBudX9j`f+UpF}0ZojQ| z>7@hbDZ#mP|L)!U&)l_R-NhHLKXuocr=GTW%EtGe%Z*JV!4`*A)t#@R<|12eThn{Lgp_PT{4AszlQT8;wvqnz6OFXy&m?2=dyL7e1K$X|096C^n3WXv zp2Y#GWh*Xit|fZ;m)7ZO-7F@!(7I;%mu}N4L)6&r4V~N7u`92)yQhgX1Xw&9cBmjZ ztH(mTJ0*#7+O0$@QKftT&OxM}&@AFeBGE}CkkQ3?=d#5Zn$Jwk%_NBX;{spm=2Dq( zhIJz0X4v;5^)4h*mA+~^n24iGO{U^V!|~?8mNgbZz*Z)Vc|rpJOd^_*%D_cr7ma7K zsM9j(9J*hyx7}Q>h|n%6su@E7pUoEHT672m3D9^nk;wv^n!vz4l}?}u#_pVLTuhrV z-5!sjgF;#wdW&T9bUo5D;@(xVM&>lQOekU6RpJl2k^9ks6cR`qvn~oN3LHlyh-^TD z2(7WaqtTR-J zRGA=wK4`ltMWU%Bqu@Pagv+RhmPMCwfG5DLyD4xNwBgfm=%WIMM(E~^zNJ=k87$h& zqL*4)aNT8|u_XlWu~7|~*7)K$)ouhH(_FYKYmzy4@SMtvPROFK1Te zoGui3X)&amug6dX{aiZQM{6OU$4!TJTdg$t2VovxWwemA1`i-cg{6CF)F@)m-t27u z2*K)LR@0i^B1%;(lP4g2KAVeH+1Q(CshY154E`y$>WCOLyfwh>hx3l^VfXZFB55g> zU`{1h*5j>k&iuEKI7fC;E;xgvyR&-)T%r4|sN`~YOQpqud$(MUqJ_p#AJMO@7!DxC zC@c7&f+{W%v-*Y_g>3?aCmGiB_}`};o3XbC^7zt{;e`m7aOF;*h3kPqw9bW)gpH!V zAt2(Y=bBVB&K|q5xoXk*z4kkLM7M-}DM-(I(HF1^8U{t=O~m~WG`90DdLSImIPE(W zHbxC&lHYZ*t*f3&AVgU#_1OBo{lYpRW;j|OI%M8OAf_?49kcQ~bm)}!dkw>3c^&J= z5AY-~o3Bw_R%~gq4uO1}W2=Gj4|QN2bBiGjukL22Y06k{q}m|I4DlToDO?I7(oPl4 z6zWW>_(J=;C#>VCRn?DGR7}<1p)Sp%DIUb&ZmbS%$=1i%4WWhT4Q`t*4rZNaFKqvs zFKOJR;(&e;q^%!h{>s$UROMUHo-Ab)ey{A87l5|ZOOKA?J#|w|F-R+%%#OR#y5t*^Ivje5^RU_zq z@Q8p&qY{wRl0`PO5zh|Rp?FODwk_M=lN}hZZj;=TxyFk5Y;UPly7d>TP#3QEzb|aR zkRG4jFwC~2lz7i+KjbzUdgx`L8!o>0SwE@L=wt0gT$q5sNnaXCWpasVHdjpC%jKqx zM%Ve+r@uP1uy#E2N68XSC^%3Me50?gmVsdgyAa=+PY14GhMN0a$X#UW*$9I%>HH%a zRuZ;9MBi~bmOx@a%u>Nq`{GH{a(?ULmYL7E98i!b>3sp zHFIe@@6-7vg(tG&u3KJFot#7*4tEk}+c%ufkMtL1Q4pn*8Fs}wQ7!BhP9-yuI370i zCsit~->|u16IMheSt%Bxh=a3nl+S52X?+GVGw)?iGk*l5G+J-Va&tr znM*Bgb|duRgV2XvjH5C_!_H*&*Yx_ImwMPGCWcydX5)M5P{&G6`M~Tn(l^-cTGSPTV<2CCiMkhvDj~wUg2M>N} z$yq&d=|p~Y0UguC?E2;v%_|10zg7LMc=U^|Fz+(Zp4(Yd&S0OvKs1!=0(S;}EAV*W zaNzHq2r8b7FwFP_k_s0~(0O-WGpw}~Wv02jqtJZ5=c5a}=bNqh#d*@Pom%3(=vJ{4 zndUC8&|M9s=`5zj?ks1xtFZ{q*CJRFY=>1__B%LEsq7%l6D zdDhDkt7E5dy1@$PJ)$zJ>a?gr!x}+N#KWeev+fKP$5O1*ShJ<2DB)$x6s%#zYZB-q zT8cKP>^cXN^=(drjeu9(sG4flitl3XHXdD4X=uW&h~mt)#8(j-RU9zpThzmI3uXfI zBV3Zv9WORgotInSN;_%MhrFxcH@)kZ&lRM4W2TyNki$?}T0#+X-QgWZxCq{!MCOZ^ zs01XJY`?hD&a(T8K-Ku;NQ6z>F(+77dA&pLBtOF?9csU3*I5b5_NhDUPZ~vg7MJT~ zH+W}|eXCeJfj{pIS96w#|DZr;*Erp)oguKkuKMM_$%>&CPlZsq)M^ z3tp*0&ce`Wh6-C5L&39yvwF1tXUAK`PT52If?m$b8@p@e7z$qR+)TT1>&>%%(yTM* zRn`g3-QXAN25c4mrv+#Bd-v>j2>of#QD$Tl3SuQ5gRolB)rLAjD@NB$+wByxTDzNM z@6Wp{7`kV=Gv0L3m(_JLnRPM)jk2B;Gw^#FTKrCjkG;^N=`QRkGP0Q#>yyW+O66T8 z7PM!1xvT(Z)gsU{CYQJllv&d4gmWY}Fjgv$4dk5Hx!FQ7QQ}ZZiDEwIz7E?!40n!B z;=)|syYPbYD)tmkb`V(?a)V98!lSU6p=L$*FfOCX=mr~ErSY0}D7EpDcMGo9@pm@>9M)t)5fbXkx-S)MMYy|@ zx$SAI6$$~n)ST0ac|BdiSy=BmixS47P^rRD>Z!{*Kf2IFFp}-Sdblv6{@yal?FciEHxg1I6a%3S%F~dY5 zUtZN5&S2w|45x~O*@k(MN(iN-RK2kCb%M&OsNXzRtqCRZ#23s_GS z5XtEoL&$QHv1mG`oRK`4NgknA37-`~CaA3vrb>tt;V8n0G109>aVAP6Fy-WlhmhEX zg4w}ZUm}r(n?wek=&KD1$AZm>LIkEtSsVtC;9>IQT+2dIiY8nHp9-yE5H0b-#Yhx0 z#D>G!CR<|g!-3*xgD6xB0h_a!OxQ!sR9~eOk7p8*NFo!DmnwZJQpz!Yz{O?~u`(&H zL{EsNqEYWVGHr~!OlHK(+7I=nnOX6nb>vF7~n(@^{NFBm?t8?8AHG-3h$;- zSRqc0$uzl#9^Sx&hI%N z_?Giet@c^1e{{Y{AH@UnFFx=5Z}9K`PjD)DGC(`m245GvC-{lr<4`PUjc0~!;dJr; zp=0o5peI_$1L-OU`k@W_LWLeOg{hnv+$ipNP$AP^8$A+9+NwSLI++nV^WD9f*QsP- z#0|VCc}Q@%{*@^%NA^Vd=nWFF*2r~&u^54J1;LXi6e#L`%3GaI)IL}-n{^o#81 zT(dF0)tOr)BR7MK5Sg$Va|PHwt?^0K%E+Adn0P0_EE}oZ3W$&060(50Y~58SDZW&W z;B0voCjuU*f1YWc6r7dkD@i<7M^c^O@5g!x|2^qoowZz7;WbF%&jVG+rD^E0%;G!Q z&++Vv=V`?~gaKZn@dW@ei&H+0O`%&YnyXaB`gB26G7`PipeyE(!IxNhD;9(oDHcMo zYJ=M(U~eu#@=G)mN0U55a1`YdhI(eVs%0j_BrM|;V&WM2Y%MT#XIKQx=#x6C@tltl zp)LVdP#UN#v1@pp%2#1piOMsMPJsRb4ZdTrTX#_dUG2H*K+|ED+ z$PE$)p;Dk)Htu}boX03GTadOX4S{xuQLmt`@VofU77HJB})&3}i{4=H3(KS2; z29sk}4{j7)56a%RQ&j4#$ioyR1fCaVA+s2bN`4V}oFM>=v;RjV%YvfYc&O?r=9q6i zCWK9_HH@n`x1J)2DQsgP=8Nk_?Yv#i^KzECowBpEhdpP=auj(~3t7>EWvWB;SrX_RDvq8}!asgt z<0)}V2D%gJ)>xc9O91WQZ}?@K2J*nq8)6$y_v7EQHG=Wl4SD|J($wvx#ys z7mc87j3kM08BZ1qSwvEl1Q}v9Un<3AGz0Dx&VBK|T8&_v=g^kXDn$N zqomr?^i75g2aYUV590{V#@pV8!PyIjBp{0k(g&}EGKfMt9ZD6F3@~(#DHLXmExZzm zsV#?vSR7d?f#!HFdGXJf;VFv#O!>w3V1-M!AWk!tWi(I2^H{XBR8U0VEDc?iPQ}-} zaUM`U-almw2m6)IS=CtS==P|n-NZ9CDalK)>vWO5g12c#FhP*hs`8d>`W3?-W^|t^|2mY za*kwc4VlI{PW!o1vzEo94&{(Tkk1UDgZN(78m-FEe5;zOWaI7c#-VRmAJczOSzP9% zUPO~v92i_RnCUAflg0i_9IsKvpMOmR`s-gakm>iX`ORXpk9{DO$2_aQQA9hBk0b*; zn5h;8IL5>(4pk^hrNznz*^B0@wd^>3D2;@iCUH>Xb_h)*r9I-%C{c6c*}hD+B71r) zq}?DsS&&@~D@qzc^2*Twp5<%_D!Ft&q)R-Fzi(a(2K74we@MIIDTe{Ml*U!wvQhh_n z5K_5HB8!C|G+o=cU^J5mPi6*&`ck3ZD&91sJ5V>$WWevAB~uW7CkJC=IUG)ooW*oG~|hBc9)!ITA%(@ z%lX}N+CR^HKDzm&@O<>9;EmZQBj1cT-))~WGvoZ>B_BO4mz%t>?hHM$G_U=L?CiUG zM(ou5J<0OsA=H`V;zh;0+BW&9O^3I=@cD6lUz!^%rBbEATy_vWRCzG_1Wuc&R9Uhb z@7voa_`3#ux1X}}og4k@{EYNl78$~pilCNn5fg@Brd2N@3=Ibe zaNs-6N56By``%aCvibe(YaY1o{`(1_0j$g4fBV}L?{#YLt!zH&eeW;5ul;xTDgSU_ zE$uoJezQsIhVPWe4(hnl6_U^ykL9OMR>L}9!+oQRdsVga52w+1(b!*Xmp z{`C;SJkC)@|Gb4GRw|bhz~zbdDLE*_AxIZ=4iculnynGq(WB&K3oX0_s3)mfZdm$) z`QZ(_*RDNfZ9lXbxkV_Bu@^gaT!3LwqM`nEJJzk+wK()A*?a~SWU5%h`IyMiT6Xi5 zypt=T6BEn>hMp0)hu8!1V9^7;5^)*0AKto8`Rvh53sS^5vR>Qz%__@kNKIuUVs~;3 zVGqmKL?~qe*0--R8(a`svWl>Vx&wbe%n{9MaS1yRtQD3P-0Xe(-ZypMRqs2(_xtv7 zuy4(M_f7uErRQJr$-U=ZlDO=`S6y=crRTinyjuODi|RG)_XAP#eq50iF|xv(+^udS zWRd+jM_%!RFBi^_zv1p;`*V5cjHEt)(|Nr8;2CFJIWaYL>3Q?#_1br&I+5%z4S)k5}bcv1}UK zK0R0;*|=+svt@Ydto>U~ef>oRkH=?>G}_ z*tzfe(ra#)N`d7o&rGpUuTnD%IU%^gNJ_h*sEbQ$oP}{@>&@q{ug~wfV+Ub?cHQ;p zH8+0o-RHD79~(edMo@yUX3OXSDM*;g`x}Su|M{!4oBt`0ROJGJzxc%YzwLj&_=^{R z5R5xN=64M8=e@YcdG^I;#mI5~7s0r4>3um@AN7kL+*;&~*P9)0=6jg;_1^CnU*!8C z-oV*gDRiD=q5kP@_t@h*$GVPqjCQ@!U(<8!pBp2s_ns`j_wZKUdamBeV}y5;x9-Cy z&W?4>Nxb*+?#)Bj=y&Ivx(5PVd9UYvId7e7@LtPX*EqbDrn-0XdGUXCk1b8lRylOd zdw65zZO5~Gcb;R{`NzLb`iDB_lm-%p-52kq9pHP2cjtM_-^yLgZyl=*{cH8D=jz+P&p-Bm$2b@5T;rcp9y+fvpftU&;Ju2s&grc-Q5kfd zpO=5FUj}`vY+vNG}RxS(#t&vwDvQxJPe4O=C90TVw4o??v7^r{}8NT9OX&*7*1Dxs&4) zJUb>!roH9wJ@%jJf4_@+j78vklDGQKKX)?6%Foa9#?JAnJ?Z{= z{~C=+KTYNL(>132bjzQ|1c(@0!g}NtfybTC1UChL9NH1y9{y1Hg~%FD~uODSNKlx#^OW8CyFnW&Me(q`cipo`DfM5eV_0DS*@?OSld&(XJ7*!^}jP1 z82sGeb3?ZdJz1Zq@2G#e{?+=^^&i#$c{nvZJ^aCuzL6_N9vgXP>XxzF#(p+FIezc>*T;X>Dz$dEeloE*@t)O> zPChmHqczbr6KgJ9bLW~zrzWO$PF+3qowe^?_o4Oc)<3=eAEr;4zIXbWnflE6vxBo2 z&OS0XJNK!%U(Vk;|I3BJg?BGJv3SMeV@s1uKihEghI=+VwsCROs!eBZI*&jXUGv~kmf>SQ|+=bB#FTe1f3xD{^-LJg%m3O`JPcO<{wBw?; zT=dmfedyxN7e8=G^peXjx$TnQz2wPDez0fvp7!2}y%+7hd+))$-`o4ImwxiH+b&;q z`MH6uU>rh8(#fiU;VjP|L}_F6+5oD@rnnoc;?F3mD5-5zw)-L&c5o; z_r>-d*!Rf3@9g{K)#F#6fAxp1{`S>ByJqT|3$OXiwb5&DxGs9#6Z^k?{SR;Whu5@k z+)XzM`^cSF{o47z_PM*x zzU!m!c+cIHyB~dL-#g#-&Of_1eD7`VioW|jzp?lmm*4l}_kHyJ2jBn9{Zsc}`oKjG z-2K485A6KFCmF}$KdugbF|gJ~HADTFR|dO!k0)`kQnEYv403#WCq2aRs?Kqk<5zZ$ zBkccVRjF4L?tQj%oM8X94}Km2E-A{>JNEMQj=em+V=qtd*vr#9j&kqD&b?lqZvdt7 z8ua|v2d)j=fj{Flcn!UtU#|rnVg%c@b$B}+bR?` q$>69PsPr{tri`!T%r&^cj0CRYVIzc2*~f#<;;qM7t@L@q*Z&J}k7oV= diff --git a/public/adminator-erp-theme-two-pages-split-files/f691f37e57f04c152e23.woff b/public/adminator-erp-theme-two-pages-split-files/f691f37e57f04c152e23.woff deleted file mode 100644 index 400014a4b06eee3d0c0d54402a47ab2601b2862b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98024 zcmZTubC4&$(_Y)Q?OXfSHg9d)wr$(CZSQ{8wr%e%e)p|<|9eyQq|;BjCzE7qGMTiS zyqFjeFc1(BuRO}xo^G_%I z2O^L=ATW7lM&^H<^*^2eAN0eSJq3(x4DA1L)&F4euaO6sK5joV1E+r+DAqq4sQ>Wu z0|aVj?P25hA?l{GgpFa`oP%>HM?@(=7t5y$lA|Hyyb+&}%lcF7Py zVOq>>oZbI%cmJ;c1Ox&!PmnY&6cmq2?4Nt?RBbj#@*S#u% z($dm;AKJG3Yv)w@yrS19dscW!&dp@T$utcaiktwRu?l%Fgn7##v*Q%&IaI$|O!P}5 zE!tXI-Ss#N&%~+2xwep6)=D=@bER^nrNZX=A{Jq3H3E=sm}xcLG|pUA-88}8wRPyv zPnoSTxscjcm{McuVx_s+*=h#*Xv3UB1T}&E{uxPi!CD1QZy{>6F_-GvT;_v+@h3%S z3~p6JKLUMaO+O0%W$iTHs4{|UN^?L;ts#@G+64bnV>gujTO1A$SfkJKhUN{&{#iBu zbrz-NBAI4CWjjIN*&fwVu4RubbB`IvgcJ!WV;{$}bpWy2K1lw(2Xe|eWcN9U#V^J= z0v&sgD$Y5Kh^J4utKJ8w`)YkScnEwZDG=2~oYvdtqau)|6HAhwqW$r>MKydMdi-xf z|IPEi=Mls`ySoS4Uu8Lk>GP(?uENKw#l^+NO;vrl>caNS*3!n4J~PMG6%1?`Lo`8D zP!I`IikK!Gm+D~0Tx5dT2;-4lEPJvvNz@Roxn4bK2&F(-3ukKoTzvdLw9r!ZsOd)GFakMtPqh`I$P>j#E63N~^t! z8t)N`OP-Ey8cNVPKsgcS6B*&w9LA&4rPERq64J$9K^)cnN)EQxZgj#nJKXDP(AwtHNPvj4d!y|3WE|h>aXutjp#eR1Va1(D~!1cD@#G$XK@| z8ScdxW>*_WC0A}fCWQ_Gk+039h^tbyU`-AaRQXE3C@|xuc#bIvB-u`7jVA9qExYjR z=L}OyA;5`@PuJUM+d|rr+H3CQORerU?U9!{Bot;XUqe}i%R=!=DIcZf5IBHt${UX7 z$u&nXerDE=@3Wd|0@Hz$q*rpVDJ+Wsi!-OJ!$UKaeXQAz3oz@z3unQS7l<)x)linz zAH493JdOfC{BNrjX7CVfZBLDtgiqO>03bm9Y%opN;dZI*d!CgC7s1So zx$n!T6vhxG4g7BozT_i+(EXciSh1 z*WKx5dLayUw$Hadz3+<5D}%BZCKe`cE4yNK&2O zC_2B@YGbYTJ=@>6O14_I7;gA)sBiMPW}zMqr`$mljy|@#K)X4 zywlOE7bt(D_<9aY(j=81rYh}wpQBZ2>BFX$_0y{XD7Q1jV-(PFSPU`4DYgBSjuXGW zB&TypZ4-Ia;ZDv{*YiZ4BK%bLvA^d#3^`kw)^(lO=^V#PS}I{JY8vD2<6?gDUgByH zoos%w5n5SA70~&_wmZ}=sE_CH+$5D%I~M^tEkJ<ZQI7BsvH)rso$j0Tno$9{71< z@V}SCAhApjLIvlX0Pxk%zZqkf%M1LSF2n#NI}?5xPC=! zobSQlu20xcw~DY&-wOel-n@?qJ&by)A02bP=f7VUb$6h9A&zxij{$poi1x&>usk&q z)o~Zd^jeapPeoI1Jmh>Rc-6+ws~2@GiSZz{hBgw^soz#me0J4++L57M=6^+@00R~q za2yth-1NjYw%qz!q2gOQL3>x?qI6L_n5iR9jUE#0ppndAXQSaxXgAAg+?Y2ZVSq`= z9KUjbab4|QH-zBoMtL>BP)ja&OJ4O?2yYF#*>9aH4X@u0(otsJ5@}kXX@!4~Fy4Wh zDN>w`7i{CSlIi9?H2YDBB_h~K`_cJqA-9`a@G}pVc;w6b)PGdJz9MqO5mS;`wb~72i`W#}dhh!aglheCet+(79kLz+P{)7XRuyhb{YxtDFZ#1N?6e^# zh*vvtce7F3I~yiY){1)rPtn#OV%8zxe}b9$IU5=66PVl01yCBSd^dXUKhK1G0R|IV zcvk_Ac>q2IN6uR13{;c-_cRbEqYJTB_{Fr4IijaDP_s&jXx0$`sG}^H^o5 zz-Q`#Xift$p?Wb<=fxuzXVyNKg#>QnXBe)ocjuyk{hgW=c?V zRs~?RkX9n-Kuh2ogdASyGctZ-79U~PP*d!u<<~CRR3B7LYtxF8T{?!Nye0d%0n1-I zI4RC68nKpBKg^rfqiJ-i4HXbQx4>=dyxjLao>lA4TIu938pOX`7jX~@WPeN@jr_P# z^lTrnNnS5FJgePCzFZ$yZEE2?4_z#R){UKOsw3qqM;Tb8H@A2_3MP!1!fsit%Vn(B za_2OfhiiPV49y_-YDhUHAURUHq=tlP%rx5l^&mD@G^8z-Y=Z-tIt3L`u!>WVQxz;^ z&9LZUjm7~;VIecrymMSz9sAiMQWB|u=tF>$?NZ<_+~80;Rt&KJZ1cdqEdhb%EWus! zdJaxE0R*U{g1~6{#~l&e3R1mY+6nb{2=-5{7mcd@paR4GV(zxv{CelE`s$Ei#`XXd z)c6s?t)+nM8@GOItmYqze$tkR-@pNBhUdU3!dN9ILMYJOj4^aUvZMFQFK=P@cL1r6 z@U=sJ<=N(Bq`QQC3-wJHuee;+1OIT=^WJf^vichJbLK-(8A>DTum-ya`_|C7PvY^V z-X#zAoguBv{!+QTW6rx3-!1S_UiFDt_}ti$D*F?fI@AHKaETKn;7R7C5HXlh^h{!o zsrxdvVOX}7A?4Tr{6o+@q_3pMQZTg)Ea1)Q8|O#l$}N5<%GqV~ZE>N)M!~x7JUKA5 z9t(l39F)9Tiu!T`O`2ZQdW$v?+Qe4m558`xNHnv~bX8j4G6ay*PnvTLCWgm@K+IP1 z^SI~_P^NN)(Qy;gv`8wrCM0r zdu^7~mAS%W$G8dDhB^z`1T=lN-^sNz%Wcwkz4|)K)IQg@u1iEb91XhJ5xEwYDfvM6 zkLOfT>Goml>)dkK7RrcGd}4t$1w4`Vi@x?8r-Xz-T@erhoTTvYj;62sm##V72KMKy z7jCvo37#eEob8=(e^%k-w*#CwiWcoBL~yaY-mZ;3#7$hwrE0n&Z&_iqW9;qZ8h>;~ zOjAz(rmb4$^7bp}HHOIkg&1oXJz&O9f5ETRc`KDiwH!c>87$jXR}9R=#e{N-{typMNosUZX^8aPu^3Zb=_A_|$kJ2>CKI25a~u?@$|xUD0E z3rV0H2Dkhmtcz}Bqr1R;PGC&s1*q_(cw=w!eh^JIxmYy6ip|~R@0t~6h9kSKF8k`r z-rmZ)soKb2jgHIODnmo-1=6%KLu=Va>yJSJgYnC@P2eB{+<2U~g=4b-hjNb|x!65z z5!Z3c@32#?=kl#m5f8>l8a@f=Wi6&X>j+N1+ruaQG?CtDV~PXb>@WWf2Q($z>z7U+ zMBlz(Z=2s-T8$d;Ue6M3l3xRuVhSxm5s{3BKIpgmi-?-oisza zkmgcLp`Vnlx?L~qe?(H=WYV)H)PPR{pA7{5h`m_l^X{d`q$MOR49YduCf{c>9PI^G zU)!twAe$_^TtGrD{jAw%Wfw1k)5`DgJXWP`-7XNQ20MryLW6t0#t42k2 z0hnOio5PA`bpihQ)A=v&;|;YU&l?F@fC_Npa}OspB^Vr!zTb{NLwi)Hy`}19z@fr? zU3Jh7xd)*wL=El;v+()ck_u(iI_w^muPd_R6?OAcCyxtX2(vAWE-tjbs3u$PJ&jfGp*j;7`8P+@e0HF88@NU#6t?jH*EMz0L$My9PHiB zRVebeoyHC8Wl&pm$IT(G**{Utw9Bh)HAE_^TCH*ta-8|<-fxJ&aV4hWUSV75)+$)r zdIu%X^B9`Hh`wv*IW6Ho^#zL)v08Di99QNKyQ4Ex^x@3G;Cg6K(hX}D-{D_(j!D%6g}xd;qA)E>mv@<*$ZX$rUpcaK+~5kxF2pAac=%N>3B`6+-EO>fzLHkzfcD>r`}fy+!N&}- zUH9`HP&unio@pV+24r=ON7xE68a7?3>8!kAzHyK4Lb=YbvQ+HBn+||W{Eg?GVcYQ!l ztSPK!t!;Un>i4P0$ET?I9pdIh^EU0+RcYthPqRm& zPB}LVBWJC5;`qzHr{VN*QZ9;5?qvVIY@^viP)2>OQxb+mdkWDzLq#%PR5z67y??M+ zSjDiw%%q&n3QENt>Lwj~Ps8*c{0xvFm@csrU=eyiH}Cpb=6h0&O92O%dTc0WV%R`6~bS z;QT3eZTz7V7f#K|S{Kj{_}e_u;Joz^)V0uvH!H@e3WnVKG*Y;R5RQx=UKb=?4!qeb z=_DKa-vz<$?}ZxrbHii^hC> zLN`k`gS9^kaeye-(%)p=Q!i(kFa)B=q#!VbG7-calS3zKZMl8Kg`I^HD#h_iN?($! z>66rNVaPiYq<@#JX$rYXkw1$h7(yVDzNky$V^i%H!;0ZYI+ZXhW#@zfK7#lXMnh2Y z^3kcr0*7W=&Ss!urbd>4di6HWv0K><1f+uu%DQIF7AJcpusQzmE==J_e z-fwZbee~KU31mUe(k?U$jD<>ni>OKvN0|-t=m-(#j;6O&G~<{8=r6^gv3$D&K-xY8 z-A~Ae;#6^CAZ`&J{>W;EQAqsZ`r@~1+yiz(zXcIDK*GBO!0caA&f@eEcUcd0SLAp% ziK^4%9xfj7AK-j%&m}#)l$Krz(B|KAu~u{JsH3mYsRF-@7#pkE z;OJGjbEEV%#{Qt8>G*G(Vfh9<)rQPk1eaSAEZCJ)F~PoR(h+g}tl-VX($ zYO0R@KF7}dH^^v=pHnQ9YSNiTJWm+f!v@BwqQ$Y$ei`a_1{_|I-ss`3Ry;b`bNIE$Rnb+z+c*ky}aexvI*zKtJjccvTTZIqk!Rw!$+NgN&BT7q-IM^YM>9lAFF3qsj z{Ui)Y_-SRrj^=N_HhESJD-ltQtL~Y=Od(%jfPRpq8P9`F;O6pc)s_oF{z{=|n6er5 z!u-{h;{bvm_L%5agg+m)4aA0YAb@K`Qv~YLWx~sGmt6*V!|?F z%7PdL2(eqp+SqbvQ;>6xmHK-4tnG6El;(blqDJ+}Q2=*wlRYGBr%&K>9+K^{Aa z9GQ#O*$%Ki>UYmph71RnuwA?#!9vfTIuG|p%N;AWWwB5C+IE2*>xGPGkT?t@?Dvhd zt%Wpg_71*1_@0kBba@@FZN^TvjpVY+rkq1h2gtm zJPXCjvMjf7K+`s#pH$0kv}>*SPOV2H-e;NChSuuNAtqhRtEe-DVqBG7vr*enVEmVd zAv-&^RqMyAthD#nN)(w!Yp^GI_VB1e$~skiRlP3K6DJObNVTJM{r0E+{x$grTNFbh z_uBsc88W7$jtTI-pPGD>}Uj((F_m&nMmhI4lhx z;SZUOC;SP$w;q=0ux8Ozq190iFGeAoD%-HBSfOO9W&PK~Tem;KeV~3gA0dW>Pv6I1 zYNn)N-+Qq-I+AJB!=V9uxeoR-tL7t;-ZGy%%>9l;tMtQJm7z}(vh)}z8v;!QqkT%c z`Pr;kXU{<7gZGe(<&Zjp1|1&SGt0&iI1JiBIdPElDo}oD(oS=FPy1_j?dy9UkEB(@ z9bfbpt~myqXy`*o?NPpA2S*3Iq3$t0QzT^=d^GlO7pmjpsXe^IwU{J-P?mtkdD4jT zbfg}pfa66t&>R@5s6DBCTElqWD~=VAB5A$Y$g3nSX4Ol}s9ozugn47sFrns|d)D7D8mh1^h>F8%3W z2a5TI9W)%RgrtE1+L(i!DwwV@xZ@VytBSnvu3ay?9Y$%KBd@=bFp#4X>B};lBl^>;B5%>LW8TFDeNLsW?@@;#fCxMm!*pX9lfHt)uuajgiV$d zT#h**{Ipyhjltvp#_fvwZ6(9T&)Rb;VTsa~=gJDe$;q~EJzFO3Apn2EXrlA~F^1;i;H_jG>WmV*SvFHky zf3twjY=>%B`6@dr95pk37;>@x#zI%UP>yJ?6%2RCAY-s(SLIof9c#sG+>FEDjD6gU zD+r3UOyZKt5Q%XW6oZUQHH@|K!@vgu>y(j~#NpH5x9l+GPE6*P91EzHBE}krNo7~5 zb|0;8aj<>dJDCakJW=LK#vk^V^`8D9UP$2lLk&K$X+Ag;(w#ZeR7?dFGzJkJMi;Oc zoicM8#T@0|)<b|u?YyW0!6Ew$>Y~pX2XU`J zDYoQ`d*fm7~YwxoZtL1W7$X*5n>+fi8oUqvJri& z6nm&FFcO9AAX=7k9_;yussklMDtxu6t5OkjY3tvL7s1PUqGstoYssPT_ItLMXX))Z zJ03DK>_IPJgIKX7x8Rw<+?!kIc9MEA5hw)}5-iqzE8VFOr%mr5VC50inCtJ#tAQL} z1%tXg16rH5cZ?pPJcaYO6~hh*gGh%x5*s)RLDozXG<$(Q=kn_7fh78e%R|8C^X%4F zm9*vMr4{4*^7ibRo5iK-C*+ed7*^J_i&Im+>V~x=%ybD)(9wLptciZLN_)YB5O^v@ z{$Ja{Qtd!!GiH0^v6Ue$NG8nsD)~)N*JjWChU+1?Ny%198}eb+iG#cLFl;OopkF>K zIJg1zG{!THV!AKNdnO5aW zt-47+g@#B%3Z{it%Q@M`87PUsQr8-l>(V z7?crSbh@OEA$m#}=67-ZTp889W3?AU=1tjMdw;Ne(Izfm0-RQ+6jH&8gwGA_(Q}sf z2cqudmvKpmxhIPXLGEOm41F$3^s>mhI5{xLs3uHjw&8hlNfyhYWJ>LMMzm7Au8{{4 z-78CWHW(hd0`W;PqChl|g^3)t!&RZbm@=i00BhlV_)wg0=hMU42F)9g3L@3ao5I}H z8I}fZ8eb0a?<61oj=9=X+T!Eq!RN*aH=0Y9i8s}rg8IT>C(zNJ!Th>8L<=0PZ>~y% zhz0Bh?ag(U19g*K4YsztBIx+FBiiPs)+@S)uF6ph=|=6xgUL*jcixtPvskp*56`B0 z={4aNiYE!i0tq@Z1;pR-k?I3o>lQ~?sYinu)T9ag!9h~z6;ikT8&2oT|A@)-z( zaQOIKXY~=W6~KLycubCWOz(G95I!BBDB0Pny<_|zlgVmqx-mrqM_VmHhiBtJ`$Z5w zCPrd45%V_Ko8gYvDbKOB4l<(Fy#)}+&?NnmY-1A}rTwO$s?$(4W6U5%XfMI)w58zk zbnp#zcaX9eQujFlW$d|exgN>CX+D9ODCFX{GoRcYei!0W`_4DPA4@ELI0BSq?GTP9{qy5{Jp>{!$ilU=1r*;&BcRg z$*q-IA(UIbR;y$MuoVtrm}_sru-Iv6QF-Z$*v_HQLPEzhFGyrl8>MSf`fNpzygHW~ z_QJA574ufXwN23TR!mhNU*^BKQw@5<dJs*_=x{mDYt5qy%uW6HuIrYQdUw=BHHG z5Nt@%wEdaq4{)mv_E2B_!pNn?M`+Gf3%JA^GCHQY{6Z+#==o?VMBVKN&I-5tw2=+-ea|`(iVDzDkf` z_o4ZdXMG*j@}fOMk`);6@zP0?jJxg|pqYLnuYp;NEjq=E37d$523+{9c|=_m;Y=FC2zr0q z9ABp`#xa?^D8x?{^m9Pb8P5(LYi&GbahTA*2ISmx(8c(0gM7mGV0*-m^P2+5>2y*D zK>!ty(}TsN$-pvPyv8MaFTTJ&O7I6s@>;4;BIl36G56wWqHwlP{~pWLHf$Uy#0Puy zeV;G?gvis^Jxj`$>M5o?zm}_}UVzVP!9jt89Pwn(1x#nRAN`d2;9sJ`tk0AOz$1+E zH{8RxgaNe%M&|1hrS+*9C*P^Q=fDJ&p_?m6QWaQ!V5kK*vuF%HaecM^I*D{f1%Ubp+IA5m}APs2n1ZJu)J^J{Rl04s^nuyFN`DfFR|@!RJFA-DyQV<_xaV4SNKY62@hT@DgkLAq~ zhG+%xacHfgNfA`ZaU>zuj+4n`fU3TLj}&960XK1bcKm{wvmh9SVn*;5QgF*KxDXp> z;Zr51Q6HgH%jqJevB^Jiu6LMSlE`WNR1ubZUzzA5+#sU+UBVg8!D?yT@>=FvY+EEQ zC!*yn>I=^d@TLt~CRiEKJXWgp@5P+?!Jd%4yZjSDVZ z`OkMD7`^B2*g{%}qlKpgf7Zmo0$lvg7&BQ)Aza@3G~b|J$Ysk*P8I&CB}bAMZW-~Z zIR_wi6Up0t%hZXSOGa=}k*;=(xjt200^6TTRMf=`GX0xknXv$dY&rT#xsb_X8RNyA_$By$)d>6vNs2f?oR!rfdl)uT3^wm? zQwUBwSI&b&0r(I>$MjJH`fi%N1_>bz?&Ie_?js~TGj-`X%$+E9%n{r<<}`S$e`-p) z=*`trS)6S1Q%@D>CURjquWCtl()2l|<=i+Y;!j1i7jdhWpckp=OwWUJ0MIi}l3TJ6 z%ie2wuVKrrw_6uhff+-6)=_Nlw(qWRJwWbgGK?~1p|U<-iQ8R_>vJhnE;jiLPcBi1 zRW@hF{B?5XRh6|AR&h%$^yWc*ouol%@U#QTr4H?XOSYZzd|Vm2@o@5F7Ops_jl7Q) z_!ybL>GEq;&gio9wM`Qi-TlKa5EY2IY0@jteHNx%WR6`sJuJP1f$&aYFSPnLp{u4Y zEC0QDql)X^>kq8ecE4t_gb{C=2=3N2Gdry^aVqO$<8QdOeXI3e?r5`^^}Z(42qSR{ z0UzZY8>scj$7ip(7LQ+vQ=uIKkHj_~tcpcgSP5 zl5+MbW(cv;e_PPRsa@@MkrcgqMx5Z%N!L9-bn~Ur<+53s7!rjk3?KlB}I?)Qdv;%ICl2PJN$ftp)ow;+k%4wA>Ck$|vtQ zY_;32dscrw)Oop1ekSSV`gS{<%RUw@3VxU0lDzU1SQNO$YkfWP$ke$i6f&=S)<#|) zlsaMpADLw$TU8oa^N=>@h~Cf?=Nn=+j|^}w(vlxqQu54&1r>x{W^6ldqjSsVb<$rwy}rmwYQ01Baz>U?dDE) z6Enk8YWv#EPCC25t@EorUGU5O{POaAz%~D^imu19F!K|CcOQ6u9A(3jzt&6Lx23hJ z_sY^Wy`DrdJCS0duxEW>Bp16>_r;eS+N9O(hQNvjVv4ZBkPTG)KZS(quq)nebe34H)H7M%ti+!MZpA9N4oWcss21+ zAQwnD0vc>}2(d1Q#3z7x%6;?j6E#S26$>I+F1&^X5Yhyy)jZx2)-|Upucn@=gqJ|1 znjL{ulPOb0eXL1wk8Ah>PJa-YixeC}tZx!&A(kWBz|&k)2zfAfgt^NQ;Olk0Vk3P% zSYd$?<92$LGI`4r+F>*)w>2H8@J!QRnSiB-i2PD1f4t*yB0TW=VEPmk1ex?YExNMN zI9GtnDg}xUYG}IWCAHvEm4{~@{-51el6Asc*;aKov?K-kv&2q9S;tVToYnO+c-B=` znQKkgiC7CwY$Fiqj<-%#M!D%}%W?y{P=lzvRFF$pViFDB=NX-O>E6kM3WCB9`o^B* z{MM$j4lm`~NPO5-ia@%@awPiq@h@2GFf=ysU@*00s(yk}5oIaOg0TGff)nIUWYyxN zcEn}cZ}y^F)#s&R>KDsgsBwSUKb9_R?p87K-R`$x3itD)iTviK$x&+bcHFT*Q!eFg zNcceU!8YQz_sVsSd;ERa>;c4~o)C6(H5wX?RrI-;Mgfj(au5r*P)ju{uKG+ds!M@l zW?klvU;Oq*8pDCohHSQ24f7DeFk&%(PZcU>rFa>O6fcD4U}U3XS#+b?NZOc2maoDf zS5>B4E6*}7JnfMM)^Z2!u|FFCSETDqB*+}eo{nd-W7`sNQ!;2e+6~Ni)KbM22iZWB z%yRrZnm~6U0RBToY0kZLy)+s{VKacat74^qa)$4)&Ph1*?@Ov-g?MMEm?8Zb;eqt! zLvhaQgRdzKuk?`*jXV%Juuj*{CsQsj!V&}8J|X^iw$%6jIW)vwOI{HkFX{!z0lWlKgw@5_{( zOMVy%4F^Dsc0R@>XubIc?i6ec|UaBw?M>gea5yPFzj5S zT>m(ee^IdLw=-~?{o7xKpf^)qkrM(2p!((az6XGrED0(FM33D<0}i-zg79zA=DNXS zEsb+Zs~m#O<|j?o&r=|HRfL83{B0M~P{4zigdGU_Y0sk`&i#!eN@q9FI$Eh0D@$c= zHCwJI_FH!WbsFo5orbP4n^#UY>8;Ped9MS08=u=>R+PXtTkh6>nUbtX-mk~TlT<&} zv`4nQ78`LiHas=DuR9r3LjJaDID5~MGzV7ac6>D$N#lJ)K*b$#vtKZ<$~-Garg^@I zP>8fe%19Y_zr@ojHZ~{hg_(b+=~elZnQQ=ZFK<0h^nP0I2;dD#pcOcEKg%FDH|FA= zgCO~T$_6o8I$2SShA9w6s>(w(SXOn4pJ?h|oFzAC(qSCg$%!_$fG;Qnflw=yLUdWW zA)3k1AMBe)===HMKi6Z+RK3K-|6!Nf$WbMb-SFwgWqST%&t-)@hRVSed2jSKYbX^_BIu^IWwbNF9 zpJnu1Rn|Wqa>o_q$=jWj4UQukG7HKuhoijLbIp1FaSe$CRlFxs!%%g2>DL85wjvj( zy86kPCL7BS#|tDau=B}#QE|ffG7?kw$s+S;oe~>*PDr08^U!7HjxX!ohnTQt-D1S< zv>{kD2r9{5>ItH#v8$A+WSK86m8%+ql61HsP9hz+9q#mvT0C!ly1bL)-)G``ieJy& zd%tNl6e$!ua=U}>dM}XA>NTG{gA*PE_J3EIFWC8k4~p(C2wkZV>yfP7W~hmm#ntLo z8zO~R9Z9@lS@sMv$@L065Op;&QPR1FUw{cSF>(@B%9&rewXJ#8_cAc=o6*#1DT$xOzeycmC9E)Kw;29{@u_qV|P2(ZS zxS}xa+vYYvo$*1@$w1$QXeJ2ZsA|VX769oq82C&5=~|MRo4VlmF*%RSB7`4{P#pDd zHVO!rfZDXw4$Zpt!Il+oD?D$1+{uEk#nJjBK(eeJY%HhD`*}7)n_Btv{`Im!O4a(D z%EQ}+PvTbP=WADI;~|5XOqn2(kOqamX)kKHqw#y&_tnem731aRZGz5@?m$TdETNl9 zYS>UXk-v4THB7I;csa~%`a0{~6#Le+(mw=byX1PI&dDx!XDsGYB|_m zcnJe4os^9}S8d;{%WfLBg;;#j0-p7l;vBtSuFqcnEiu4ur+K*sVg3u1YtU+w(t}S* znYH047Q2SAnx}fb`rn$h^+M=ct#RG8&mx;^A;cRG6M`R-O{L-D%KMi~ug2yjTfo~> zH4VQ8Mvs>gE0<^aSeNJZh7>i+(1$u(`q{(nwWQK^YY{7>(QcDGjqqfWJw2Vyf}@0< z*0q@`%Zi=ABF2bB1I%U^tnxIB&zV$RNhKpCH@w6qHX=p|SL^r?GC$PTAhC+K`1sxu z=1&f_c)8l2Cc3u2W@J%(6;VRUbf0Btl2F`Y)VYf`m|vxeoTi>`gW96 zdvwr9$IR>Y)MUHq$%$rM=IkMf`b<@d5=nY#^q%C`fbwITF7v&Kd~K}4z;F$*^rQ0@ z4Sj#ac5hQzCLMN`*^3>aRyVd2a?)5z3k(T7strykphhh$nsZ>Qc7_&FaAzY51H=Kq zn4HbEn!l9dl5~X1xNQFng5l~P)~B!E-}j`fMweF^Ns421yno{$UANe9e-h$_dT3dQTzRcqepkzHk^z|s)HyzqDH#~EbY*nE z!3acTnuFHKm4Be2=5dmGaC(Z~Y(EH2Sh?kod(}((&UA6`XTR-YOn2Lq=K8Ed9J;;w zkQ210aTLZ=kK-~tSZUlpgbb=&zrtSoh^z`D-34aSz#KFN6OkBL#w9Qm3&c|6wm}xW zpST@|N0Y+_&$;v!^lp@ufMv?cYmi{r4I{lR1#NwKkwjJrH|5aRv8PE^P+iKQnnsxV zp9t{@(G&~gYy7pdSBcci0$eh7${KG?ZP|P5B!Hh!V~Ydjpyepjlz9e_y56W~f?UN1 zT}>?Ii^u;+sVa<|K{^5K$KG$V_fNK*c-!7`SKC-ilQU~8d^Yh?4bl^Be3ZK^lT{8= zS8p}8Foc24u}xec3~k@==9w{AJZg;u$Bsi94Ws6U%vuicdGkP86 zxPP_v64Oubdj3pnSIZt6EKDi*gaANFtS^9aDeN6?*l&Po^l(+nHNdVjB*mkA<#9R( zcBb{DRXMY=mRP1rN=ufcI?i2TqDX}okf?on<4}r zl;fjdikvb6STV!q@K~{=8VjL*l6Q)k40Kr!tD_9n-j}cIQH4J3L)rJNMja`rb^JJA zOox=e;F?5I3T&fsrC0_^(Yus3APsM;-FFE!Cx%+-tsa;5@zPj%AVh-)t$ zF+X@&4pt>X7%PsBv14&KggqdqHG1W^!jSt~HJUay?gXlvWsLkQPE0grR#Im*_Tl>X z$Zi}x0nE$Bk%)~}`lYFe!RX7JuD=ox%p`whlQ6|bqgsXfHaF81jT$YIL9{f(HSak? zpn0T?m@}WjLFh8hI=OyV6rERA*m#w}U1h2qzjXGbsml6#Jw&N*zdT-dd=15Ie+EtT z*#yE+H{;eR8(c31v!LGR%vg8(nR?iWQ!X zgB&?&SyDYVk5FD=GAgy6YMPzYc)U?f6w91AysneldB*ZfNwqr7o)r^k6yycj+5=oG zIsm{uOIXjQV$7>=Gfq1Zc(Qc~$x7f?D4xDB3DhOeHps*Sz*-D^I+uTCI|L@ z!^~0YFTBJ!r7pCmhdi8L0w%yf7id5|2Cex45Bt0=AS`Qc>_st%GM2eiFurXA8)&vn z(v1_c41I0zS)vsNNO%C$bu$RG48L{WZ2&C)?)C# z>17e@z3yu@{by7YpJ=5K$JiT#A#la2nF;S3f; zDSR=#+R(v$PoqqAEtF7EmCxP>bl;Bz4el=aO=r4jf0+oz{lpsf`JTJPo^$7U#Lirz z*rL0Ew*_?NZcc0iwo4?}+q1LDEVUGyv&xom@Y2<247cIV0>W%XhlS_CXn+GXfhKB1 zlkLEMF9fYoKw9yoIFBEbwmtAoO2?fPtK2%89$@3BqiiYqJ(gJ#O3CSZtS5)QCq#Td zD;_7RGd7geKFUW=+l}kCIyx@xSzhNHB=BU*rOC2NCU#BeGr7%XUc3KTRu(22MeP|OfeK}h6Sw$9 znybF@fKbPT$!GsTdDghElPCbj>FE=w$Ot1AM3OO`xCeU~O~LnREf(PRSZF*d#^Q?o z>;6J)+eJi7qg3szm{M%>vS1BMpTSV>egNC$?5H3hAr1~m4Pbo}?=89Nzi~9tHbPTP z;2V^AM16l1wX0b{vq4OIUpnQ|fwiRQ8kTb|JSWSTROq@C$lwruW0aX#qk-YnxK8H> zHw!#`jFjBf=_XQx5f~Oa{a_)-ei$&AuTgrk;Fu{BoqrAlS)sby2vM(P>jNt|rNgh>#=@{8vwQ;2CN+C+RNN7dj;t?ykeFtlMtesE?J!WjV9* z3rus4%J)WW(aIZ8p^48E4n3tHQ9k8b_cpaLHU+paT&KQ&zhG@L^d~+YM|w33YEs); zo?4rq3NcCzHtF8B$38y_U>LwR7r2++O5|Bv z#$sZ13Jk+K41jjkomNzn@>A+j*ifN0KeIZ^$OW<*yfL`NGz?~QZUTT{3buT*ARp{p{y4spA`#PCdq%(!t zgVbI=WSZrJZYhdd&(h!^D?ghV6EWy@F=6~$$K`8cR2A~~Yg!i~=>Q|o`GeD>@AK1s z*Uv*oP}N%In7?%8Abm7D=%i3{BPIHITKaU$uuS!$8KP0af*C~(-(~u;_{URw3*`*_ zdq{v!3xx93adJg%>3)ftaFArB(~d`3U&FxMhmx>t4)wF+v~l@12ZgHeOpelk^&}8 z>}dr$wl6ypRB);DsHO8~b^1t@aoA=_md7tRbz;K2)jSa&9J7=@>-9u+J;6&>r7Fe} z1Q+j@6rI;ze+5kFhp}4Uw>xg0GSfUi8Zhbz}Y@6}@->kHZ+jo_eNB zh(V%q_s&vwdO2BFfGpWxY$G-%v(_2hc5_AcDm2Jepu?qKUkzVEKPk4WM>j+2dM@ow z8vq`m^&8RJX*`fav$SU)?UJt_67BmEgZxsQOvV2JJV3+0J-Z{8?Apzzotf{|zIMm{ zv!jhM>cxsvuURNkE@|ysfs8o<_zT7QN@VBJQPZ3}3lcCuLXJ*(Vf-n-Y6LJ=XrD6d ztc1sN0qxRH0G(w}9yLBmu9JSRk?N^2Appkvq5mzs20=JsXT)mCPH|p0tTyVyWvdgg zFNy5FhuyPMb=0E4S|_06JTmFIA{Aep?DP~m+37hq-Z^Hn+1lxt zjM>@#ipY5E0K9@)7GY0>x+%?jWiTetLN0y zEVe7E>1ZOYDLtsHRm(ok5FV|sc~;NMl_AU6R$a+j>o`YW3Kwcu3mdMoaHyt8>hvJi ztWh>ls2=G!J$JBCIlEm~jLh;lFuvFj6jER{Lt;v4rIl!cMM*%Xx!m-4piw}Fxh>dAv%`Oh{%GoMl%m&=Avcrz zha=aWj=EV2(W6)pt)ZS4nWhCY?9WY&>4|QM(#Dh+q|(i4CW0erg?KVggqHH&GZrj>>FO8onE`P~>Jp5+Qe*(xghpone*3 zu1DM1jR5gVrXYiMOB;=6>H$|z)2x)cOke3Fn~-#fv72Fx=vyIaCjK5x7wtYu7UH2y zLT24kfdm$wx}YVs4BMkNA>nVV1`C;nts)i#B-$)Wy&Zc9@e*t@B2jO_27`#O6(d3f zQ70iH5)l(4vDyrxo=5_+I*Bd`ZwZPf{sW51Mjs9JdX%( zA>}GQiTJA7Gl{)M} zh#*o$5avbfvtlA(tb<&{U~yv6rqjDcLB!Z>auT6hXE50Xt6vJsSTIUh@ClI6sk78M z1cEWI$09;bEVuyMDLC~9Yl2At^On5i86XGx%Y{aA|c5HRqkDqve$iyKc zNpBn+=_%prn2e*^$A7B%LVg zWb8%&7H(uS14v;QdcBtj&=W}%3^t`B-iD(fdyIE)BbuN+J z1Hjl=s|20iY}O0NVkM%7POR0$TLmwSrGY9}IG_Rm2jl^`t3p2+aIGK&TbgU&-=>v>s+%nlBRP1Tm*_D-F+c#|3O2I|S|Agvju6c28f}K4-G;3MQTwF;jYKaR z&B!iPI|xqze2HK&#K2`YN;M;x*q2|8Z3>7gbgv0;-zr;{WR!>9^6WaP0KdH^d8 zVS^|P-yVJh>H%cIL|dzaX{L}ypaNJ{SQG$?t3+72Myw~i4LU;%adVx$%IfB&Y8}&# zaGi09w=$Z^MKvKyD89a^kxS)QYXQue!~|#K*taO0lHl@apQF%FEBv{_QmUi6UQzI| z=)?FePs_XaXv#qCyC&Fd>TkX!Jb07dYA@b}{2r1=Hc~BCd~D6bXn%C-9nWb@rC_bG z-gs|kjzX! z{0(PIY%gm5;t%KYP}*An+WRJfV{)o)schzsDjc(KMa6}i>~*TltlOR8WL2ggffBez z{#Ok(s$B3f!*-nPLw`W;*ECS2V!nLOO_Z@re6@? z_~N%!=oLKu5cbuSvwSa@ilceTLf3Y;3y*eQdwYlAQZRPiL&yIL~}Uiw~k zk*Ck;F=Z3DM!pQBXD3jJ@sy@YK~m`>Mw-nmD+EQg@t_%5tU%N!(B=0-r%N9Ux?g=l zed2yPK*f&%-H$GZ0NH0U#poRxOM@mT4EL^ow@$B$T*xrLR{r(-BNu zi3t!xUR+Fp7e0N}9g8;KEcWf_nA$7wxdS&2AG+~?jy~~bP52Q56fT^HE^BP^L~8CXSa#ff_m0%s zZC6}6HP)1Bg1^|*ORw0rR){m%Lba~=sqDg2^A_GDY`eQA;%RC`>se$;Pwjqjv+yAo ziw2^{|F1O6x^s;(QIsPOiO ziw`Wm=*Nq9+_ZH0awvJUw`k)s$839Z8eDMHKnpdgNI!_BUBgPXNXota)ag8Im-lYP zXu`=S5$c#Ru>MfPZO^0JQ*Xl_y5~1(zx5=V@WQ>_ht~J?)cyqMjq72}nVEilkXn6b zP?ymp`-_q`P4pNDqG-w$F1Vlb33>@xcyw&=D&a#f06BR3^}(H zmpa4Q6HG9d$!ONIZ^*FgXohW5A>rbrQ|4ltnc-&SL?TYQnaLn1i~6Xw6)1#RaYqv5 ziXxZ9jQN8*Lu(}(;|y&?r~O2z&6#a>OJUwMIv#N1HH-H=aM#imMrqBWJqH#~)0=nh zH0!4=KCoxe8cAqqx@hkMdls*eAf@ga{AG*XX3o_L#D98Kb9~{dE9OMCSM$Pnb9BxX ztF#xg3wCJlJjwJ9RBSVgs}Y{d)jsv+BYv13Jv}Hr}V^v*_?X!fW?1+PP83)pHRp zLBA|9>K>+eLYA~uT=sNALP0$W%JdK^exfs(E_=km(v47Ih<*_Q(N989y8_cXbL!7g zQ-M9di#kxZRP5S**amTB`oZKQK!7WL!IZ zmDlV1z-YA3)M{L-%V2h6l@rl*#YLhM*Bk)7r3FnQrOd zxmsB9{jh6qm1n_Ui5W^N*NwjuIh zDv_kvrYJ=-3Ht>H;g(Gc*Y{4IG`XhfYM*XWShh{Etw(b&O>|=Qkl51O+fq~29J&RV-l}mAJ*F{yQYFKdO6j$mz5UH5H9OeJR^BrqBbCImq)JXt=8jaZOE($K+EIK zc*=uC)4OH&$jE7TSg_$lm9cgWTO&GRuI^0ksb9KiYi(OC!kyVp*^H1yoEYj_e(}0x zZB4EAu-zqDf##O$o360nC9n7I09t=ybhcawZ^`QQRhApfQSlx1PdCr&2)6hg!LYxrefHz?*Bo5hG1V19m@G9A zGgi!!*My9s)hES_vU=xtHuX18X`dVjHn;TkZ(r~Pn)`B9_|)yCxp8oup)A8O_L~Ct zaZhO$BP#oDALAc8HviN9vGtApMkxJGdBrE{E8L@FRPNkypFCxyo07Xs7D1pQab=r^ z=-#qZ9dQ!Nc%c_eP*E6~SNVlex(`>Md8}xULT37sP1M2%5WXnP6tILut>#!upXKY!LZ!58LIB^o^PRM0)Iu4MVKth5Dp^$Ke0O2O) zD$tNZxp@h#+5)BA;e}FKXiZCb3oS?6mjbc1`OnO*4j&=B@BjNgh_$o3v%531vop^# z&-46#c%*0p;51w2hak8?{yi)cPo5NG;)|lla(H|4m6aKt6SG&l{pcpHlmZ}-lVPS&85{;Y5Mk9GhZqr%A{xj4Dn9cH)-#oi+0E$s3k{i#|D_Sb=hN>&lb+Gqn>Haxk@WWbpmY z%4P7Tl=$Iv`Fw}A!nVHoiN8$V^<-b~6T8nUpEbj1V{|NMseR-A8}GlouNha)9<6Da z?_BA$Je40~ymOKN;cz_&|7qSG7j`!E?7D2?+S|RXPN=Xrq}D};-?{se2mZdW*}r{Z zam|FybEnqGD_7r|4Mfh_w%kNs!`O*FTSQRd1Zo{|Txv5Gbb^s+Ac|xhTf`O_DWTFg za`NH#X!rQ}u~k=HwQ6Zg?>RU24-E9*_X=2i?z!io|A3e;!@?b|&^~8fEO5)?qix0UoTI_``5>_HnA!vfJrG-6}# z__6%cH*b``e16-u=Yjb~;Cby=+aKO_V&~2iyXIbbR(mmr^s2`V^r{nYojCCp-1w&a z>{B=+CNHoB>wK0 z);6*cMUUX2|$Yqei7s%w7PUQH4LMqk(gY+B9 zn2C}hcm}8#3?<14jMkZu2w4(+7D-DWCDmnc9+28d(Fx^RQUw(O0RxZ>5zK)U#vDii z;wvF34*ANp2`ULOLVz*LtgAvBV9h@FASRK2A1TA9oP-G`ugnUNpaZ}JDYNn{9Db82 zd`Nxn@YtFnii-G%Z)6bjL5`kV`(aNyDY56Kldwmj&d$zvOmeW_D0!Kl!KB2zmd`_i z`)7(#u;<((TU8v|y8dfXY`-LM;}*V2?)#xuM-dgOC+@x(5S zMw0vP?GDD_flZLuzJoCg9Y*m2Qw~XBK?$+qsx(o`LU~04=)1gO%J~rhBIi$O_z{@e zP`s>^o$ zAq*DGIv9}$6MS`1i71v7Rr86@oMqRy&Fo!H-uWYFJUfTP{gtcu7Iwu|7kd+u6@7)G z-e&QM=4#-x1xSb`SSCLSR)BT$;GEU#ez=;sR(@*sg0}fKz5Ems`#~qPmQ7jLcJxj9 z+94nPM^M|ja%JbVv(Fy-ApH^)*YB7V@kG+^f@{H-a=m#o>i z^L13l(o;6>Z|rZePn&NTXe|y-^>8@emsO9oG9(NI)f*T0$?v0`HQ`8=zRDd?d%xLIB+O2nqE@Nq-+*_#C+VvjV6VjP2Ityoof&i9| zl@;7PM%F!mD#xo-8-mf`Il&;nma%exo+UslhccOUA#{P>uGNy2G9$W`-i>amK{vNS z^ceK4(OFTc#>l$o6jhGu63$_GDE`Ely%k$Frsra-v%;Jds{%NRo%nlTF5!|9IWit` zz|1RlA4`V$9V7`0GSDlVuh($y+A4lc^K!Gb`_=r^H@@gq?@&^Iw zYK&$D&H-ItUIWOP=}@IdJ_7c*Dh0Po-pkHto^hbGdq(pXLCNt7*=$$xrR2ds6cv2{ zxF_*VuK7}aJTopRm|J!{|4~R#L$VKsq~~J_8huI39Aa`{To`^}I2soLiSCkn~*E4ZCWUitU^n_ih#+p}bL+c_al zbLHQG`1fDsfV*s#F>t$n48li`=GGu^>_#KCI=>d#I@E>mTlfwX1@PVY2}t~-7t629 z|GuNI=j?#Lup&Bh`Yk|r#~tZAF>b=~GoUN5jo%AZ;Tk5{`{>#^H`mwCvr5G}q4&{O zAN}k8zn=kWVep$Xqb%&Y-~<{Uz$uEp2#sMr#SW_&AmS3M7$;O`cr;4TK^*Y1UDT&P zG8Qp9i-mbX?qf8fQDlG3IL% zSqbyGKjsf#4@F83l21pHBaeBE7;Xc(30}eTvH4UKL7u8FRYD4TWQwfFj=9%W2bFyi zcv#v4F>+sNeSSD%DwWAS#$H`lDswG9n(C@c)#qfB6w+pAQHxc%DC6*sk#j7uT4j|H zt4&40@vkDydUo{!gz0#)12MAWfB3lwsfB=hMe~ zZ@#$~i!ik_XV$_FeaI;3s;Z_n>qkNRp}%n3!eg(E4r`$^8pCoS_$Dw zER-@?yNU*B#BQvCus+3>;v2PC;>*Txw+tsmA*=T^l5Fw1yPU-AjA^o(2~(&J6eyS9 zfmF`eQeVoTl+A?af+Swb2mQdC#fnXzi}KG;lXu>)EYoAtiqVATgPyEhNw{FlR4KKT z*d|F>xvDdv=2xQ{tO`?hBu4bzxD|W2WuY;!W=I0I$eYXjVR!Nmy9I4#t+{P;P1n}i!dTGl z4%QVpoK>|Ib#)cBRZd4y9X=K-tlipGv-!4FM>kKHu=yw%{}t?67l}b3%hWmBkisKL z+$GF;xRjw>pt=HQW<1$184U*c=UOdD5UR)?Oom8MCQtSgl;0i&MH2L&TA+VAln*m5 zCNM&z1brE>NV2q?g@nvt1QKqdD2V|s&sl&nwk%8#$bN@inWaQwfZTWhlTr3yGRhS? zn6Wlrbw0K>-wx=eDJ%L8kK21c>=8uJL+m{LgaNZ3RcnReZDNDo`+nSGd>d5!_+abd zzOL5d6Qj!*CXUMrK1J3KH=-g!oVJYkF{l;p(&ZKQJIdHE;F_TP27@5Vq>Vw3B!70A zLT38A8vnJ3>d9Gj*sQMx9Y#z@|hsip2 zD5hQ}q_}P9gN?l%_QuJZ`ZrB!DA)%k?{M>e)xX^R;-NiUAnAB&aomSDmXm12~beaIJq-laFD z_~Mf_A?5AiaABKrhDZ{%*|3Ev4GMhpz3+!yoX*l5z;5rp;^RPbyx51+fo6-2bA{f& z7awYvf?9`GoDLGLD{b=jBOiWvWS{l72MMHxrvyoHqI@1%y*nhLoe~ek{9p%vYu!f< zUTIs|ike2{`c&+ySep$hzENxr9v$gUk*q6}ilH9Kctpwl1l5u0AEJ_q3lyaGElr?< zOcH~}?ORHt^dOSA6wjxDq14iSEVU1{X)Z=AG9p6k`$vV*iSHQ*_PqkX6xlGL%JzQp zrb%UiPwDii!92B z#X^zeXqY&@54+m2sdN&37DHd*kAT*r4+Sdlusy^XuYY9vTf&(E(dbQk_Z?U4zDoRx zgk}Q;19vWAG_Z{{vhx-n=0pYR3~$K+}5} z|Nr{>GvyyyUyKND$#`3i!eYX_(pfPrhu2Nz(x>v$^l6TtF8zNaKRnIx;bq47skm+g z7>mkhe;>%!^k1VZo_8$$uQ3jemHI!GQ6B4H?&sw77<6<%5#aLNf$<9DcYHHXQNO3Y z`hWkG{BL?`)-NNkzZQTD-#{Qb+}o%HL~Nt+?IXUd2J?TVcYojBcM5C5XdJ|8r5BP@ zdF4r}_sjH6kU*m(=D|t)AM2xM=ut!0Gf6KVu)Tvx(y!>0QqZ2BtYejuuFQQtfLtLD zgpkmY$nuzD+iNpM2Fka-5(w9fI46!In^P>%&wH`W8EtD9STd{d-A;M0*;e zifKh!OcLpbNe!m@bJC(09R&Sj*XHx@6e2VD90V60TPips-~);XUQS0NmH;0JW2;~^ z9F1c`W;7mgprg?ysQCJVh=WDiI-dmchjRZwLjL_E-26TLi9~;@$Lmd|Qc173Cx!Qk zFf<7S69b?pc~AorUi3dw!vw7t^bdGbUX3&9)S&GE==W-|BADjV~aZN6xnv}ZW(i~Eq6gz>hgM;SCRB$G!zOnAY7mri*TINstE6`d|8QmNF3M?fNx zOs2d;1H(8|G4n}|E_H<8qXG{?@DE4f01-bvnac6j!VGh2zU?-p*sd@IM#hGP2Lu^= z0nq<3!Z&e5xxNpV>saNIQ%c!V%CnSGB}SG^A#+VAr5k<$Y#d%Nh~(@U^uL%0lH$f; zjdmm#F0Td5SO?)&U9HZgldE((@D@tc>U8oBupb;4^YAf}B1h1Vl4XayLpSzeQZ6GZ z*MDZpMdf^3a-6!%SO?);{BY&I`_U7~O~G5JTw@)EGnBHDz5QUnTH-3**oSesW>8l% z5oYeN_8QI)A&zyBiJYm{!w!Eos;Kz+;QTQUQ%bpxp>l1_Z?6#?6XIA0QMpcA-7yZs zW20X#%7F_u#$h}bq5cK8lJ|&9r3EADmQhDia}Vn`^k-u?78&1A-+*(o_x#?S;B;@B z+;avnG7);Na?k(43k2t$?w#O!R-$`u&6V?eHa=Z>n&wpP(2Cqxt>C5Rqx2}Ye5)s` zk=M0?Xxg4n85#2U!4zHy z?N?x%`sqz(bHCXPC z_aNf{KQ}za}--K*7MVC)=<*B%t6N9($#_rVs$xPB$sFlj;+&^LXkdHKHO%l9!~s-|}Z z&}{F%rI__`>Aqj~O~)DK|5BuN#gLx92H$Y{bow9o(&g!Ul#@zGg1kk!G9$-k`z)1@ zbis{8B~g7F^E%@&{#szAF{FYDVv7C2+4AB3S2jz;E1}WxV%lWj4Q7*tWdp4%H{WvG zN=#ZSQxeu8(FYHIeRmY}|4{xj?{{e}R+Bcsb;Q^7Z=WA4HsF|Dk`4c06j%A&A7rs) zDe~RbP>b+PAOL?As3R*|A8y| ze63fwBj?<^;rhF8*th=P4H5ShptpNoN5{P3KNnr_fK9KrJ#fLIOQ%-~Lgn;Jf#!{i zW^8H>XgO(I>*@)+-u&#yoJHH#&YBnS&Y8J(+rruX!@nyBehccjhrgQd9DNnGB&3R` z6FKuUCXF3Mpfmu> zxte_XGQMnW?lx$+9`W6dT{k;{@l)*m*y93!F8_nNX`Hp=)ml{-xSSeXS2_Mat6QX? z+MKDD2Hgf#6>9&tb<-2y{c>#O&-fwYF82MalnlAjMBju-mmK<^)kHB0f+zk*g;(V~ zv{7c6_V2es!i@0mDlt<5e>lJ?5D>mvIw1-vQAi4+67i5p!h~8GbtAw1cIwdkhf;6L zZ-a`r>EzoWHR>9iTt}*-dUz3>@?;WJfCm6(F*jw`MetaR{iyL=IhR^NZJ>5gmy(s& zd#J~V6(7|J4F{+m@w{|6FOBk`_lDA_7Qxf!IpguurP=(nC7X`oeTlG>jkF1vd(7xx z(mY^B|I|H(G7lkvk?t|4v**bMjJ=!L%9OgF+oIcU!WVptrq$`uZwYoLM$iPCNRBV_ ze$!u$IwX&=qi%q*QUA&PB%c|_pAIGQAAS&xe-)8Bp{~{0sWNH-mew-9LA-_Vgb-{1 zFv4u8S_d=HaoEw6$)ZQZiQ8)?Vhj!L$p`n(XhCY(`;B|nQZ~V=P6v&sMSb8_;J8$D{l$4 z#-&XL)+}0a>`$idEb75!R4p}`+Je7Bj<>}m@{7{pC>koYs5xw;QVtuc7dnaRYP0|U zY8E>2#4E2o_R!n!(x3e8Mytfu8*8O1S4E)0?r=$KpV%N-%W5t-_Tc_X-wlHg{jb^z zI#cE~&-8#tUeKKX+(x1~w*oR%)+oV>*88HWBtV^qr>w?O{6C7S2Uz~}$FhQw=2 zNG>7k2PFy{=ZN(KyLDvzDeN3;K|#kl&d58OO<*DoWxy)ze z`3)+^=&IGc)4@sdm5jsCYBVxnyOMxck6D5JW3NOp zzLQ^}i!F@9$m*3ux_9i#<$U9xrEC~e2iP+3G`K<-w~_$XVIm5}Pg2D0dLuH~&=Zg- zOAu@nal2?-Sl%j0oY7w%E#x#-jxK=ZHzwY>Yj_@T+wlj%i<2?BiYj|!NAOAV790sM zqw%KQyXy@WpmBkN_f45)92}8PK3VwlV~VT_PaWg-umhBiDn)guL~T!794sBy0*T@4)%W=^;2Th|FW3vyNlPiKv%AwNdq5{zS;}a3izc4AXOId&HeiPdcSWfV zCV5F1m%-Y^vN=SfNj*XE*8-nn0nD2De5x;nqUh#GsN<;j;dMOX^im1urjzLJ7?aGH zDu()pSuW_g|3>{qtNof7c2L&ep}(Fy>jvGEXW{r-t3|p0J#A|1LRVSXLUx_x66R^LnM!_p>J}HsA6^_PFKwOVDp*{H6?b%quFIumldITL5G-q+ zr5;qU?vo^z(}=Y9Ad+;KQoYnRYOl%=tgbxTtq#Q}miV}Y^5jJ}8>0}$;96)0)6zg*EG!EZ2psuQ zo9zo=anEsIUsx!AE(UC%dtUmcFXS&&I2|COWAY;^Vh)&TgV*HUCjC$4*5IaL4+Pp% z6zK_oY$AE#xC11A{{0#OCrkw5>^hKjV{d~$*O z6We-)G>Xc*<$c2*hR1^*^pOmab||9W-f5Tsj=lv&2GD6 zUV)`JC{@nAKHzSwE=v>@oMqPR)_IIT*V=niM%RY;d-h-+t$gGQg{C(%k=gJ!OOKr0 zlFAxz$dyQBsIXBYsc_LKKxA3i3y@R|W9d|gSxXE{O5iJ`R-zwImUm>tLnKWb5Uz5o89GOdB; zwb1H3c|QmM^8+6-A+14cDEsIE`78Oi@c!4`g<_(wy{)R%7pe*C-AjW-6LzesU*6PM z-t6mE<{=jQkkNZl-8#Qt-PqIDjsE_1`+Hhu=;3wiKIgnECaqdMjX87G-h16$2}aj! z;`;W+j&L`r7eKn##jJuiM+LDDyB#mXkRA~t^B7(^O@i(;B|pM_WzrW6B}0vAD%561 zX&R+zlqNWPOw>QUaEPiH=SN!xZI$)D_sLk=t6*di^lXeLYxDD%6ebj{%f%jJVjneb zpc?qY{-_0GWMDxT2QX&>mI*Bqri!uQ=EqnY3IPyO5EjoG*IC&SJkJa4djG|}RW0)Z z;{xZ*o_D?{=&1^JuQ;p?YK;IwSRAAeujmd|q2uSz?>-0Rn%9!}Yc*h5;0#n$+8b)R z%jYZsPtL}tE(+fqW|7#Ti#7y1Dm%x`TD)XVd3Q~Ny|NqsL}HZIjRC-J|FYIZVdtj1Ra>x;1CUFy?oR0eeqb&+2=e% z$~&q)yU&x+xIagyW8NZLd1w0iEzZ_yoa4bRW|Nh>@_e#OrLeVvlUDzJp`GK)pdB;>@7<$p`HuiC$DPtZWNvO@KGlI(6RZ6DEme z6}VQuV!a4^0I$V$D>>!m6uV?)u5Q4JrB@oW@DT(bq-tbSxcu>02{u0U6G0U?Z+dk0 z7Aq9wB(F8-6GnEv{9p3lX-?24EQSG{8SLumJ`UyqRLh$cqmmiEds=*T<@xB* zVHJ?xp;f`(^Pdl2LyuE#hi(fZ@@u3Z^yHDx$ECtWQ;PW-%7?Ew)AK<*mWg&zAn>&# zp3hvJR~so;NiebjfYJgZ3kyaTV2pQ=X?|^{Ax6G~%2D-FUc$(w<p&={&Y211-(yzcTTRn`)<;I4W|;^f2$aBJ}s1dJd5rt`Qknxu^-C+ z9(q4Lc?uX;1bzrU?iiff$UGAooQj6GSLCmN9<09puDifoFz#n+TbX%j92DwK-1#wM8;kZc8hOXTWOdlrk!v(g2;SK#-^cux!keFA4IM5Sc;|DiJ&Mc}6jWbN6Y^+S9;oR__{BE9E~mL0O5f<*Tuox#%@ zr7@25ogU>&ovbe_mhk0T9_E1gk&^W^o|L?To0L7|qZK6_;V~BcuGxCxX>ty!CxO z5RFNr6Q(Vo7)uyI2+byk4`} zVj6{$eA*oOvW%srAmjK=LgF-BiGv^}^XxTk(ofBo)YkiHV_?8ZBLf=sjg zd>Uh|;;ZU#ZhTc8z8+pXv@M7(>feO&Z3xl_g6JZ&vpcw9Si2~?|HzQ#F??AShgo`* zUoG)oRhAfrd#mR7_wxGouoZ?g_;uk0$|17mLn}ybIft%fKJO_U$gbDRwS*Q`$w}|c zr$9yHBq|YolD(KJ#D3Q0AO}{Cy}<)H`d|8_Sen8?S2m5t(62RvM5Ckq~2E?EaN1Epf{! zbW=IyvY5gAqdUm}}cfVfXIXhj^SM|VEr3QlwhK4oQV<1asbP(k8~-7Cvm)go_7q?N7BqPS)$?!|4HXXLz(F@M zMSJsH3`aR2f>bgIW~Kjhib5Ls2gFHH$qiSGn38jNZW!^ZQpM{~J{r^vBS(snt;Ad? zI^>izQIb;*(NYSNr8ld7o<{8RIsDDh%L2u6!tDmB;y@tn9p)4|V*DCWCS|x#2Z=M6 z$x@n5mRdvynk6PmAmP}4`Z9rg0)ap=NV(l|qFDaj_b(IiQ&#N1F$XwfnG*Q^0p(f0 z&$oq+=-hYZHKhf&ZTjyt8Hvdi^y|ZUj$FCrjxFn{oZky-NFdo8;7(Dv8@Eg0 zEEz8q#6KSW!){H1?qWTFTDGucdDpw5aH&y}FMC1(H3n4ODT;mz=?^Ovp7pGViM<%x zFz}OOyaLgS*IVgul?EH?vTIG4rCY6rN+pS*h3L0_bwm^{H%b$Cb$1l77SlT3Y|_Hb zdxOE*yF9_}x>&e!X7$8zRRxyk?~sg_3u42D_GXc@7-nlsf{}K_TNjqCxWG~toL*HO zt?!9X3cA3GTRw0-j9cSjZAE3oiJo=24njR#<<&nx)lnU4ov=uKXM52*Yt6{u0^sc`Q*f9H zXPt-RSpg=Lk;5~g;N`&Xz}A|*qVRy@?H}C_N(7z8_Di!?ejQ_dY}$91U7k!b3mW>GYNjjw8r7aOGob3_51*en?@!+BA%Wv)m- z4UwpU%8R6RUqA)&S7A!B-AxfWYB9nxQeP#KM&oKE)6HzT4rk@yl7~>IATf%-t89NG z|4gINiNBC^?@B@4IR0lE+s`aItw#RUyQI(k0r-_IstTAU3hRv0d{O8%N^qjtY!>B( zp@q&x7I3d*7A)!KBxA22&Xnir!IAbamYEF;_}{$+Dd>_vvI)%BaRj zd;4%yS0C7zeo1}^d`lKAdC7Qx#zdX5TSNCt^tzWWk`v%AdCz~JKhlv69k>ydeY+s$ z@egSz1Cn+M&}e%e>KRf%vRfT>F)8kI_#)u|K7f=U<$$6i(xk`G0a{^_rn9BZjfZsR zz4)YITRTr@7aVwOtB13XOa}mL3&`(#!ChAdCW9k0@1Bj0Z1lf?;3+#Ur*XLp1HF$IGVpgX!?{~3hfpur|&OJ_kB{+8(>)LPD>DVP3ahB`+kD)PR zJ}5`(GlLnv9!e&YX{1Wa@1PxY=vXr8MZGkAv(pKC(XXI`y+qblR+hmclhNRmZw9?i z<=0>|$q%R*uzp*AiemnX+A%^+C745YOnf3Rye$y*hiw6iAALq~Bn4R_p@0QDC^~B6 z(TFXEflxg(U022U2?%LzD~ET`)PQzcIp$jN#_ijTd}QXfi|5?hU3RNDReGs-W39%_ z>5N?)-%j{$ol|=2tew3rCp;BXnitj1(r6k(9W@iGYCO`Ef|BOi&hiO7+vJ~E(G)5X z>Ex4Lg@>=4a?a#xJ9BCf3{j`RQxR|ofZ~pO0T}ukel^4wH=Uinqols1z`#NI$AD%H zW|zMTeB+Dw96AmF`86~>Xaq-bm4b^wuqD)ZNo?eIuu9Be-jvKxb^+Wh2gkVTOWmfREs<6p@(we=^m8 zsqmQempb|9I-@}^r|?Q#iukf%x0jCe(_phfi%HWA;$JU-ars)#q!+ZdZ{CszrdR)~ zdb<4K!>_Q8W5G+u?iE`;K9?lTOBOM{mv=0Zyt}^4zUs=Gaev)+L zB-xQk=L9LTbBZE6=(lIATIWH(|MLtNc5A@? z5p^Ec8o74zW~;Jgtfl~4&fEZ`&$F+qeZC!g1P6(cpIGis-{*r?4DB5bh2x4G8V_Jz zLN)3Me*hT30Lcj0?E>?WuoD+G)wOnZ)J{&{d74Up?yB$JKB=|JDTYnvU})YNGqlaF z==;IJb9deAk<0G~kk^Qx#q1$aOy!qYT=4JK+-Jc#O>q2yHJh8xu%E495x; zL|>Z~lY&7WFE3Fcmpd4AyF&dTmrQKD!0QSz{c#grWwDsT+Q!6XC0&+@w=bNrE8q&1 z6gYcpI((u_tL62DR>@V>S?x1vfh38vpkaV*<`!bLLHC62Yyb!PUC>tH?P{rS06jp$ zzi9|=n$!i0-L7%~f-ZPTK@h?%iG@C~Ian61XtqkW;@Z+?k2BO&;pd!IVT-!vkH-B3 zi7|7lIE>ksH&TNS+HFJ|h7RlmL*R@t`7cyxjMXN=?a@SI4mI+}TTj;z>*HYaO!;q& zMxaH}3bZC)b!U}JvKH!jt=1*_I%;~I1tlR@VAqU=w@GAhvNl(Q%Yx0KZ((8!guw!Mi7N;|xyxM)yC!W4 zHlT*<@?sSF%vy$)*pbSq7StN6sf($rs5_}gsb3IY6YLp}SIHt6S}lkKM)ZG_MSrRh zFQP8rTUgac2xYu`^LYt6sS1AS zCH)ME_k1`&z%XqQOms>-wvf1_EZkur4vSijfLe}G3wSpbSRy%0p4dVj7_I7W{I0HWjX@fgjS7fsmt##Wj^E){pUy?{bo1~jqeueyZ z`Lio3Cg`kI-GuV}FtooMrPIctuN`xPS5<`MT1|LQ4?%<$pS%sTepn9;&mIjVl44-Bns< zds15@*u~P2yXlf9cPLcU&^00A0tTC&uD?AJxxFq;|731O6KgWDO%)4|Ju1Vj_1;^;2^ebV9-R=m3 zIcJ?U)VM)@Y5i*8UA)-i7HP0pW2hP*1IM(MSZ(>@#g*e@7A=^w1PyCdkGaF`9pS>F z@T93oQGx0H1q?V!@$QB~D(c=_`5ufXT>56Wz`7n~zsSmO+~EPtWX zRUdmVy?%T=?w)Im=t?FnTsJEii3DdILz}4Et)+kQ)}%>qO-?WTbX!w5XR~qLO`AT) zY2Iq(QJN9t&GJ8hY1)Bx^W<+QKRg><9qN9#8{cG(Y>c-Coe^+AzRm~jY`uP>(gI? zZoN)t|Dwz(9}^)c2>-)QuMy>GResD{fL@`=R0&p_Z9`{)^etA4sS=*&rLU>XjM2*2 zBxU(U@OlrnAlPWmfxWQefE)pKK=xu`fW&aeDC5f>Tk+GPhS%(VUaQrZpDC8;IB$8@ zBgt!!x^4A7E%F+zJOpmh{C?OXH4Q%S>kXFQ0{Mr6U@W0$8v^MtlzjoDV1xGo{7>^0 zqcLkJ9Zxa;MyXD+hA-7J#Q=leD{S^f08?|CfPnM_U#O%SDl-Y{*)1SM_~u)=NDTf8 zd?Xh>^8je*>;zuH=k$66P70$^0wD1vf*^RjP9GW}2IVW>klz?zQ&JL~;2fPp@Pa{b z^T{+=r)3$M=5%I;Yn1#SF;BXjouuz!v7CAnHK>;x?@TDeRxiKa%Zig=|OqxZ`@T006KsJsT{LMft~U z6__JC>l7)U2!vf_^WZilWz^0DjSle^NVcG0`i z7x%zRPTqCo$QZsCv#51BFP97$Z3gGI#2-R(5tfcW$k&Y#4@G?$AJ8|d$_bN~Mm^>tw{GPWReo8)X^!-VC*mrFr zI3FYZWg^+g*G#kup*m8&G;r%hk6d)oBk&Qj$?zB{U*OOK_?Y@H|2YuNUYG}5^05&u zh{S!vT(ziQ%jdz^aycqTm-j*)7#xX|a7ccA06vzU(GP0IicjulFJbRN`UH-yY{z{8 z*tsx{Gm4>iSB1%P(Mv>cQ$p{#ghjmpJ5D2MQ6ljWNQR`*{M81KxZ?qw#1Y(uAUe$8 zGng|YUczGE54u{jJsK`543%`oHwrJVY@1Fq*DqbN^CRojiW>O?`Lpt>gy>lsZ~o~0 zw&>CY8k4c2WWgIRtgD(bCt)q{a^fFhe89$;pK#4*E6ROC@~z(-GTDqQ548cCOG_8| z>q|VlkAq!c+-=Qf0Pkz-@>=H1v51By%Z4o#g%?g*lGJE!hCAH>t){w$*ZEzA0WDut zsL=$5MAw@3PV4w;+M==gqk*31&DtAo;QaOU)A!3xPhFv9PsqK=P&Ce6r>%Wy*F#fX zl^%~tUnK??R&`lh2@b6Ct~6w{Z$vsdVYdzuD&kn2gtL=SeF?V@9y77>fksuSE*1)- zkH!QDhaqm*80J%8IbLaN4~>p9SXU8835MNsO3Fcbc-}P4qJ4cdj8{&+_DO4dxZ<`4 zD?;ryW0l|Y;#GoYqfHGfmL$yNU>n~ zf;7#C3z)t>&Twn}YAKo4q1 z%tL_cz%gK`S^d}^h=-Lb8cAYN)Sn2#pwH&BSUso(=|{R9k1XyzwrQsCfvHpy zGye@{$d4Mm?c-;@@mZi1!1|>ZT+j%;@46N)+qkfj<>f^~>64zis0YA&JHNsp8%9%G z6^vSZQS8ux20k7Mg!oylV3aL%Q)@+2NnL>sfK$|Q4PXnRYdZFpFT8Elq|3qG`RzCT zDLZhKj&p!(egP)yDi-uED7a5v-mtB20tDlk>fyFf`cwj@QQa|Wk9};F9)4vu%6IFG zf=<4}sL@(gyg;P1ndPKT2a;wvarc>G+beh~VgMy#Iz;`I%89aqcFrrX!VE8ju3Zw># zA2Oi1lzLCaEQPnau&^HR(=e(^ z+gN5N8lS=u3NqZP3elazYG*fx=UtMlS+Zb4%k0^an{T{+^X8*d*Z2A>SFWA1V|iWO ztiXf=@`pv9wpc9KPEViq2%ymnGhz4c=e=H^AMLRJ{OHg@kH_zyP?BhmEZ=<5i_FfJ z>C@X{qMp0)oDJh>GtC&X{`>@sT#*haUSPB0t zeJ+fqcMN^L8{SBtH}o;Q1G{xAxU=jYGT#>>NpuF%fhejrM&>6*-LlForgUxv%8~?B zwqSLaEG~qJjSvS~V()tF$y$uv7;vCCPreNG!>F}`54;YC*A9+*?RKwYXt1ogX+d){ zGb>R!y?H_Nf#&kEW-zTP0e`$9IkYNy&J^BYG?W zDsO5+^C*_Pz9pO+Cdv;qNEHZz2Z0f{=dcESr;P*gENxUn`)gEYzp&14Z zSmQcXDhvO#Dl7$d^9B)U z#}&}PU+6A^Kx^T39HZwg09c(CD*$$_CJco~5-0Yp1rtRS-kd zg1Ml~67u`pb|Zuwr{|4y;jEb5R%WMxr^qNeW@#YcG&U~-IfjL>q>3$NtPg0-bg@TM zCRBwPBL`@!uIhrzDja$PM9<`Gv;#s5w3|vm`^@xRw4T#KT1V4*8r%c57LL`j9HfOZ zQLBGkXP`NTp#??*W2})jX|*g3fetc^M$iDW0OM9WI$?pu?bLIcYHKTZ3smjs-vCpgN>Y0;{? zaC}Flo-2Zs>Jxcg!!kMXdnsA<=A= zboFPIHnns{$LqshpN|%RU~-w=%o-p8&VY7JwBE?cbAZOevKl>VUmdN%FC5CZicV93 z+gzmc^X2UL^Q_jkySJ4>rgCRhxVcy~fYv#l61#1JUqgEUsI3F^!~)60GYQsHYSYr1 zJtm|;@(mLKXec&S6hm6C1x1qG1IkJmlVETF!NqDECOv=_V9;8$0*6XMbH$9rAPJOV zOb!4HX33;ww2);Pj^=^T>@w(Ei?uXg&^ErKh-$YhZMu-{0x8vb51u#yJgky{SX6Xt@Fn=M`wKqHaRi z^3%F$ey!7NFT!-*YhxYOYwI?>c-F3R8z^#@9qCxHWApl^Hy74SDTUAwM?7x5NsW)kvY0@5ksMt`)l#k00_;^34AB8>^v4`y zbSTXD@GR|6=z!5!f(8mN8{+XG2mE}D#q&GbVWdzPUqwcfR#59<9I;^$1Z68BG{8MZf>nuNIEmc*D>?(4-D$J@ZZ1 ztV_2}+Bv1!^bvgsXszwjcTXz7s}LnKCU-PP%RRcCBlNHmd?ja_vGAH1`or-0n$~5! zaM6d07vHwLLofpNH}Bjx;h#5s(Omq+$J75pp9{cs_ewu{+chcHY?J+eeH0i95)GY& z(K6PFx)+VK0~WqC79OM8ey!AUtbbI|)c|uRM`}H^;(LXeh#`)LEe3>J9>>kn89PcV zREW1Y!ZfR(&ta)3h6x!(j6KKP7;aoNqo&tWSSFedmUonvRJf`eHa*nSk=)oGnzo?% z&{=kG_k_sonzGuW+Q@%D*!hEv6TyZLkL>N8(Rr;r_}oTwx4HvZyaV2=og1rg>YY4q zHoGh{oIbxZQ5j!cRou3*vt>zhP$;nr*3xjqTUqICu3UO)aPszpM?UN}Z+s50*LKe6 z-K*@#gLsGN=M_kIc!k8Wv{4--;wobgi4%PCT0&DC%CmCD;+zhK4gR?~c$EF#r49D5swLbYDMy*C(Ztpb2 zyXMdrtVr1JWLjr1Gk@Xm`>lhIp$GK1Ohu->EjDy*Sy9mad8fQv{*}dUtFT*jTG?H| zYwca^-uQ~XzM)SopaEP;jaYY3G?h`FnrFZ`#dc{TGlK!uVw>IT54lbflMIV~Qw*{9 z4pD@d91=?|vFFl4E>kEISBCws1_=M7VucFR0h?qeeoVv2S?c0aG(f9tZ6x*^$?}<) zAC{^wjTHU4@@s9#m6}-9Uo|o13TeNt{Bu#HwB8J;&UGNUt`ksZx#!aVxb)Kh00X7< z(mnWsOO>)RxU50qiK_~` zfzxc2Hp}9(QT5&RiHS=ml0TH*)D4r}o8$pf8ag2>Jb67sn@CCCl*i*OeNZMCf1tm6 z(2Ah)QMOA2w@u<5NcaN5DhCh z&Mh1yG1e?`3l4^`3n!K{<3Zvh%*F}XJi+i`i6gGV&Zd^!_Rgp8+_ps7fQ^hA2(a7=X5$VsO@1*7Q;8+7|rM`s8!Ay49Z#gb#&Hj{N@{js{8$vy_gbF52b>5 zT*Jc}M@GO%ZAp-0)S*s{l@Li8LwsPzVIqk$pU3K-lwW?l_t&S^9{p_ZK{Q{6mdlq7 z+>R+`x4r{|Ty1?8(%9&GL`m-TT?mwYz@#%D;BL4hnC- z1vp;a&B1Zwif6vD^@fv&B4V*ns$iRODb=Q3u6i&MbG~nsAOEP>mP8(!23(u}1*0=3 z$r%pwVEs^m|D%Qo(g(4^f*Ox0%oRI1yNqT`bkMp`PIGj5i zHVSXp%wp8~=PmuXVj<;1x~Aa&WZ&!P|f)F}$^yO}A}WyEI?uczUqORQNyr0TI; z2+fT&8ucAkLV?J(mJPP0zAWrfvr;xZ(ims z&;`!vy}FsB8B-Y$4R)3_Ypiu9b5X3kw9p7SQLAI2z;gx7M$v4K{>PlC)h+N43G|#r z(1`xB)?jlrgG6%3S#`i0uI1=&5+8e`k+KGN84_vXrDw6Gkf(rQtpS9(o9;I1~?Sx!Q-CPV9OwHpeHnitg+vOrVP*xOk;(P;2%p*dJXR7!dM_Fkacr%KcCk9>!A@(~D33l{qFO=^ zPys_@NV`;2${;yL4xtlRWydNyya$_pXWHyy$Lwtytx+iAEgr%1MCG40ZkSzNeWGvU z3Zx_U%cli>FPfWH`aZaaaDPs7^`V7@;|;}yyZ$-kpKKCb zKK~@I`!=JSW%b5lfz>Zx+f(9yX2r6l?xH7}dv2I4I6gb1Y_93J_R`+g_8m{1vlTGO z2Y)avah+g5y#O|~v~4vCdeosB*TWUdch#e(qcXJh7}3+6<5=UYp7d6?ORROzdAws% zROE{5t2x*7eA!|PrKKdy7f<+Yk*4jzYo3tDq|7D2%%g$QVrN9=+@mi%fAqjF{efS~ zx20cw;(k!VM4xyy{TL{@-@knM!fy^9{Dy6j-9z%(tKJ39XThZ3q|4;LzPkz>83KRt z{6>COS?fcx!%ifpZNO_UG!|7kiYF)^Xe<^WHXi`=am8?&#c8$}#G+L!()$?!X*g(j z!fPV}{*XDGWOsTOE$>~md{(pBvROXzrsQ%-$3XeolBvrVtz0nIx8RUA%ot z$BH=%5|!NKi&rjaiTLa+W6-##)Yl22NawlDB`jwZH9S&}gzDI$6_<3taLdg3^SYWW z7Dp}ToZh`-+cn@P-P>BcwBRYw={}Ob1+Gv5c;~nvYK#@r_ROue24;3uT-pz4NLz~P zr)`~FXpzP>wYAll%sV?d>!fL$HecOQ(Aj;~qPde}CKI#N#XH)fjm6M0^Wr%z9ua*$ z^z~Qpj;5**tU+Rn4aqKlV=3ZEZYA+mM8X1!&pxpEEch>I%P=xAf7?2{K^{tfF?%cX zo58Zo-`3gm%-LIkd*b{Z^1py_$NY(4@+s;Rn2LU`YHy#nV@IBxi4n?b)cBw=X-w^> z3GQN&Dv@c1WK$tBeek;iz2G%t@R=U{u7Iy$GO=3L;cTq=WUS(8%ZfQmaRGBwteDBP z|2qpipcWCdVP;f?kySqRouwTmzbk8|xnho#-$z*+sF2HQQNqqFRvbh79RX@7>|13} z!^RAup%=eLJQ$C@{o-64zIYnO0M(vb_FcRIYIHsDekXl^>f^o)$>cUFh9g0VIEJOM zxC76vR0Ip94l)|i3XoWwkc(nVgXFXMaI}|1pIX}}zxnL#^4GVW_>pDjA;3Sg=bi1) z-FS*JnoBKT$feF8-2*kkg4o36y&XYtzr5ZIepPDu2rPT`u|M1fw6{M2%33dt{qeGA zH|Cme$)G41-hGa{u1nugYic%i^xW~M_fHOcpL>7H zY2<%NJq_P+5Z|Rao!031B(oI-bP((?xg7Eib#ojr7YFw-a<9LP%<6pO8eTynea1~H! zjj@kC>McGZ!4Owez{k<#=D?A@K92Vz@e~N49MF+kIv`<)Uf^LOtS=N_hot2e47n?6B961WqG6M}P#$nCuIyP>bjKY< z%X+F7xqz1us%tw-z)M5gZJ3D#B4VQL{7}iJ63_S> z#>>A6m5p~gu~#T~6AXYiv4<#Q^cC2;6YBSYu|(z&|785JVhvHTA|a(Rm&_0}v;jJo z46AOeNW;t}Rd_qp5K=q_f;7v1(K>h8L-qW;rs^4{xcqWlGq1V2%M`z*$ksADUUB>S z+g$}(Kz=?aJ+U^!~?f*yHcfdzgW&gi>-+S|>w>Q0J`lKf_nVIxXfRKa`dT60{2_PL| zXkr5urKl)T5gT?aD7snuT2L3a;Ln1)xVyHs7a()_-}~N72+00)KmY$fFz?;^%6+$- zbI&>769Z*&=?HR_*glK7a&$buXKoKElE}L~AsJqgKU5P(FP2Kt>A9d{{)Kxr*@7n3 z1v(-?mv&@d2GXwVL+Kuy>A-2c3`wM#O$4gJKqV6TgxlkNDK@RXep=ykg~}XxX_&4J zmnO3Ndc&nvfx^c_v_tLSEk=XU!s8GP6uz4CbxqEk0Ec`A(>nj4L0PM^q(LcaA10Id1)q5Mpm{izktGVY2Q2Q*gQ*eJRBACr@puIbLIEL@7DPWm zjku>lcqhI;$s6>={lta0XyS>feU>+wg*6a=TgdV8SP7NI;H4T8kewi2ZsJsyKaS%; z;sXT7P3s%Lq8I`ZsuTP?D{`?0p>G*Nj%v{AB_o@h2R&;uI_84kDJ2!8iU{(6(UE2|vUSj0y=3{EPz<3MEAZkh4?@ z-}u~5geN5)?UET^(Mg$TyH4l@-XwIC1kaixiL}410I|9?8aO_!p4Hbli-VRA!v8_#;~WRI1yY20!=v6?X8MN?3Zmg^1^!cmM}mWf2H#pUM_M2ST>zjS z{Qe8iCfOTAofg0o0R{?YAoqc#xc_go)X4~&` z0@ru0ER4rW%N@18Hu(Ae>YSeNB8%V0-zi?j;{K{A69Jq2>txg#-bq;I|8C!nK(}n zyH_vOCP*VpL^&`hDAAMswTM3r*c@Tg6sIXcfNg>y-b_4v3)rTZo}wjO+R(#{4@@-T zkCk9<&_7_7z_Wvi8LZV-qkmUxwGzFgXw}MMi5?v*X^zF3!S7}-%aE$MaE}!Oy$jsTzR>bSvL0Td++;NVs(S)dH55%@kQ}9 zC6b&R$u4(6flxDj9-LF@ZezX+W#!?k=jO0_^u44tt1`zGQCZEaA9!H3)uJi}Coj&I zxbW;l5SbHc@Ueci6yXI$l@ljmV`)W|D!_$|qywF&CONJ1(w<8lLHq8d9V3?74ZIy( zxr>}SD=)ocDHw4f|8m$~J-mC-aP*16Za1u4-LYhGJHU&ngO7i-dY!@U;Mdq3YucAA z0S{cr)sQ*rPA~X_C50G888F~QV%`c z_X4;U3_0`YBYm4*z$tX;a-trS+WXMYXC4J|bUL@9A{Q>W|J&~mUQvEK`ti{-ryd5% zs&e#gPDMq|Kz@bbeNX}7W?XcSdJ+1V?M>C9tVx?-FE}x2Q|-X-+XGI(-c6HGR;qRr z<2+wsPl|swDaHH)_h=cuk4~_54+yw9WO?vdflmkUNCHFa?10A9=U@nWiX_|&4LD~oIt&J{VgAvV4G-hI#pqgGW-vSqTyMOA{?^xV zXUBdqu|GIqe8~iC)FR?rh!WUtV)HQ|q)h{PbGihv?SMkuCq{n3h?`nsxpqfR4E>M} zz;zE_X5h_o2?ek;|GJo<5eSx{NlTr$pJ9?9>3G4va`nAm>yuP(DYul~0kR zHfJB@;anW`_dSJ!;OFz(S59T0m2q$4`E(<7gnErSO1)40o%$#BDfK1w72!c$G*Qr3 zL#}}J5lvDT=LRMm4T=UNC5dW?rw78K3Ys^JNNkfO5zqSqM{Ukf*ie#2=^%oV5Sc&( z8#!}AO`8)1T&Mu%5Z5c1EOo&eU^HXmPFf@CED?oO%%#!fg7}F9$}VB%fCx+-s)kWK zG)X2O#i=o)2Gl_2&$M4#E4vOtwpB>|Bxz-yq#st5{-?!Q>L@(G*198G`hylksi z?Nj7RIhZ}X?~uAQPefLxcyR$w0~ljS=AUV)}eG5SO1d|eseqLIbM-1TxU zEtAXmIH%|vWy^KP3rg911?^WpQiR^t08XQjav&F~IC!Z+2b8I`BbAb30E8=xJgy#( zv42x$Op{HbHsNJ0nBEN``ms8qxjEnENpAGphYlatomjdb!WL&kQ`xTNtFvrvb%PDQ z!Yqd~w)SoGIeHuY<4?&@MaQs?LSEhMt8)4Cq#Mfe4(1yDqZ>vhLJ?kV@)lzb!ywOc z&@|(*bIQ$yYK>f(XE8`Q15`0`MnXf4TBDONN>FIZ&v%R*1;XX!VE}HK*mRAlM^*GZN`LxS7LC}Tp=s~i2@Nv2#zU{1ib`}XIQdz67W%>n10p53?ab~WbNn>tsHZds}vbw53O<>=-m>M_qWDs~HH zTzh)(KWA;Bv1KNl)nY4XP~wc{IYP$mdz=kVjZrLZ8@&>|)w9P{TVQPJTs3+~w|2~f zb;>=8z?@)!6oh(m$L6`@j`*Le;qX`uey~;3nhk|#c8*>(d9Wj|Q7AGeeM4961EUp7 z8FTBUiqTItq@OpP)sSx+HfxpWw?o9t7(|VuCQwtT+0;DhO6pFspA#$;T-Aj{WzJAq zLopE~)1ky5Dstj~g3&S2y~JaI$b|$QPf=x)78Epnq*OwXh9x4bIRpYa7MSS}o_5WE z)!|P_ZXqDTi2EW!U1GY82N%!@qU=yfNGE8wBy?;f4`&*6a62#?40*X+Bh%0@!os*| zNsDoVTGt4rv!o#xgn+e~EqXZvBmqTv;S4CRSIDdk18J*+wwBZ?FJl?iTQsK(x?DE1 zngO)OP~_)z@VT0+&-@IZNHsIZXFWdSue0)xp#oTiPTv*}Z`@Jt88!Ty8mU~$I6TbI z2L?~MZnVZ7kb|9lr`4$fPQ?<1Xbon63m|56D;NWKjpn2>gOiQH*=@$F~Vxs zSpv|}e>?!{|1Q6)CtR9JGRevH=e#T5>0Lf3Ma|naxn4qrOT+jvy259Y{ndc_VnKA# z)c>Xc*bb=Da1Wx0H*catFQL-1n;L33o&y$9>je*j4^h9P-l9Ijl-OCI0d7zTYA&+l z*Y6}zYof%~zv&oRLGG+Fo_tUy{=zWL7Ioxp)bf0vzI~=G-RIqy= zz2En$pjwwiNkO%)6!=L2$H|kV!Y86`9h>&OO!iZpg4AdPk$;JN52hUnUjjs5F(AE! zvJpm4EGqEq=kwwW;xr~Opfte-2?)MnL~;t#XUgEXs+P5t_}IFp65ThdwPjP2Z~#{= z2l}VHHTAiTU)9v7nxE{x`)x3!YFw~#O)ELB1v6SlHEn7k2PRxOzisK>q2zc=>R9{o zMSGjuS1h`<@CEeg(t;|dqI3L?F~=TUeynYNW%Dgd@p0(hrE^xaH}74vyuJC>Ma2H< zECq=#aHEL1$eYr}?&8DaXNSE@rsPAvt=Hy<`BRpR-gV!u(e&5XzZB?uUC;!J1zx&7 z`Q5Fzes>O2Bx85v##B7ev7vmRA|FviQcYup2%D&wYDvOmDp?DkPBo>P*wcP@s@75O zNY%Ri1wq(r$}_>glfT!XaQQlzB?e2 zCx#EB!DujhD(FGA)>+X^!jqaqyC((UQoWj`+)}@NNvl6 zR^A2V`@5fg_SsYw>hf1>PpH)=ApRp~ZM7ft1Z%ZVgX{3IS1#|>)&^1c)7n~5rh=pt z3-No)aJvVo0;-Pe)*3xDK{gH2n8J%fj~6pPl-MIVkHHl1L}DdAPs~Gjb)P3dJdfcV zp~KQX4_Ar+INR6REdhJ<2WpniW!WVH;E z8#X_3aO2kfzw?H{C96y8fxI=tYjGKz`w&5A?e|(B?7^Bd`ez|RnS%icMF|7t1Hv3q zh{u(nK0|HEVc<@4&PhSvv_e2(q7t8I@wxMP`T1-iB@%(3>|cz_$3Y+ zZkRIXW;qzY>)5efH~tZREaQh&qrZqB=%?+kZre6v<~BOJXYrEZ?TgW?2bPu>84UOu zl`AbC7A_P&=1qepuDoV;-?5#$j=ggudJY6ufOl~^>Y1@^+pF8R5w!8MV> zh*J`DAVCz@*f^%@O?0CMqKSCyD>#kJ3)}Jz-B2^N$W1fP=^!Wd4ZlW`JfbY-^@DGe z{^J;T-`~nop~Cmj3;f51_OPYcS7a%IyWiC-OscTI%G0Fq{u7j~-TpqBwAr76%EMPBf_D|%LupDifIOO`dql`u{(^jd|*IYIx^%=U!>7yBr-47Ol zc@Jn!Ci>ADbj>qLFvIO&puv=9jiZ;)&On>b;5C`#dU^<0@WPiP(ba}A<8PkSpi%+a zuF+J9eWX?@_Ia|e+i(sog7@IoB19zDpEA&J)RQqF%{UUl?MJ$YnW!*;6O%Vjp1gS@ z{quNek)I`m?`CX zY04@_DTGP(Byqi&6pxsmOXAXZPF}x$GMcnWw5yep={8DLU_QQe0I&AHJg|tf>`8mX zGV>X`S#a*%(a_T{GX}gj;}Ozea?>R861C*4G@- zhW-T8O%{g`xo3(k--|pwtyrawaCHlinyNY~P&b4|2Fu!9_TYU?{>(HYQztLlM zXS)^7Ef4Mk`Lm6@GxyC4;pdyO_@!Q1uE8m_&sNyK2phNMsG?S%)U#IQ1G+-<&|!sK zz~#=71{$lB*%K}h1_9BRE&e7vp@xZHHjd^nj~&9H1fTFQ6ne)3%!tj~?n1{vp#^;k z&fqY}XWmIY?M72w=qnc}go9mRp9|<*cJsh1dyk{KIEaWj&(GgPXKMwPM)$JG*_y&p8DY%xvJzCY}QIyR;rbx zo&}!+Ij4|uDzG5AP9|HIlr_Eex=jAsTQWQ{KmXxNh2qN}lx*MkD%JOWD)(nUYGvGy zpGjoM1Q(*sKXMBFk6^7{F&yQ6FIDj0gLipF7Lt5xG=2+C%T%hA4t|Eu zAI5e8fs~@M{0ThOkRAFeVEW%SNqDs_(u55s)(=!sOsnQjFo#fc;#avQa*2G9EjZ;<2+8&q=@BuQPKx z5AmlgC|eT|E)b+;WD{4y8O1$w4hnwzh&?+X)*(i+2TN=YDquvgzsIkQ516u010XTu zNsgGj$MC<9ful*$5V?wk4f@EKEMbp0!ubw!ugd~p9w<25P^VC9T#@@TaTmLwYe7L`ijHUhI!FC)hA$^^2PjE)Wk8#F5X zI08b260F_26PnnTsJ+w$S6D7>DN-}cW?_ph1H&A4G@>hHXet!F4=&~}=FBWy0N z*o2uY0D@tUr2?Jilz@@j!n5;b8VE;sU$L&^mPlA*ER;Z+b*&k+AK5LJhsV*Yb2_;I z9cCDS>zZ(Tq~^x$m?&;oIA&3)!r}mcI9h02<@gk44GmIt~kvezZgb zd?f|MH5&m|C$yapw>TY*{c20kZQ8#t$bU5|I2n5 z`P}r}VY68|i(i_7EJx380lvoG z7aGu~&9fOLje8d(QOs*WA2vSw{BLN6&*sg$o#Um9gyCe&?epdV9k9)xzmMY?8ed1b z54XwJ=#z|&%)s|A6?B1rYYSkGQuNb}DGh?`2z)v+atYYtufKB^7(D69mYjy+%{4_G z=(>r3U9qynU0Ut_Z7+DY#+>XJvC_`ZPyGp4fKu=281L3x?45F`$Zwo^be>qk3>Z;e z%J8eNz$E*qUb6Yo-qVd~(%(FGHR;K{X2~>oK2^jrpAE zv+>v8!AHQwbwIEX7PO$_d@M?wB*HWq4U&S%*M_TPQpf#DaA)DZzv0vwPz_%)+S_Eyj-?UB` zGhQS69XBN61n5y45|PzRS^;$>6d_(g3jj$m2r0kbIWdt#d`BMGL>Plj2ejajo8PcO z8#fqP-HaJJ)~J8hZWudO9}hylq=bjO;kV3A1yWP$1aT#Kx3F(~wr0{Fg%}A( zdI4z`wG90PWU}A1j?u|XU4V}ezke@ze<1G!a@j?`e}WoD@RNSin^hCrQ9!iciG`_P zzTz=)wBWZ05LI_#zKE$@OepYTS&|w0^^e~rwJD+sTKdEjQW^(r(!Z(k%c|9XyD%Ls zS83o?(4?wKpMO(};41|2mA?B9Um=LE1oCqyrUYv^s@O1^zH4o{32a!$+aH?4qWoq zduTWM>gBF`zZ?R>hkJiG*1K;#V3eV(*(1hwPM`4fU(zytPMp^ylpJ$Ydd!(x2{r%^ zbOAOIl7T>G!x{5#IyQi56rCaMRE)4BA`AUjH~~G19{>IC=_n3;haPPOTD*9DeKlxH z-Nn55d-OO^rS77m-o7`DdB(msysRC zbP4)u1AzWRUH}zq*IrX7R1-<5M=*>1mFQ()_G-vQy@r$r4alafZ_DNya&gaR6 zf`p?Vz=P=B>v1L!m}jD`kiiRgvC;G{9+%Mp^La(DTGB;VesMRWq0bBkkiGAVOC~D! zFPqXj41^v#04#Tc({J3f_R87X8f8OkqO~=aH=?d?=!nI2tM0yM&9&1e)wh(iH<#rO zud5&0v8ZPCeXy_KmDT${1@eF1b;;B5Q0~$@%5Oe$JNn{Ii3NSVdi!+4P<35HJl2@g z*wN9LbM1;%+ovw5t&f%s5)-zaZ+{?SZxXAT1mQo66Ce>RNrWU?DhnUI zAx@ta7ktaIW;_9NCIfu!m#Y7;7j3@(`HuTKoFgOy@x^>#j@0j>6WU8IGv@p9InlG8$3E~Z0(A*-Lpql>2xaE>8+2n zH_w{0aWG1u8UMKPXV4+iJwjhoVm>!awNsO*1=K3)O6n%!ZzJd@o)hqY%+zuC7}O@r z5{{@{6Dvk87EgrY33Ht0h#{ARsP33?7fb|0L~EOLOOlI^5qtrB89Y&@i-qETN{f%8 z?j^2}AXS7~q$^MZjA0njIOaSxczWL3=(c&~&b+!C-`CZp{x;HNFPk>4%*A*3SZVn@ zblcmdb-MR&tjk;dsapLncf;Yb&Z3fuB}JWOha24gQma4p)E}-GSCqFPuV`Gw;d+!) zS4xTpeP#1N7o(k4W;c!W`#N}6nW@YdBsVFodk1s@)z*{fMRWkYcyjC3lb{lGg36PR zU1WgFs+YWV&|4fSyC-jq66ze4C7wgz=0l#+Qpb$$h3H@2gKtUdfpSdVJ!KI%p*?3z zPW!~xI~w%g$mQSY8}0x{K)AnXohT$tYPq9P|FvBHwZ8F=78tCDiZMC&mgbat4!)JT zAI&=CDXDbKUf4auQCjK=dT_?QIb#$M-x{x-1&uuKcKakd(*p1gSF_@q9MhRreZi_ph)aweN8Rc zIeJuQG;o>IxnxXaj)vAX#w>JTR(^v|d!(UO&AKglQq3j9Ee;u)YEOVo1!i**S{ae8 zGIo3nmvtB{?!sj>fX4&zil7C)=TF1~{#bnE1sJaqsu9maM+6LPt+0o=fLcMkdicD= zzXDBGBoZJaL-3?7AhWPWt;Z{)A6bUpwwBFrzN?bS9=*`PSneHh_2I(4=kmwH zsgu2)38`DgKk{NIT-i0Q0!(3`IC2e22S2-b7G}cyxrm>U`g`WoIeo75t5y0#=X+ z4#q(u0VCU9K@qu;n4}O3aRD1ffSn}TyCSd<*<=>LkBMRhCPL`uCBrMD)v=%Qf!)aB zVWKt$n;OGagSCr$z`ysR?{2GYFq&D`Z;X~reKgt9l6>@ed@7Nvg4y!gNqhgg{5GIs z3_Xi|4a3nkWHEW5-LUSv-#xyuvU8X(r+sk&9@yXSRkHznXGWE-j!#pU%rS%wYJSc3 z6@T43aW7s6_33qxAT_5IWfKHigjjA%+(c`gjALL-Q&j|o(#H{aO|yvBly)g2DB9xQ zCOVcO`{@Eu3=vg`jTF-YwbY~nI`!epu0FhFOL0eK#OpRFK|)V6tz$!enNep{XaOd& zDuxW5|nhM~>yJ>Fv| z*P5!8SA*Qj`h+oF-qtj|y__A{pe|7YmIX`xupoDd#*k%nL%`fT$Pg&VVJwoVdK1q= z27vr9t+B-e;gA!W0ECcMJX=j0vKtr~h!+4pLw8kUI`eq}C)|T+tF>^Y)+pr{*O zJQ?61L;8a-I73{*Pf$e&vK-M~F^iycT7gnE!Ny2-Zhd`jHf@cD?fLokaP*5}F$Eqh z36Ydg3Hs3;x)+_i)9mxuimL4$veXdt;R~SkrH4V;F}Uc;Wr{0#1IPW0 zydx3~hoWeTBQM|X$j<{`U6^nmb2B=%x2>6`<%|xlfA4kRz85&|-27>(X4#*{KE5!p z?OWjbcH6e^MEnxTS==4ZV`22CoP|Si+|%r&h`yM#s$z=P`gujIVF{9qQ~bPxs2s;U%19f5Mz- z)_HdYnY*U%33$NDz`*;azCnN1JJmAYgu(%u_DPaH^!f*Y9-<#O}NGCH3wut&Th zi$u;iguFbP%MK-S0l&aUkUm8X@H;{@h#RQE znA$OVVu4?13VUL_(HA3U`og>m_sVcN;-(UGp&lr>*Gl8M_4M_eI3b}@StrgV(#dmS zSbO3`Uk}+K9RMO11UL?$cnDcTFH87SgCd#+dzUhfJ1@Rt&+mPVw;h7w-qXE)6 zvv4||omk8Xv2mt%%QMfQAD@9}&%|{&xMkf$Fb5L2Hxfj9AOv$JLW&f5W{c8vXbj03 zbI7C=tKpCZC!RM}15}Kn{GttP9J5TOsJNAkml`hP94{dl#QwsRkEJdfH>&Cz2*0Ts zHSV&@9$p8(sUC>~<3?701J^waE*nTHr5;{azEZ2!t}I{oFfPJrSC(D&@MUEywcNPN z=o16!Ca#}%)ZuSkO|?+ts2P}hpeSM6SJ>ed1QUrkFcX|Tjevk~j**KJT=j?>@WSSC zT5HyXm(GE)xY&1v`7@MOT@j?}BDPD32#scdgA7I11qbrv2CGVuqxWtYWu>1g_`Z?n zYsVAZRP;9j%PPRBK5=_3ALAR($dxMj1er{3lXuGBS6CFCa=FYdn;^^5s|DbbF7<K-!j}4CKp$084w|1zSKMPRxLLb1-CP z0|^P2;E7SNIl=OrDUt~B0XP-7fqNmkmHp)&5VLUStgmY>-}O}teT+VieYI-nBo3Cjq;4%G}^0bPvlf+D(p$Du&<5-GZhJQswu7fnt*?+8K|w8OLiO)Zd2A+!-~ zOd(ygecNL|1*(Da(6;ud?p&Fm9VP9-6a6~y1H6l(B^OKG5wvgEU=ODLiz?tMm3$5a zGvz8>Nz1U-@<5=xby!OY8hft9D11qL;eNSa8W+JJXz!GzalrcLC7vJ}5kX%jK@cTG z%%C6IjqMM?-k>dLLwG_y#aZCL2)wNr#WVRm7Ow9&fjRbVnD97eky2lLhz-r2JYTo;_z96;Tlf$M|wn2O-sAnL|t3fBrn4uh9Snd<}1^KsqJ zz;yvZ_HR9_l>Afh+h?T81+PQ{Q4lWT>(a$y>LxD0d&bQX7p!LSsMm|ucL`b$`=|XS z@PhLN7ci&S0HZDuH_>y~Ke`_O2S2Xs9KU}3_|A17*A72(&&Z1034tw~QUyI59QF>@{g{P2iBwR@(%Enomm}-b2j?>p~b$e z!sueq1fUe42bV+&v;0dA0sHKoff75E)9{HQvt|uRHEZl8q|IjF^>A-mPD}74aL*Fl ziRt(RvB5VcfDU*#B7WuRf{q?CcV?fh!Of(|#TZ=7r$o#!tSWp2blXPuda@ZB^YKbns?YJMo*kSw%50^}xO<}koBF;&HLLR#f#t8aNgb(9wxYZg zT`sj}gVyq}j1IzEXr~6f++YFb0=3HpnlFpU9D$-;lH=>q`>HIdY;umqs8q|FA8Xg}8fj+kZ8je}!+_S{Jt zxlf<^{i`8^yhS60m>?+(gPHf&OL(36gEGOsUzFn{&$E57Q$9?$5}!5r>j_kzPJnrg zo%bU&tguPw(HXe&ARRn0hC)P=pAsxJSPEgH>D&(!dBKvPBzc-ru&-m9uDktIvb`Hn zq|#YT-O-d#kLs7l3%|Zvx>p1eW@^v$dfY+gy)%NYDpQ-pRdXm6_h$ib!Hws(5tuGZ zk6NQ4;l<2K+KMJY^!)@NFaiI{=OxaF1@arOEkZhvDHt41t~ch-7fiNuo5J}%FXg!NTGNPtw*J3{bLG+ zZnyjy$Uqxpo{{fX-C)Sd%gZvXjo`msdX>C&+_+Y`O1}$erE{m}RafWj(ktbgckI|K zSK>sC?ACqzZk3UOPrvcT)1)BLf)ng!gni6`QmGnh7&VfbPR*y*;K6x;PdMtoJQHk4 z5!EgdADA`}>rOjB2YVom3zEZ#UIchuI3e*w4;vV}Xd*qVWljtJk23W$=6EbV3Q4cG zl$;hM=PW+P=83h*fAG3+Laz^uT{JP31m~pp@T{2CE5K5V{06#9NTaFK6e%YmN8%Ch zEX95$A-H;jgnba`@e!Cj0v{k4L6MEg3Lv<@5hf6#WFfkAGWbH638aN4N@O(BF;V)J z-ZU0@^Q=LZNkBGaJ!7=cGN0ZrV}qNv%zmhQR?MORG{X$Psi6JC#aDNB&d|e=K!J{% zob6FYLwKlUJ!rXhumZPj4(&)S~YpNC3?pI@|IgTOR^!;J};%aL=Ij zHG2WrQ538UjcGEOn-^`o6<$-ES6t8(*MQz+o$1F1eebfGo0BaiKMUPSijUA6*e;W2 z$rCFJ{n}>J(4_D{j+D&$fSpyu%{jq_SHZ%<}*f(6);A8OBE z7^9&`G!ZW;1m0X6iADV-{X%_z#O!0lxfsXd>5$j#4S9otGzCwy#gUkx+FEQjnv9%- z_>1>R0#PE#@^Yg0V|>+;Xv7JGlhGU{P)r#%y9VGp2T6uGA@2MN`{rI4lxD2nh00UqpUOeS7$GU<76S0&p7wwf?~!|P9*{bsX& zE76%G<;b2pV4zS5g40J_PHUD%?Y3xKE|1IUaUF0vbvEK?#G!e#P;IuF4N8;8<|T!BDN>wVpsL17T6dGqbgCUp4q}Cg~+)V!_v(n{q%B3=yKIC!oYQ0WxHtTt< z+TidUb-6TlXDH-!sJEDvPA4fQUGH>iN<$%sQ{6^1h9RLyAwx5e#Dpg#Pd$6!0AlVR zjhkvVX_nFRK^3SRIUOBC?@pf%@<9HY`RE1o!aP!9&TL$w?>J5C3@VjDqf((VNXuD3 zT0zC;1ua%RZyB5A76Vqlm7JV_5uO5y?L(Aq$ur=G7>)BR7K3){Fu#8o`876Z4dLpr z!Qz!bMy^p<)E0w>1a)e&&Z4$*rYd`Ow!JE{J?zd3@g|K&nH9qITYQXz!4IfwbF zZXbFP-HQweNj$b--vje@&6~Fi!0QHgjvu`J?Wa~OUAp2au(f?|OLghgIvMb^CVrMC zT3Zv`&xuy}Q`BR7-|kkG%v{nu2|X5!jt8y(3g;Q*dbQSQ&kH2NzHF^ZqBI%odEwfs z?AAbCq^Kd-YM8lWX6i|(36I;c;hLf#e39IAo)nBZaRS{ZEA1?8E<=x9qiriJL62>L z{xizbwzg8{dweA1xW50}K}?aWF(2x{^mq_+qr<5Q)KThhcm`*I4ER9}m_|{2Gz1c4 zGRE^-z#KD|km)xP5KllnvC$B5>dyH>MqkLs`FOm_Ma>CdP&3{jo)AMECiKk-T+Qgy zMUCRc`i;1BcwsaPb3G>e6A`i(m^ea$q*sW{;LxORazRK5@u;*nDbG_@JdYbxm&W z%cgtV#BR7U>Utz$MlZTc-!V6S7LTAi!PrE}F=K`ML8+91x-$1Ym8pD-$*Qljcn8(p zTvU!ew;FA_I)Is0v%abJree&O{PnN9Z@dwGSr31jwQil)TO9G0gg376`-+QwUs-A| zyUb$^)TD}e@`1>mWtQtujE1{DXvgw9T&89%NKVQ%FEH^6&2%E zv!*lBu@=i2b66(xI^+2s<8+{LfqN`C?s3IrK8;DvO#>R>OkIlaT8i%q??vALP3qDy zKe1?IYZcwCO8E}^zi`=|%0!_*(r-l)?1M7T@)IKmMS#D{_D0_X@wO9!65uyq$spF?VB+!0C$w906K~nN=NB=uI{Ym=g6n{Ur7DJ+0L}Jgfs!Ns9sMfl{wE(PO58ST;#f z)Aq(8GY6GBD)o$N5D%W0vaJekULLC(#!5r^phJbD)LF2uwR)dHxJZYR`Q=4ygUChj zdO$AnfvQ;{6s_mssiABRo=KpB5Bs?#=h4;61I1a6K-9A`#|7pq7~{SEh!Edi5#!Mu ziJZSgDyQMpzX4Vv_kBx0{I&ZMSp?GDXB8@9<$!*C<9MiB8fy#eNo@&&kB~;>l->+3ySI*Lhd4Ghg(0S zYeZ2LGh1C7^aZ-=yx`ER!YpMDxKg9aDwNAN?Xs0>3wP~;m*j^B*T$rqclonMMypU> zL483%J^gS|WOCP{n#8=B722}Fxdt=)Gd!P5S~V!(lbvvlnf7T#omFL0+dSP_!BA6q zokeZdx~=-f*@0}}TeQ`(z9Ys}yB}h#Nfw{_^4KvXaum)Eet< zMQI&)k=(fueZIJ+cJq>CWges8 zW0|Znz(in52pU_Q_@}C7h#QH_<`Z7L%tX~*VygPGr3BUPdUq!PlvZ0YI%_r)l>+(C z56kV+Q8@54AL$rZ75eNsX=!_@bnSC7a0kwT2hrYFOIqgb+Bxr`tkD%(?aOLuyci{rJXL)lb-f-WySMLF=gEtWUdIPWDFbT}Z1w?zcbMIlobVM8373zQZs0^fC zGipKq+a)|fI-w`l1HbxWjQA=;Q$NuQa~|I^>88#irZ@AVJK+xpsuop&hEc!zq7SEE z4tx%O9=EJ!+JY!bqFV9AH#`HhQ_)`Lp03~e;{6!MY_ea@l^~i!#CM@Eh3Z7Kr(cT$ z4;~sG3CCvq3W@{7m+=9S5chH1#M29;E)LT)Fq}F8dW$$YdO^<7i}dO)(Sd^?a0Ia? zO&O>8FI-+#M(>3EZt8fMuK~ zXgU&I1OhokiI6U|lTc3Hs)5>48L=AtPdX^fx}i%~mA#3+1lrfVBWHJ%YL{y_4Y}r# zC$~3VBa^I<$oqaxM+F>R7-`GJKP47n%7)2Ou}&zCxkDuV54~zr%z*7rWS1mX&wR`oJS9FUG zPK!bi^F->${qDhAf&7-iwS1{WsbCeUn=O`*4ah=O%iA#ZKQYrp*U6xwSgBOWMs|`* zf>Pi(x*Cn^*V_{I^?YPck1}bAO^`tYh&-Qo1Ytuw@rs!i+7o{lG7thrN#l{pAJ37? z|0uV~=ceuo#9lv3)g}XQ!dx+J&PS8_UV^o~sa^?n1pPGWqd7S7k8+`GvKCOU$Aq#% z+MJIkpRN_k_NMj7kRXT5PW$NKsLWnFhzpJzOq7pk+7eylL^UHB-ZVEK9ojN=)w;(g z!gUpWPlvXS1PuD&FKeD#TFy0=R%^1=*1G0db0pNHrkZi7tJh38ygoS!HpI{T*s{Ph z_)qBjNq4-loQ;IMf%-`me$9FE(ENThJprLQB4B8W5SK72#31Q5f|trPV6hAGMxui$ zV#jgj967v#75T}E@r z;>&e8g6*ARrdNpMr_1CQwELYVQ<#+bWfdV8*XeGrC4Ldaf3@x1XQ&~iv0=Q!>)?Z( z@IOY9M5yDiTkIyambcm*POFvIs!ce-A*2c+P}?i!I&5O@1qE$ZyQ#Om8}y>u%&(i) zwvHSYbLLsH+~vU=TmEB29P@&_iY0Wo$4I{Wi|=p(wHkFosZ1fUOh}*hx5QD*SgMOqk_5My5p{+o zA>v)RAGAcY5y5L06xE@L6BH3`TOxqE5-F$817<>IIbH`pcdu(|{PPwh?$`MP0H63He zHJ2*rhZePsE&@uEi`igvn4626=vs--nQd3eCw#Nx_ksA7_VvRrcZ`@jF1+Z`uAZ-^ z)Wr69{b0{+0PL9i+U|+L>S;4BU%Dgy>eTj}$}G1zzhZ8aR(HvMhBoIY?D_2UVk0ot zpSKo_6=e2A_b^nF*}n3bFex1p@kk5;@-1HYOoHMnOWMe66zBd#KXkD$%(>`AaO(Gb z=JSVT3@rA?b-=(+3duc#qU~#;cIpggIARAQE2cJ?%R+;OCr8eFVjj&*dT`;>lMIT= zoF(Iz?%6-5`_clb&y?*?l(yu|-!tbtKL#fssF$k(4yaN9~_rE4NKcOZPz%b zRO86DvE@zI74Dq1Vn}iKQ!~JVCl+5~w=8TQ^5C+$_sm~moKilatTAN28h&!V!2_L^ z@roFtQR;lpyMD5rz+^wR*QU#%ar zzWw)^)qij1(ev&IQ2Npt8shr%9!8k|iHZk45$j6}rj7_I7yiyQL=+;?lCcqrVlp3i zIFp$XK>3O7f#460&<$C53dtfq$`T>6jFNtXQwYx{xTlTc(H}~O2;f>Y0#Bot!#>NA zx*?m79NE0|;X9w!mx09~3uR58Yh>9Yn=7jx)W}U5qfh_fq$5BID$yyl9i1B9REPHI zJujL2?m3K30q*dUnO6#`l^_Wo8~vfE80j$p#e|uML9!|9jQa@s`N;KOjjp*7Bsb6A z`67@Wv7kP4iCWUL?x6+jm$tN)vGxHhwFeA!tokLikxo@7?#|~kG zE+*&-{?lPdB@GUT0VWOLASs-p@F8iPEqesm!5CnFL^jt96a(bHPzjP|r_+p*u7U!1 zN!Z~CJ5m!;cO_%PhQ*TN5l-k{1YT}iURk-k4VBLl)`cr@-}@P_3k3vQfD(ti@a-@U zE#g>3Jp=_xFeC7Yf-H}TA(Amb7z0s>68C|SIDb?Cf#CEL=pa0ouun$(sd|4T;)l=q zfz;fWL&Eem!nWF`=M5?XLhO@vou zU6Igfkycz+Lab5z;zoswNkjzrBoUGvj}s$K4u&MYwCgoY%(nLudifI0jKD=bvUBNPRjf)O=l{r52=007PrgGJ=BHl23_GYizoTUnu)jJK* z+pHC*ZvFc$d+>KEMSoZtP%3j9$Byf8YB`Hm!#EnNvTDZ%Xy!_p)B{JvJMQ(ANLx#l z&WD`2@g<`tJ62aYv+wL^+w{ByN(!z|E^3pnu%_kTNda?+Jyzm8ye-9Jm$s%Cy)quw|EUkM>eecFQ4nKX(jrXWtXRD%RHF8@# zGzI?osQR8v`WsAjgrvtp#R;&`oiEWi;F#2{scT2GR-Gi@<;s`n&5}H@74UG{Sk|Ir z3tYWFQ&4-`XdWMB+FRXuEra0DT?O3T3|T?m3erAr`acTTcET=Ds_y zi6i@eXNy+77h9HP$+9F@xyX`igJs#6Vr;;eX1eL7n@)g$=p;ZwPk=zU5K;&!dY-#w-%u2RwxZHj3`~Bkw*6!@=?Ci|!%$qlF-upaI z6WM{D(kdBY5lRFpuAIJ3MICZ4hPU2> zqe)9idMC+ZL5CD*tn_WHwpgmy`6>+o#JW#NvKahEOVT97-3JWxpei4{=Bq-%w2D){ zs?}SXI?gw3+0w)oG;N`uTZnVP2iWebEH19}wHu9JFb|rnN z>*+0tz6)tIHDfJ8dkV1Q|B{>R3U|Ygc3%Yn_zD~VUjYHIhMskNX(Y7t`0=Go>(b-k zb=n=d2XX%tD5D?hia(CKgQ*jbaS%0vnnX2IbE$>Ya#Nd_@&<}LQI7%0zZFWEY39u77f}@L$ zsA3L)?f?>N3TWIS9@tGzlqZG()`D$nzZ%@7#dm*ivhgqLk|S=g5gxxA z9tX|Z?8sO^pI5!|vO-Ni0$068XTxvRx%88O4QZ^#2)tAQmZ>Y@2rx(-Y2m;~xRpht zWLF5jd+7AhM_3?!%(@?BefAl9_LPWOrjG8u2>*z_XJ&Ne7VvfU2;lr-0|SiWOPmPGhk8#Rf!?e~VsM;Fl=FeOt7ufWi<8O-lb zKe74XTrluGLwzMT>o%AQPmdmT9!xrWXXTg$(bI6{fH7blUDnYXOr`Zp$IVy{gYaXe zzNm7z=`5(7ckhNLW3)j`vHu{tznGHi1TQ~iha?B+{D{r=du>>`lZnSOc%h3J8NoRn zPrO5!{3d?d!S$=poc?0Zo-a1sZKkT{p)2EIsT=o8v_m7=;hh5$wE*-mP&)8D-+L~FjIvy&mWTJz&Zyy|C za&jGW=A<)Q*?SIFMTU8crqAXCKKdA%o5yzATa5dk%b{<&?gCg%Kw2TR#R|A9R{eOr zl^o!gR{b;_MhAH1)?seTcMo-BJoMe_nbO}Zm_9fUWWTyMvRk?N#4-94gVkz?I&eZ- zhmX-+lMc;x~%Y-3xxx=lMVHj_j=}v42cqZAt1zP$byS z2!7fO#8aD{_-f0e3Mn5|N|jTUR9~tF(dD6tGLNRlBkDYZnoZ587E#Nnm54%bL=<{E zqS1S){nRn)A{r4`^y4H)pWT41*GxTs0TZA2!!C&ue*oix{mKvD_ZkBKt&9Q|&Kog)MWkAKq7!fTs<;DFA zEJEXNJHdO%?y-iwm2qCojVxv~Cf?t6_;4Eo54YWae;a74$h&qauc9IkJeeD!e+uP- zC-W-67JTn8PS~>GFk908N^V6(E?13@zxfS1#`w@oM87Vh^B6?ExH#Mq-?cwa1kD&9 zkQKZ{P>B#pG0g#=u*nfuWfvasbNc|h=Yx+9k2tVmVe^cI%kLd_;J4@RpL%HoXS0Zv zhThZQ&ucb*z8R#PTYmBI&W)RnjhVi2?L_MgjXq8D$NS4>mluguhU8vPO*jSFQs%|? z-q>~M{lK{88#XQ<7kGaEp_gjQ*;JiDndEDnv-rbJXMuXu)`uV2I%?&#iD9QzuN|zv z|GYETX;A4>`qXs1=1f(^cvP}zj}RwyK@ec#G8HR}m*FgS(2J!O#D^~lM86hv$OTpMcWucX-vORWV(!IBB9z%> zbkZl^6T~L!WR;BN0ejNyV!G#o1JOjqa;6nhNls=3pPD397hsG&v(j75G657+Xw!^N z-qnR`kLxYy;|~*hn<}nGPduQRfUzh5{?j^hl&e^`8@+ZnVls7r!qC`MboYN;Yuzs3 z#5dr_yL2e$8@6t>KXXAg{1 zU@y8r&xaSlRWLr-6#W;1BeCFb1~4b}$-*m9#n%(w1o>AvLW8 zVXd7F+Zif4gWeyBFf8%65&4GRPXZu39a7qSO@z|xSxS?yr73L3i7Lr|kLIEp>K?@D zQydn{^KJq~{p*K-U>y5T56;9y8U}BhYrNRar~yNOVjm5RrYrTodL=M8IUk;8cpdu4 z;W5L8Y5m$^!%+C29&n;xyFaWwFCkUv1C8E#GAwKZg-=@bnh$h|IsNMEKnP$HABg&k zkfH9M{eI={ZTN0OgHG2F0!~n7E|->p9Bdp8FP2Hm&G1e5u@>EI_|;5UvjDjnAAelj zmrEaNDMi_Js3mnO0Afxc(__9M1vico?0_0;XE7)s77U|1#~u@KdoiIEh%LrvF%}V! z7C?Ypjl7q)GIXe^2{%Nz2~adG9ocUZZ{a8P8!07vx-#^~$T@{fqctfqJUXdDCYLFs zI!}heq}9k2oSc!7RN#SKw?+2dwo8)g8R{GJp^<+515MuyTds9Z?>W|7TSi~a2e0!f zA2w8s&Q^oga0r`7g~D_ZON(_htrOF%R>JT+YZsfvdS1@5$&U2ojLjN+=}PXO@&^2X|yUgF$EZj$n3aN#@WYpWD|QxjVLR5Jj}C z4son4*xE%&W2*`m*(f0*P)CB`+tq0kZlz6jFP4M`$X+|{?lGYRV%1G}uL*Im0lVNL zorv2rf&V5MyErPZUib2h-+Zr@4;j+GX`VCX2GzGy3|?24wDMVE4i+A~X-aM?O)VPn zsnx}?uB514-*2HVWg5QuUyIi7xci-J7ZyEbf^RzXTFvhK+zqe1!i9nOmF_Zk@b?*~ zw$$;mFOSTBtN-l!FW05GcXjYlM5K2$}DXvGpBKE zuDSp6#Z@ruGKT~cC)9eiJ`ncRHW6P}71PSo(#oe*6b|t_`~(b3w;g@| z6d?F=(V2_@&3PD@R>aHDjDU9&>@kc;+7x840G$GboRnpvJGI5y=nhT|78o5|zt=?R zMnk%2SBaK(&wzK&7dv!$vbDbxIdapv#c=ct*cMznzdj?Qe*W5E8>A_bgkhtPXtneh zTAN}3$P|sjC*H2c18CxXmepq9y(08u!|?Luwl2^ZA-L~vYvr=7pKm-4 zvY&`hLXX3HKTPW<@I};@5|Rq)M6CJ=pgp+h>s>0{F8F7yu$zOQO56vwYW5ra1 zP!e7gFEkU}c@j0MfY?A@D+DjY%O`gps}SileGTH=*6&(##i`{Qov0%EU{@vB-wl9& zc^J3yhJ;5+a6=O4|H;F^FrewAIz>Ng-MU%&6!poDD+yI1{ejFiRn$Pd=Nwabk5>bO z$Nh`?;V$B*FcEO#@g1)eOJSS&_}5r{tNQKz+d8=#*xp@wrIEU^NvVx)PWU#cv!Jg- zy3D2Xx21RXp(e`)Jzd!NL*y%1sW`q(|{rrM)N0OOGHq<_HX+VC<&8gBCf@Y?Nj$kQ1X zEi&lfAENK92Xof1hkM{JrN_Q#d$?3+a>S6csv$#EFalzU4JMVRrAFrr3Z2#e`8Y1%Xp}t**kD27h|~19-I0lJmRk#gaR}*u3=P(WL(*rt6jd+%6IcDfWSn&|f6{ z=`jW<-}Qa688sx+iW(3_z@JbA+mzVXCjJn94o1wWADt4-IQr?b&41pj62@RCG1b6{ zl0_&E9?`p!+aD%}Mj$91xqKJA9^nxegkmgdAHdTn2DPCmwy!Y|wc$9b`B&Ny z^_hQ*FcEhnLQ|5yM_9dpOO1P9XP;A}E*I|6gf{q(XFq#s$<~|3?7{1|o05UzrM8!L zJ@IyIR8nCK6@aREIJW{E3UdKCgbbO=?C7CEJH|pI--`5aLf<{3r7)eS;s_^BRwcm~KY1Abd6!PL>+4Mif%XZt@Y#-y6P|fnr+Zt-XxuS!qa)mX9zrWR zKFqF;*M*><3#CpVmm&)5@d@0P(d6~TH$m-jFsk^s;pggf@FPizBu^@R5q=b-@&BZZ z!1bb3nuij1gu1Fk&qWo69|<>J6sRDYhn@i0o$Vt;z9_sU^8HQoD)}~8J|ysvoj`CD zUJ)Rcx04OP>>?=%dO_^tNBM--B@ANpKB5yo70*<$UJ`w`$2$>$4YL?e7=yRRm{F>; zJ7X;`3SRHzBR6;TR&)Xhb0+QUibp3Z0f#Lk!Pln78^DUM-T+Z0!~nxyO($^NV~(OC z2fXbq>sR^JD=HRkIeO+y)Q;o0aFL_^xTA<3_U)dM67YM;kzJ2{8+{zz80jdYV(;QG zeXGMeVR&7@8i~`;CXNl010GkWDwjQQ-!-+R%90uy+u7;&2 zW>jxVm1fAS#_S@eQliQk!`qtc%c~p5gaQ*P3R4sxKXnHFJvlYmYNS=(Avs3ou{o#i zYA)Ugk2Jk-eC?o6iFl$?f|B2IcJZQNI2jJ2|P*sh_$s`g;Tu%eO8OJ?Rjei}yK z%55mfkyyqss)pHf<8tX0sO>hP^+XUOmQVsR3DG?#>+FEwj?7535doEh46RpbqecJ z<6oG7(%egKu(o)J7E(rSSYSv~UB}LSM}ozjgDqz$n@f#x1wo93P0%8V&ja?j_6Tus zZiow$IB$FfgEdmIXS|8<_0KUnKOF*13Y|^?kLVPw3LQLxFF+Hyh}!Ck0aZN%i-vfE z&EIcYxlTXio~Q2_qStL0@mX;l9gYF~!~1W3TF5urT3q)-(Ve&XrY)H|u}`L^9R1TY z)fLBeqWOQ2`gy653H8H0Q3V9F3;_$!S6o4c7)DzqG97%x{gvYh+(KeSjW$wE!hChr z^V#bX$rg!1DY<@KqEw(D4)lnL8lH7JhZ#)WDtrJ8JfPQEQY~g@XMLle{qsz^VxD#S zea>M_SLIi%(1=nzcE2-0FIG#L3H>6hlAxy_`-JhXXYbUc0h9>M?>DG+M97H{hz{+$ zuy5Z5Zsh0pM?>fmBcX)=Ci4XA3>xv>eWCk5N8xZ6mM*4aMxy1ycnx;mZm>&mUw7Mm zUWTZ==+Laz+6sRNfEqXr9z_4AftmpPp|urIpbuC9`ao*VB@qQft>M;4D}zs}WHp)fb=XKz!Mc z#EBEi8PWQeH%7wiUf|wQWoD}0;a*tBgg3t2-b#Enf%6#NsS|H5;oUicG~(9prxV^! z{mZg^A^0o}McWuCxHJu6E0kLnOK|lHUdP3XCSJt%YVJgIXesf(Vj-9}8Ztq|+<9Xm ziP0pXu@8B-6VKHWAVkt5l9M!Qm~Tkc>y%b-g9*{b=%3lymI4#(PbWujj z`092|PfYc8st1xfdtA_dOQMF~5Q!h;Zp7@A^QmfT5ETI;pam(wiRgT9&>sv16Tlp> z4Ez^(9b5)i0i+e^^I@bk7r{w0a#-4pJu$moq5ugKr)DA{4OT$#8-X{SkAdsBW80a< zF0|C*gR~U@BjTNnLXNDHIH|_i?Raq!I~EJ;Tazy~?cu#p#Kz&NE(oyr$6Xxo#GXT| zKE0JOVSptUPcW7|tUCk4ECswl23vQT1d%G>4Oj~ml^7@T27#5_AtGWz7+KJz1SaA05QSa*6k-yL1a8WK%4A}Ri+T}x#$hOO;%f1Jp8%JK zeL$kDIKO}ms~3t1J{7yP$vzr1q@YR_^DbSo575I>jK)&MsPw#nn+r1Y+ZQTE3PBJ3 zHpp_Mr2AdP7OrJTeM?K*l)tS?nScAzq4ZB;9S_Ea{RNH2=+NlzOrr`%z6@wiCl)0u zQ+SEYl4@0$EDp0)FXMfUGKoYrm`-a(9$faN@c1B!37qZL975qK)JsjXewhE zn&r8a!h)jA75U}Uciy4TF182d^f2I?+GTk#L@aOgNqL~xnjIFC(r!+XNyQe03H~f;u(Bx@y=|}~S<%O;;FuDxYM@n_ zEi)L^*6XiX8zgp}B_%VpT9NExUUgQfO3N@(uJ7xNa|19vbOIO-+8ID=s#N9@ zZyLw)Qd%V8vfWY?4w37?mnpDM_Q%^7sDhO}dF| zT%PUft6`)gz5aDu)lOcLtTR?|tk;kbZcM3^C>(arT#g%&o)BiMRN}l8M^TPRH*n_6 zJu^R=o7bmzjVN<&`xRN5NmH_*A5G_HCnskW(9FSMMs1o*Dlw*}N~B7?GF2?Mpiic% zp{0F&uAHD<yL>9Tk zqSh)TQj66fW}Zw`SmwNg{LYCenFa`bG*?b@!>@?!n^-ZZ`b*y1I}jxAXXU8p0bEJcG##ti8565H5_ znq5DE2f=N*0tCZ<)kOfQZ)WOfrRRSfBK> z2E*<`hmm0nmfm5I@2_&%!JsbgbM)%N@x{Lm!w=p?SN_vl)0 zrb)?3O}6}!0Yj(FsXR2syLjUCq4mAJX=;X6TZ_E|dkqf^jq4o5{BorcRM1*#2KMGc zb@x<+5goh1H0z2GD}wlTG|zikvRLFh#R*vXhPJWVxXrW9An4o)AlHcNk6*cLqMlfY zY!-Y1zW3RN4WEHx&;W{YC_49Mr00cdwN0%CD`(X@QpplO)iG4CY>t~se?X$wzqFp5 z&%rC_m?oDw5{?6^bFCXbgYWft+wX3H3mqM-hWK4=>QJrEQKngl9^e7@K4n?=t`g#;0+SI*_!1jMp9tJIK z|9>hEjX2W(v+~fLgOybeR74!UV zV&@X~AM4(h>XS|;7syV*Gdi*&RNw&8I;}O)&|Z{OAr7g00~&2!%rM$CeiOV<-ed;V^7P zXLU;pP=~m18*B<(&q8E{zVq6%ah@`!HEh&G+I$9i9g+#!8$$@`*njDjaV4&pdfZ`8|Em0v3jvcMTCAG!Wp92 z2uj6-v2)ZY>cKZqdh82Wc#5S!+&^wR7W$(I!RG@GMJdvQ!Zhwh_yJ15&OsGJbxP}$ z5qV=iEJk&&Rrk7S9Pt{0#9BHGUZ=gQs@Qw59sN*0^Vwrrq1CugLh6cZg8qb}Ggx$l zHJ(tdqg1#ZMRMrZfo`BG2!1JWMEntkz!(e9;vY@UFyM}FU5HF}+-rH3iZo#W6fTrmLR=Js+f_v`6g2=FY!YHiG9yhT0~%1I zib}M#5fQ)26m|kv0sPLm^aImw>~OK0rO@(gsqz=)@F!sFKpndToXNDjU}?&XQ1Mp- z>Y5a#IK-e10c@Ei%n@|22_?#m6$1BDQ38He68ff<)NpDlvAXO8B=mQNjb0;1oTZ>K zX~5tRHm48ceHWAUB6fG>B9_bnV!GxNJZ@t@q#FCprcV6*X(q9B|9+|1q_CP8`PQwB z4467*ep%ON&TYOeS=nF!{mztWb5^XFGi^#iv&FLJ`N_Gtlb>HRjj0(~RT^rjLhK|g z1%DYhu{%Ujaj}!5x6#~_Md>V93)nVL4BsoO>D8iA17KfJ%!?<#G+E4hTjVO57G>5q zEpDpM6tQ>t`*Mu9k0(&Ypmlc*>j2_2-A0 z9)KUd^cej3__RmAV?^C?u$XSV8saUv9<==?{Ah!t%Ye;DaQnKjslqx%M=O?YvLS^o zJfW(Cka`wP2WafX?;SZ3k8HxpV$tlNuEY~S@W_$)op3BJ=I>REX*bqo^-<;22x=~t z#b7BN#*x=_%6~hhzG(T~c|lOd<4M@KOiS2tA&Q0mB9oQndPay^5$&X|V+u-vXO$J1 zG~vS9$?QfqWmYJmfy`ikF-%@H*#Q1Rwht?+^7E_m*&XBW+Pz`-UE}*LoZ8H4>$Gh1 z)P?;zs9VLdA?$r28e+mI%l4nU;E6aHdMOE&_U~Ux0_uF6ePmM2;wrnnYH^Kh+xySG z#M|xsOV7Q(O?J!JL>XruH3;=uHO(8fag~QI7hGy>z(s2kHu1@A5M+FIG^R~fY;mV# z40hDD-5!*L3tv2PVev5Vt(wR&;e8tAExG?O1^JmS1 z^I=By3lO3B* z({2Z<-@mL@TZED@KS-(;8IjO;T`r8v-s?Xr zJA-<=1C4`!r|2V?kt0g|&(HXJ#`FGvzvSnhembJu{&sfu+uOVMr~d!D{v_h^*&Mi4 z9M+YIKa`+5L7`cE7Wyt^w>RceUE>x4sMIFBPef=uDtbWYj{%MeY2ArIcMcg`MaGG?PAv8eV8gY(@c4p0RUSCZdIF!@@*VJ!y87;8^o;sgl!5xb9h{p zt!iA=0awUZi&b$$^i%16zK*LB;%(1tS(K(TP1!#49&w%W_My@G-g7fx*t>7m;G*qQ zOu95KT;++j&}wWR8vXGGb=F(!%SnfnH#Z&ZwWWZch~4Oq@dWe^&+Glm+3iy_qHQyw zGBXFx8PXicr>W|Zv-YKfr>AUZ%j5e%f)20?&7uRT$=HuEhu2qvm?dBrRK`1zrn#89 z63>Yk%zp~-MR-GobQzu_7`-?u2pDG^mYOrfFh>G-dy*k{1si`p=DVUCc!_Bw7W8mz z;mM;FreF;RJ7(?MH)}!ez_I&gdGhGRXaMhN?(Ty}tr=AwvmP`QR)7!=!A~vP z9JRWlNUsG=){JkXOOuSg+B_$%jFJ^8ZMy22Kc}Gv49oGOCFpxwGH|<>7WehI;5*^% zg+9)@q_0c5@4`NfWqtjueVV`Sn-!hfxYaPiM8DO4pfX_hR7np=>x*tsD6l~xHXEGA zqLAc>GQeoAiEDkCRmwA=+F7-;-mJ)(9-(w2WPNk#`+T*l?S=4?C)m$({(Qe&@lap( z0L}K!zDL%B83Z2>^(4^g#IGDUJDC;y5!^x;Xo^wSA}klin8o0R273%O$!jNC6|q$T z9@emk55x5>@QdiD^(~Js0}p0L8>a3SSGLrPTE|C!>kdUK z%`Qf*k$TgZP^1-w#RKx_@Yu`}E+j2VgMF(eps`%2R)F%PRIF5Pc8REx!pPt5KLZb8 zk1r?hZmG8|do;Xx%8(hh`j+dhV9KF2jH1|OwmCfdG?&d~&Q<1?m1L?^t*OolRW`GW zKdkViyg>w50wx~j?TV5oA!MlTQ(@j%wi}_XKHS0$WTc;m3L%(j==#9#8 z%lVbkfUzLGFnQ*_(jv%Jk0^ANOCDUaQ&R3K2r(PXQzSuGeigHrXT?*+#di9+>~zpk zQd^9M>e$8V92m@{K2d=Q)%I%Cl&>7C<~ z9FXF3)K-~n&&*(p3vTd=!UeAANP3K`pekRbh<*a@b$Y8jN;yooEVjb=wk$JPnbW7Z z#{Bi4SReoVa)XcGC#M*2d`6S^NH~**B|xy+wlvRf?hSl9%iO<-q=d zqIyJ|s-84D4Q8=ogS5(nqK`;I9hKs1({n1`L{zCZbVgZ~>8oWexqW3LblWupvVB9v zx&6+c_w);T;H5(Q>RKOjo2laH$qD1&<0I$nL%b5bIL|X{-`Ih<3os#u9b8Qy!+P{! zMImU=n>|&V)#@Cr1%8Ud8CKAw)fZKO8OEgO(!TROS7{TbyU{SMbmrBz|HYpJhSfBT zh3~jLeTz%+te3F`zUQm$#DU?TVJRw^@Q;RDYwi>oIh~Owv2Gd0^-4!4;@HRS^63QN zP#xKn)(My}qjd`Sp;ob3p@V-^=(I{ES)pTC)WInq`TjE-Fmg(I)!HBTWOK4YZwxpV3F?Bhe;w4cegX zG_W_pFx`fQocIPwhNIJPqF6Hg*yl|kOm&kR;diTXfV=ddwK<0+H`KNv=jRDn0q zqyLSvJB6}C4>p49x9F5uR((Z6aT%zbI?59Bve}m!hI(kYyH|ktt|}K(FY^;8!o*h! zNrkC?Ml9qN)a;dj0I&fJ%~fQj4aGq^uF0#jD~WnKmIh*t4zx5U@Wr%`sLj}k^K*J@ zz~v4E+^zt-E-*L{7#wjgII;l!v1=F94_Ub2NTl!4MT?I<`1MhC-OJ;k5(vB*9!TcQ3f_i#Bj4og%zGK;yUjC*XH3SO7>FTFHx#0`&X(D9i+_foj#o z_KT}n+5CB94_sKX=>2;qM0p&IJ_C9!%X-&%?|JDycx`{nl#-Rk+niGt><8leUb+Xx zPhHT0`ponj6nlWsMIF``CSZ-|V9<9d=Kw3f9?5xAO!*zHK4Z$|0jzc8VFW!SD~o6; zRxGjtrZ?OIe*sdk97y557uK(TVLixIu!_t)_o6d3KxVbd(?+KCIRk%A8;OExKsMmr zh3>pelth|Q5VCXnssSyfV;^$5?4g1TdI^xe{0hqHmsef}2iK1uw|@P&@zIA<@-njQ z$u))nBo~F%T73ro-HHMuaejuHWP4UdUW(qT)S6kP!)){>C!4iOYXW{4Px+}J(N>M` z+IxVASJLUOd=kQ%M<%Q!gq>ue85LckqrW(x#{4g>cG*N~qwOZ~@%`gBj32)Nc%>P= z(xk3c>z1aZr1i>>8Z-M0yW4wLq0uNYmK#qk9E6S%qw!Sn_Thap`@aVN{@QCmPOnIW zI%OcvX?*k-eG-=}PRh*CYLmGneO|9zpR)L_f>;KN>Vzy`D^~h)djTzwzlL)I-*(40 z6=V=Epn7Wszjb(#Lo}fgIfywg@8rlOppz99rB;sF@)bP&l!G3+Vptp~Y%5xIHiJBctxaRM$}&^zLJ@ z&#}#`NUEL)LKk=If(z{z6<_h-MP>h9X7C;WTZ7S`>@(=+3!^tS0su}k`ge*JjpSV7 zBHB{s=oQ&9wHzGGc7rc{ed!{QPkTK5{#yOv-asMEXNUkOq=QAUpFIjS%yn0x5+JIQ z%Wm%o)h6I+OQ|GkA>wLxB~U!P@>H@s2(nH+kFl{)`=eTtRY4lrZpDB&1Tq`ZE3#fv zVLm^AF$vK{KJn~_Io*7+E)Ws-ZC30L7!BnLG%y7XkHi_f+ibu*Yfm=2(u+{G6C_JE zZJo%#qx|v>+a}O=HZzuFR?%zVC+pRSArJxefPrs44w7^VG)U+Lhtv8>Wn8s#E^SX? z70G)2ptcPvT7lB3`d7U7q+2d?&flL_B9*bF$`NZmgqPq;@Y08C)_e#uK|hfB;b*s) zVCeN`7cP!{7~NMqch$PFqUbC9yp`+6_I~>~tyL+c=`DwBeNdLws+qLY$|_PbncB}c zs2DkZ?SMY#9tTFXT%?oBTMk%JI<87Fw?v`{)qc88PU9*l27E(az9z9i^xA*MM}gSf zYNXOJIu5`)YfcyXT>cCRFtP#0g=P}9)2O8p#c%>Y?asjXB#5vuxBvKuZtM|lAPek+r{E{iVH=h7{Pmz>spuqr2#+fo_b={kvYTL|+%6g| zteGGdQ3UW9Vu;Qs&70gJD>ekeSQ|vy{$AD*?-FhF`(HbIP>+ z?wui%EmUNGzu3Q?Pp>J19yU0V-^gT5eVJp4w+mA zxGX1z;~xEQ@`6)mQKU|pLVc6MT=(_@qid%F{lV9d-3HG-nyP#f{_e|7xNkhiJOT>Ag9o-WFTG>wfw$f~ux#_P*_-d- zEc14)8Q;D=dwcu%HM{1`Sq{W|egM@cpTj)~EQ?%gg^#VS7+wMKxBSc z!4=raq81Uwjrz!^N51l zY5ismpR?<>cl&y;zd32-qI*_6@0kp)(U-VOcklQkJ*uQ&*Bj%9-~acG!xjU6(UIPd zg63a_!0*w7GZ8E?2PRi7KK>kdYS`p{`H#-u+_7rp_+bM+-E@{7c-L#M#pP^aUhp%5 zaRF|*t7*7tztESsF-_?d*U65hNZ8Gc+5p*zh>(p4&=j@d4NFm|Y67q^Bw+;aXEJ9a zg8oZwF$1T(Wr8| z?tG(PNrp$sBx!Xl?X{Lpgg+KkSF_)OVst8a`hptf(E98_ft7W(?DBMnL8{e{=$$vH z)a%fI3)NgWG@@kb#@UA^j@C(j82earbpe-zA8h}&p!x$aWm?|AeuZ*#RZ8`1M~|Kv z?8*u$67u!unQugW_%@@{)ekW7HdHR^3k<$~1;&hUU&q4Arc{MSMD?ybVMW%r`?6KgBNfSeF6E4vj61P_DGwQMB zTMQ=#mw_?rJBx}_6U}xq5K)a5>^gAt*u8t^F9>GK*ij%6;v{qbIrM7AnBEGUxYfS-fdGdzVfB4gf^$j^HASo`AI(q|V z%FI2x&%eK`%x_Vt(Q3~nYu+)SfAj4Ap?Mpcp59cmecM}Sw)v81vD9ufq!~2KT&p#5 z5oE6N%w2KYhxJ4AJZTb{%&d^`v!;djY+Re7MWj!$?$HPDy+bBi5DbMXT3U9^7-?Bht`i9SKrWV z=TkIl%am#`jNZ~Tc z3kY8x4HPFaK(sOjpeM!%{&JvXL@Je0r3kLw|Jl-IKRk16YPy&eNflh{9Iz1_cn#bu z)9BN^8m+{Tui*@KbFMB2h?HUpC&K!_qFF_rRd7R!)1_4WDRZz+CsVqXZP~HDIatzo z`|@p5iVW$aM26nQy|wV8+%c<9PM`X~q{`%IQ@^U3;Z|j@=DC%Px+V{k+WF|ia* zHxeB%C4|{!nPZhpptDzWhB%Vea z{eY!fZ>qBp9(?PDs_Wh-+=z1_eZtuVapodaxzqPh%nsdT)c>Eg!zgTJ{>m$Yjrpsu z3RdUw>sMZpL~Q?A)7*3G>^iSu+yAb;^k^NGNtIx%Scw3d6lZ)%K=05UblPYKcq&}w$kNg7l9 z=rUg?dh#O5WsYnFk1JhfD4aTkcytuximb5qAznwQqClsdJPv-~Bs(RYA|pR|Z9|Zl zeGUhYfLwS1Ho^-ug)6h`oYta!6tt?M3-BxGyV*kFHpm5!)S-LlcHv~p9u;JoPV}8W zCUcaN=-?0$RF}A=>tkW0rg*WssA&wi0ke??(fd;Ac1vbEu{Whdf>kP&X^Ff71QS(; z;H0&;W?HtBlr(Bv_K)bRZ?|ATNP-0BGKVZ3SBQ?knQ0XO!ccOYrnOa&w~HyRgXk6G zu}lej$vhCbom^aF+8;pN7w7bI8cyRx{{cGlUs{aXXgDb;dT;bzsZyswmo&Pho9Sj- zM-muvlEN+$c|7fz>DTNpiVo>z_Luf3`^)7H zX`*acgG%L#&o_9Zmb4@)kNp-g@r`gitZ=buN}e>;L&HxnP5YHapud(rXm}C1I6NMFGdw5id zp9Sqsw}=xFQ_Mh+4`3w;tm;V%j#I$9-A_Nlsehk0?Qz&%oG#ZhY!c^G+Er$yire+@ zkKjJ=Ex3=aO@Q?j{(uKQ2roaTeY`}<0HsW2~THYO4)HHTz#T=JNy!AVv{SIz@0yT#C$v#RkqBE?TRUx)e>@$^k24s!~ zqJ8VWKQV3EiSNmGl&}={57Yxil$26nDy>0(AQ_M|HsgipKTUpUz>Nm(=t+2qSr$DB zGTFm8Ob>yVaV(J=Hr!|xJ918d&pbCiUCL8X_ zyi+V$yA^&u^7?OnGh(Y5+#wTpu46?4E`yXHYuf>%v!f0yqS`68{F6_jn?Csjl%t7( z0>|iOAPfF6dIvlo@7M8XwNxcFBKAB_Ft-ElfEzp7=FmzvfYp>^pdi==3$39Hb{|@G zVvQYdz>$tQ>Ea*_d_+mlr?I1zTr3?f2eVCHo0dF#c5+&+e4@|hgZpgB;0Z_7fWnO% zn(FjYMGa`(E8=JXPPx7ju`DA`p_lr3j)vcxhMDBbez^E-t9{tQ8F)OCd%sqQ%pUydK`Al+coq zLfxkl8ie1L4o zaoLDri`yRF%pFF9oVM)ckQd*)=GeezuD3?*efiP2YPx%t~4S7i;Y?4`JQfYQ(X0}u+ zO_SvmNhC$r@XJQ6B7M5=4O;XvYL@~meF!pm8wzVW*sToe)Ebc-v3?koD4+zq-S1)Z z(F&?BP>w-4zlRTOfAwdY`SK41z18$eu`M{Hq1tHN zeErP>^jE9Dd3W!~KfL+!jaTL$ZLpd9c;V*2K-ymentt~a7(Ti8`U!(p4=ORM0N{qK zyC>dXiEh1sMxR1asHeqP3fv*F5lJVr~ojb1Wn)lYu5x32`{n6Id7vM*TdY~*mr2D}mQTS08t%N^c zg^P~>VorkE$%g9D7Q@qx;SmJvz^wskh|bY=!0nD67{`oifA$6Te*Ny~cVHZpM;--J znOYQe`N>8rB@1T2BwDhGC> z$;uJFJ`VCGtRzuCy-sS}9lT( zC%4Qt+b}tZD;=C{n60s)d^Bp0lO1DI(;tgn;#Q88YQtr-of$z}hPo-9xmMYvPw~6z z+*!WTn)Kmw_FdRFXLx!|sV~c2=kllMOZ%g*(!W%lVGCwBXP1SwdRcef03MBEJK;%) z@(ZQLHb7ny>Y>!KdPqq$S_0_j*TW&tMAy-qZ>6mgY#9s`@E?GEArb}(F!L6hCzys@ zM&HGaxZyHt5H*STAa;x5_)T~pOORC?O_ohuCjK0(amf7rZ{OAN=SP1$ zvo{EWzx@jsYg)X&eUd3FNoSU8`}fz%iz~E~0JX`KWzv}y+BtKy3bQ$=1<&=GXvoV? zvM|z8YySZ&-(RuoHp^gBDA!oK_rl)!gYP=?*GKn%X?)>J_}g!iU%u_h9d?DL!rTn# zW^*t@VZN&xCcTxe&<4#9zW&<>%oQ4~JO%L-88;~I3fYIBhuBCm>*28~;4)$l2pl$l z!Gbibo|^`UPg2&6x8Hqn5gWnya%2M!ODw*KS5qrvvWmGYtDjl3=9$%37ag?kx;poT zm6QDrxx|t;Y*s^Vir8eCPuWEEUtEXg3UDc~c)!jb6rXXD>r4^&stQkFK&6-oHCzlQk4bJW}a(IJRsmrhQ zW;pVDxs~bpDOMUxZ!qWOx{C7B6?|aK!aF7m-m!jCX>r4>nO;v#PO4O@b@@m6)j9xz zgPln(e?hO*8~=(u8s5~B-CUT55_15pzt&bawGY#y zeg0|d1QKmE|5a#EQHpb2{FM>(l-#B1n?K{J6@2Z(_uTHJyXeCN5yh=oIfCp^+d zLfCIJiav2LI$i4ZaH>wnI7H(|ULQV^$w&qiSv27Tm7D?ByNX?iMx!H!;|jyKEJlOD zXaS{6|HyTQPqHU^+_eAZ1||5Oz!WMTzW?*jV|I4_2BzcCLO zXzp?|9>ft5HEUIMa_wI$u4@Eac|-^CZ3Tn8V2hM0yO@K zwIv#)1Z9({*|T@=p7r27JO_$k!Hw}C1Y5^bH|XDo<{v-(%jx6uL-7Fk)1JM|w!M2I zlfZdUg#Mq89-?lHho|5v^Z;l|<+7!F<9!^)skmPkREe`D0s@JxoPHxs~IdpnC7ERM1wbJtPyQl+-9AV_Ar70GnWV^lS|vXXoTK-^=b}Hp35(to z7jXsCc%?RSACp8b#Y`|Fp_eLh44^n75si)BM^80HH^TP}Ig03=%s?FXJL&|G@t2-CND>*niCpz+$CwJ?)l z8-%BfhS3*RoGa7S>B`QncmYO7Px%oX0$+neKhmvj(F@};XfUz1seTdwx3{&vd~Euf zL!ZuU1fX%|r-#-|Klbwb!ekJ~ZivfIgmspV%0&EtVDoKo_;kb*nZ4^rME$_c6XTQE z6o*!39Qx~_w?{LPNQC(bJ_bf$wcKbETrOrWiP4hnML3Jz`UyIG zF*4YZ85}t>$X*JLq!)z4)QvT3AVxo+gmC0R{KO6FvB%Ju6nA8zJlF~Q_U+SmJvOqN z&Pp1dl|XF6UX%u~wvNfl;(b#bLjw;-yKQn5kHOgtzyXxBhi1afC0oy@XN;D*-N9*% zzFY~LTfcbG?%MqT6!|QJ-h&Nw3x@S7^VGW0FgguOqM8f)ndOUTjLk2 zbCr^0qf}xsr_gg>H^b+NfRo-j|5fzl7qH{i`SV`|9IyiJRagtpz%S3OSaA+mKnbvr z(3xAUe?}Cih=M^;N^zdZBR~A<=>CS}0x6rN-@1JHR(%#LEl4)>AN}cJxkq%Ah*KBz zcoPoIS#b`2+2e(<;8tpAsMl8``u%dOjR&9@BQb{|s~;VKwRgufI8l3|ZZGlxqLYge z8qwtDqy?pEJtzv0RRy*!#Cn28ZdEmx%a&(}nA}pvad%+P9b?b#+%)};KN zWt{D==4vbWHbbt-ISUqL?P+e_Gc)qhtT9`6y}GAk*W#_c&(gp2%a2~pE&)uRT=2Mf z!J13=-7#&`&U54LT$loKNBzdiRW+twH1S&al_9@R(YJc=Xfw{H{k8I~i+8o}d1cSm z#<@GsQayeA4ko_fdieOoC;_~Z7B;&{bddRf)qM$k8^zi8&g`Z8T4`n7vQEo~WJ|K- z+luWti5(}7bH|C}-1iANNr)lj;D!WJAmnO*aJD7Ta1|P$C6pFOxf@!V1m3ok5-60m zkZAMG%*u}Kgwnq6_x^t0msmSHv$M0av(L;t&&=~Y|1|MyL12rBHcM1iGJ#$lG`OL+ z4kDJbKYvRv&p{OL$8LGtwM8MX%SvJvN5bPOFP@mJ2)hzWgIcjz#qjGtyz2ck(z#C` znmhNQPXR+haO+^ExV^VT6F41juX0;VW~ZL)<2CuK1Ac?n7Vs2SJIwVOu7kI$jy?t& zQE~l?m7W;HN~87&pQqW$L_VxTTuV2$k?md0K`ju%2w|vid4NC@T@4})JFs>S>2pX( zqy^b0rw8!Z2criQ1SXHLAN%qlfO=S^1Bh5Ps2u#DXX@0RPH;m_qfWY&*D*A&UJnj5 z+Vt9Zxywew7uoTCMrAVdyx=jandqC=DXm^`KhGm(N?KCXnU@#f)G>cu0rs`Ff!^t% zm1;A$Qu-yWplLPpi_RgL&d$t`tUvA-t>B1;hqOX_y|hcpbuJ@(3Z>UwNVoN-AIasf7?=*A8z}FaxKP@# z61PV39-vIg`@r2@c!eWKTl}GF(mqY565$tQ=$q#4edL7X#g07oGs+KYdq*qUh;4 zJzV-crO4*=Eap)^BK&;L@||$IDeQqOMyzXc;EH(m(Gk;cJ}#@o;ueh)&3rW9g~CA@ z>JOu23Mo@M<;JE-d@6^Dht7z{{2+16M{}|^J6;7(_kJsKF7t?WM9m=W>${N1C09ey z%HlzpQB>QEb;0u1fXY`ItTWo+WxZ$Bxhv8H<4Awq@I)!CrKj#GFggMzi^UXh7z_4H zW8(%ldUOjZ25j`8#Q&pmhn_4$WM{y46tKHIPvqis0&H+jT zeK`W(QuY9wV}WWyJnU4w-%YfmLf$?-Da4!-Yzh)1JrRj^xqiwK^?$ja(s+*qaq+!& zcNlMn4u!F*8{@?tMEdP(D7fayYv$uFgbAKNn*_oIzCgmdYayoLeW&yxm&YGST03`V zUpSq8R^!v$uhDQBbokgltl_H8*R?))G)L|`a^w#_#Be+~BKMQ@jAS%iI(|mwLb9y6 zFVavK@<(EmW>ur!lf3~Ki%RurI1U}PAKQlAxuElPP5(7~Gc}2zE@21{+0S@xj|Xq@ z=U9O-X5}$U0Ez9stcC9P;k^ztKjI#hb9z!oe2M22#uFENN26zI5krW$LbJLm+1%u` zI*s5DqqG)n=Qc=}eUVq(b$iQ!oi@OTy4I3Hi_0zYc|$$^O541N9XlplIDw_rtCy6H z1~jXDa)5DO*3lS$Ij*JwoRyjMa7dRgRqC!_6>U&FJ>+A~cUnNsAZmXcs4o8m`6!lu$p=Ob>CXLBvCyV9!%F#HUikUmcQYAO>bZ4TP<9 zOfvdvSiVA9k@oxgVA9Q)fN;~$X+&&=vPu_0(M))aX2{E~f!qN8iP5^O;qZdR#=y`R z~Cl}lmm+I+Zs+rIF`ROlX%AB}qRy(R7CMIy_qR4VY{ zH$$&@c4;yNR*z)qIR__*9$`K6dY;Rpw^m92xVCugs2BjOM%4z&+d8v{crBm}%4rHA zaJ{GV(L1^hZ7=Ux(C7r#aC~?uzo35F>h3}%q`_CG7oUFNMnNgvF;n_}fUd05@;^m1 z1kn7qi9JizQXPnop)hJHUPi!DFe*7mNZ4l!_E1s++*?&ah99J1sfm70fP$|cy{G1LP{S9D%Rd0UUud_KUPoH1| zX8;ZI)Lu`E<0i-fuZg}_&*)1v>4h+|qdfD0uP_n(#HRD*x8(tq^o_+5^tYP-x?OMa z1xFd5pQCW+0S&B(ge&OjrrQcCAB@&Wv%E!2g}0(0m}0#(k#G`Z*i6Jv<3tiByJigOz~oF zBt@Ss7`B4ZkeP6ArG;TsypA)$CxK?E@p6qxwPEUPpaQS&G@Come-9<81=WU()Wlas z=zpG3YO5=0sUlpI2R5j6*D?!F7W<%={}G)m1I9-mmp*PB-X$${nkTGx7B~-IX$Boi z{&86Oqp9w&(rhqmM1_?;yYeNipvoBjOOQVOlV_yorr&2?(wdbhVGW(+^Q^3tl7`br z=H=-T&Vr(BBcm$jeh&7Om(#@>=_%FR&Sk&^EXy+wOkMaatS)e_pI~-6%~u{aGJLNd z+4mTUU4Xd!7{SZMqp7T3N(KQd$LG{>y;yQerNyur>VYqeVV=Tb*b)l6kzj=v-LP7b zJpAH;R0dXJ>^pD!!=HBS-2TPR?g?JLq3zIzr$EO^Z$o9|SNrzqT=`=+4KLBt>GX&# zla^%1ww)L*z`_?7`F-~2vg$5JOP+TH_`$pT4jkC`?#_Sg@YH3Tf4~31Pd|Nda+@|V zv-PO-+HAmjZ@mAFA9fD)?f*V}=XCXX>8aMWn}R~ut+rHkaGbr^Z5Us*;I<{TZHs#S zW0ASTPDQ9Fnoq|O4<1B)jLW$Tz&IHMCE1&z3E&kkR)drg&lX{kO%ja*0& zN)IPvdExaS?3oG@g&!Oc-6}G54&3fNFE-9~@!?oFXx0>{83k($Y#o1Wq>*J*ngW%@ zkFM~Ut>U#%p*Ls}I)A2kSfprpQO2)JXbn0AycU4Lt6|rOtbS5P;Pj%#B?>kJoGy&^ zkD7R|f3z?i>hsJNmqyfc!gVfIjEZcbpmh7)=ucrTU`23t@H!Zv^r#(HpmxBmkdkr0 zWJM-|J4hUGS#$7UP}Xb8*)z$_BsZH(>R5vU%8n)y@f>(L-M;nhN{3RXGc}l8sruG> zO>pyQXVUpTuP|H9+qP}nwkDp~wrx8T+sP9@v8|nV zYv1>++O68%`{DGdb8mm?TXpa0?thK(sW3*xydMYL%wnEf8l88wnXm4nLs1$VF1F5C=m< z^0OsOTsTCI{6`A{st_D%kTm&^5=GJIW^Y9UkVbiu{i@sYG83~Ws2;<>qZe*P#G8E- znL~<9SX5X;dKeQTtz6N(br))Mh6VdCMgMcO#W zmlgCpAM%=GCZR~HrO(EF7dpp1UIy|O*d`jiF?{_kL z1iLIm-L>4YyV1XBb&_g~0#eCdAnMD8i*VTrp|`PkKI|1gfG%-7F4~ly&yMp6J@*j^ zgf%n|udr@K609@35ia==-(d&*d}L_dE}ZIJ4*uIfC2j>*fw}99)|254Hj4T&b3Rv# z0$21kaI*T-bA#ZnQ`R-QX|8A3&U@YXWKfAy0>@^B*~B#zv2wIgjsurBM#+4jTPdC_ z2>zH!lg84RpfJejhbqpwUihLt$mrnM#k!Zwb9I)v9bL!X8q?eJcfyu>K&S8F+K3wz z&9wRHP<(CyMfQ7L{*N7ws%>_QU${8E9;Y1_51SC~FOwW|5AY0mFUQdvx0B*=RFe@5 z8`tuwWr;T)>lFQ%7KD;nSlchSy0N`u<@yHKTzdR0DGDiyDVD6d(lsUa1z(;68z8@> z3bLPtSQquUnQ!nMxj5FXSXI-#d;V&v^wf&W8PO&0s}Oh?TMy`5Ow!K#9=gNsf>B1mqqc`#*k+b^Ux~g)Sd(nm z$5~c5?)IWe*|rJdwI;g^4V#6z`I*J)kXp@d*1Ee)XS0j_>tP_1(oAz4)XHck^{Fg{ zie54eQLKMM6jii_f()4k++#RJ8v)%kOA4IUmLeUDx@D=_6YtP)UE4eUGU}LmBMu!& zT7r>6(6m8f?%+oSHAYpGAB%lSSNV9)f}ZZhSDM95%IDZIpR4m_F|>g1^ZSC13-!Ta z-q;F6=$JOw-XwGt$9C(v$8^b!qwfRI)A+&i)b!aeI;-lLE~8HoK%MCBvKUR1CY8r( z`m{Fiw=l*xz{E<02Z?w4-{XIyUQC*D)}wPoQ$Go1EL*$TMoB6D5=ANd~KUtR;v!IxSJN+jziV| zmS!+_d%q7SKA*o(Wc3?OsotPuLo|Q3lkd7rk56#)xw<@NuWR=0$Fj*tjV_0DfbnvG zyBwIM=Pwyqi-q7hJm3~_Q3PQPi0d=`%7TrQ<*K}ZdX7op#|xOXc|VtU!aK#*`rgWE zGC$RqZIx3tuxO3II@?ky=`?k#cmQ)xwDVH2P*AW~bkDdjC6o@PHM(I8eC5 z8I&o#Ev{7R3FC&q{x{q#q1_uPteoE)z%kk|3)1)+%QR81$CeQ#vJyHUzr9c(yH*S; zXHLZdSwyZ2FY-5u!p3V)G=fi)m>%RoZb#D%+YQ&%(PgdS4gXT#p({qULZMb`r%^z-PN@ZHb(2E7iv4!K0)6>CNc(zsDhH6!AvTZT6rmJPP_DWbA z<{-5uZf0^$XDPj8qJcJ-r1G=wU7Mmj%QoY9+Cm zchaL}2pl7Ue5Miam&AHWELLunG}Nr4fjwI+!$>&!F36<1!w`^^vBS#M7O*wtpkhb~ zEvWUsQ{$fY?5Z6jlTxrWIZ*40yeg~qvSdZlw3RHZ?DYe#mEFCqeAIk=soNfQ9;c^M zxx={MY5G0Nt;8gaG`^j$24K&1CQYUVIAFsI4tYsRF@FEPdGmIC~zQRn?X4RF=L} zl@4f-N7CE;^LI?Jm*dDB6YfEailXZa(=H}RB7Oo(tBBQu5Q|j`4MiDnWA=4TtMFR} zMt*{0eRU)3hU&l-s(TSv=c|cD)S3>473l@#AB`e`g_X_5Y#im(eBKSc#gnwTp&~ zlF!RU3z|d$#`ZKws~>EdQ0&?#A_%mdDaM355}(EG)PU;IQD=d;9m%u2vb%`y+?bO5_m`8 zIV$y4{W($SWX(qM%LY!3X6gqGKBN#%7!zxm^O`try(?0&7mbvBgjZq2pOqoTcsVT- z&7z#6kAgeLNQ7mu3sVjL(hw&a8f|c6pk0G8A+D9}WR#wrp%BJ4oVNaL50q?waq3Ru zjIZV!x-p53+rR10fh#AXu=$cFzYbzK`KgI{?H3}W4@@;m@x+7P@!|~z!W~E_Aq(sf z+EkvGKl!ZWHH+dca#Faj9VQk6x}J_9hib5d7S58hx&31bZCBjU==_BZ-a9(jqxo?e zp63aJgUoMKgC5w{Uik1&YM(d!xravA`p>3$!Mft4X}qm>=9kA`7KHEje0f9Y41r|` zxjx4SSs1bwYiue4z*ovXTXY$Lp+*zL`iDGXa0ABvah3sSy!4qSvL zi4oE93d9LC*i5>_a_+(tc$zzf@x10>&N0em3BhB#c6tT=^LWnn*6%L>WKwNc)t+rQ zkvX0nkc1p}+fPDKlgnqO9))~2p-lM*`z|BV$i-YEE}aSNO5b-3KN@q}DT4K_e8v@J zcLrrGHc51`i^5~-k|M!FRatDw)EcxQZ_+9#A36He4}Vxf4U7Y~&V>G!-fxDO-rHqT z49hO&!@6W1nW-*_a65r-gHijG7F%WJ&PnDs4N6qIG_BK1dj2Ij$ls2GK=nD86DlE} z)ch#Ma*jpZxhi_$I$FNdDtsm{(_*Kc?$L#rFgvNyqE_m8fvOEKtffn6<|f~ZUFvqm z)b^(V^&w#d3JKzS(pSqET;bRPbt9iW%8Mcp$(^51!Dc4_W$#ZX+`eD*3W!IIiy+2l zD?Td@N0H288#Eot5>7@&Mh!*DRkrcz+R6#ivDOeX$ z)r)yslFRGsKoOETT0CzL#$Jp0YU$Am4w@A6o}`NGmU0W;>aj3~KVNevfj`oz9VcEu zmN1ni_8b=S$d9fU$xOiXxBPV?NrQfa>+JujpvU(BTkFc>9Ve7{^%xEVZFYmkgiY&j zF)B|@7A?`Hw_iK|4j~sqdvFsUeY?8O0~PTv$~ZcgHMsBHX89__fSgS@o_2p`JIv@^ z`K)BP)XgRa|6S1?fC@WRh3PH4+TVd?V~LjU6~amUI6>4ADv_EatsJgD8`DD_XAqUO z%F6$^p%QDu9t|r5+m6z#o3+RuUS|I$>;3Wj7Z@63K<~Sn$mCiBUATtF_1hleo)I?u z2b!c*o0P!UInl@<>?5-xXl44EbtHN8Yj7r+J6whffhCiU9Q1rvT!eE6qqxD&WC{NmYTtXg0En8yr=}tO&trS7RpmF} zm4iOSkheF&p*0^;{Kzkz%|K8Q{Z5Ub0pn818f8dO2Z(;g6L=R>%s*bN?Ecy!x04*X zJ~yLj(YU3t@v#Ih+f8G6|K>o6oThpgg;KcB7u{-|Z!0-I?DD~R=h7DTUM}}~*L?x2 z#~f`_w99r|T!csB9MikdVOx{FE@#Ibd7vzPR;Uc0M@=0Z&#zhLW&yD5f8!s$-yg}D z`15IuLN;VTcpeL^5P&cy)Em1tby%qDy_X$!o4H_6GX?W0sU5{Gp(~6Tgd-2JlHS6z zq0oHM78NAiE$jba(d6!?1zqlIe{F6@c)m?u52=}_ihpo4lLROP&QO;Sy^|q?rb-fC3u?Hum6}s)Tmt{n3h{6Sd{7)xQHHS!S%gy8ZU&)D*t)a|wNOZ$`f=!i|Ni>o z!3?37a%L9klEJSXt3OyDo8)`&^$AeAA6X_>bdmEw?6{i}Yo5Di2$~{3=t~y}yxZp4 zxoj2h!xhm=u&n(4v;?VJRf(n+^c1LimCvDbfEe!M*<4ZLuIQS(aD_^ClPjaT0y2u{p+(<*hh?%h%(_ zK#dOnhyax5Z8}}xp2j=G*;58Nz;x)LbTgGUW>?McY-p>E25LQQBjC%U> zM%^=QTm=pXCbK=zY1vHA*;G3|)tJCu9-V8Dr{89Jn`!D*yp+F`t|$BthDSB>Rs2s+ zZPgOX!V$mKC-+a(zw>0(LJ;D=ruj%HIB|Rsy+T_+hf_6Qjdn-4M(g+BX!QLU&dYob zTY(fG%8A@n(HO;B4(^NR6WB5S^L;1hZ~gO@f7(dGGtW<2Ykj(DLA1sfQ%L&WP`<%{ z0Yc0O)&&#mvRFbG95)zsGQIadoZmYjTYgj_KWb;&l2R{7DSjeQr!0QTl*B?8;c7BP z720x2N={`-XZ_B*VPy(!#u6j8@Cpe)il?1c<5QdFlVbxmm!4whdzVV6-<=bm@JUPv z*na4&(xb8K}*;B3G0 z%6Yo^-@om)2Obx`rMD+hQ@DkCi#iSk>NwusJ*@e>N22Dx zonqnruw*?;pna+wO2w5>%jvD@TavZq^rY-c>HB6k+N8O+$ApOAu5)oZd-O*-2pwt^oc0$s$ehCgF^23VTTP8AltR8*&y@ zX{3Sf@nyAAuLnCzB98C!h)-v0ObGJrxV|e`eXmX}?F@SmP`Pkq)tk}a4{#7otu~VQ+i4YY*KcJ@` zf=7@mnTkFSK1|$ss=)5_=PlK_x8`Huw8yDd!aYt?fK&#)0<(F|iDfE1n>?v01h44d z2Wq#&*Oc4T9$$*Q3xl2jJBJW?`AoP)+xs`TvEV5j`ClET-h+hXJDtW*g>m$_rKTtyg+W9LQRHvN%fB< zwg}ZRZ_z`aN8%2ugfmIWXlrk?}X-m{v@I0SmU z?iT@oLMxczO-(N~wV}#1bz81VH8upLTQ6Ex%2I~l2R1@ozexcHh$M1aACKc?DwbV6 z?puFBKYF`#L7U_f@;ZH~c+gu4LMXE5s+W=Y52u5qh4Uh-5;6tsMM^f=?L6NdpqBO*+v+=?4;;Qq< zO5d?>(xm&yk4(g$neRl&W~{Q=V!I+cu?a`!Z~|M~2Ku1RTp*it${|M_{{1}^6aP|l zqsXiKYe5wp))f_G!x%wU?|-rYF0@+M<qQ{w`ezR;XuXcRGlEj- zJrJhYv9mija`6^MNF&d{{o`tFl^$KT>>nNyfjEyKRK%14g@VrweM}>od3JkU`wdw154l}2Th+A32y-zT&N$i4k5(th4d*~>pKcBZ#rz!x)e$@xayog3zro17Sh z4_m2sCTc}db1WZ}+>C^~bgj^j@#$yP3Z~^!XR%ObVf`HpgoE0R&nHeFd-44E0C)B< zjVM_AP8$n)6f>P&1`?WA(BeGpbf2V74}Y!Uf?|PUQ4lD?oU0NcUpT*pv2jcr5rgVW7ji>ZjPw{= z09}|c@xBHM&xf|1h__r<;lbOq+6kp6z!Rh zak@|q(|V<7k>YuHHcGvBDwHp&CV!jj&QYy!+`+-0x3f`5kH5Jm@?lXu)|*E87xMO% z>FoZr@B^JP8~GuGhZte780f!AgQHB6E|7KC&ecmY$HJ=?OPON5Sa@+OxDNJpI!mhe8s!VE8o>vVW zDLkZzK&(EdtJ0jn5oAfUS{utL;JK0sQ9pnt@r9g)paR(*m;RNw3oHo>scyh;qdi&Ueddl z6GS9FX$2Zt9Q#Ft!&^9nF`~z6N&}1Y7ll7eF@OLJAM;m#1#b5V5wHn!P~I~ zp&O_>{Rt=6$rYknGe4aEnVE3~wisT{wlYUs4@%kAf}h6UL2F>AF>eSn7yL2`k>lP~ z%H?`FodpY9Am%XZ!pTal5IgAe9$SakZJWAS=1>70+bL@;zRTdLKh!h!728;-pHM)K z60cIB$O#o2j?VvrHYY?L*fGV;J-r?TNu-{{A;NM?EXr;Qf(tPM`~g)%tT~3{>%}b= z)?h%!QB*V!WnrT?M6PO=WwHSLR98s(rD%XQ#bUEeT~G4*VNlFa?7$!3O91;&iIkN7 z4S@yKIgtF1iZ#i!8Q}au@sDxy#CzfiWoQ1VQ6D%sT)gYUK2RL1}Qe!8lCUuDg@ z(Dkhz*?kX6*3Sk=%0&W8qjfiitY7# zS|aE%cYJtU`_jp(igde#%Q0SLQgHV6Kgo4@x4)PiBZc>|)gs{YO~G9@{A!&?KkZR!982U0^cF{&Z~jzY+)mifl<-j` z3We66@JaEvr^H1E^Q}NE;&IrVrn;#A(Hev$iT;;B456MqC0l;q(JnHxKqV!o2im)A z2@3>zB-7iKj^xjBf{+1#SYN=i?KcPZ2Ns6FMfH!ee44xf3CeS%(YX(HNWUx{#yYCa zz0rDBbeKho@BIyFSo(sxqv}@??{kUsl5f^7tzPz_U z?(cqu9~GEdb`U4#LBWre^vx_IMB6MX=p1m@ti1h`5b0?Fe^C8^dxa@-eZlGi!!%Wh z>TnMHLOBBY%y-6fA3afIUZ4SAWIm!+-54175ZeevSF_&xQWQo9AMubGn@NY^3m#m$ zM_7UIEgLIF;teZh$-lEdt;wfG-snS0F_*K%JaU=W48o|g5E37Fl zexM%cm+P?W*e@%rt&(-egFq1_9CjEq)o>TL6j#~txmn$UL`Zl#-5UR z*Z~btbX}lpktV87Kn2416yyrcm7^=zmeiI+mQerEZL5}imL!(2AL7;^%Me1%B#m%% z_Vc}PqOqDUu3@tHTtq{Ol!MihHOQ1rnFetv?)h@vlw&9v43&Ix8ndQrASFZYsLvQa=k&x5{9vkjk<6^pWHP87tNU<<#jYv znbf(9aSU~ix?wq%gfg$xG5)z_n3hZzD7^msX3Hfi57UBWBt(qgCYjsFr~$B(UaklT zGvK;~>r*jyCsP=hU>vuZo*4}lZ2tB?E#}T`S?wGLf8*?6&X>;<+dwZBNo|=5OQa&R zqKgRQM7WHziA-WDXc_lfJJdiHfY^0~_ymDBepGuYnQZ$AU;_cmAMqMRnoqn|IN za~5cmttM`bMh{(>n++McGkmb4wQi_r&0YN68-%W1mvG?TRPjH;nShV&IOWU&^E6^i zN9yQlA(pw=hwCN^d^ovaLCC^_V3`F4scH>)@R}j$Krd1guI5t9g8NbUw!nfWY|Giz zU^SSQxYY<*gGv!08%d{c{u0CEmC zqok%mO-#iVmW;4C=~~2oe2uyG*T##|jMb)Jk@DM7S%|93wgz14Twi~sZ8ioGGkWbp z3yORQbnWRE3);vfRE5%n84FjZFsWX_(j~acSh&Lb9Um+ zT(o7eA1e2gH68;%RAKj8K|nw}vrP<54Gj&Ac=`5x#Y}norZph#-64_MjeS>sihqB9 z=LIGGfge6HG&BY|0|7Dp1-ts6eN0|v`}_MRZU}#JVq*uAj0alLfcU^b%>26_t1e@M zCWKV$^}rjGMH`OJ2Cgn8n@k&34ir1CC+LYJfQuyA7b6L#aIyZt{z4om>XYuSQDaf# z+igy&mf^4L>g?QEPMTV@*f)4fqu{ah)-Rb*R5{YA;H^=x4L}?7bWTJM#gafp<|CtL8URQHJHfb(q8bfIkzRjPi8E zbMR8VCO%i53l-dWqL7W)!85X@iGZepxh#AXr{ft}G->vWSuNRN5^Sw(N`&AoGqn9r zW?ij-z1>BhXKWad5}>P%oBA zee$ustjIrTy}3#J#9{C~Y)5W=Y{|Lsq2}=SZQL~v=p;qh+u$8)mV&;8?DObZjaP?d zlSB6~;@#)mi!BFgbrwVU_U8reVvKW{6N?`>pSwu^2S(U{NFC~>B%(N9H}Y74d)g)3 zZJyx0)xE9r9{sy>F>AL-$z3zT{X(7kOKIbUt*QE8b(Ac`mrjq_)4BW?`0gpA#!?^R zkwYi?Y|@*RgA1-ktcN#ujrZ5qnNnSaRw&rL)@L3|>%ge;r`OcE3{eEXz}`L0uWR9$ zs+ecrFX_+T8gJ`TsFpW^kRx`87d^oqHBq`g#R&IletSSyj9WiXNXv@G^Ckpvi9n&I z4$vcKCa%>x*Oa_^sk>$?m=jV1}dKxp*&ViPG*)QjrQ0uzjuF1Jv zXGJC_;B;)tT=x;mtF7=;xK9G%(raUopur&}_j*-Cr>VT}>l7Yvy|L{Je$yw0GAkws z({puNd#LNzjcUrfjpn^`&F~20d+V89lIo*6Yk@bmJ9{8c-w}?4V>K=O$21DbnD_uG zx`U<3DoZZ>w^kZ?h1vH@zsRmWeMk51_3XW$ z{6b#f#CIbAjt z6P>vW21pQAs1%~f%33&g=J&z!b^+caq?CVV3j*9fQAU+`x8@}IG0l)>+R6Fti~k1A0lx}g3RIM5(;_7glACnP7_}~@6adqq0^mZA6_}&IxmpA;=6qmVEhr4nnmS-`F-5tm1q#+j|T$?PMrAf4f?AwxMiXNosq8}vUMXb zO`+a0>pD>$lj&N#?|pz-XI2J@AsF-4AGtIctJG(tjw|X1J|rzDx6bg_HqON@584r< zZc|Lq_EOpBkDkrB*Ct?F95?v3fxF_~cBU9v>67Lk8?xJUOB=z2I$RMtdpWW@?E7s4 zRz7b!7l9HmnI44>nA{#J4u~vU5rpqI)&d{OrzugpP&YRq+=%-DI2Ppa{1HI6NbZOV z7w~^1K$(ciykWeO6D3!?kO0V*xT0^)d!C>bR9=OJ1JZMfd0!X>`KADzz8Szf_T3C~ znXIct;U1pN3BZlOVRmTmN3U+a1V(og!1vEuG_X4~b@D>*III1~NmaGMP};d=`%K4p z_yPRB1M`8-@OGgG!g<>(#&uv95$5idQ|kA=?2g4XXfLnm;xA{ydwjlu2#OnDX@CBm z6P0spi+!#h{kf(v3&y2fMW^`Xc_EpyySuzem+avva!P373*kzO% zl_qADVt-W;Q=It8RE7v|s-@)V&Q^_Q!@4(ySBYEcx6a~{oy=xa2p%K;wjYhRLrr=r z77@>iBZKV3){V2?f=e;$Lo@GGbC8v0RKa-^SP_sOL=)`tW?($rhr}C{%F=MY@l1lx zHMwQV;v%(cmeSo`3ck-X3-R*wmleSZnow{;6?L)nx(bQ>1kkf=1LpV?$&=d&9N#JN zkT#PDdb&ZFdgd2!uipR;g!@BtTbKl&Yq0T2rwVmnRLo$2S7@2RsvD@tE+Kwr2f|e81 zE+oC^^0xGLvMDEMoV3PPxY<;up%>MRqbW0p9*sgXbiaTc%6nWs6u>0DDT?#%zDM^< zh)WBOgN6$R%B>l^?#f*+M$b90FYcN2Lvr5_mcU-jgn7qtHvRI#VQd#aI|3gl6Qly; z=ds|hid)~BrR{SQz<~EW=pexLp5a05jgbFJ^ock~2EP;0Z}f&|#DG67vF97}hW)@h zW2^9wR74!uvp97M*E8dsI;kB;w{2;6uscO&$Bo==Vl=lyuYwL=8lCv-==e5ZFR zy!huiUgZs5Qt=-RU1QtKdIbboKn$bhhxrV3AJTRgj%B^?yMef*`D&QH_A62X}V0M)&MAU{=7&Be%INeD`-&=u28+3{x3agKlm6|5oa`0x?IBu!8}8&wv||)m$zgk@UH3RJ<@01ORv*&UQkbKZ zZfy{tOt4F&Jx3=#pY~UA&gvR}OT30%#Xtzm^tUHcX(ijzM!xP7WCy{w+cyKNn2&qT zcNFx8dVwhWAp8I`>&bKdul$mGigY4>2IPmV;MC7hI5-4DelQSxN>I6fxnfGvt~II< z+GyW)v7Ak@;kwz^R<2@y`;CGj<-SRPrt(_rwGn1Hl`JVH!fg zZp`inHE_ZK2MQC^24OkLV-AbskJp)Xi26(3u#nfWG2BUnzb~fiV$i#^n2v}7beKx+ z1lsxor7CUR((g;o&WoEq=slB!NlQ#ikGxR3$aC@ytiRrm4@;Gf`0*F6 z2Rn6_6BSmEXX&E2NVFqL?KGOhnypc<6EAf|rP`0X;wmy!tPo7orDiHVlDfB8)wZs14g`Y`>YFE8D+t!j+#PKjUg{YS{_IVdIx7*Li&5~fuqR0}m zzAGQmTp66he@C8Tn*nY3D&PF|^*Q6OM^3**Z@4PFG*A}3z6qH=LB+^39&TZ0qt}o< zv;8z6To1+@-PAISDX=w5+oqD&QnP6l3^Ou%8n;{7Qt4ue7$>LxUGW)DOnrV+Q}yu~ zmBml8#~&{K@(ZNfz1w~c8dOxWpM3%^IG728XeIX2dU>7nZYF1`OEnd^%55d~kl?|r zrbMt@<3mVj`9Fske-zcjr4GSpLgNmM)xpM!UhllAr@tXx~~U`uE&^(fCUJ*|D+F>0Vub_ z(MQk#q}yR?!)*ZC?Fh9IxB&5XX!~#-fOaQlMw zLhlAU40!;$ZunmKKS2C{3Ir1lDFDiDSYEh3e)vQ81se=G0NQRKKM?#80|EsG^8m9q zm@hOR@LveufdPYkfZZFy7lu+Kq(6+Y*i*&`_Z9e#KVdb8jqnDPbi*f|AZmwW9Zj~t zIYy=(UABI-4c9o@Y(egZZtlCc^IZkaTm^US+qd&v1^Mjjw{u*DyzgVhnLtl! z3W3R0?}N+l`?m`a1VZf#c`_0NS2@CzIYC<7D)Pc1j{Ulkb9hyV;bA#OM^}k_s)b)6cL5H!@E`bJ1pi*tu)tp4EyIh(2ksaCchL86z+T_2z>9%2G7^eXCUbHL-jP)# zjB2qFPJxp4zZG|gn&MbXlZ{aJl4(nqjo{Ye8cUmv@Ey_31@~sYOF^Cm`DT_&;jRVy zW}ZtSp9TG9j!TjE1*}+=-+xt!Lu4x#z~vVFn+5O%p%#Q(8S#ayETc-T!p%<=xnmH@ zegP%9qvA?UfSTNKab>7LQSRUJr7A#G?pXOU7N9J5^h~J>P`7g4%Ty@`XNgpd&RQkH z_Marcxm?1}d7_BzP(_efj8)>kSunaeb*2m!DBKxIUn&Ds?u?-?qX9~HM%9+u0JS^g zYRhne;+?4oAQcgO!-c<^e;jOAp@-*WH(wHowq-r4&E}|dwA5}^t$+IJb}32PSEayTxbHfb z@3pcNI6&mMj$Kyp&X!uIqLzwul`Ztzutj8D`R?w8!<|6o*d9uyG`zcc6acwajBAYE z;U$>L%BmSps#5EM<@Hlh6oBoq_MJzXmp>dzPu;e9VPITpQ6E)fS5=neh_Mzf|DBY) z#kE&CI#btGv20oVz$`wm-JF)0Z~Cwwy}$HNx6|Z1(m74tM11X7oZ2WjT8lL<#~9R> zSih9ljNH6;XSqOo(dsgAQKi9?&xBt_Ofit%fO6p*q$JkM887nJ=fm-`sDDg`61e8k{}G z`>9v^#``})6gz_nC!#`fF-pL7zinD_@~BO&Hr&-;HY6hwgPf=E>z}Dv{lVdNssh0F zy~uE~+JE(Y7O0nMzVfYJdwB@!iqcsR)DDx}4^K}Te(nE4A-r||;ZsxDLNbQEa+zmm924D!y}qE`j0(cw%8g>VjGXG;^1eHX19qvnK|DWGdK8c;mYF~m^km2)N0G# z+acU}PYg(|{q}wgT&0F;lYKVrSRjl7lNxi@9^vdHWg?@vcaFqzy6{h%&cHL9i4I0^ zunBdDzvHr9I&{JlzVJ_-=$SEYuwxP7yA?vg4<$dSM|^QS>cupPrVuR(napy9y@iF& z*m3l)U$td+VLy|BqiP&^Sr`Z9m_Yn-#`>yUkNa}-cG~HjZ7dSkG6IELDI8(8bQPDi z->SP6)om(@U@EphzTquVyJbk4Yq$<6@~4ehvUCsYYDLX`=Y(f>B2;}2z7bE!i$%n3 zSG^`2y*!wcqk|%&^;%qCdxm+4;CJSFXCtSu;x8C2>3D^aJLB&)eeU{WRiT+Ob&DeR zb*I`{|G{yg)xF5QO+9pX&p~$!%Ki4k`{t-sMGw{RX&VmCDT&xCq{;E~y>p(jCZx9f;keo|<~ zil$7BWv7x}^->yY{Ab&MC zA-*>H_b7*h`X`Tzw!zGC_{SwFmVX8BH?Qx_6Fpe6KXXQc5g>dSC)2|FIpOG_Llzjy zAr$P53h7~iWY=cF1Pr8$`&G+jxo3wPc;~!T87GXG?<5SnD0jz}TahBLT^$)GEXNmS zTvo5fSW%e6bzGAxBRu$loav+!B)xs7kP;2VL6V&p()C6fr8XsJrcP4kRFKHKlD)mH zW36##Qqcxkl!!j_8!gW6t=5$C`OF1)2f#OTy04qFwZB$z2qO;t&twuT~;5c*ENEE=ZfA)zq*8CZ8#0$}| zor^Y6snM;KG=gJrW{*Ad{?(bJZ6$y=Y{*8|KT-!_@pPpp&x8KY|ZxgYgGfzq(Ts9l~Usv*3=Q|~qX4|Ok4XkqnWEbrn~>>AO|v9ZsgUe*QZ5OCj3PM> z-8;ci^6--vmFzz01Gd}o;Wf#`_5Gks8WA$8zsiy7sNra(XlhjC#pzRGe(!U)Y9_ub zE1dDNFqVz9dZ2PJmdb)jKQhtg4oy4Nv7?dQtWt_8Wt61MvvAVlsKnHwpsB!F`N_k0 z@iFJx14n6;v6O!r>mnTlW3Ad`5iGU7pG)U0YM`u37CmX*QjNW-B- z!1H4e7ZZ^~5SNzA!WcIu+NT&}ucK{65&jgGHL9m-$4VtL|5vc?zk|>Q;#x>%Ldg)s1dM-!%YPPQiF<5k9X{l5jPOl+jaRu*E8bLP8QGBqUD665Mi zu%~&7yewF+|5wyQ{C>uAM{Am=%FBZ7y81Y0xw|RTL;ZdxN`;*5w3<9;xwt9QRXu6O SdSQM28?+M|D(2r_;{O0|uQ74} diff --git a/public/adminator-erp-theme-two-pages-split-files/index.html b/public/adminator-erp-theme-two-pages-split-files/index.html deleted file mode 100644 index ab423d2..0000000 --- a/public/adminator-erp-theme-two-pages-split-files/index.html +++ /dev/null @@ -1,1098 +0,0 @@ - - - - - - Dashboard - - - - - - - - - - -
-
-
- - - - - -
- - diff --git a/public/adminator-erp-theme-two-pages-split-files/main.js b/public/adminator-erp-theme-two-pages-split-files/main.js deleted file mode 100644 index 7cb923e..0000000 --- a/public/adminator-erp-theme-two-pages-split-files/main.js +++ /dev/null @@ -1,6423 +0,0 @@ -"use strict"; -(self["webpackChunk"] = self["webpackChunk"] || []).push([[792],{ - -/***/ 170 -(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) { - - -;// ../assets/scripts/utils/dom.js -/** - * Adminator DOM Utility Functions - * Provides jQuery-like functionality using vanilla JavaScript - * - * @module utils/dom - * @example - * import { DOM } from './utils/dom'; - * - * // Select elements - * const button = DOM.select('.my-button'); - * const items = DOM.selectAll('.list-item'); - * - * // Add event listeners - * DOM.on(button, 'click', () => console.log('Clicked!')); - * - * // Manipulate classes - * DOM.addClass(button, 'active'); - * DOM.toggleClass(button, 'loading'); - */ - -/** - * DOM utility object providing jQuery-like methods - * @namespace - */ -const DOM = { - /** - * Select a single element matching the selector - * Replaces jQuery's $('selector').first() - * - * @param {string} selector - CSS selector - * @param {Document|Element} [context=document] - Context to search within - * @returns {Element|null} The matched element or null - * - * @example - * const header = DOM.select('.header'); - * const navItem = DOM.select('.nav-item', sidebar); - */ - select: function (selector) { - let context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document; - return context.querySelector(selector); - }, - /** - * Select all elements matching the selector - * Replaces jQuery's $('selector') - * - * @param {string} selector - CSS selector - * @param {Document|Element} [context=document] - Context to search within - * @returns {Element[]} Array of matched elements - * - * @example - * const buttons = DOM.selectAll('.btn'); - * buttons.forEach(btn => DOM.addClass(btn, 'initialized')); - */ - selectAll: function (selector) { - let context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document; - return Array.from(context.querySelectorAll(selector)); - }, - /** - * Check if an element matching the selector exists - * - * @param {string} selector - CSS selector - * @returns {boolean} True if element exists - * - * @example - * if (DOM.exists('.sidebar')) { - * initSidebar(); - * } - */ - exists: selector => { - return document.querySelector(selector) !== null; - }, - /** - * Add an event listener to an element - * Replaces jQuery's $.on() - * - * @param {Element|string} element - Element or selector - * @param {string} event - Event name (e.g., 'click', 'change') - * @param {Function} handler - Event handler function - * @param {Object} [options={}] - addEventListener options - * - * @example - * DOM.on('.btn', 'click', handleClick); - * DOM.on(button, 'click', handleClick, { once: true }); - */ - on: function (element, event, handler) { - let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (element) { - element.addEventListener(event, handler, options); - } - }, - /** - * Remove an event listener from an element - * Replaces jQuery's $.off() - * - * @param {Element|string} element - Element or selector - * @param {string} event - Event name - * @param {Function} handler - Event handler to remove - * - * @example - * DOM.off(button, 'click', handleClick); - */ - off: (element, event, handler) => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (element) { - element.removeEventListener(event, handler); - } - }, - /** - * Add a class to an element - * Replaces jQuery's $.addClass() - * - * @param {Element|string} element - Element or selector - * @param {string} className - Class name to add - * - * @example - * DOM.addClass('.menu', 'open'); - */ - addClass: (element, className) => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (element) { - element.classList.add(className); - } - }, - /** - * Remove a class from an element - * Replaces jQuery's $.removeClass() - * - * @param {Element|string} element - Element or selector - * @param {string} className - Class name to remove - * - * @example - * DOM.removeClass('.menu', 'open'); - */ - removeClass: (element, className) => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (element) { - element.classList.remove(className); - } - }, - /** - * Toggle a class on an element - * Replaces jQuery's $.toggleClass() - * - * @param {Element|string} element - Element or selector - * @param {string} className - Class name to toggle - * - * @example - * DOM.toggleClass('.dropdown', 'show'); - */ - toggleClass: (element, className) => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (element) { - element.classList.toggle(className); - } - }, - /** - * Check if an element has a class - * Replaces jQuery's $.hasClass() - * - * @param {Element|string} element - Element or selector - * @param {string} className - Class name to check - * @returns {boolean} True if element has the class - * - * @example - * if (DOM.hasClass('.menu', 'open')) { - * closeMenu(); - * } - */ - hasClass: (element, className) => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - return element ? element.classList.contains(className) : false; - }, - /** - * Get or set an attribute on an element - * Replaces jQuery's $.attr() - * - * @param {Element|string} element - Element or selector - * @param {string} name - Attribute name - * @param {string} [value] - Value to set (omit to get) - * @returns {string|Element|null} Attribute value when getting, element when setting - * - * @example - * // Get attribute - * const href = DOM.attr(link, 'href'); - * - * // Set attribute - * DOM.attr(link, 'href', '/new-page'); - */ - attr: (element, name, value) => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (!element) return null; - if (value === undefined) { - return element.getAttribute(name); - } else { - element.setAttribute(name, value); - return element; - } - }, - /** - * Get or set a data attribute on an element - * Replaces jQuery's $.data() - * - * @param {Element|string} element - Element or selector - * @param {string} name - Data attribute name (without 'data-' prefix) - * @param {string} [value] - Value to set (omit to get) - * @returns {string|Element|null} Data value when getting, element when setting - * - * @example - * // Get data attribute - * const id = DOM.data(row, 'id'); // Gets data-id - * - * // Set data attribute - * DOM.data(row, 'id', '123'); - */ - data: (element, name, value) => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (!element) return null; - const dataName = `data-${name}`; - if (value === undefined) { - return element.getAttribute(dataName); - } else { - element.setAttribute(dataName, value); - return element; - } - }, - /** - * Get or set text content of an element - * Replaces jQuery's $.text() - * - * @param {Element|string} element - Element or selector - * @param {string} [content] - Text to set (omit to get) - * @returns {string|Element|null} Text content when getting, element when setting - * - * @example - * const text = DOM.text('.title'); - * DOM.text('.title', 'New Title'); - */ - text: (element, content) => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (!element) return null; - if (content === undefined) { - return element.textContent; - } else { - element.textContent = content; - return element; - } - }, - /** - * Get or set HTML content of an element - * Replaces jQuery's $.html() - * - * @param {Element|string} element - Element or selector - * @param {string} [content] - HTML to set (omit to get) - * @returns {string|Element|null} HTML content when getting, element when setting - * - * @example - * const html = DOM.html('.container'); - * DOM.html('.container', '

New content

'); - */ - html: (element, content) => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (!element) return null; - if (content === undefined) { - return element.innerHTML; - } else { - element.innerHTML = content; - return element; - } - }, - /** - * Hide an element - * Replaces jQuery's $.hide() - * - * @param {Element|string} element - Element or selector - * - * @example - * DOM.hide('.modal'); - */ - hide: element => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (element) { - element.style.display = 'none'; - } - }, - /** - * Show an element - * Replaces jQuery's $.show() - * - * @param {Element|string} element - Element or selector - * @param {string} [display='block'] - Display value to use - * - * @example - * DOM.show('.modal'); - * DOM.show('.flex-item', 'flex'); - */ - show: function (element) { - let display = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'block'; - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (element) { - element.style.display = display; - } - }, - /** - * Toggle element visibility - * Replaces jQuery's $.toggle() - * - * @param {Element|string} element - Element or selector - * @param {string} [display='block'] - Display value when showing - * - * @example - * DOM.toggle('.menu'); - */ - toggle: function (element) { - let display = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'block'; - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (element) { - if (element.style.display === 'none') { - element.style.display = display; - } else { - element.style.display = 'none'; - } - } - }, - /** - * Animate element sliding up (collapsing) - * Replaces jQuery's $.slideUp() - * - * @param {Element|string} element - Element or selector - * @param {number} [duration=300] - Animation duration in ms - * @returns {Promise} Resolves when animation completes - * - * @example - * await DOM.slideUp('.panel'); - */ - slideUp: function (element) { - let duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 300; - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (!element) return Promise.resolve(); - return new Promise(resolve => { - const height = element.scrollHeight; - element.style.height = `${height}px`; - element.style.overflow = 'hidden'; - element.animate([{ - height: `${height}px` - }, { - height: '0px' - }], { - duration, - easing: 'ease-in-out' - }).onfinish = () => { - element.style.display = 'none'; - element.style.height = ''; - element.style.overflow = ''; - resolve(); - }; - }); - }, - /** - * Animate element sliding down (expanding) - * Replaces jQuery's $.slideDown() - * - * @param {Element|string} element - Element or selector - * @param {number} [duration=300] - Animation duration in ms - * @returns {Promise} Resolves when animation completes - * - * @example - * await DOM.slideDown('.panel'); - */ - slideDown: function (element) { - let duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 300; - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (!element) return Promise.resolve(); - return new Promise(resolve => { - element.style.display = 'block'; - element.style.height = '0px'; - element.style.overflow = 'hidden'; - const height = element.scrollHeight; - element.animate([{ - height: '0px' - }, { - height: `${height}px` - }], { - duration, - easing: 'ease-in-out' - }).onfinish = () => { - element.style.height = 'auto'; - element.style.overflow = 'visible'; - resolve(); - }; - }); - }, - /** - * Animate element fading in - * Replaces jQuery's $.fadeIn() - * - * @param {Element|string} element - Element or selector - * @param {number} [duration=300] - Animation duration in ms - * @returns {Promise} Resolves when animation completes - * - * @example - * await DOM.fadeIn('.modal'); - */ - fadeIn: function (element) { - let duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 300; - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (!element) return Promise.resolve(); - return new Promise(resolve => { - element.style.opacity = '0'; - element.style.display = 'block'; - element.animate([{ - opacity: 0 - }, { - opacity: 1 - }], { - duration, - easing: 'ease-in-out' - }).onfinish = () => { - element.style.opacity = ''; - resolve(); - }; - }); - }, - /** - * Animate element fading out - * Replaces jQuery's $.fadeOut() - * - * @param {Element|string} element - Element or selector - * @param {number} [duration=300] - Animation duration in ms - * @returns {Promise} Resolves when animation completes - * - * @example - * await DOM.fadeOut('.modal'); - */ - fadeOut: function (element) { - let duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 300; - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (!element) return Promise.resolve(); - return new Promise(resolve => { - element.animate([{ - opacity: 1 - }, { - opacity: 0 - }], { - duration, - easing: 'ease-in-out' - }).onfinish = () => { - element.style.display = 'none'; - element.style.opacity = ''; - resolve(); - }; - }); - }, - /** - * Get element dimensions and position relative to viewport - * - * @param {Element|string} element - Element or selector - * @returns {Object|null} Dimensions object or null - * @property {number} width - Element width - * @property {number} height - Element height - * @property {number} top - Distance from viewport top - * @property {number} left - Distance from viewport left - * @property {number} bottom - Distance from viewport bottom - * @property {number} right - Distance from viewport right - * - * @example - * const { width, height, top, left } = DOM.dimensions('.card'); - */ - dimensions: element => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - if (!element) return null; - const rect = element.getBoundingClientRect(); - return { - width: rect.width, - height: rect.height, - top: rect.top, - left: rect.left, - bottom: rect.bottom, - right: rect.right - }; - }, - /** - * Execute callback when DOM is ready - * Replaces jQuery's $(document).ready() - * - * @param {Function} callback - Function to execute when DOM is ready - * - * @example - * DOM.ready(() => { - * initApp(); - * }); - */ - ready: callback => { - if (document.readyState === 'loading') { - document.addEventListener('DOMContentLoaded', callback); - } else { - callback(); - } - }, - /** - * Create an element with optional attributes and children - * - * @param {string} tag - HTML tag name - * @param {Object} [attrs={}] - Attributes to set - * @param {Array} [children=[]] - Child elements or text - * @returns {Element} The created element - * - * @example - * const button = DOM.create('button', { class: 'btn', type: 'submit' }, ['Submit']); - */ - create: function (tag) { - let attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - let children = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; - const el = document.createElement(tag); - Object.entries(attrs).forEach(_ref => { - let [key, value] = _ref; - if (key === 'class') { - el.className = value; - } else if (key.startsWith('data-')) { - el.setAttribute(key, value); - } else { - el[key] = value; - } - }); - children.forEach(child => { - if (typeof child === 'string') { - el.appendChild(document.createTextNode(child)); - } else if (child instanceof Element) { - el.appendChild(child); - } - }); - return el; - }, - /** - * Find the closest ancestor matching a selector - * - * @param {Element|string} element - Element or selector - * @param {string} selector - Selector to match - * @returns {Element|null} Closest matching ancestor or null - * - * @example - * const form = DOM.closest(input, 'form'); - */ - closest: (element, selector) => { - if (typeof element === 'string') { - element = document.querySelector(element); - } - return element ? element.closest(selector) : null; - } -}; -/* harmony default export */ const dom = ((/* unused pure expression or super */ null && (DOM))); -// EXTERNAL MODULE: ../../node_modules/dayjs/dayjs.min.js -var dayjs_min = __webpack_require__(464); -var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min); -// EXTERNAL MODULE: ../../node_modules/dayjs/plugin/utc.js -var utc = __webpack_require__(657); -var utc_default = /*#__PURE__*/__webpack_require__.n(utc); -// EXTERNAL MODULE: ../../node_modules/dayjs/plugin/timezone.js -var timezone = __webpack_require__(168); -var timezone_default = /*#__PURE__*/__webpack_require__.n(timezone); -// EXTERNAL MODULE: ../../node_modules/dayjs/plugin/relativeTime.js -var relativeTime = __webpack_require__(562); -var relativeTime_default = /*#__PURE__*/__webpack_require__.n(relativeTime); -// EXTERNAL MODULE: ../../node_modules/dayjs/plugin/customParseFormat.js -var customParseFormat = __webpack_require__(630); -var customParseFormat_default = /*#__PURE__*/__webpack_require__.n(customParseFormat); -// EXTERNAL MODULE: ../../node_modules/dayjs/plugin/advancedFormat.js -var advancedFormat = __webpack_require__(258); -var advancedFormat_default = /*#__PURE__*/__webpack_require__.n(advancedFormat); -;// ../assets/scripts/utils/date.js -/** - * Modern Date Utilities - * Using Day.js (2KB) instead of Moment.js (67KB) - 97% size reduction - * Provides consistent date formatting and manipulation across the application - */ - - - - - - - - -// Enable Day.js plugins -dayjs_min_default().extend((utc_default())); -dayjs_min_default().extend((timezone_default())); -dayjs_min_default().extend((relativeTime_default())); -dayjs_min_default().extend((customParseFormat_default())); -dayjs_min_default().extend((advancedFormat_default())); -const DateUtils = { - /** - * Get current date/time - */ - now: () => dayjs_min_default()(), - /** - * Parse date from string or Date object - */ - parse: function (input) { - let format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - return format ? dayjs_min_default()(input, format) : dayjs_min_default()(input); - }, - /** - * Format date for display - */ - format: function (date) { - let format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'YYYY-MM-DD'; - return dayjs_min_default()(date).format(format); - }, - /** - * Common date formatting presets - */ - formatters: { - // Dashboard display formats - shortDate: date => dayjs_min_default()(date).format('MMM DD, YYYY'), - longDate: date => dayjs_min_default()(date).format('MMMM DD, YYYY'), - dateTime: date => dayjs_min_default()(date).format('MMM DD, YYYY h:mm A'), - // Calendar formats - calendarDate: date => dayjs_min_default()(date).format('YYYY-MM-DD'), - calendarDateTime: date => dayjs_min_default()(date).format('YYYY-MM-DD HH:mm:ss'), - // Form input formats - inputDate: date => dayjs_min_default()(date).format('YYYY-MM-DD'), - inputDateTime: date => dayjs_min_default()(date).format('YYYY-MM-DDTHH:mm'), - // Display formats - timeOnly: date => dayjs_min_default()(date).format('h:mm A'), - monthYear: date => dayjs_min_default()(date).format('MMMM YYYY'), - dayMonth: date => dayjs_min_default()(date).format('DD MMM'), - // Relative time - relative: date => dayjs_min_default()(date).fromNow(), - relativeCalendar: date => { - const now = dayjs_min_default()(); - const target = dayjs_min_default()(date); - const diffDays = now.diff(target, 'day'); - if (diffDays === 0) return 'Today'; - if (diffDays === 1) return 'Yesterday'; - if (diffDays === -1) return 'Tomorrow'; - if (diffDays > 1 && diffDays < 7) return `${diffDays} days ago`; - if (diffDays < -1 && diffDays > -7) return `In ${Math.abs(diffDays)} days`; - return target.format('MMM DD, YYYY'); - } - }, - /** - * Date manipulation - */ - add: (date, amount, unit) => dayjs_min_default()(date).add(amount, unit), - subtract: (date, amount, unit) => dayjs_min_default()(date).subtract(amount, unit), - startOf: (date, unit) => dayjs_min_default()(date).startOf(unit), - endOf: (date, unit) => dayjs_min_default()(date).endOf(unit), - /** - * Date comparison - */ - isBefore: (date1, date2) => dayjs_min_default()(date1).isBefore(dayjs_min_default()(date2)), - isAfter: (date1, date2) => dayjs_min_default()(date1).isAfter(dayjs_min_default()(date2)), - isSame: function (date1, date2) { - let unit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'day'; - return dayjs_min_default()(date1).isSame(dayjs_min_default()(date2), unit); - }, - isBetween: (date, start, end) => dayjs_min_default()(date).isBetween(dayjs_min_default()(start), dayjs_min_default()(end)), - /** - * Date validation - */ - isValid: date => dayjs_min_default()(date).isValid(), - /** - * Timezone utilities - */ - timezone: { - convert: (date, tz) => dayjs_min_default()(date).tz(tz), - utc: date => dayjs_min_default()(date).utc(), - local: date => dayjs_min_default()(date).local(), - guess: () => dayjs_min_default().tz.guess() - }, - /** - * Calendar utilities - */ - calendar: { - // Get calendar month data for building calendar views - getMonthData: function () { - let date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - const target = date ? dayjs_min_default()(date) : dayjs_min_default()(); - const startOfMonth = target.startOf('month'); - const endOfMonth = target.endOf('month'); - const startOfCalendar = startOfMonth.startOf('week'); - const endOfCalendar = endOfMonth.endOf('week'); - const days = []; - let current = startOfCalendar; - while (current.isBefore(endOfCalendar) || current.isSame(endOfCalendar, 'day')) { - days.push({ - date: current.format('YYYY-MM-DD'), - day: current.date(), - isCurrentMonth: current.isSame(target, 'month'), - isToday: current.isSame(dayjs_min_default()(), 'day'), - dayjs: current.clone() - }); - current = current.add(1, 'day'); - } - return { - month: target.format('MMMM YYYY'), - year: target.year(), - monthIndex: target.month(), - days - }; - }, - // Get week data - getWeekData: function () { - let date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - const target = date ? dayjs_min_default()(date) : dayjs_min_default()(); - const startOfWeek = target.startOf('week'); - const endOfWeek = target.endOf('week'); - const days = []; - let current = startOfWeek; - while (current.isBefore(endOfWeek) || current.isSame(endOfWeek, 'day')) { - days.push({ - date: current.format('YYYY-MM-DD'), - day: current.date(), - dayName: current.format('dddd'), - shortDayName: current.format('ddd'), - isToday: current.isSame(dayjs_min_default()(), 'day'), - dayjs: current.clone() - }); - current = current.add(1, 'day'); - } - return { - weekStart: startOfWeek.format('MMM DD'), - weekEnd: endOfWeek.format('MMM DD, YYYY'), - days - }; - } - }, - /** - * Form utilities - */ - form: { - // Convert date to HTML5 input format - toInputValue: date => dayjs_min_default()(date).format('YYYY-MM-DD'), - toDateTimeInputValue: date => dayjs_min_default()(date).format('YYYY-MM-DDTHH:mm'), - // Parse from HTML5 input - fromInputValue: value => dayjs_min_default()(value), - // Validate date input - validateDateInput: value => { - const parsed = dayjs_min_default()(value); - return parsed.isValid() && value.length >= 8; // Basic validation - } - }, - /** - * Chart/Data utilities - */ - charts: { - // Generate date ranges for charts - generateDateRange: function (start, end) { - let interval = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'day'; - const dates = []; - let current = dayjs_min_default()(start); - const endDate = dayjs_min_default()(end); - while (current.isBefore(endDate) || current.isSame(endDate, interval)) { - dates.push({ - date: current.format('YYYY-MM-DD'), - label: current.format('MMM DD'), - value: current.toISOString(), - dayjs: current.clone() - }); - current = current.add(1, interval); - } - return dates; - }, - // Get common chart date labels - getChartLabels: function () { - let period = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'week'; - const now = dayjs_min_default()(); - switch (period) { - case 'week': - return Array.from({ - length: 7 - }, (_, i) => now.subtract(6 - i, 'day').format('ddd')); - case 'month': - return Array.from({ - length: 30 - }, (_, i) => now.subtract(29 - i, 'day').format('DD')); - case 'year': - return Array.from({ - length: 12 - }, (_, i) => now.subtract(11 - i, 'month').format('MMM')); - default: - return []; - } - } - } -}; - -// Export dayjs instance for direct use when needed - - -// Default export -/* harmony default export */ const date = (DateUtils); -;// ../assets/scripts/utils/theme.js -/** - * Adminator Theme Manager - * Handles light/dark mode switching with localStorage persistence - * - * @module utils/theme - * @example - * // Get current theme - * const current = Theme.current(); // 'light' or 'dark' - * - * // Toggle theme - * Theme.toggle(); - * - * // Apply specific theme - * Theme.apply('dark'); - * - * // Listen for theme changes - * window.addEventListener('adminator:themeChanged', (e) => { - * console.log('New theme:', e.detail.theme); - * }); - */ - -/* global Chart */ - -/** @constant {string} Storage key for theme preference */ -const THEME_KEY = 'adminator-theme'; - -/** @constant {string[]} Valid theme values */ -const VALID_THEMES = ['light', 'dark']; - -/** - * Safe localStorage wrapper - * Handles cases where localStorage is unavailable (private browsing, etc.) - * @private - */ -const Storage = { - /** - * Get item from localStorage - * @param {string} key - Storage key - * @returns {string|null} Stored value or null - */ - get(key) { - try { - return localStorage.getItem(key); - } catch { - return null; - } - }, - /** - * Set item in localStorage - * @param {string} key - Storage key - * @param {string} value - Value to store - * @returns {boolean} Success status - */ - set(key, value) { - try { - localStorage.setItem(key, value); - return true; - } catch { - return false; - } - } -}; - -/** - * Theme Manager - * @namespace - */ -const Theme = { - /** - * Apply a theme to the document - * Updates Chart.js defaults if available - * - * @param {('light'|'dark')} theme - Theme to apply - * @fires adminator:themeChanged - * @returns {boolean} Success status - * - * @example - * Theme.apply('dark'); - */ - apply(theme) { - // Validate theme - if (!VALID_THEMES.includes(theme)) { - console.warn(`[Adminator] Invalid theme "${theme}". Using "light".`); - theme = 'light'; - } - - // Apply to document - document.documentElement.setAttribute('data-theme', theme); - - // Update Chart.js defaults if available - if (window.Chart && Chart.defaults) { - const isDark = theme === 'dark'; - const textColor = isDark ? '#FFFFFF' : '#212529'; - const mutedColor = isDark ? '#D1D5DB' : '#6C757D'; - const borderColor = isDark ? '#374151' : '#E2E5E8'; - const gridColor = isDark ? 'rgba(209, 213, 219, 0.15)' : 'rgba(0, 0, 0, 0.05)'; - const tooltipBg = isDark ? '#1F2937' : 'rgba(255, 255, 255, 0.95)'; - - // Set global defaults - Chart.defaults.color = textColor; - Chart.defaults.borderColor = borderColor; - Chart.defaults.backgroundColor = tooltipBg; - - // Set plugin defaults - Chart.defaults.plugins.legend.labels.color = textColor; - Chart.defaults.plugins.tooltip.backgroundColor = tooltipBg; - Chart.defaults.plugins.tooltip.titleColor = textColor; - Chart.defaults.plugins.tooltip.bodyColor = textColor; - Chart.defaults.plugins.tooltip.borderColor = borderColor; - - // Set scale defaults - const scales = ['category', 'linear', 'logarithmic', 'time', 'radialLinear']; - scales.forEach(scale => { - if (Chart.defaults.scales[scale]) { - Chart.defaults.scales[scale].ticks.color = mutedColor; - Chart.defaults.scales[scale].grid.color = gridColor; - } - }); - - // RadialLinear specific - if (Chart.defaults.scales.radialLinear) { - Chart.defaults.scales.radialLinear.pointLabels.color = mutedColor; - Chart.defaults.scales.radialLinear.angleLines.color = gridColor; - } - } - - // Persist to storage - Storage.set(THEME_KEY, theme); - - // Update toggle accessibility state if exists - const toggle = document.getElementById('theme-toggle'); - if (toggle) { - toggle.setAttribute('aria-checked', theme === 'dark' ? 'true' : 'false'); - } - - // Dispatch event for other components - window.dispatchEvent(new CustomEvent('adminator:themeChanged', { - detail: { - theme - } - })); - return true; - }, - /** - * Toggle between light and dark themes - * - * @returns {('light'|'dark')} The new theme - * - * @example - * const newTheme = Theme.toggle(); - * console.log('Switched to:', newTheme); - */ - toggle() { - const next = this.current() === 'dark' ? 'light' : 'dark'; - this.apply(next); - return next; - }, - /** - * Get the current theme - * - * @returns {('light'|'dark')} Current theme - * - * @example - * if (Theme.current() === 'dark') { - * // Dark mode specific logic - * } - */ - current() { - const stored = Storage.get(THEME_KEY); - return VALID_THEMES.includes(stored) ? stored : 'light'; - }, - /** - * Initialize the theme system - * Detects OS preference on first visit, otherwise uses stored preference - * - * @returns {('light'|'dark')} The applied theme - * - * @example - * // Call once on app initialization - * Theme.init(); - */ - init() { - const stored = Storage.get(THEME_KEY); - if (!stored) { - // First visit - detect OS preference - const prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches; - const theme = prefersDark ? 'dark' : 'light'; - this.apply(theme); - return theme; - } - - // Use stored preference - this.apply(this.current()); - return this.current(); - }, - /** - * Get a CSS variable value from the document - * - * @param {string} varName - CSS variable name (with or without --) - * @returns {string} The CSS variable value - * - * @example - * const bgColor = Theme.getCSSVar('--c-bkg-body'); - */ - getCSSVar(varName) { - const name = varName.startsWith('--') ? varName : `--${varName}`; - return getComputedStyle(document.documentElement).getPropertyValue(name).trim(); - }, - /** - * Get theme-aware colors for vector maps - * - * @returns {Object} Vector map color configuration - * @property {string} backgroundColor - Map background color - * @property {string} borderColor - Border color - * @property {string} regionColor - Default region fill color - * @property {string} markerFill - Marker fill color - * @property {string} markerStroke - Marker stroke color - * @property {string} hoverColor - Region hover color - * @property {string} selectedColor - Selected region color - * @property {string} scaleStart - Scale gradient start - * @property {string} scaleEnd - Scale gradient end - */ - getVectorMapColors() { - return { - backgroundColor: this.getCSSVar('--vmap-bg-color'), - borderColor: this.getCSSVar('--vmap-border-color'), - regionColor: this.getCSSVar('--vmap-region-color'), - markerFill: this.getCSSVar('--vmap-marker-fill'), - markerStroke: this.getCSSVar('--vmap-marker-stroke'), - hoverColor: this.getCSSVar('--vmap-hover-color'), - selectedColor: this.getCSSVar('--vmap-selected-color'), - scaleStart: this.getCSSVar('--vmap-scale-start'), - scaleEnd: this.getCSSVar('--vmap-scale-end'), - scaleLight: this.getCSSVar('--vmap-scale-light'), - scaleDark: this.getCSSVar('--vmap-scale-dark') - }; - }, - /** - * Get theme-aware colors for sparkline charts - * - * @returns {Object} Sparkline color configuration - */ - getSparklineColors() { - return { - success: this.getCSSVar('--sparkline-success'), - purple: this.getCSSVar('--sparkline-purple'), - info: this.getCSSVar('--sparkline-info'), - danger: this.getCSSVar('--sparkline-danger'), - light: this.getCSSVar('--sparkline-light') - }; - }, - /** - * Get theme-aware colors for Chart.js charts - * - * @returns {Object} Chart color configuration - * @property {string} textColor - Main text color - * @property {string} mutedColor - Muted/secondary text color - * @property {string} borderColor - Border color - * @property {string} gridColor - Grid line color - * @property {string} tooltipBg - Tooltip background color - */ - getChartColors() { - const isDark = this.current() === 'dark'; - return { - textColor: isDark ? '#FFFFFF' : '#212529', - mutedColor: isDark ? '#D1D5DB' : '#6C757D', - borderColor: isDark ? '#374151' : '#E2E5E8', - gridColor: isDark ? 'rgba(209, 213, 219, 0.15)' : 'rgba(0, 0, 0, 0.05)', - tooltipBg: isDark ? '#1F2937' : 'rgba(255, 255, 255, 0.95)' - }; - }, - /** - * Check if dark mode is currently active - * - * @returns {boolean} True if dark mode is active - * - * @example - * if (Theme.isDark()) { - * // Apply dark-specific styles - * } - */ - isDark() { - return this.current() === 'dark'; - }, - /** - * Check if light mode is currently active - * - * @returns {boolean} True if light mode is active - */ - isLight() { - return this.current() === 'light'; - } -}; -/* harmony default export */ const theme = (Theme); -;// ../assets/scripts/utils/events.js -/** - * Adminator Event Utilities - * Provides efficient event handling with delegation and cleanup - * - * @module utils/events - */ - -/** - * Store for event handlers to enable proper cleanup - * @type {WeakMap>>} - */ -const handlerRegistry = new WeakMap(); - -/** - * Store for AbortControllers to enable easy cleanup - * @type {WeakMap} - */ -const controllerRegistry = new WeakMap(); - -/** - * Event utilities namespace - * @namespace - */ -const Events = { - /** - * Add an event listener with automatic cleanup support - * Uses AbortController for efficient removal - * - * @param {Element} element - Target element - * @param {string} event - Event type - * @param {Function} handler - Event handler - * @param {Object} [options={}] - Event listener options - * @returns {Function} Cleanup function to remove the listener - * - * @example - * const cleanup = Events.on(button, 'click', handleClick); - * // Later: cleanup() to remove - */ - on(element, event, handler) { - let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - if (!element) return () => {}; - - // Get or create AbortController for this element - let controller = controllerRegistry.get(element); - if (!controller) { - controller = new AbortController(); - controllerRegistry.set(element, controller); - } - - // Register handler - if (!handlerRegistry.has(element)) { - handlerRegistry.set(element, new Map()); - } - const elementHandlers = handlerRegistry.get(element); - if (!elementHandlers.has(event)) { - elementHandlers.set(event, new Set()); - } - elementHandlers.get(event).add(handler); - - // Add listener with abort signal - element.addEventListener(event, handler, { - ...options, - signal: controller.signal - }); - - // Return cleanup function - return () => { - var _handlerRegistry$get; - element.removeEventListener(event, handler, options); - const handlers = (_handlerRegistry$get = handlerRegistry.get(element)) === null || _handlerRegistry$get === void 0 ? void 0 : _handlerRegistry$get.get(event); - if (handlers) { - handlers.delete(handler); - } - }; - }, - /** - * Remove all event listeners from an element - * - * @param {Element} element - Target element - * - * @example - * Events.off(element); // Removes all listeners - */ - off(element) { - if (!element) return; - const controller = controllerRegistry.get(element); - if (controller) { - controller.abort(); - controllerRegistry.delete(element); - } - handlerRegistry.delete(element); - }, - /** - * Add event delegation - listen on parent for events from children - * More efficient than adding listeners to many elements - * - * @param {Element} parent - Parent element to listen on - * @param {string} event - Event type - * @param {string} selector - CSS selector for target elements - * @param {Function} handler - Event handler (receives event and matched element) - * @param {Object} [options={}] - Event listener options - * @returns {Function} Cleanup function - * - * @example - * // Instead of adding click to every .btn - * Events.delegate(container, 'click', '.btn', (e, btn) => { - * console.log('Button clicked:', btn); - * }); - */ - delegate(parent, event, selector, handler) { - let options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {}; - if (!parent) return () => {}; - const delegatedHandler = e => { - const target = e.target.closest(selector); - if (target && parent.contains(target)) { - handler.call(target, e, target); - } - }; - return this.on(parent, event, delegatedHandler, options); - }, - /** - * Add a one-time event listener - * - * @param {Element} element - Target element - * @param {string} event - Event type - * @param {Function} handler - Event handler - * @returns {Function} Cleanup function - * - * @example - * Events.once(button, 'click', handleFirstClick); - */ - once(element, event, handler) { - return this.on(element, event, handler, { - once: true - }); - }, - /** - * Create a debounced event handler - * - * @param {Function} handler - Original handler - * @param {number} [delay=250] - Debounce delay in ms - * @returns {Function} Debounced handler - * - * @example - * const debouncedResize = Events.debounce(handleResize, 200); - * window.addEventListener('resize', debouncedResize); - */ - debounce(handler) { - let delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 250; - let timeoutId; - return function debounced() { - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - clearTimeout(timeoutId); - timeoutId = setTimeout(() => handler.apply(this, args), delay); - }; - }, - /** - * Create a throttled event handler - * - * @param {Function} handler - Original handler - * @param {number} [limit=250] - Throttle limit in ms - * @returns {Function} Throttled handler - * - * @example - * const throttledScroll = Events.throttle(handleScroll, 100); - * window.addEventListener('scroll', throttledScroll); - */ - throttle(handler) { - let limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 250; - let inThrottle; - return function throttled() { - if (!inThrottle) { - for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - handler.apply(this, args); - inThrottle = true; - setTimeout(() => inThrottle = false, limit); - } - }; - }, - /** - * Dispatch a custom event - * - * @param {Element|Window} target - Target to dispatch on - * @param {string} eventName - Event name - * @param {Object} [detail={}] - Event detail data - * @param {Object} [options={}] - Event options (bubbles, cancelable) - * @returns {boolean} Whether the event was not cancelled - * - * @example - * Events.emit(element, 'custom:event', { data: 'value' }); - */ - emit(target, eventName) { - let detail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - const event = new CustomEvent(eventName, { - detail, - bubbles: options.bubbles ?? true, - cancelable: options.cancelable ?? true - }); - return target.dispatchEvent(event); - } -}; -/* harmony default export */ const events = (Events); -;// ../assets/scripts/utils/performance.js -/** - * Adminator Performance Utilities - * Provides ResizeObserver, IntersectionObserver, and lazy loading utilities - * - * @module utils/performance - */ - -/** - * Store for ResizeObserver instances - * @type {WeakMap} - */ -const resizeCallbacks = new WeakMap(); - -/** - * Shared ResizeObserver instance for efficiency - * @type {ResizeObserver|null} - */ -let sharedResizeObserver = null; - -/** - * Store for IntersectionObserver callbacks - * @type {WeakMap} - */ -const intersectionCallbacks = new WeakMap(); - -/** - * Map of IntersectionObservers by threshold - * @type {Map} - */ -const intersectionObservers = new Map(); - -/** - * Performance utilities namespace - * @namespace - */ -const Performance = { - /** - * Observe element resize events efficiently - * Uses shared ResizeObserver for better performance - * - * @param {Element} element - Element to observe - * @param {Function} callback - Callback receiving { width, height, entry } - * @returns {Function} Cleanup function to stop observing - * - * @example - * const unobserve = Performance.onResize(chart, ({ width, height }) => { - * chart.resize(width, height); - * }); - */ - onResize(element, callback) { - if (!element || typeof callback !== 'function') { - return () => {}; - } - - // Create shared observer if needed - if (!sharedResizeObserver) { - sharedResizeObserver = new ResizeObserver(entries => { - for (const entry of entries) { - const cb = resizeCallbacks.get(entry.target); - if (cb) { - const { - width, - height - } = entry.contentRect; - cb({ - width, - height, - entry - }); - } - } - }); - } - - // Store callback and observe - resizeCallbacks.set(element, callback); - sharedResizeObserver.observe(element); - - // Return cleanup function - return () => { - var _sharedResizeObserver; - resizeCallbacks.delete(element); - (_sharedResizeObserver = sharedResizeObserver) === null || _sharedResizeObserver === void 0 || _sharedResizeObserver.unobserve(element); - }; - }, - /** - * Observe when element enters/exits viewport - * Useful for lazy loading and animations - * - * @param {Element} element - Element to observe - * @param {Function} callback - Callback receiving { isIntersecting, entry } - * @param {Object} [options={}] - IntersectionObserver options - * @param {number} [options.threshold=0] - Visibility threshold (0-1) - * @param {string} [options.rootMargin='0px'] - Root margin - * @returns {Function} Cleanup function to stop observing - * - * @example - * const unobserve = Performance.onVisible(element, ({ isIntersecting }) => { - * if (isIntersecting) { - * loadContent(); - * unobserve(); // Stop after first trigger - * } - * }); - */ - onVisible(element, callback) { - let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - if (!element || typeof callback !== 'function') { - return () => {}; - } - const { - threshold = 0, - rootMargin = '0px' - } = options; - const key = `${threshold}-${rootMargin}`; - - // Get or create observer for this threshold - if (!intersectionObservers.has(key)) { - const observer = new IntersectionObserver(entries => { - for (const entry of entries) { - const cb = intersectionCallbacks.get(entry.target); - if (cb) { - cb({ - isIntersecting: entry.isIntersecting, - ratio: entry.intersectionRatio, - entry - }); - } - } - }, { - threshold, - rootMargin - }); - intersectionObservers.set(key, observer); - } - const observer = intersectionObservers.get(key); - - // Store callback and observe - intersectionCallbacks.set(element, callback); - observer.observe(element); - - // Return cleanup function - return () => { - intersectionCallbacks.delete(element); - observer.unobserve(element); - }; - }, - /** - * Lazy load an element when it becomes visible - * Automatically handles cleanup after loading - * - * @param {Element} element - Element to lazy load - * @param {Function} loadFn - Function to call when visible - * @param {Object} [options={}] - Options - * @param {string} [options.rootMargin='100px'] - Preload margin - * @returns {Function} Cleanup function - * - * @example - * Performance.lazyLoad(chartContainer, () => { - * initializeChart(chartContainer); - * }); - */ - lazyLoad(element, loadFn) { - let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - const { - rootMargin = '100px' - } = options; - let loaded = false; - const unobserve = this.onVisible(element, _ref => { - let { - isIntersecting - } = _ref; - if (isIntersecting && !loaded) { - loaded = true; - loadFn(); - unobserve(); - } - }, { - rootMargin - }); - return unobserve; - }, - /** - * Batch DOM reads and writes to prevent layout thrashing - * - * @param {Function} readFn - Function that reads from DOM - * @param {Function} writeFn - Function that writes to DOM - * - * @example - * Performance.batch( - * () => element.offsetHeight, // Read - * (height) => element.style.minHeight = height + 'px' // Write - * ); - */ - batch(readFn, writeFn) { - // Use requestAnimationFrame for batching - requestAnimationFrame(() => { - const value = readFn(); - requestAnimationFrame(() => { - writeFn(value); - }); - }); - }, - /** - * Execute callback on next animation frame - * - * @param {Function} callback - Function to execute - * @returns {number} Request ID for cancellation - * - * @example - * const id = Performance.nextFrame(() => updateUI()); - * // Cancel: cancelAnimationFrame(id); - */ - nextFrame(callback) { - return requestAnimationFrame(callback); - }, - /** - * Execute callback when browser is idle - * Falls back to setTimeout if requestIdleCallback not available - * - * @param {Function} callback - Function to execute - * @param {Object} [options={}] - Options - * @param {number} [options.timeout=1000] - Maximum wait time - * @returns {number} Request ID for cancellation - * - * @example - * Performance.whenIdle(() => { - * // Non-critical work - * preloadNextPage(); - * }); - */ - whenIdle(callback) { - let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - const { - timeout = 1000 - } = options; - if ('requestIdleCallback' in window) { - return requestIdleCallback(callback, { - timeout - }); - } - - // Fallback for Safari - return setTimeout(callback, 1); - }, - /** - * Cancel an idle callback - * - * @param {number} id - Request ID from whenIdle - */ - cancelIdle(id) { - if ('cancelIdleCallback' in window) { - cancelIdleCallback(id); - } else { - clearTimeout(id); - } - }, - /** - * Preload a resource (image, script, etc.) - * - * @param {string} url - URL to preload - * @param {string} [as='image'] - Resource type (image, script, style, font) - * @returns {Promise} Resolves when loaded - * - * @example - * await Performance.preload('/images/hero.jpg', 'image'); - */ - preload(url) { - let as = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'image'; - return new Promise((resolve, reject) => { - const link = document.createElement('link'); - link.rel = 'preload'; - link.as = as; - link.href = url; - link.onload = resolve; - link.onerror = reject; - document.head.appendChild(link); - }); - }, - /** - * Measure execution time of a function - * - * @param {string} label - Label for the measurement - * @param {Function} fn - Function to measure - * @returns {*} Return value of the function - * - * @example - * const result = Performance.measure('render', () => renderChart()); - */ - measure(label, fn) { - const start = performance.now(); - const result = fn(); - const end = performance.now(); - if (false) // removed by dead control flow -{} - return result; - }, - /** - * Cleanup all observers - * Call this when destroying the app - */ - cleanup() { - // Cleanup resize observer - if (sharedResizeObserver) { - sharedResizeObserver.disconnect(); - sharedResizeObserver = null; - } - - // Cleanup intersection observers - for (const observer of intersectionObservers.values()) { - observer.disconnect(); - } - intersectionObservers.clear(); - } -}; -/* harmony default export */ const utils_performance = (Performance); -;// ../assets/scripts/utils/logger.js -/** - * Adminator Logger Utility - * Development-only logging utility for debugging - * - * @module utils/logger - */ - -/** - * Check if we're in development mode - * @returns {boolean} - */ -const isDev = () => { - try { - return false || window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1'; - } catch { - return false; - } -}; - -/** - * Logger object with development-only output - * All methods are no-ops in production for zero overhead - */ -const Logger = { - /** - * Log informational messages (development only) - * @param {string} message - The message to log - * @param {Object} [context] - Additional context data - */ - info(message, context) { - if (isDev()) { - console.info(`[Adminator] ${message}`, context || ''); - } - }, - /** - * Log warning messages (development only) - * @param {string} message - The warning message - * @param {Object} [context] - Additional context data - */ - warn(message, context) { - if (isDev()) { - console.warn(`[Adminator] ${message}`, context || ''); - } - }, - /** - * Log error messages (development only) - * @param {string} message - The error message - * @param {Error|Object} [context] - Error object or context data - */ - error(message, context) { - if (isDev()) { - console.error(`[Adminator] ${message}`, context || ''); - } - }, - /** - * Log debug messages (development only) - * @param {string} message - The debug message - * @param {Object} [context] - Additional context data - */ - debug(message, context) { - if (isDev()) { - console.debug(`[Adminator] ${message}`, context || ''); - } - }, - /** - * Group related log messages (development only) - * @param {string} label - Group label - */ - group(label) { - if (isDev()) { - console.group(`[Adminator] ${label}`); - } - }, - /** - * End a log group (development only) - */ - groupEnd() { - if (isDev()) { - console.groupEnd(); - } - }, - /** - * Log with timing information (development only) - * @param {string} label - Timer label - */ - time(label) { - if (isDev()) { - console.time(`[Adminator] ${label}`); - } - }, - /** - * End timing and log result (development only) - * @param {string} label - Timer label (must match time() call) - */ - timeEnd(label) { - if (isDev()) { - console.timeEnd(`[Adminator] ${label}`); - } - }, - /** - * Log a table of data (development only) - * @param {Array|Object} data - Data to display as table - */ - table(data) { - if (isDev()) { - console.table(data); - } - } -}; -/* harmony default export */ const logger = (Logger); -;// ../assets/scripts/components/Sidebar.js -/** - * Modern Sidebar Component - * Replaces jQuery-based sidebar functionality with vanilla JavaScript - */ - -class Sidebar { - constructor() { - this.sidebar = document.querySelector('.sidebar'); - this.sidebarMenu = document.querySelector('.sidebar .sidebar-menu'); - this.sidebarToggleLinks = document.querySelectorAll('.sidebar-toggle a'); - this.sidebarToggleById = document.querySelector('#sidebar-toggle'); - this.app = document.querySelector('.app'); - this.init(); - } - init() { - if (!this.sidebar || !this.sidebarMenu) { - return; - } - this.setupMenuToggle(); - this.setupSidebarToggle(); - this.setActiveLink(); - } - - /** - * Setup dropdown menu functionality - */ - setupMenuToggle() { - const menuLinks = this.sidebarMenu.querySelectorAll('li a'); - menuLinks.forEach(link => { - link.addEventListener('click', e => { - const listItem = link.parentElement; - const dropdownMenu = listItem.querySelector('.dropdown-menu'); - - // If this is a regular navigation link (not dropdown), allow normal navigation - if (!dropdownMenu) { - // Don't prevent default for regular navigation links - return; - } - - // Only prevent default for dropdown toggles - e.preventDefault(); - if (listItem.classList.contains('open')) { - this.closeDropdown(listItem, dropdownMenu); - } else { - this.closeAllDropdowns(); - this.openDropdown(listItem, dropdownMenu); - } - }); - }); - } - - /** - * Open dropdown with smooth animation - */ - openDropdown(listItem, dropdownMenu) { - listItem.classList.add('open'); - dropdownMenu.style.display = 'block'; - dropdownMenu.style.height = '0px'; - dropdownMenu.style.overflow = 'hidden'; - - // Get the natural height - const height = dropdownMenu.scrollHeight; - - // Animate to full height - dropdownMenu.animate([{ - height: '0px' - }, { - height: `${height}px` - }], { - duration: 200, - easing: 'ease-out' - }).onfinish = () => { - dropdownMenu.style.height = 'auto'; - dropdownMenu.style.overflow = 'visible'; - }; - } - - /** - * Close dropdown with smooth animation - */ - closeDropdown(listItem, dropdownMenu) { - const height = dropdownMenu.scrollHeight; - dropdownMenu.style.height = `${height}px`; - dropdownMenu.style.overflow = 'hidden'; - dropdownMenu.animate([{ - height: `${height}px` - }, { - height: '0px' - }], { - duration: 200, - easing: 'ease-in' - }).onfinish = () => { - listItem.classList.remove('open'); - dropdownMenu.style.display = 'none'; - dropdownMenu.style.height = ''; - dropdownMenu.style.overflow = ''; - }; - } - - /** - * Close all open dropdowns - */ - closeAllDropdowns() { - const openItems = this.sidebarMenu.querySelectorAll('li.open'); - openItems.forEach(item => { - const dropdownMenu = item.querySelector('.dropdown-menu'); - if (dropdownMenu) { - this.closeDropdown(item, dropdownMenu); - } - - // Also remove the has-active-child class - item.classList.remove('has-active-child'); - }); - } - - /** - * Setup sidebar toggle functionality - */ - setupSidebarToggle() { - // Handle mobile sidebar toggle links (inside .sidebar-toggle divs) - this.sidebarToggleLinks.forEach(link => { - if (link && this.app) { - link.addEventListener('click', e => { - e.preventDefault(); - this.toggleSidebar(); - }); - } - }); - - // Handle the main topbar sidebar toggle - if (this.sidebarToggleById && this.app) { - this.sidebarToggleById.addEventListener('click', e => { - e.preventDefault(); - this.toggleSidebar(); - }); - } - } - - /** - * Toggle sidebar and handle resize events properly - */ - toggleSidebar() { - this.app.classList.toggle('is-collapsed'); - - // Only trigger resize for masonry, but avoid chart redraw issues - setTimeout(() => { - // Dispatch a custom event instead of generic resize to avoid chart issues - window.dispatchEvent(new CustomEvent('sidebar:toggle', { - detail: { - collapsed: this.app.classList.contains('is-collapsed') - } - })); - - // Still trigger resize for masonry but with a specific check - if (window.EVENT) { - window.dispatchEvent(window.EVENT); - } - }, 300); - } - - /** - * Set active link based on current URL - */ - setActiveLink() { - // Remove active class from all nav items (including dropdown items) - const allNavItems = this.sidebar.querySelectorAll('.nav-item'); - allNavItems.forEach(item => { - item.classList.remove('actived'); - }); - - // Close all dropdowns first - this.closeAllDropdowns(); - - // Get current page filename - const currentPath = window.location.pathname; - const currentPage = currentPath.split('/').pop() || 'index.html'; - - // Find and activate the correct nav item - const allLinks = this.sidebar.querySelectorAll('a[href]'); - allLinks.forEach(link => { - const href = link.getAttribute('href'); - if (!href || href === 'javascript:void(0);' || href === 'javascript:void(0)') return; - - // Extract filename from href - const linkPage = href.split('/').pop(); - if (linkPage === currentPage) { - const navItem = link.closest('.nav-item'); - if (navItem) { - navItem.classList.add('actived'); - - // If this is inside a dropdown, handle parent dropdown specially - const parentDropdown = navItem.closest('.dropdown-menu'); - if (parentDropdown) { - const parentDropdownItem = parentDropdown.closest('.nav-item.dropdown'); - if (parentDropdownItem) { - // Open the parent dropdown - parentDropdownItem.classList.add('open'); - parentDropdown.style.display = 'block'; - - // Add special styling to indicate parent has active child - parentDropdownItem.classList.add('has-active-child'); - } - } - } - } - }); - } - - /** - * Public method to refresh active links (useful for SPA navigation) - */ - refreshActiveLink() { - this.setActiveLink(); - } - - /** - * Public method to toggle sidebar programmatically - */ - toggle() { - if (this.app) { - this.app.classList.toggle('is-collapsed'); - } - } - - /** - * Public method to check if sidebar is collapsed - */ - isCollapsed() { - return this.app ? this.app.classList.contains('is-collapsed') : false; - } -} -/* harmony default export */ const components_Sidebar = (Sidebar); -// EXTERNAL MODULE: ../../node_modules/chart.js/dist/chart.js + 1 modules -var dist_chart = __webpack_require__(371); -;// ../assets/scripts/constants/colors.js -const COLORS = { - 'white': '#ffffff', - 'red-50': '#ffebee', - 'red-100': '#ffcdd2', - 'red-200': '#ef9a9a', - 'red-300': '#e57373', - 'red-400': '#ef5350', - 'red-500': '#f44336', - 'red-600': '#e53935', - 'red-700': '#d32f2f', - 'red-800': '#c62828', - 'red-900': '#b71c1c', - 'red-a100': '#ff8a80', - 'red-a200': '#ff5252', - 'red-a400': '#ff1744', - 'red-a700': '#d50000', - 'pink-50': '#fce4ec', - 'pink-100': '#f8bbd0', - 'pink-200': '#f48fb1', - 'pink-300': '#f06292', - 'pink-400': '#ec407a', - 'pink-500': '#e91e63', - 'pink-600': '#d81b60', - 'pink-700': '#c2185b', - 'pink-800': '#ad1457', - 'pink-900': '#880e4f', - 'pink-a100': '#ff80ab', - 'pink-a200': '#ff4081', - 'pink-a400': '#f50057', - 'pink-a700': '#c51162', - 'purple-50': '#f3e5f5', - 'purple-100': '#e1bee7', - 'purple-200': '#ce93d8', - 'purple-300': '#ba68c8', - 'purple-400': '#ab47bc', - 'purple-500': '#9c27b0', - 'purple-600': '#8e24aa', - 'purple-700': '#7b1fa2', - 'purple-800': '#6a1b9a', - 'purple-900': '#4a148c', - 'purple-a100': '#ea80fc', - 'purple-a200': '#e040fb', - 'purple-a400': '#d500f9', - 'purple-a700': '#aa00ff', - 'deep-purple-50': '#ede7f6', - 'deep-purple-100': '#d1c4e9', - 'deep-purple-200': '#b39ddb', - 'deep-purple-300': '#9575cd', - 'deep-purple-400': '#7e57c2', - 'deep-purple-500': '#673ab7', - 'deep-purple-600': '#5e35b1', - 'deep-purple-700': '#512da8', - 'deep-purple-800': '#4527a0', - 'deep-purple-900': '#311b92', - 'deep-purple-a100': '#b388ff', - 'deep-purple-a200': '#7c4dff', - 'deep-purple-a400': '#651fff', - 'deep-purple-a700': '#6200ea', - 'indigo-50': '#e8eaf6', - 'indigo-100': '#c5cae9', - 'indigo-200': '#9fa8da', - 'indigo-300': '#7986cb', - 'indigo-400': '#5c6bc0', - 'indigo-500': '#3f51b5', - 'indigo-600': '#3949ab', - 'indigo-700': '#303f9f', - 'indigo-800': '#283593', - 'indigo-900': '#1a237e', - 'indigo-a100': '#8c9eff', - 'indigo-a200': '#536dfe', - 'indigo-a400': '#3d5afe', - 'indigo-a700': '#304ffe', - 'blue-50': '#e3f2fd', - 'blue-100': '#bbdefb', - 'blue-200': '#90caf9', - 'blue-300': '#64b5f6', - 'blue-400': '#42a5f5', - 'blue-500': '#2196f3', - 'blue-600': '#1e88e5', - 'blue-700': '#1976d2', - 'blue-800': '#1565c0', - 'blue-900': '#0d47a1', - 'blue-a100': '#82b1ff', - 'blue-a200': '#448aff', - 'blue-a400': '#2979ff', - 'blue-a700': '#2962ff', - 'light-blue-50': '#e1f5fe', - 'light-blue-100': '#b3e5fc', - 'light-blue-200': '#81d4fa', - 'light-blue-300': '#4fc3f7', - 'light-blue-400': '#29b6f6', - 'light-blue-500': '#03a9f4', - 'light-blue-600': '#039be5', - 'light-blue-700': '#0288d1', - 'light-blue-800': '#0277bd', - 'light-blue-900': '#01579b', - 'light-blue-a100': '#80d8ff', - 'light-blue-a200': '#40c4ff', - 'light-blue-a400': '#00b0ff', - 'light-blue-a700': '#0091ea', - 'cyan-50': '#e0f7fa', - 'cyan-100': '#b2ebf2', - 'cyan-200': '#80deea', - 'cyan-300': '#4dd0e1', - 'cyan-400': '#26c6da', - 'cyan-500': '#00bcd4', - 'cyan-600': '#00acc1', - 'cyan-700': '#0097a7', - 'cyan-800': '#00838f', - 'cyan-900': '#006064', - 'cyan-a100': '#84ffff', - 'cyan-a200': '#18ffff', - 'cyan-a400': '#00e5ff', - 'cyan-a700': '#00b8d4', - 'teal-50': '#e0f2f1', - 'teal-100': '#b2dfdb', - 'teal-200': '#80cbc4', - 'teal-300': '#4db6ac', - 'teal-400': '#26a69a', - 'teal-500': '#009688', - 'teal-600': '#00897b', - 'teal-700': '#00796b', - 'teal-800': '#00695c', - 'teal-900': '#004d40', - 'teal-a100': '#a7ffeb', - 'teal-a200': '#64ffda', - 'teal-a400': '#1de9b6', - 'teal-a700': '#00bfa5', - 'green-50': '#e8f5e9', - 'green-100': '#c8e6c9', - 'green-200': '#a5d6a7', - 'green-300': '#81c784', - 'green-400': '#66bb6a', - 'green-500': '#4caf50', - 'green-600': '#43a047', - 'green-700': '#388e3c', - 'green-800': '#2e7d32', - 'green-900': '#1b5e20', - 'green-a100': '#b9f6ca', - 'green-a200': '#69f0ae', - 'green-a400': '#00e676', - 'green-a700': '#00c853', - 'light-green-50': '#f1f8e9', - 'light-green-100': '#dcedc8', - 'light-green-200': '#c5e1a5', - 'light-green-300': '#aed581', - 'light-green-400': '#9ccc65', - 'light-green-500': '#8bc34a', - 'light-green-600': '#7cb342', - 'light-green-700': '#689f38', - 'light-green-800': '#558b2f', - 'light-green-900': '#33691e', - 'light-green-a100': '#ccff90', - 'light-green-a200': '#b2ff59', - 'light-green-a400': '#76ff03', - 'light-green-a700': '#64dd17', - 'lime-50': '#f9fbe7', - 'lime-100': '#f0f4c3', - 'lime-200': '#e6ee9c', - 'lime-300': '#dce775', - 'lime-400': '#d4e157', - 'lime-500': '#cddc39', - 'lime-600': '#c0ca33', - 'lime-700': '#afb42b', - 'lime-800': '#9e9d24', - 'lime-900': '#827717', - 'lime-a100': '#f4ff81', - 'lime-a200': '#eeff41', - 'lime-a400': '#c6ff00', - 'lime-a700': '#aeea00', - 'yellow-50': '#fffde7', - 'yellow-100': '#fff9c4', - 'yellow-200': '#fff59d', - 'yellow-300': '#fff176', - 'yellow-400': '#ffee58', - 'yellow-500': '#ffeb3b', - 'yellow-600': '#fdd835', - 'yellow-700': '#fbc02d', - 'yellow-800': '#f9a825', - 'yellow-900': '#f57f17', - 'yellow-a100': '#ffff8d', - 'yellow-a200': '#ffff00', - 'yellow-a400': '#ffea00', - 'yellow-a700': '#ffd600', - 'amber-50': '#fff8e1', - 'amber-100': '#ffecb3', - 'amber-200': '#ffe082', - 'amber-300': '#ffd54f', - 'amber-400': '#ffca28', - 'amber-500': '#ffc107', - 'amber-600': '#ffb300', - 'amber-700': '#ffa000', - 'amber-800': '#ff8f00', - 'amber-900': '#ff6f00', - 'amber-a100': '#ffe57f', - 'amber-a200': '#ffd740', - 'amber-a400': '#ffc400', - 'amber-a700': '#ffab00', - 'orange-50': '#fff3e0', - 'orange-100': '#ffe0b2', - 'orange-200': '#ffcc80', - 'orange-300': '#ffb74d', - 'orange-400': '#ffa726', - 'orange-500': '#ff9800', - 'orange-600': '#fb8c00', - 'orange-700': '#f57c00', - 'orange-800': '#ef6c00', - 'orange-900': '#e65100', - 'orange-a100': '#ffd180', - 'orange-a200': '#ffab40', - 'orange-a400': '#ff9100', - 'orange-a700': '#ff6d00', - 'deep-orange-50': '#fbe9e7', - 'deep-orange-100': '#ffccbc', - 'deep-orange-200': '#ffab91', - 'deep-orange-300': '#ff8a65', - 'deep-orange-400': '#ff7043', - 'deep-orange-500': '#ff5722', - 'deep-orange-600': '#f4511e', - 'deep-orange-700': '#e64a19', - 'deep-orange-800': '#d84315', - 'deep-orange-900': '#bf360c', - 'deep-orange-a100': '#ff9e80', - 'deep-orange-a200': '#ff6e40', - 'deep-orange-a400': '#ff3d00', - 'deep-orange-a700': '#dd2c00', - 'brown-50': '#efebe9', - 'brown-100': '#d7ccc8', - 'brown-200': '#bcaaa4', - 'brown-300': '#a1887f', - 'brown-400': '#8d6e63', - 'brown-500': '#795548', - 'brown-600': '#6d4c41', - 'brown-700': '#5d4037', - 'brown-800': '#4e342e', - 'brown-900': '#3e2723', - 'grey-50': '#fafafa', - 'grey-100': '#f5f5f5', - 'grey-200': '#eeeeee', - 'grey-300': '#e0e0e0', - 'grey-400': '#bdbdbd', - 'grey-500': '#9e9e9e', - 'grey-600': '#757575', - 'grey-700': '#616161', - 'grey-800': '#424242', - 'grey-900': '#212121', - 'blue-grey-50': '#eceff1', - 'blue-grey-100': '#cfd8dc', - 'blue-grey-200': '#b0bec5', - 'blue-grey-300': '#90a4ae', - 'blue-grey-400': '#78909c', - 'blue-grey-500': '#607d8b', - 'blue-grey-600': '#546e7a', - 'blue-grey-700': '#455a64', - 'blue-grey-800': '#37474f', - 'blue-grey-900': '#263238' -}; -const GREYS = { - 'grey-100': '#f9fafb', - 'grey-200': '#f2f3f5', - 'grey-300': '#e6eaf0', - 'grey-400': '#d3d9e3', - 'grey-500': '#b9c2d0', - 'grey-600': '#7c8695', - 'grey-700': '#72777a', - 'grey-800': '#565a5c', - 'grey-900': '#313435' -}; - -;// ../assets/scripts/components/Chart.js -/** - * Modern Chart Component - * Replaces jQuery Sparkline with Chart.js - */ - - - - -// Register Chart.js components -dist_chart/* Chart */.t1.register(...dist_chart/* registerables */.$L); -class ChartComponent { - constructor() { - this.charts = new Map(); // Store chart instances - this.debounceTimer = null; - this.init(); - } - init() { - // Only disable resizing for small sparkline charts - this.createSparklines(); - this.createOtherCharts(); - this.setupResizeHandler(); - } - - /** - * Create sparklines (only for dashboard page) - */ - createSparklines() { - // Only create sparklines if we're on a page that has them - const sparklineExists = document.getElementById('sparklinedash'); - if (!sparklineExists) { - return; - } - const sparklineConfigs = [{ - id: 'sparklinedash', - data: [0, 5, 6, 10, 9, 12, 4, 9], - color: '#4caf50' - }, { - id: 'sparklinedash2', - data: [0, 5, 6, 10, 9, 12, 4, 9], - color: '#9675ce' - }, { - id: 'sparklinedash3', - data: [0, 5, 6, 10, 9, 12, 4, 9], - color: '#03a9f3' - }, { - id: 'sparklinedash4', - data: [0, 5, 6, 10, 9, 12, 4, 9], - color: '#f96262' - }]; - sparklineConfigs.forEach(config => { - // Only create if the target element exists - if (document.getElementById(config.id)) { - this.createSparklineChart(config); - } - }); - } - - /** - * Create sparkline chart from configuration - */ - createSparklineChart(_ref) { - let { - id, - data, - color - } = _ref; - let canvas = document.getElementById(id); - - // Only proceed if we have a valid target element - if (!canvas) { - return; - } - - // If element exists but isn't a canvas, replace it with canvas - if (canvas.tagName !== 'CANVAS') { - const parent = canvas.parentNode; - if (!parent) { - return; - } - - // Create new canvas element - const newCanvas = document.createElement('canvas'); - newCanvas.id = id; - newCanvas.width = 100; - newCanvas.height = 20; - newCanvas.style.width = '100px'; - newCanvas.style.height = '20px'; - - // Replace the span with canvas - parent.replaceChild(newCanvas, canvas); - canvas = newCanvas; - } else { - // Set canvas dimensions to match original sparkline - canvas.width = 100; - canvas.height = 20; - canvas.style.width = '100px'; - canvas.style.height = '20px'; - } - const ctx = canvas.getContext('2d'); - const chart = new dist_chart/* Chart */.t1(ctx, { - type: 'bar', - data: { - labels: data.map((_, i) => i), - datasets: [{ - data, - backgroundColor: color, - borderColor: color, - borderWidth: 0, - barPercentage: 0.6, - categoryPercentage: 0.8 - }] - }, - options: { - responsive: false, - maintainAspectRatio: false, - animation: false, - events: [], - onResize: null, - scales: { - x: { - display: false - }, - y: { - display: false - } - }, - plugins: { - legend: { - display: false - }, - tooltip: { - enabled: false - } - }, - elements: { - bar: { - borderRadius: 1 - } - } - } - }); - this.charts.set(id, chart); - } - - /** - * Create other chart types (only if they exist on the page) - */ - createOtherCharts() { - // Determine if we're on the dashboard or charts page - const isChartsPage = document.getElementById('area-chart') !== null; - const isDashboard = !isChartsPage && document.getElementById('line-chart') !== null; - - // Create Monthly Stats chart with enhanced dual-line data (dashboard only) - if (isDashboard) { - this.createMonthlyStatsChart(); - } - - // Charts page specific charts (only on charts page) - if (isChartsPage) { - this.createChartsPageCharts(); - } - - // Only create charts if their target elements exist - if (document.getElementById('sparkline')) { - this.createLineChart('sparkline', [5, 6, 7, 9, 9, 5, 3, 2, 2, 4, 6, 7]); - } - if (document.getElementById('compositebar')) { - this.createCompositeChart('compositebar', [4, 1, 5, 7, 9, 9, 8, 7, 6, 6, 4, 7, 8, 4, 3, 2, 2, 5, 6, 7]); - } - - // Regular sparklines with custom colors (only on pages that have them) - this.createCustomSparklines(); - - // Easy Pie Charts (only if they exist) - this.createEasyPieCharts(); - } - - /** - * Create enhanced Monthly Stats chart with dual lines and more data - */ - createMonthlyStatsChart() { - const canvas = document.getElementById('line-chart'); - if (!canvas) return; - const ctx = canvas.getContext('2d'); - - // Enhanced data for monthly stats - const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; - const salesData = [120, 135, 145, 165, 180, 195, 210, 225, 240, 220, 200, 185]; - const profitData = [45, 52, 58, 62, 68, 75, 82, 88, 92, 85, 78, 72]; - const chart = new dist_chart/* Chart */.t1(ctx, { - type: 'line', - data: { - labels: months, - datasets: [{ - label: 'Sales ($K)', - data: salesData, - borderColor: '#4caf50', - backgroundColor: 'rgba(76, 175, 80, 0.1)', - borderWidth: 3, - pointRadius: 5, - pointHoverRadius: 7, - pointBackgroundColor: '#4caf50', - pointBorderColor: '#ffffff', - pointBorderWidth: 2, - tension: 0.4, - fill: false - }, { - label: 'Profit ($K)', - data: profitData, - borderColor: '#2196f3', - backgroundColor: 'rgba(33, 150, 243, 0.1)', - borderWidth: 3, - pointRadius: 5, - pointHoverRadius: 7, - pointBackgroundColor: '#2196f3', - pointBorderColor: '#ffffff', - pointBorderWidth: 2, - tension: 0.4, - fill: false - }] - }, - options: { - responsive: true, - maintainAspectRatio: false, - plugins: { - legend: { - display: true, - position: 'top', - labels: { - padding: 20, - font: { - size: 12, - weight: '600' - } - } - }, - tooltip: { - enabled: true, - cornerRadius: 8, - displayColors: true, - intersect: false, - mode: 'index', - callbacks: { - label(context) { - return `${context.dataset.label}: $${context.parsed.y}K`; - } - } - } - }, - scales: { - x: { - grid: { - display: false - }, - ticks: { - font: { - size: 11 - } - } - }, - y: { - beginAtZero: true, - grid: { - borderDash: [5, 5] - }, - ticks: { - font: { - size: 11 - }, - callback(value) { - return `$${value}K`; - } - } - } - }, - interaction: { - intersect: false, - mode: 'index' - } - } - }); - this.charts.set('line-chart', chart); - } - - /** - * Create line chart (only if target exists) - */ - createLineChart(id, data) { - let canvas = document.getElementById(id); - - // Only proceed if target element exists - if (!canvas) { - return; - } - - // If element exists but isn't a canvas, replace it with canvas - if (canvas.tagName !== 'CANVAS') { - const parent = canvas.parentNode; - if (!parent) { - return; - } - - // Create new canvas element - const newCanvas = document.createElement('canvas'); - newCanvas.id = id; - newCanvas.width = 100; - newCanvas.height = 20; - newCanvas.style.width = '100px'; - newCanvas.style.height = '20px'; - - // Replace element with canvas - parent.replaceChild(newCanvas, canvas); - canvas = newCanvas; - } else { - canvas.width = 100; - canvas.height = 20; - canvas.style.width = '100px'; - canvas.style.height = '20px'; - } - const ctx = canvas.getContext('2d'); - const chart = new dist_chart/* Chart */.t1(ctx, { - type: 'line', - data: { - labels: data.map((_, i) => i), - datasets: [{ - data, - borderColor: COLORS['blue-500'], - backgroundColor: 'transparent', - borderWidth: 1, - pointRadius: 0, - tension: 0.4 - }] - }, - options: { - responsive: false, - maintainAspectRatio: false, - animation: false, - events: [], - onResize: null, - scales: { - x: { - display: false - }, - y: { - display: false - } - }, - plugins: { - legend: { - display: false - }, - tooltip: { - enabled: false - } - } - } - }); - this.charts.set(id, chart); - } - - /** - * Create composite chart (only if target exists) - */ - createCompositeChart(id, data) { - let canvas = document.getElementById(id); - - // Only proceed if target element exists - if (!canvas) { - return; - } - - // If element exists but isn't a canvas, replace it with canvas - if (canvas.tagName !== 'CANVAS') { - const parent = canvas.parentNode; - if (!parent) { - return; - } - - // Create new canvas element - const newCanvas = document.createElement('canvas'); - newCanvas.id = id; - newCanvas.width = 100; - newCanvas.height = 20; - newCanvas.style.width = '100px'; - newCanvas.style.height = '20px'; - - // Replace element with canvas - parent.replaceChild(newCanvas, canvas); - canvas = newCanvas; - } else { - canvas.width = 100; - canvas.height = 20; - canvas.style.width = '100px'; - canvas.style.height = '20px'; - } - const ctx = canvas.getContext('2d'); - const chart = new dist_chart/* Chart */.t1(ctx, { - type: 'bar', - data: { - labels: data.map((_, i) => i), - datasets: [{ - type: 'bar', - data, - backgroundColor: '#aaf', - borderColor: '#aaf', - borderWidth: 0 - }, { - type: 'line', - data, - borderColor: 'red', - backgroundColor: 'transparent', - borderWidth: 1, - pointRadius: 0, - tension: 0.4 - }] - }, - options: { - responsive: false, - maintainAspectRatio: false, - animation: false, - events: [], - onResize: null, - scales: { - x: { - display: false - }, - y: { - display: false - } - }, - plugins: { - legend: { - display: false - }, - tooltip: { - enabled: false - } - } - } - }); - this.charts.set(id, chart); - } - - /** - * Create custom sparklines for different elements (only if they exist) - */ - createCustomSparklines() { - const sparklineElements = document.querySelectorAll('.sparkline'); - const sparkbarElements = document.querySelectorAll('.sparkbar'); - const sparktriElements = document.querySelectorAll('.sparktri'); - const sparkdiscElements = document.querySelectorAll('.sparkdisc'); - const sparkbullElements = document.querySelectorAll('.sparkbull'); - const sparkboxElements = document.querySelectorAll('.sparkbox'); - - // Only create if we have elements - if (sparklineElements.length === 0 && sparkbarElements.length === 0 && sparktriElements.length === 0 && sparkdiscElements.length === 0 && sparkbullElements.length === 0 && sparkboxElements.length === 0) { - return; - } - const values = [5, 4, 5, -2, 0, 3, -5, 6, 7, 9, 9, 5, -3, -2, 2, -4]; - const valuesAlt = [1, 1, 0, 1, -1, -1, 1, -1, 0, 0, 1, 1]; - sparklineElements.forEach((element, index) => { - this.createCustomLineChart(element, values, `sparkline-${index}`); - }); - sparkbarElements.forEach((element, index) => { - this.createCustomBarChart(element, values, `sparkbar-${index}`); - }); - sparktriElements.forEach((element, index) => { - this.createTristateChart(element, valuesAlt, `sparktri-${index}`); - }); - sparkdiscElements.forEach((element, index) => { - this.createDiscreteChart(element, values, `sparkdisc-${index}`); - }); - sparkbullElements.forEach((element, index) => { - this.createBulletChart(element, values, `sparkbull-${index}`); - }); - sparkboxElements.forEach((element, index) => { - this.createBoxChart(element, values, `sparkbox-${index}`); - }); - } - - /** - * Create custom line chart for sparkline elements - */ - createCustomLineChart(element, data, id) { - // Create canvas if it doesn't exist - let canvas = element.querySelector('canvas'); - if (!canvas) { - canvas = document.createElement('canvas'); - canvas.width = 100; - canvas.height = 20; - canvas.style.width = '100px'; - canvas.style.height = '20px'; - element.appendChild(canvas); - } - const ctx = canvas.getContext('2d'); - const chart = new dist_chart/* Chart */.t1(ctx, { - type: 'line', - data: { - labels: data.map((_, i) => i), - datasets: [{ - data, - borderColor: COLORS['red-500'], - backgroundColor: 'transparent', - borderWidth: 2, - pointRadius: 3, - pointBackgroundColor: COLORS['red-500'], - tension: 0.4 - }] - }, - options: { - responsive: false, - maintainAspectRatio: false, - animation: false, - // Disable animations to prevent resize triggers - events: [], - // Disable all events to prevent resize - onResize: null, - // Explicitly disable resize callback - scales: { - x: { - display: false - }, - y: { - display: false - } - }, - plugins: { - legend: { - display: false - }, - tooltip: { - enabled: false - } // Disable tooltip to prevent events - } - } - }); - this.charts.set(id, chart); - } - - /** - * Create custom bar chart for sparkbar elements - */ - createCustomBarChart(element, data, id) { - // Create canvas if it doesn't exist - let canvas = element.querySelector('canvas'); - if (!canvas) { - canvas = document.createElement('canvas'); - canvas.width = 100; - canvas.height = 20; - canvas.style.width = '100px'; - canvas.style.height = '20px'; - element.appendChild(canvas); - } - const ctx = canvas.getContext('2d'); - const chart = new dist_chart/* Chart */.t1(ctx, { - type: 'bar', - data: { - labels: data.map((_, i) => i), - datasets: [{ - data, - backgroundColor: data.map(val => val < 0 ? COLORS['deep-purple-500'] : '#39f'), - borderColor: data.map(val => val < 0 ? COLORS['deep-purple-500'] : '#39f'), - borderWidth: 1, - barPercentage: 0.8 - }] - }, - options: { - responsive: false, - maintainAspectRatio: false, - scales: { - x: { - display: false - }, - y: { - display: false - } - }, - plugins: { - legend: { - display: false - }, - tooltip: { - enabled: true, - callbacks: { - label: context => `${context.parsed.y}°Celsius` - } - } - } - } - }); - this.charts.set(id, chart); - } - - /** - * Setup resize handler for charts - */ - setupResizeHandler() { - // Setup responsive resize for large charts only - window.addEventListener('resize', () => { - this.debounceResize(); - }); - - // Listen for sidebar toggle events - window.addEventListener('sidebar:toggle', () => { - this.debounceResize(); - }); - } - - /** - * Debounced resize handler - */ - debounceResize() { - if (this.debounceTimer) { - clearTimeout(this.debounceTimer); - } - this.debounceTimer = setTimeout(() => { - this.redrawLargeChartsOnly(); - }, 150); - } - - /** - * Redraw only large charts, not sparklines - */ - redrawLargeChartsOnly() { - const largeChartIds = ['line-chart', 'area-chart', 'scatter-chart', 'bar-chart', 'doughnut-chart', 'polar-chart', 'radar-chart', 'mixed-chart', 'bubble-chart']; - largeChartIds.forEach(id => { - const chart = this.charts.get(id); - if (chart && chart.options.responsive) { - chart.resize(); - } - }); - } - - /** - * Redraw all charts (used sparingly) - */ - redrawCharts() { - this.charts.forEach(chart => { - if (chart.options.responsive) { - chart.resize(); - } - }); - } - - /** - * Update chart data - */ - updateChart(id, newData) { - const chart = this.charts.get(id); - if (chart) { - chart.data.datasets[0].data = newData; - chart.update(); - } - } - - /** - * Create charts for the charts.html page - */ - createChartsPageCharts() { - // Line Chart - this.createLargeChart('line-chart', 'line', { - labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], - datasets: [{ - label: 'Dataset 1', - data: [65, 59, 80, 81, 56, 55, 40], - borderColor: 'rgb(75, 192, 192)', - backgroundColor: 'rgba(75, 192, 192, 0.2)', - tension: 0.4 - }] - }); - - // Area Chart - this.createLargeChart('area-chart', 'line', { - labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], - datasets: [{ - label: 'Dataset 1', - data: [65, 59, 80, 81, 56, 55, 40], - borderColor: 'rgb(54, 162, 235)', - backgroundColor: 'rgba(54, 162, 235, 0.4)', - fill: true, - tension: 0.4 - }] - }); - - // Scatter Chart with more data points - this.createLargeChart('scatter-chart', 'scatter', { - datasets: [{ - label: 'Dataset 1', - data: [{ - x: -15, - y: 8 - }, { - x: -12, - y: 12 - }, { - x: -8, - y: 3 - }, { - x: -5, - y: 15 - }, { - x: -2, - y: 7 - }, { - x: 0, - y: 10 - }, { - x: 3, - y: 18 - }, { - x: 6, - y: 5 - }, { - x: 9, - y: 22 - }, { - x: 12, - y: 8 - }, { - x: 15, - y: 14 - }, { - x: 18, - y: 19 - }, { - x: -10, - y: 0 - }, { - x: 10, - y: 5 - }, { - x: 0.5, - y: 5.5 - }, { - x: 7, - y: 12 - }, { - x: -7, - y: 17 - }, { - x: 4, - y: 9 - }, { - x: 11, - y: 16 - }, { - x: -3, - y: 11 - }], - backgroundColor: 'rgba(255, 99, 132, 0.7)', - borderColor: 'rgb(255, 99, 132)', - borderWidth: 1 - }, { - label: 'Dataset 2', - data: [{ - x: -13, - y: 4 - }, { - x: -9, - y: 8 - }, { - x: -6, - y: 13 - }, { - x: -1, - y: 6 - }, { - x: 2, - y: 11 - }, { - x: 5, - y: 15 - }, { - x: 8, - y: 2 - }, { - x: 13, - y: 17 - }, { - x: 16, - y: 9 - }, { - x: -4, - y: 14 - }, { - x: 1, - y: 20 - }, { - x: 14, - y: 4 - }], - backgroundColor: 'rgba(54, 162, 235, 0.7)', - borderColor: 'rgb(54, 162, 235)', - borderWidth: 1 - }] - }); - - // Bar Chart - this.createLargeChart('bar-chart', 'bar', { - labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'], - datasets: [{ - label: '# of Votes', - data: [12, 19, 3, 5, 2, 3], - backgroundColor: ['rgba(255, 99, 132, 0.6)', 'rgba(54, 162, 235, 0.6)', 'rgba(255, 205, 86, 0.6)', 'rgba(75, 192, 192, 0.6)', 'rgba(153, 102, 255, 0.6)', 'rgba(255, 159, 64, 0.6)'], - borderColor: ['rgba(255, 99, 132, 1)', 'rgba(54, 162, 235, 1)', 'rgba(255, 205, 86, 1)', 'rgba(75, 192, 192, 1)', 'rgba(153, 102, 255, 1)', 'rgba(255, 159, 64, 1)'], - borderWidth: 1 - }] - }); - - // Doughnut Chart - this.createLargeChart('doughnut-chart', 'doughnut', { - labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'], - datasets: [{ - label: 'My First Dataset', - data: [300, 50, 100, 75, 120, 60], - backgroundColor: ['rgba(255, 99, 132, 0.8)', 'rgba(54, 162, 235, 0.8)', 'rgba(255, 205, 86, 0.8)', 'rgba(75, 192, 192, 0.8)', 'rgba(153, 102, 255, 0.8)', 'rgba(255, 159, 64, 0.8)'], - borderColor: ['rgba(255, 99, 132, 1)', 'rgba(54, 162, 235, 1)', 'rgba(255, 205, 86, 1)', 'rgba(75, 192, 192, 1)', 'rgba(153, 102, 255, 1)', 'rgba(255, 159, 64, 1)'], - borderWidth: 2, - hoverOffset: 10 - }] - }); - - // Polar Area Chart - this.createLargeChart('polar-chart', 'polarArea', { - labels: ['Red', 'Green', 'Yellow', 'Grey', 'Blue'], - datasets: [{ - label: 'My First Dataset', - data: [11, 16, 7, 3, 14], - backgroundColor: ['rgba(255, 99, 132, 0.7)', 'rgba(75, 192, 192, 0.7)', 'rgba(255, 205, 86, 0.7)', 'rgba(201, 203, 207, 0.7)', 'rgba(54, 162, 235, 0.7)'], - borderColor: ['rgb(255, 99, 132)', 'rgb(75, 192, 192)', 'rgb(255, 205, 86)', 'rgb(201, 203, 207)', 'rgb(54, 162, 235)'], - borderWidth: 2 - }] - }); - - // Radar Chart - this.createLargeChart('radar-chart', 'radar', { - labels: ['Speed', 'Reliability', 'Comfort', 'Safety', 'Efficiency', 'Innovation'], - datasets: [{ - label: 'Product A', - data: [65, 59, 90, 81, 56, 55], - fill: true, - backgroundColor: 'rgba(54, 162, 235, 0.2)', - borderColor: 'rgb(54, 162, 235)', - borderWidth: 2, - pointBackgroundColor: 'rgb(54, 162, 235)', - pointBorderColor: '#fff', - pointHoverBackgroundColor: '#fff', - pointHoverBorderColor: 'rgb(54, 162, 235)' - }, { - label: 'Product B', - data: [28, 48, 40, 95, 86, 27], - fill: true, - backgroundColor: 'rgba(255, 99, 132, 0.2)', - borderColor: 'rgb(255, 99, 132)', - borderWidth: 2, - pointBackgroundColor: 'rgb(255, 99, 132)', - pointBorderColor: '#fff', - pointHoverBackgroundColor: '#fff', - pointHoverBorderColor: 'rgb(255, 99, 132)' - }] - }); - - // Mixed Chart (Bar + Line) - this.createLargeChart('mixed-chart', 'bar', { - labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'], - datasets: [{ - type: 'bar', - label: 'Sales', - data: [12, 19, 3, 5, 2, 3], - backgroundColor: 'rgba(54, 162, 235, 0.7)', - borderColor: 'rgb(54, 162, 235)', - borderWidth: 1 - }, { - type: 'line', - label: 'Revenue', - data: [18, 25, 8, 15, 12, 18], - fill: false, - borderColor: 'rgb(255, 99, 132)', - backgroundColor: 'rgba(255, 99, 132, 0.2)', - borderWidth: 3, - tension: 0.4, - pointRadius: 5, - pointHoverRadius: 7 - }] - }); - - // Bubble Chart - this.createLargeChart('bubble-chart', 'bubble', { - datasets: [{ - label: 'First Dataset', - data: [{ - x: 20, - y: 30, - r: 15 - }, { - x: 40, - y: 10, - r: 10 - }, { - x: 30, - y: 40, - r: 20 - }, { - x: 50, - y: 35, - r: 12 - }, { - x: 10, - y: 50, - r: 8 - }, { - x: 60, - y: 20, - r: 18 - }, { - x: 25, - y: 25, - r: 14 - }], - backgroundColor: 'rgba(54, 162, 235, 0.6)', - borderColor: 'rgb(54, 162, 235)', - borderWidth: 2 - }, { - label: 'Second Dataset', - data: [{ - x: 15, - y: 45, - r: 12 - }, { - x: 35, - y: 15, - r: 16 - }, { - x: 45, - y: 25, - r: 9 - }, { - x: 55, - y: 45, - r: 14 - }, { - x: 25, - y: 35, - r: 11 - }], - backgroundColor: 'rgba(255, 99, 132, 0.6)', - borderColor: 'rgb(255, 99, 132)', - borderWidth: 2 - }] - }); - } - - /** - * Create large chart for charts page - */ - createLargeChart(id, type, data) { - const canvas = document.getElementById(id); - if (!canvas) return; - const ctx = canvas.getContext('2d'); - - // Define chart-specific options - const chartOptions = this.getChartOptions(type); - const chart = new dist_chart/* Chart */.t1(ctx, { - type, - data, - options: chartOptions - }); - this.charts.set(id, chart); - } - - /** - * Get chart-specific options based on chart type - */ - getChartOptions(type) { - const baseOptions = { - responsive: true, - maintainAspectRatio: false, - plugins: { - legend: { - display: true, - position: 'top', - labels: { - padding: 20, - font: { - size: 12, - weight: '600' - } - } - }, - tooltip: { - enabled: true, - cornerRadius: 8, - displayColors: true - } - } - }; - - // Chart type specific configurations - switch (type) { - case 'doughnut': - case 'pie': - return { - ...baseOptions, - plugins: { - ...baseOptions.plugins, - legend: { - ...baseOptions.plugins.legend, - position: 'right' - } - }, - interaction: { - intersect: false - } - }; - case 'polarArea': - return { - ...baseOptions, - scales: { - r: { - pointLabels: { - display: true, - centerPointLabels: true, - font: { - size: 10 - } - }, - grid: {} - } - } - }; - case 'radar': - return { - ...baseOptions, - scales: { - r: { - angleLines: { - display: true - }, - grid: {}, - pointLabels: { - font: { - size: 11 - } - }, - ticks: { - display: true, - font: { - size: 10 - } - } - } - } - }; - case 'bubble': - return { - ...baseOptions, - scales: { - x: { - type: 'linear', - position: 'bottom', - grid: { - borderDash: [5, 5] - }, - ticks: { - font: { - size: 11 - } - } - }, - y: { - beginAtZero: true, - grid: { - borderDash: [5, 5] - }, - ticks: { - font: { - size: 11 - } - } - } - }, - plugins: { - ...baseOptions.plugins, - tooltip: { - ...baseOptions.plugins.tooltip, - callbacks: { - label(context) { - return `${context.dataset.label}: (${context.parsed.x}, ${context.parsed.y}), Size: ${context.parsed._custom}`; - } - } - } - } - }; - case 'scatter': - return { - ...baseOptions, - scales: { - x: { - type: 'linear', - position: 'bottom', - grid: { - borderDash: [5, 5] - }, - ticks: { - font: { - size: 11 - } - } - }, - y: { - grid: { - borderDash: [5, 5] - }, - ticks: { - font: { - size: 11 - } - } - } - } - }; - default: - // For line, bar, area, mixed charts - return { - ...baseOptions, - scales: { - x: { - grid: { - borderDash: [5, 5] - }, - ticks: { - font: { - size: 11 - } - } - }, - y: { - beginAtZero: true, - grid: { - borderDash: [5, 5] - }, - ticks: { - font: { - size: 11 - } - } - } - } - }; - } - } - - /** - * Create tristate chart (for .sparktri elements) - */ - createTristateChart(element, data, id) { - let canvas = element.querySelector('canvas'); - if (!canvas) { - canvas = document.createElement('canvas'); - canvas.width = 100; - canvas.height = 20; - canvas.style.width = '100px'; - canvas.style.height = '20px'; - element.appendChild(canvas); - } - const ctx = canvas.getContext('2d'); - const chart = new dist_chart/* Chart */.t1(ctx, { - type: 'bar', - data: { - labels: data.map((_, i) => i), - datasets: [{ - data: data.map(val => Math.abs(val)), - backgroundColor: data.map(val => { - if (val > 0) return COLORS['light-blue-500']; - if (val < 0) return '#f90'; - return '#000'; - }), - borderColor: data.map(val => { - if (val > 0) return COLORS['light-blue-500']; - if (val < 0) return '#f90'; - return '#000'; - }), - borderWidth: 1, - barPercentage: 0.8 - }] - }, - options: { - responsive: false, - maintainAspectRatio: false, - scales: { - x: { - display: false - }, - y: { - display: false - } - }, - plugins: { - legend: { - display: false - }, - tooltip: { - enabled: true, - callbacks: { - label: context => `${context.parsed.y}°Celsius` - } - } - } - } - }); - this.charts.set(id, chart); - } - - /** - * Create discrete chart (for .sparkdisc elements) - */ - createDiscreteChart(element, data, id) { - let canvas = element.querySelector('canvas'); - if (!canvas) { - canvas = document.createElement('canvas'); - canvas.width = 100; - canvas.height = 20; - canvas.style.width = '100px'; - canvas.style.height = '20px'; - element.appendChild(canvas); - } - const ctx = canvas.getContext('2d'); - const chart = new dist_chart/* Chart */.t1(ctx, { - type: 'scatter', - data: { - datasets: [{ - data: data.map((val, index) => ({ - x: index, - y: val - })), - backgroundColor: '#9f0', - borderColor: '#9f0', - pointRadius: 2, - showLine: false - }] - }, - options: { - responsive: false, - maintainAspectRatio: false, - scales: { - x: { - display: false - }, - y: { - display: false - } - }, - plugins: { - legend: { - display: false - }, - tooltip: { - enabled: true, - callbacks: { - label: context => `${context.parsed.y}°Celsius` - } - } - } - } - }); - this.charts.set(id, chart); - } - - /** - * Create bullet chart (for .sparkbull elements) - */ - createBulletChart(element, data, id) { - let canvas = element.querySelector('canvas'); - if (!canvas) { - canvas = document.createElement('canvas'); - canvas.width = 100; - canvas.height = 20; - canvas.style.width = '100px'; - canvas.style.height = '20px'; - element.appendChild(canvas); - } - const ctx = canvas.getContext('2d'); - - // Simplified bullet chart as horizontal bar - const chart = new dist_chart/* Chart */.t1(ctx, { - type: 'bar', - data: { - labels: [''], - datasets: [{ - data: [Math.max(...data)], - backgroundColor: COLORS['amber-500'], - borderColor: COLORS['amber-500'], - borderWidth: 1, - barPercentage: 0.6 - }] - }, - options: { - responsive: false, - maintainAspectRatio: false, - indexAxis: 'y', - scales: { - x: { - display: false - }, - y: { - display: false - } - }, - plugins: { - legend: { - display: false - }, - tooltip: { - enabled: true, - callbacks: { - label: context => `${context.parsed.x}°Celsius` - } - } - } - } - }); - this.charts.set(id, chart); - } - - /** - * Create box chart (for .sparkbox elements) - */ - createBoxChart(element, data, id) { - let canvas = element.querySelector('canvas'); - if (!canvas) { - canvas = document.createElement('canvas'); - canvas.width = 100; - canvas.height = 20; - canvas.style.width = '100px'; - canvas.style.height = '20px'; - element.appendChild(canvas); - } - const ctx = canvas.getContext('2d'); - - // Box plot simplified as bar chart showing quartiles - const sortedData = [...data].sort((a, b) => a - b); - const q1 = sortedData[Math.floor(sortedData.length * 0.25)]; - const median = sortedData[Math.floor(sortedData.length * 0.5)]; - const q3 = sortedData[Math.floor(sortedData.length * 0.75)]; - const chart = new dist_chart/* Chart */.t1(ctx, { - type: 'bar', - data: { - labels: ['Q1', 'Med', 'Q3'], - datasets: [{ - data: [q1, median, q3], - backgroundColor: '#9f0', - borderColor: '#9f0', - borderWidth: 1, - barPercentage: 0.8 - }] - }, - options: { - responsive: false, - maintainAspectRatio: false, - scales: { - x: { - display: false - }, - y: { - display: false - } - }, - plugins: { - legend: { - display: false - }, - tooltip: { - enabled: true, - callbacks: { - label: context => `${context.parsed.y}°Celsius` - } - } - } - } - }); - this.charts.set(id, chart); - } - - /** - * Create Easy Pie Charts (replaces jQuery Easy Pie Chart) - */ - createEasyPieCharts() { - const easyPieElements = document.querySelectorAll('.easy-pie-chart'); - easyPieElements.forEach((element, index) => { - const size = parseInt(element.dataset.size) || 80; - const percent = parseInt(element.dataset.percent) || 0; - const barColor = element.dataset.barColor || '#f44336'; - - // Create canvas for the pie chart - let canvas = element.querySelector('canvas'); - if (!canvas) { - canvas = document.createElement('canvas'); - canvas.width = size; - canvas.height = size; - canvas.style.width = `${size}px`; - canvas.style.height = `${size}px`; - element.appendChild(canvas); - } - - // Create percentage display - const percentDisplay = element.querySelector('span'); - if (percentDisplay) { - percentDisplay.textContent = `${percent}%`; - percentDisplay.style.position = 'absolute'; - percentDisplay.style.top = '50%'; - percentDisplay.style.left = '50%'; - percentDisplay.style.transform = 'translate(-50%, -50%)'; - percentDisplay.style.fontSize = '14px'; - percentDisplay.style.fontWeight = 'bold'; - } - - // Set element position to relative for absolute positioning of text - element.style.position = 'relative'; - element.style.display = 'inline-block'; - const ctx = canvas.getContext('2d'); - const chart = new dist_chart/* Chart */.t1(ctx, { - type: 'doughnut', - data: { - datasets: [{ - data: [percent, 100 - percent], - backgroundColor: [barColor, '#f0f0f0'], - borderWidth: 0, - cutout: '70%' - }] - }, - options: { - responsive: false, - maintainAspectRatio: false, - plugins: { - legend: { - display: false - }, - tooltip: { - enabled: false - } - } - } - }); - this.charts.set(`easy-pie-${index}`, chart); - }); - } - - /** - * Destroy all charts - */ - destroy() { - this.charts.forEach(chart => { - chart.destroy(); - }); - this.charts.clear(); - if (this.debounceTimer) { - clearTimeout(this.debounceTimer); - } - } -} -/* harmony default export */ const components_Chart = (ChartComponent); -// EXTERNAL MODULE: ../../node_modules/@fullcalendar/core/index.js -var core = __webpack_require__(932); -// EXTERNAL MODULE: ../../node_modules/@fullcalendar/interaction/index.js -var interaction = __webpack_require__(453); -// EXTERNAL MODULE: ../../node_modules/@fullcalendar/daygrid/index.js -var daygrid = __webpack_require__(699); -// EXTERNAL MODULE: ../../node_modules/@fullcalendar/timegrid/index.js + 1 modules -var timegrid = __webpack_require__(747); -// EXTERNAL MODULE: ../../node_modules/@fullcalendar/list/index.js + 1 modules -var list = __webpack_require__(408); -;// ../assets/scripts/fullcalendar/index.js - - - - - - -document.addEventListener('DOMContentLoaded', function () { - const calendarEl = document.getElementById('calendar'); - - // element found in dom ? - if (calendarEl == null) { - return; - } - const calendar = new core/* Calendar */.Vv(calendarEl, { - plugins: [interaction/* default */.Ay, daygrid/* default */.A, timegrid/* default */.A, list/* default */.A], - headerToolbar: { - left: 'prev,next today', - center: 'title', - right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek' - }, - initialDate: date.format(date.now(), 'YYYY-MM-DD'), - navLinks: true, - // can click day/week names to navigate views - editable: true, - dayMaxEvents: true, - // allow "more" link when too many events - events: [{ - title: 'All Day Event', - start: date.format(date.now(), 'YYYY-MM-DD') - }, { - title: 'Long Event', - start: date.format(date.add(date.now(), 1, 'day'), 'YYYY-MM-DD'), - end: date.format(date.add(date.now(), 4, 'day'), 'YYYY-MM-DD') - }, { - groupId: 999, - title: 'Repeating Event', - start: date.format(date.add(date.now(), 2, 'day'), 'YYYY-MM-DDTHH:mm:ss').replace(/:\d{2}$/, ':00:00').replace(/T\d{2}:\d{2}/, 'T16:00') - }, { - groupId: 999, - title: 'Repeating Event', - start: date.format(date.add(date.now(), 9, 'day'), 'YYYY-MM-DDTHH:mm:ss').replace(/:\d{2}$/, ':00:00').replace(/T\d{2}:\d{2}/, 'T16:00') - }, { - title: 'Conference', - start: date.format(date.add(date.now(), 5, 'day'), 'YYYY-MM-DD'), - end: date.format(date.add(date.now(), 7, 'day'), 'YYYY-MM-DD') - }, { - title: 'Meeting', - start: date.format(date.add(date.now(), 3, 'day'), 'YYYY-MM-DDTHH:mm:ss').replace(/:\d{2}$/, ':00:00').replace(/T\d{2}:\d{2}/, 'T10:30'), - end: date.format(date.add(date.now(), 3, 'day'), 'YYYY-MM-DDTHH:mm:ss').replace(/:\d{2}$/, ':00:00').replace(/T\d{2}:\d{2}/, 'T12:30') - }, { - title: 'Lunch', - start: date.format(date.add(date.now(), 3, 'day'), 'YYYY-MM-DDTHH:mm:ss').replace(/:\d{2}$/, ':00:00').replace(/T\d{2}:\d{2}/, 'T12:00') - }, { - title: 'Meeting', - start: date.format(date.add(date.now(), 3, 'day'), 'YYYY-MM-DDTHH:mm:ss').replace(/:\d{2}$/, ':00:00').replace(/T\d{2}:\d{2}/, 'T14:30') - }, { - title: 'Happy Hour', - start: date.format(date.add(date.now(), 3, 'day'), 'YYYY-MM-DDTHH:mm:ss').replace(/:\d{2}$/, ':00:00').replace(/T\d{2}:\d{2}/, 'T17:30') - }, { - title: 'Dinner', - start: date.format(date.add(date.now(), 3, 'day'), 'YYYY-MM-DDTHH:mm:ss').replace(/:\d{2}$/, ':00:00').replace(/T\d{2}:\d{2}/, 'T20:00') - }, { - title: 'Birthday Party', - start: date.format(date.add(date.now(), 4, 'day'), 'YYYY-MM-DDTHH:mm:ss').replace(/:\d{2}$/, ':00:00').replace(/T\d{2}:\d{2}/, 'T07:00') - }, { - title: 'Click for Google', - url: 'http://google.com/', - start: date.format(date.add(date.now(), 14, 'day'), 'YYYY-MM-DD') - }] - }); - calendar.render(); -}); -// EXTERNAL MODULE: ../../node_modules/masonry-layout/masonry.js -var masonry = __webpack_require__(201); -var masonry_default = /*#__PURE__*/__webpack_require__.n(masonry); -;// ../assets/scripts/masonry/index.js - -/* harmony default export */ const scripts_masonry = ((function () { - window.addEventListener('load', () => { - const masonryElement = document.querySelector('.masonry'); - if (masonryElement) { - new (masonry_default())(masonryElement, { - itemSelector: '.masonry-item', - columnWidth: '.masonry-sizer', - percentPosition: true - }); - } - }); -})()); -;// ../assets/scripts/popover/index.js -// Simple vanilla JS tooltip and popover implementation -/* harmony default export */ const popover = ((function () { - // Simple tooltip implementation - function initTooltips() { - const tooltipElements = document.querySelectorAll('[data-bs-toggle="tooltip"]'); - tooltipElements.forEach(element => { - const tooltipText = element.getAttribute('data-bs-title') || element.getAttribute('title'); - if (tooltipText) { - element.addEventListener('mouseenter', function () { - const tooltip = document.createElement('div'); - tooltip.className = 'custom-tooltip'; - tooltip.textContent = tooltipText; - tooltip.style.cssText = ` - position: absolute; - background: #000; - color: #fff; - padding: 4px 8px; - border-radius: 4px; - font-size: 12px; - z-index: 1050; - pointer-events: none; - white-space: nowrap; - `; - document.body.appendChild(tooltip); - const rect = element.getBoundingClientRect(); - tooltip.style.left = `${rect.left + rect.width / 2 - tooltip.offsetWidth / 2}px`; - tooltip.style.top = `${rect.top - tooltip.offsetHeight - 5}px`; - element._tooltip = tooltip; - }); - element.addEventListener('mouseleave', function () { - if (element._tooltip) { - element._tooltip.remove(); - element._tooltip = null; - } - }); - } - }); - } - - // Simple popover implementation - function initPopovers() { - const popoverElements = document.querySelectorAll('[data-bs-toggle="popover"]'); - popoverElements.forEach(element => { - const popoverContent = element.getAttribute('data-bs-content'); - const popoverTitle = element.getAttribute('data-bs-title'); - if (popoverContent) { - element.addEventListener('click', function (e) { - e.preventDefault(); - - // Remove existing popover - if (element._popover) { - element._popover.remove(); - element._popover = null; - return; - } - const popover = document.createElement('div'); - popover.className = 'custom-popover'; - popover.innerHTML = ` - ${popoverTitle ? `
${popoverTitle}
` : ''} -
${popoverContent}
- `; - popover.style.cssText = ` - position: absolute; - background: #fff; - border: 1px solid #ccc; - border-radius: 6px; - box-shadow: 0 2px 8px rgba(0,0,0,0.15); - z-index: 1050; - min-width: 200px; - max-width: 300px; - `; - document.body.appendChild(popover); - const rect = element.getBoundingClientRect(); - popover.style.left = `${rect.left}px`; - popover.style.top = `${rect.bottom + 5}px`; - element._popover = popover; - }); - } - }); - } - - // Initialize both - initTooltips(); - initPopovers(); - - // Close popovers when clicking outside - document.addEventListener('click', function (e) { - const popovers = document.querySelectorAll('.custom-popover'); - popovers.forEach(popover => { - if (!popover.contains(e.target)) { - popover.remove(); - } - }); - }); -})()); -// EXTERNAL MODULE: ../../node_modules/perfect-scrollbar/dist/perfect-scrollbar.esm.js -var perfect_scrollbar_esm = __webpack_require__(530); -;// ../assets/scripts/scrollbar/index.js - -/* harmony default export */ const scrollbar = ((function () { - const scrollables = document.querySelectorAll('.scrollable'); - if (scrollables.length > 0) { - scrollables.forEach(el => { - new perfect_scrollbar_esm/* default */.A(el); - }); - } -})()); -;// ../assets/scripts/search/index.js -/* harmony default export */ const search = ((function () { - const searchToggle = document.querySelector('.search-toggle'); - const searchBox = document.querySelector('.search-box'); - const searchInput = document.querySelector('.search-input'); - const searchInputField = document.querySelector('.search-input input'); - if (searchToggle && searchBox && searchInput && searchInputField) { - searchToggle.addEventListener('click', e => { - searchBox.classList.toggle('active'); - searchInput.classList.toggle('active'); - searchInputField.focus(); - e.preventDefault(); - }); - } -})()); -// EXTERNAL MODULE: ../../node_modules/skycons/skycons.js -var skycons = __webpack_require__(658); -var skycons_default = /*#__PURE__*/__webpack_require__.n(skycons); -;// ../assets/scripts/skycons/index.js - - -const Skycons = skycons_default()(window); -/* harmony default export */ const scripts_skycons = ((function () { - let icons; - const initSkycons = () => { - const skyconsColor = theme.getCSSVar('--skycons-color'); - if (icons) { - icons.pause(); - icons.remove('all'); - } - icons = new Skycons({ - 'color': skyconsColor - }); - const list = ['clear-day', 'clear-night', 'partly-cloudy-day', 'partly-cloudy-night', 'cloudy', 'rain', 'sleet', 'snow', 'wind', 'fog']; - let i = list.length; - while (i--) { - const weatherType = list[i], - elements = document.getElementsByClassName(weatherType); - let j = elements.length; - while (j--) { - icons.set(elements[j], weatherType); - } - } - icons.play(); - }; - - // Initialize skycons - initSkycons(); - - // Listen for theme changes - window.addEventListener('adminator:themeChanged', initSkycons); -})()); -// EXTERNAL MODULE: ../../node_modules/jsvectormap/dist/jsvectormap.esm.js -var jsvectormap_esm = __webpack_require__(82); -// EXTERNAL MODULE: ../../node_modules/jsvectormap/dist/maps/world.js -var world = __webpack_require__(177); -;// ../assets/scripts/utils/storage.js -/** - * Adminator Storage Utilities - * Safe localStorage wrapper with error handling - * - * @module utils/storage - */ - -/** - * Check if localStorage is available - * @returns {boolean} - */ -const isAvailable = () => { - try { - const test = '__storage_test__'; - localStorage.setItem(test, test); - localStorage.removeItem(test); - return true; - } catch { - return false; - } -}; - -/** - * In-memory fallback when localStorage is unavailable - * @type {Map} - */ -const memoryStorage = new Map(); - -/** - * Storage utility with safe localStorage access - * Falls back to in-memory storage when localStorage is unavailable - * (e.g., private browsing, storage quota exceeded) - * - * @namespace - */ -const storage_Storage = { - /** - * Check if storage is available - * @returns {boolean} - */ - isAvailable, - /** - * Get an item from storage - * - * @param {string} key - Storage key - * @returns {string|null} Stored value or null - * - * @example - * const theme = Storage.get('theme'); - */ - get(key) { - try { - if (isAvailable()) { - return localStorage.getItem(key); - } - return memoryStorage.get(key) ?? null; - } catch { - return memoryStorage.get(key) ?? null; - } - }, - /** - * Set an item in storage - * - * @param {string} key - Storage key - * @param {string} value - Value to store - * @returns {boolean} Success status - * - * @example - * Storage.set('theme', 'dark'); - */ - set(key, value) { - try { - if (isAvailable()) { - localStorage.setItem(key, value); - return true; - } - memoryStorage.set(key, value); - return true; - } catch { - // Fallback to memory storage - memoryStorage.set(key, value); - return true; - } - }, - /** - * Remove an item from storage - * - * @param {string} key - Storage key - * @returns {boolean} Success status - * - * @example - * Storage.remove('theme'); - */ - remove(key) { - try { - if (isAvailable()) { - localStorage.removeItem(key); - } - memoryStorage.delete(key); - return true; - } catch { - memoryStorage.delete(key); - return true; - } - }, - /** - * Clear all storage - * - * @returns {boolean} Success status - * - * @example - * Storage.clear(); - */ - clear() { - try { - if (isAvailable()) { - localStorage.clear(); - } - memoryStorage.clear(); - return true; - } catch { - memoryStorage.clear(); - return true; - } - }, - /** - * Get a JSON object from storage - * - * @param {string} key - Storage key - * @param {*} [defaultValue=null] - Default value if key doesn't exist or parse fails - * @returns {*} Parsed object or default value - * - * @example - * const settings = Storage.getJSON('settings', { theme: 'light' }); - */ - getJSON(key) { - let defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - try { - const value = this.get(key); - if (value === null) { - return defaultValue; - } - return JSON.parse(value); - } catch { - return defaultValue; - } - }, - /** - * Set a JSON object in storage - * - * @param {string} key - Storage key - * @param {*} value - Value to store (will be JSON stringified) - * @returns {boolean} Success status - * - * @example - * Storage.setJSON('settings', { theme: 'dark', sidebar: 'expanded' }); - */ - setJSON(key, value) { - try { - return this.set(key, JSON.stringify(value)); - } catch { - return false; - } - }, - /** - * Check if a key exists in storage - * - * @param {string} key - Storage key - * @returns {boolean} - * - * @example - * if (Storage.has('theme')) { - * // Use stored theme - * } - */ - has(key) { - return this.get(key) !== null; - }, - /** - * Get all keys in storage - * - * @returns {string[]} Array of keys - * - * @example - * const keys = Storage.keys(); - */ - keys() { - try { - if (isAvailable()) { - return Object.keys(localStorage); - } - return Array.from(memoryStorage.keys()); - } catch { - return Array.from(memoryStorage.keys()); - } - }, - /** - * Get storage size in bytes (approximate) - * - * @returns {number} Size in bytes - * - * @example - * console.log(`Storage used: ${Storage.size()} bytes`); - */ - size() { - try { - let total = 0; - const keys = this.keys(); - for (const key of keys) { - const value = this.get(key); - if (value) { - total += key.length + value.length; - } - } - return total * 2; // UTF-16 uses 2 bytes per character - } catch { - return 0; - } - } -}; -/* harmony default export */ const storage = ((/* unused pure expression or super */ null && (storage_Storage))); -;// ../assets/scripts/utils/sanitize.js -/** - * Adminator Sanitization Utilities - * HTML and input sanitization for security - * - * @module utils/sanitize - */ - -/** - * HTML entities map for encoding - * @type {Object} - */ -const HTML_ENTITIES = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''', - '/': '/', - '`': '`', - '=': '=' -}; - -/** - * Sanitization utilities namespace - * @namespace - */ -const Sanitize = { - /** - * Escape HTML entities to prevent XSS - * - * @param {string} str - String to escape - * @returns {string} Escaped string safe for HTML insertion - * - * @example - * const safe = Sanitize.html(''); - * // Returns: <script>alert("xss")</script> - */ - html(str) { - if (typeof str !== 'string') { - return String(str ?? ''); - } - return str.replace(/[&<>"'`=/]/g, char => HTML_ENTITIES[char]); - }, - /** - * Escape string for use in HTML attributes - * - * @param {string} str - String to escape - * @returns {string} Escaped string safe for attribute values - * - * @example - * element.setAttribute('data-name', Sanitize.attr(userInput)); - */ - attr(str) { - return this.html(str); - }, - /** - * Sanitize URL to prevent javascript: and data: URLs - * - * @param {string} url - URL to sanitize - * @param {string[]} [allowedProtocols=['http:', 'https:', 'mailto:', 'tel:']] - Allowed protocols - * @returns {string} Sanitized URL or empty string if invalid - * - * @example - * const safeUrl = Sanitize.url(userProvidedUrl); - * if (safeUrl) { - * window.location.href = safeUrl; - * } - */ - url(url) { - let allowedProtocols = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['http:', 'https:', 'mailto:', 'tel:']; - if (typeof url !== 'string') { - return ''; - } - - // Trim and normalize - const trimmed = url.trim().toLowerCase(); - - // Block dangerous protocols - const dangerousProtocols = ['javascript:', 'data:', 'vbscript:']; - for (const protocol of dangerousProtocols) { - if (trimmed.startsWith(protocol)) { - return ''; - } - } - - // Check for allowed protocols - try { - const parsed = new URL(url, window.location.origin); - if (!allowedProtocols.includes(parsed.protocol)) { - // Allow relative URLs - if (!url.startsWith('/') && !url.startsWith('./') && !url.startsWith('../')) { - return ''; - } - } - return url; - } catch { - // If URL parsing fails, check if it's a relative URL - if (url.startsWith('/') || url.startsWith('./') || url.startsWith('../') || url.startsWith('#')) { - return url; - } - return ''; - } - }, - /** - * Strip HTML tags from a string - * - * @param {string} str - String with HTML - * @returns {string} String with HTML tags removed - * - * @example - * const text = Sanitize.stripTags('

Hello World

'); - * // Returns: 'Hello World' - */ - stripTags(str) { - if (typeof str !== 'string') { - return String(str ?? ''); - } - - // Create a temporary element to leverage browser's HTML parser - const div = document.createElement('div'); - div.innerHTML = str; - return div.textContent || div.innerText || ''; - }, - /** - * Sanitize a string for use in CSS - * - * @param {string} str - String to sanitize - * @returns {string} CSS-safe string - * - * @example - * element.style.setProperty('--custom', Sanitize.css(userInput)); - */ - css(str) { - if (typeof str !== 'string') { - return ''; - } - - // Remove potentially dangerous CSS values - return str.replace(/expression\s*\(/gi, '').replace(/url\s*\(/gi, '').replace(/javascript:/gi, '').replace(/[<>"']/g, ''); - }, - /** - * Sanitize a string for use in a filename - * - * @param {string} str - String to sanitize - * @returns {string} Filename-safe string - * - * @example - * const filename = Sanitize.filename(userInput) + '.txt'; - */ - filename(str) { - if (typeof str !== 'string') { - return ''; - } - return str.replace(/[/\\?%*:|"<>]/g, '-') // Replace dangerous characters - .replace(/\.\./g, '-') // Prevent directory traversal - .replace(/^\./, '_') // Don't start with dot - .slice(0, 255); // Limit length - }, - /** - * Create safe innerHTML by escaping interpolated values - * - * @param {TemplateStringsArray} strings - Template literal strings - * @param {...*} values - Values to interpolate - * @returns {string} HTML string with escaped values - * - * @example - * element.innerHTML = Sanitize.template`
${userInput}
`; - */ - template(strings) { - for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - values[_key - 1] = arguments[_key]; - } - return strings.reduce((result, str, i) => { - const value = values[i - 1]; - const escaped = value !== undefined ? this.html(String(value)) : ''; - return result + escaped + str; - }); - }, - /** - * Validate and sanitize an email address - * - * @param {string} email - Email to validate - * @returns {string} Sanitized email or empty string if invalid - * - * @example - * const email = Sanitize.email(userInput); - * if (email) { - * sendEmail(email); - * } - */ - email(email) { - if (typeof email !== 'string') { - return ''; - } - const trimmed = email.trim().toLowerCase(); - - // Basic email validation - const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; - if (!emailRegex.test(trimmed)) { - return ''; - } - - // Additional checks - if (trimmed.length > 254) { - return ''; - } - return trimmed; - }, - /** - * Sanitize a number input - * - * @param {*} value - Value to sanitize - * @param {Object} [options={}] - Options - * @param {number} [options.min=-Infinity] - Minimum value - * @param {number} [options.max=Infinity] - Maximum value - * @param {number} [options.default=0] - Default if invalid - * @returns {number} Sanitized number - * - * @example - * const age = Sanitize.number(userInput, { min: 0, max: 120, default: 18 }); - */ - number(value) { - let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - const { - min = -Infinity, - max = Infinity, - default: defaultValue = 0 - } = options; - const num = parseFloat(value); - if (isNaN(num) || !isFinite(num)) { - return defaultValue; - } - return Math.max(min, Math.min(max, num)); - }, - /** - * Sanitize an integer input - * - * @param {*} value - Value to sanitize - * @param {Object} [options={}] - Options - * @param {number} [options.min=-Infinity] - Minimum value - * @param {number} [options.max=Infinity] - Maximum value - * @param {number} [options.default=0] - Default if invalid - * @returns {number} Sanitized integer - * - * @example - * const count = Sanitize.integer(userInput, { min: 1, max: 100 }); - */ - integer(value) { - let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - return Math.floor(this.number(value, options)); - } -}; -/* harmony default export */ const sanitize = ((/* unused pure expression or super */ null && (Sanitize))); -;// ../assets/scripts/utils/index.js -/** - * Adminator Utilities Index - * Re-exports all utility modules for convenient importing - * - * @module utils - */ - -// Re-export all utilities - - - - - - - - - -// Legacy initialization code -/* harmony default export */ const utils = ((function () { - // ------------------------------------------------------ - // @Window Resize - // ------------------------------------------------------ - - /** - * NOTE: Register resize event for Masonry layout - */ - const EVENT = document.createEvent('UIEvents'); - window.EVENT = EVENT; - EVENT.initUIEvent('resize', true, false, window, 0); - window.addEventListener('load', () => { - /** - * Trigger window resize event after page load - * for recalculation of masonry layout. - */ - window.dispatchEvent(EVENT); - }); - - // ------------------------------------------------------ - // @External Links - // ------------------------------------------------------ - - // Open external links in new window - const externalLinks = document.querySelectorAll('a[href^="http"], a[href^="//"]'); - externalLinks.forEach(link => { - const href = link.getAttribute('href'); - if (href && !href.includes(window.location.host)) { - link.setAttribute('rel', 'noopener noreferrer'); - link.setAttribute('target', '_blank'); - } - }); - - // ------------------------------------------------------ - // @Resize Trigger - // ------------------------------------------------------ - - // Trigger resize on any element click - document.addEventListener('click', () => { - window.dispatchEvent(window.EVENT); - }); -})()); -;// ../assets/scripts/vectorMaps/index.js - - - - - -/* harmony default export */ const vectorMaps = ((function () { - // Store map instance for cleanup - let mapInstance = null; - - // Main initialization function - const vectorMapInit = () => { - const worldMapContainer = document.getElementById('world-map-marker'); - if (!worldMapContainer) return; - - // Remove existing map - const existingMap = document.getElementById('vmap'); - if (existingMap) { - existingMap.remove(); - } - - // Destroy existing map instance - if (mapInstance) { - try { - mapInstance.destroy(); - } catch { - // Map instance cleanup - } - mapInstance = null; - } - - // Get current theme colors - using template colors directly - const isDark = theme.current() === 'dark'; - const colors = { - backgroundColor: isDark ? '#313644' : '#f9fafb', - regionColor: isDark ? '#565a5c' : '#e6eaf0', - borderColor: isDark ? '#72777a' : '#d3d9e3', - hoverColor: isDark ? '#7774e7' : '#0f9aee', - selectedColor: isDark ? '#37c936' : '#7774e7', - markerFill: isDark ? '#0f9aee' : '#7774e7', - markerStroke: isDark ? '#37c936' : '#0f9aee', - scaleStart: isDark ? '#b9c2d0' : '#e6eaf0', - scaleEnd: isDark ? '#0f9aee' : '#007bff', - textColor: isDark ? '#99abb4' : '#72777a' - }; - - // Create new map container - const mapContainer = document.createElement('div'); - mapContainer.id = 'vmap'; - mapContainer.style.height = '490px'; - mapContainer.style.position = 'relative'; - mapContainer.style.overflow = 'hidden'; - mapContainer.style.backgroundColor = colors.backgroundColor; - mapContainer.style.borderRadius = '8px'; - mapContainer.style.border = `1px solid ${colors.borderColor}`; - worldMapContainer.appendChild(mapContainer); - - // Initialize JSVectorMap - try { - mapInstance = (0,jsvectormap_esm/* default */.A)({ - selector: '#vmap', - map: 'world', - // Styling options - backgroundColor: 'transparent', - // Region styling - regionStyle: { - initial: { - fill: colors.regionColor, - stroke: colors.borderColor, - 'stroke-width': 1, - 'stroke-opacity': 0.4 - }, - hover: { - fill: colors.hoverColor, - cursor: 'pointer' - }, - selected: { - fill: colors.selectedColor - } - }, - // Marker styling - markerStyle: { - initial: { - r: 7, - fill: colors.markerFill, - stroke: colors.markerStroke, - 'stroke-width': 2, - 'stroke-opacity': 0.4 - }, - hover: { - r: 10, - fill: colors.hoverColor, - 'stroke-opacity': 0.8, - cursor: 'pointer' - } - }, - // Markers data - markers: [{ - name: 'INDIA : 350', - coords: [21.00, 78.00] - }, { - name: 'Australia : 250', - coords: [-33.00, 151.00] - }, { - name: 'USA : 250', - coords: [36.77, -119.41] - }, { - name: 'UK : 250', - coords: [55.37, -3.41] - }, { - name: 'UAE : 250', - coords: [25.20, 55.27] - }], - // Simplified approach - remove series for now to test base colors - // series: { - // regions: [ - // { - // attribute: 'fill', - // scale: [colors.scaleStart, colors.scaleEnd], - // normalizeFunction: 'polynomial', - // values: { - // 'US': 50, - // 'SA': 30, - // 'AU': 70, - // 'IN': 40, - // 'GB': 60, - // 'LV': 80, - // }, - // }, - // ], - // }, - - // Interaction options - zoomOnScroll: false, - zoomButtons: false, - // Event handlers - onMarkerTooltipShow(event, tooltip, index) { - // Safe access to marker data - const marker = this.markers && this.markers[index]; - const markerName = marker ? marker.name : `Marker ${index + 1}`; - tooltip.text(markerName); - }, - onRegionTooltipShow(event, tooltip, code) { - // Safe access to region data - const regionName = this.mapData && this.mapData.paths && this.mapData.paths[code] ? this.mapData.paths[code].name || code : code; - const value = this.series && this.series.regions && this.series.regions[0] && this.series.regions[0].values ? this.series.regions[0].values[code] : null; - tooltip.text(`${regionName}${value ? `: ${value}` : ''}`); - }, - onLoaded() { - // Map loaded successfully - } - }); - - // Store instance for theme updates - worldMapContainer.mapInstance = mapInstance; - } catch { - // Error initializing JSVectorMap - - // Fallback: show a simple message - mapContainer.innerHTML = ` -
-
-
🗺️
-
World Map
-
Interactive map will load here
-
-
- `; - } - }; - - // Theme update function - const updateMapTheme = () => { - if (mapInstance) { - const isDark = theme.current() === 'dark'; - const colors = { - backgroundColor: isDark ? '#313644' : '#f9fafb', - regionColor: isDark ? '#565a5c' : '#e6eaf0', - borderColor: isDark ? '#72777a' : '#d3d9e3', - hoverColor: isDark ? '#7774e7' : '#0f9aee', - selectedColor: isDark ? '#37c936' : '#7774e7', - markerFill: isDark ? '#0f9aee' : '#7774e7', - markerStroke: isDark ? '#37c936' : '#0f9aee', - scaleStart: isDark ? '#b9c2d0' : '#e6eaf0', - scaleEnd: isDark ? '#0f9aee' : '#007bff', - textColor: isDark ? '#99abb4' : '#72777a' - }; - try { - // Update region styles - commented out series for now - // mapInstance.updateSeries('regions', { - // attribute: 'fill', - // scale: [colors.scaleStart, colors.scaleEnd], - // values: { - // 'US': 50, - // 'SA': 30, - // 'AU': 70, - // 'IN': 40, - // 'GB': 60, - // 'LV': 80, - // }, - // }); - - // Update container background - const container = document.getElementById('vmap'); - if (container) { - container.style.backgroundColor = colors.backgroundColor; - } - } catch { - // Theme update failed, reinitializing map - vectorMapInit(); - } - } else { - vectorMapInit(); - } - }; - - // Initialize map - vectorMapInit(); - - // Reinitialize on window resize - window.addEventListener('resize', events.debounce(vectorMapInit, 300)); - - // Listen for theme changes - window.addEventListener('adminator:themeChanged', events.debounce(updateMapTheme, 150)); - - // Cleanup on page unload - window.addEventListener('beforeunload', () => { - if (mapInstance) { - try { - mapInstance.destroy(); - } catch { - // Map cleanup on unload - } - mapInstance = null; - } - }); - - // Return public API - return { - init: vectorMapInit, - updateTheme: updateMapTheme, - getInstance: () => mapInstance - }; -})()); -;// ../assets/scripts/chat/index.js -/* harmony default export */ const chat = ((function () { - const chatSidebarToggle = document.getElementById('chat-sidebar-toggle'); - const chatSidebar = document.getElementById('chat-sidebar'); - if (chatSidebarToggle && chatSidebar) { - chatSidebarToggle.addEventListener('click', e => { - chatSidebar.classList.toggle('open'); - e.preventDefault(); - }); - } -})()); -;// ../assets/scripts/email/index.js -/* harmony default export */ const email = ((function () { - // Email side toggle functionality - const emailSideToggle = document.querySelector('.email-side-toggle'); - const emailApp = document.querySelector('.email-app'); - if (emailSideToggle && emailApp) { - emailSideToggle.addEventListener('click', e => { - emailApp.classList.toggle('side-active'); - e.preventDefault(); - }); - } - - // Email list item and back to mailbox functionality - const emailListItems = document.querySelectorAll('.email-list-item, .back-to-mailbox'); - const emailContent = document.querySelector('.email-content'); - if (emailListItems.length > 0 && emailContent) { - emailListItems.forEach(item => { - item.addEventListener('click', e => { - emailContent.classList.toggle('open'); - e.preventDefault(); - }); - }); - } -})()); -// EXTERNAL MODULE: ../../node_modules/load-google-maps-api/index.js -var load_google_maps_api = __webpack_require__(95); -var load_google_maps_api_default = /*#__PURE__*/__webpack_require__.n(load_google_maps_api); -;// ../assets/scripts/googleMaps/index.js - - -/* harmony default export */ const googleMaps = ((function () { - let map, marker; - const initGoogleMap = () => { - const googleMapElement = document.getElementById('google-map'); - if (googleMapElement) { - load_google_maps_api_default()({ - key: 'AIzaSyDW8td30_gj6sGXjiMU0ALeMu1SDEwUnEA' - }).then(() => { - const latitude = 26.8206; - const longitude = 30.8025; - const mapZoom = 5; - const { - google - } = window; - const mapOptions = { - center: new google.maps.LatLng(latitude, longitude), - zoom: mapZoom, - mapTypeId: google.maps.MapTypeId.ROADMAP, - styles: [{ - 'featureType': 'landscape', - 'stylers': [{ - 'hue': theme.getCSSVar('--gmap-landscape-hue') - }, { - 'saturation': 43.400000000000006 - }, { - 'lightness': 37.599999999999994 - }, { - 'gamma': 1 - }] - }, { - 'featureType': 'road.highway', - 'stylers': [{ - 'hue': theme.getCSSVar('--gmap-highway-hue') - }, { - 'saturation': -61.8 - }, { - 'lightness': 45.599999999999994 - }, { - 'gamma': 1 - }] - }, { - 'featureType': 'road.arterial', - 'stylers': [{ - 'hue': theme.getCSSVar('--gmap-road-hue') - }, { - 'saturation': -100 - }, { - 'lightness': 51.19999999999999 - }, { - 'gamma': 1 - }] - }, { - 'featureType': 'road.local', - 'stylers': [{ - 'hue': theme.getCSSVar('--gmap-road-hue') - }, { - 'saturation': -100 - }, { - 'lightness': 52 - }, { - 'gamma': 1 - }] - }, { - 'featureType': 'water', - 'stylers': [{ - 'hue': theme.getCSSVar('--gmap-water-hue') - }, { - 'saturation': -13.200000000000003 - }, { - 'lightness': 2.4000000000000057 - }, { - 'gamma': 1 - }] - }, { - 'featureType': 'poi', - 'stylers': [{ - 'hue': theme.getCSSVar('--gmap-poi-hue') - }, { - 'saturation': -1.0989010989011234 - }, { - 'lightness': 11.200000000000017 - }, { - 'gamma': 1 - }] - }] - }; - map = new google.maps.Map(document.getElementById('google-map'), mapOptions); - if (marker) { - marker.setMap(null); - } - marker = new google.maps.Marker({ - map, - position: new google.maps.LatLng(latitude, longitude), - visible: true - }); - }); - } - }; - - // Initialize Google Maps - initGoogleMap(); - - // Listen for theme changes - window.addEventListener('adminator:themeChanged', initGoogleMap); -})()); -;// ../assets/scripts/ui/index.js -/** - * UI Page Bootstrap Components - * Vanilla JavaScript implementations for Bootstrap components - */ - -/* harmony default export */ const ui = ((function () { - // Modal functionality - class VanillaModal { - constructor(element) { - this.element = element; - this.modal = null; - this.backdrop = null; - this.isOpen = false; - this.init(); - } - init() { - this.modal = document.querySelector(this.element.getAttribute('data-bs-target')); - if (this.modal) { - this.element.addEventListener('click', e => { - e.preventDefault(); - this.show(); - }); - - // Close button functionality - const closeButtons = this.modal.querySelectorAll('[data-bs-dismiss="modal"]'); - closeButtons.forEach(btn => { - btn.addEventListener('click', () => this.hide()); - }); - - // Close on backdrop click - this.modal.addEventListener('click', e => { - if (e.target === this.modal) { - this.hide(); - } - }); - } - } - show() { - if (this.isOpen) return; - - // Create backdrop - this.backdrop = document.createElement('div'); - this.backdrop.className = 'modal-backdrop fade show'; - document.body.appendChild(this.backdrop); - - // Show modal - this.modal.style.display = 'block'; - this.modal.classList.add('show'); - document.body.classList.add('modal-open'); - this.isOpen = true; - - // Focus the modal - this.modal.setAttribute('tabindex', '-1'); - this.modal.focus(); - - // Escape key handler - this.escapeHandler = e => { - if (e.key === 'Escape') { - this.hide(); - } - }; - document.addEventListener('keydown', this.escapeHandler); - } - hide() { - if (!this.isOpen) return; - - // Hide modal - this.modal.classList.remove('show'); - this.modal.style.display = 'none'; - document.body.classList.remove('modal-open'); - - // Remove backdrop - if (this.backdrop) { - this.backdrop.remove(); - this.backdrop = null; - } - this.isOpen = false; - - // Remove escape handler - if (this.escapeHandler) { - document.removeEventListener('keydown', this.escapeHandler); - this.escapeHandler = null; - } - } - } - - // Dropdown functionality - class VanillaDropdown { - constructor(element) { - this.element = element; - this.menu = null; - this.isOpen = false; - this.init(); - } - init() { - this.menu = this.element.parentNode.querySelector('.dropdown-menu'); - if (this.menu) { - this.element.addEventListener('click', e => { - e.preventDefault(); - e.stopPropagation(); - this.toggle(); - }); - - // Close on outside click - document.addEventListener('click', e => { - if (!this.element.parentNode.contains(e.target)) { - this.hide(); - } - }); - - // Close on escape - document.addEventListener('keydown', e => { - if (e.key === 'Escape' && this.isOpen) { - this.hide(); - } - }); - } - } - toggle() { - if (this.isOpen) { - this.hide(); - } else { - this.show(); - } - } - show() { - if (this.isOpen) return; - - // Close other dropdowns - document.querySelectorAll('.dropdown-menu.show').forEach(menu => { - menu.classList.remove('show'); - }); - this.menu.classList.add('show'); - this.element.setAttribute('aria-expanded', 'true'); - this.isOpen = true; - } - hide() { - if (!this.isOpen) return; - this.menu.classList.remove('show'); - this.element.setAttribute('aria-expanded', 'false'); - this.isOpen = false; - } - } - - // Popover functionality - class VanillaPopover { - constructor(element) { - this.element = element; - this.popover = null; - this.isOpen = false; - this.init(); - } - init() { - this.element.addEventListener('click', e => { - e.preventDefault(); - this.toggle(); - }); - - // Close on outside click - document.addEventListener('click', e => { - if (!this.element.contains(e.target) && (!this.popover || !this.popover.contains(e.target))) { - this.hide(); - } - }); - } - toggle() { - if (this.isOpen) { - this.hide(); - } else { - this.show(); - } - } - show() { - if (this.isOpen) return; - - // Close other popovers - document.querySelectorAll('.popover').forEach(popover => { - popover.remove(); - }); - const title = this.element.getAttribute('title') || this.element.getAttribute('data-bs-title'); - const content = this.element.getAttribute('data-bs-content'); - this.popover = document.createElement('div'); - this.popover.className = 'popover bs-popover-top show'; - this.popover.style.position = 'absolute'; - this.popover.style.zIndex = '1070'; - this.popover.style.maxWidth = '276px'; - this.popover.style.backgroundColor = '#fff'; - this.popover.style.border = '1px solid rgba(0,0,0,.2)'; - this.popover.style.borderRadius = '6px'; - this.popover.style.boxShadow = '0 5px 10px rgba(0,0,0,.2)'; - let popoverContent = ''; - if (title) { - popoverContent += `
${title}
`; - } - popoverContent += `
${content}
`; - this.popover.innerHTML = popoverContent; - document.body.appendChild(this.popover); - - // Position popover - const rect = this.element.getBoundingClientRect(); - this.popover.style.left = `${rect.left + rect.width / 2 - this.popover.offsetWidth / 2}px`; - this.popover.style.top = `${rect.top - this.popover.offsetHeight - 10}px`; - this.isOpen = true; - } - hide() { - if (!this.isOpen) return; - if (this.popover) { - this.popover.remove(); - this.popover = null; - } - this.isOpen = false; - } - } - - // Tooltip functionality - class VanillaTooltip { - constructor(element) { - this.element = element; - this.tooltip = null; - this.init(); - } - init() { - this.element.addEventListener('mouseenter', () => this.show()); - this.element.addEventListener('mouseleave', () => this.hide()); - this.element.addEventListener('focus', () => this.show()); - this.element.addEventListener('blur', () => this.hide()); - } - show() { - if (this.tooltip) return; - const title = this.element.getAttribute('title') || this.element.getAttribute('data-bs-title'); - const placement = this.element.getAttribute('data-bs-placement') || 'top'; - if (!title) return; - this.tooltip = document.createElement('div'); - this.tooltip.className = `tooltip bs-tooltip-${placement} show`; - this.tooltip.style.position = 'absolute'; - this.tooltip.style.zIndex = '1070'; - this.tooltip.style.maxWidth = '200px'; - this.tooltip.style.padding = '4px 8px'; - this.tooltip.style.fontSize = '12px'; - this.tooltip.style.backgroundColor = '#000'; - this.tooltip.style.color = '#fff'; - this.tooltip.style.borderRadius = '4px'; - this.tooltip.style.pointerEvents = 'none'; - this.tooltip.style.whiteSpace = 'nowrap'; - this.tooltip.innerHTML = `
${title}
`; - document.body.appendChild(this.tooltip); - - // Position tooltip - const rect = this.element.getBoundingClientRect(); - switch (placement) { - case 'top': - this.tooltip.style.left = `${rect.left + rect.width / 2 - this.tooltip.offsetWidth / 2}px`; - this.tooltip.style.top = `${rect.top - this.tooltip.offsetHeight - 5}px`; - break; - case 'bottom': - this.tooltip.style.left = `${rect.left + rect.width / 2 - this.tooltip.offsetWidth / 2}px`; - this.tooltip.style.top = `${rect.bottom + 5}px`; - break; - case 'left': - this.tooltip.style.left = `${rect.left - this.tooltip.offsetWidth - 5}px`; - this.tooltip.style.top = `${rect.top + rect.height / 2 - this.tooltip.offsetHeight / 2}px`; - break; - case 'right': - this.tooltip.style.left = `${rect.right + 5}px`; - this.tooltip.style.top = `${rect.top + rect.height / 2 - this.tooltip.offsetHeight / 2}px`; - break; - } - } - hide() { - if (this.tooltip) { - this.tooltip.remove(); - this.tooltip = null; - } - } - } - - // Accordion functionality - class VanillaAccordion { - constructor(element) { - this.element = element; - this.accordion = element.closest('.accordion'); - this.target = document.querySelector(element.getAttribute('data-bs-target')); - this.isOpen = !element.classList.contains('collapsed'); - this.init(); - } - init() { - this.element.addEventListener('click', e => { - e.preventDefault(); - this.toggle(); - }); - } - toggle() { - if (this.isOpen) { - this.hide(); - } else { - this.show(); - } - } - show() { - if (this.isOpen) return; - - // Close other accordion items in the same parent - const parentAccordion = this.accordion; - if (parentAccordion) { - const otherItems = parentAccordion.querySelectorAll('.accordion-collapse.show'); - otherItems.forEach(item => { - if (item !== this.target) { - item.classList.remove('show'); - const button = parentAccordion.querySelector(`[data-bs-target="#${item.id}"]`); - if (button) { - button.classList.add('collapsed'); - button.setAttribute('aria-expanded', 'false'); - } - } - }); - } - - // Show this item - this.target.classList.add('show'); - this.element.classList.remove('collapsed'); - this.element.setAttribute('aria-expanded', 'true'); - this.isOpen = true; - } - hide() { - if (!this.isOpen) return; - this.target.classList.remove('show'); - this.element.classList.add('collapsed'); - this.element.setAttribute('aria-expanded', 'false'); - this.isOpen = false; - } - } - - // Initialize all components - const initComponents = () => { - // Initialize modals - document.querySelectorAll('[data-bs-toggle="modal"]').forEach(element => { - new VanillaModal(element); - }); - - // Initialize dropdowns - document.querySelectorAll('[data-bs-toggle="dropdown"]').forEach(element => { - new VanillaDropdown(element); - }); - - // Initialize popovers - document.querySelectorAll('[data-bs-toggle="popover"]').forEach(element => { - new VanillaPopover(element); - }); - - // Initialize tooltips - document.querySelectorAll('[data-bs-toggle="tooltip"]').forEach(element => { - new VanillaTooltip(element); - }); - - // Initialize accordions - document.querySelectorAll('[data-bs-toggle="collapse"]').forEach(element => { - new VanillaAccordion(element); - }); - }; - - // Initialize when DOM is ready - if (document.readyState === 'loading') { - document.addEventListener('DOMContentLoaded', initComponents); - } else { - initComponents(); - } - - // Public API - return { - init: initComponents, - Modal: VanillaModal, - Dropdown: VanillaDropdown, - Popover: VanillaPopover, - Tooltip: VanillaTooltip, - Accordion: VanillaAccordion - }; -})()); -;// ../assets/scripts/app.js -/** - * Modern Adminator Application - * Main application entry point with enhanced mobile support - * - * @module app - * @version 2.9.0 - */ - -// Note: Bootstrap 5 CSS is still available via SCSS imports -// Bootstrap JS components removed to eliminate jQuery dependency - - - - - - - - - -// Import styles - - -// Import other modules that don't need immediate modernization - - - - - - - - - - - -class AdminatorApp { - constructor() { - this.components = new Map(); - this.isInitialized = false; - this.themeManager = theme; - this.cleanupFunctions = []; - - // Initialize when DOM is ready - DOM.ready(() => { - this.init(); - }); - } - - /** - * Initialize the application - */ - init() { - if (this.isInitialized) return; - logger.time('Adminator Init'); - try { - // Initialize core components - this.initSidebar(); - this.initCharts(); - this.initDataTables(); - this.initDatePickers(); - this.initTheme(); - this.initMobileEnhancements(); - - // Setup global event listeners using event delegation - this.setupGlobalEvents(); - this.isInitialized = true; - logger.timeEnd('Adminator Init'); - logger.info('Application initialized successfully'); - - // Dispatch custom event for other scripts - events.emit(window, 'adminator:ready', { - app: this - }); - } catch (error) { - logger.error('Error initializing Adminator App', error); - } - } - - /** - * Initialize Sidebar component - */ - initSidebar() { - if (DOM.exists('.sidebar')) { - const sidebar = new components_Sidebar(); - this.components.set('sidebar', sidebar); - } - } - - /** - * Initialize Chart components - */ - initCharts() { - // Check if we have any chart elements - const hasCharts = DOM.exists('#sparklinedash') || DOM.exists('.sparkline') || DOM.exists('.sparkbar') || DOM.exists('.sparktri') || DOM.exists('.sparkdisc') || DOM.exists('.sparkbull') || DOM.exists('.sparkbox') || DOM.exists('.easy-pie-chart') || DOM.exists('#line-chart') || DOM.exists('#area-chart') || DOM.exists('#scatter-chart') || DOM.exists('#bar-chart'); - if (hasCharts) { - const charts = new components_Chart(); - this.components.set('charts', charts); - } - } - - /** - * Initialize DataTables (modern approach) - */ - initDataTables() { - const dataTableElement = DOM.select('#dataTable'); - if (dataTableElement) { - // For now, use a lightweight approach - // In future iterations, we can replace with a modern table library - this.initBasicDataTable(dataTableElement); - } - } - - /** - * Basic DataTable implementation (placeholder for full modernization) - */ - initBasicDataTable(table) { - // Add basic sorting functionality - const headers = DOM.selectAll('th', table); - headers.forEach(header => { - if (header.textContent.trim()) { - header.style.cursor = 'pointer'; - header.style.userSelect = 'none'; - DOM.on(header, 'click', () => { - // Basic sort functionality can be added here - // For now, we'll keep the existing DataTables library - }); - } - }); - } - - /** - * Initialize Date Pickers (modern approach with Day.js) - */ - initDatePickers() { - const startDatePickers = DOM.selectAll('.start-date'); - const endDatePickers = DOM.selectAll('.end-date'); - [...startDatePickers, ...endDatePickers].forEach(picker => { - // Convert to HTML5 date input for better UX - if (picker.type !== 'date') { - picker.type = 'date'; - picker.classList.add('form-control'); - - // Clear the placeholder since HTML5 date inputs don't need it - picker.removeAttribute('placeholder'); - - // Set default value to today if no value is set - if (!picker.value) { - picker.value = date.form.toInputValue(date.now()); - } - - // Make sure the input is clickable and focusable - picker.style.pointerEvents = 'auto'; - picker.style.cursor = 'pointer'; - - // Ensure proper styling for HTML5 date input - picker.style.minHeight = '38px'; - picker.style.lineHeight = '1.5'; - - // Date picker converted to HTML5 with Day.js support - } - }); - - // Add enhanced interaction - handle both field and icon clicks - [...startDatePickers, ...endDatePickers].forEach(picker => { - // Handle direct field clicks - DOM.on(picker, 'click', event => { - event.target.focus(); - // For mobile browsers, trigger the date picker - if (event.target.showPicker && typeof event.target.showPicker === 'function') { - try { - event.target.showPicker(); - } catch { - // Fallback if showPicker is not supported - } - } - }); - - // Handle calendar icon clicks (find the icon in the input group) - const inputGroup = picker.closest('.input-group'); - if (inputGroup) { - const calendarIcon = inputGroup.querySelector('.input-group-text i.ti-calendar'); - if (calendarIcon) { - DOM.on(calendarIcon, 'click', event => { - event.preventDefault(); - event.stopPropagation(); - picker.focus(); - if (picker.showPicker && typeof picker.showPicker === 'function') { - try { - picker.showPicker(); - } catch { - // Date picker opened via icon click - } - } - }); - } - } - }); - } - - /** - * Initialize theme system with toggle - */ - initTheme() { - // Initializing theme system - - // Initialize theme system first - this.themeManager.init(); - - // Inject theme toggle if missing - with retry mechanism - setTimeout(() => { - const navRight = DOM.select('.nav-right'); - // Check for nav-right and theme-toggle existence - - if (navRight && !DOM.exists('#theme-toggle')) { - const li = document.createElement('li'); - li.className = 'theme-toggle d-flex ai-c'; - const currentTheme = this.themeManager.current(); - const isDark = currentTheme === 'dark'; - li.innerHTML = ` -
- - - -
- `; - - // Insert before user dropdown (last item) - safer approach - const lastItem = navRight.querySelector('li:last-child'); - if (lastItem && lastItem.parentNode === navRight) { - navRight.insertBefore(li, lastItem); - // Theme toggle inserted before last item - } else { - navRight.appendChild(li); - // Theme toggle appended to nav-right (safer approach) - } - - // Add toggle functionality - const toggle = DOM.select('#theme-toggle'); - if (toggle) { - DOM.on(toggle, 'change', () => { - const newTheme = toggle.checked ? 'dark' : 'light'; - toggle.setAttribute('aria-checked', toggle.checked ? 'true' : 'false'); - this.themeManager.apply(newTheme); - }); - - // Listen for theme changes from other sources - window.addEventListener('adminator:themeChanged', event => { - const isDark = event.detail.theme === 'dark'; - toggle.checked = isDark; - toggle.setAttribute('aria-checked', isDark ? 'true' : 'false'); - - // Update charts when theme changes - const charts = this.components.get('charts'); - if (charts) charts.redrawCharts(); - }); - } - } else { - // No nav-right found or theme-toggle already exists - } - }, 100); // Wait 100ms for DOM to be fully ready - } - - /** - * Initialize mobile-specific enhancements - */ - initMobileEnhancements() { - // Initializing mobile enhancements - this.enhanceMobileDropdowns(); - this.enhanceMobileSearch(); - - // Prevent horizontal scroll on mobile - if (this.isMobile()) { - document.body.style.overflowX = 'hidden'; - } - } - - /** - * Setup global event listeners using event delegation for performance - */ - setupGlobalEvents() { - // Use event delegation for dropdown clicks (single listener instead of many) - const dropdownCleanup = events.delegate(document, 'click', '.nav-right .dropdown-toggle', (e, toggle) => this.handleDropdownClick(e, toggle)); - this.cleanupFunctions.push(dropdownCleanup); - - // Global click handler for closing dropdowns/search - const globalClickCleanup = events.on(document, 'click', event => { - this.handleGlobalClick(event); - }); - this.cleanupFunctions.push(globalClickCleanup); - - // Window resize handler with debouncing using Events utility - const debouncedResize = events.debounce(() => this.handleResize(), 250); - const resizeCleanup = events.on(window, 'resize', debouncedResize); - this.cleanupFunctions.push(resizeCleanup); - - // Escape key handler using delegation - const escapeCleanup = events.on(document, 'keydown', e => { - if (e.key === 'Escape') { - this.closeAllOverlays(); - } - }); - this.cleanupFunctions.push(escapeCleanup); - logger.debug('Global event listeners set up with delegation'); - } - - /** - * Handle dropdown toggle clicks - * @param {Event} e - Click event - * @param {Element} toggle - The clicked toggle element - */ - handleDropdownClick(e, toggle) { - if (!this.isMobile()) return; - e.preventDefault(); - e.stopPropagation(); - const dropdown = toggle.closest('.dropdown'); - const menu = dropdown === null || dropdown === void 0 ? void 0 : dropdown.querySelector('.dropdown-menu'); - if (!dropdown || !menu) return; - - // Close search if open - this.closeSearch(); - - // Close other dropdowns - DOM.selectAll('.nav-right .dropdown').forEach(d => { - if (d !== dropdown) { - var _d$querySelector; - d.classList.remove('show'); - (_d$querySelector = d.querySelector('.dropdown-menu')) === null || _d$querySelector === void 0 || _d$querySelector.classList.remove('show'); - } - }); - - // Toggle current dropdown - const isOpen = dropdown.classList.contains('show'); - dropdown.classList.toggle('show', !isOpen); - menu.classList.toggle('show', !isOpen); - document.body.style.overflow = isOpen ? '' : 'hidden'; - document.body.classList.toggle('mobile-menu-open', !isOpen); - } - - /** - * Close all overlays (dropdowns, search) - */ - closeAllOverlays() { - // Close dropdowns - DOM.selectAll('.nav-right .dropdown').forEach(dropdown => { - var _dropdown$querySelect; - dropdown.classList.remove('show'); - (_dropdown$querySelect = dropdown.querySelector('.dropdown-menu')) === null || _dropdown$querySelect === void 0 || _dropdown$querySelect.classList.remove('show'); - }); - - // Close search - this.closeSearch(); - document.body.style.overflow = ''; - document.body.classList.remove('mobile-menu-open'); - } - - /** - * Close the search overlay - */ - closeSearch() { - const searchBox = DOM.select('.search-box'); - const searchInput = DOM.select('.search-input'); - if (searchBox && searchInput) { - searchBox.classList.remove('active'); - searchInput.classList.remove('active'); - document.body.classList.remove('search-open'); - - // Reset icon - const searchIcon = searchBox.querySelector('i'); - if (searchIcon) { - searchIcon.className = 'ti-search'; - } - - // Clear input - const field = searchInput.querySelector('input'); - if (field) { - field.value = ''; - field.blur(); - } - } - } - - /** - * Handle window resize events - */ - handleResize() { - // Window resized, updating mobile features - - // Close all mobile-specific overlays when switching to desktop - if (!this.isMobile()) { - document.body.style.overflow = ''; - document.body.style.overflowX = ''; - - // Close dropdowns - const dropdowns = DOM.selectAll('.nav-right .dropdown'); - dropdowns.forEach(dropdown => { - dropdown.classList.remove('show'); - const menu = dropdown.querySelector('.dropdown-menu'); - if (menu) menu.classList.remove('show'); - }); - - // Close search - const searchBox = DOM.select('.search-box'); - const searchInput = DOM.select('.search-input'); - if (searchBox && searchInput) { - searchBox.classList.remove('active'); - searchInput.classList.remove('active'); - } - } else { - // Re-enable mobile overflow protection - document.body.style.overflowX = 'hidden'; - } - - // Re-apply mobile enhancements - this.enhanceMobileDropdowns(); - this.enhanceMobileSearch(); - } - - /** - * Handle global click events - */ - handleGlobalClick(event) { - // Close mobile dropdowns when clicking outside - if (!event.target.closest('.dropdown')) { - const dropdowns = DOM.selectAll('.nav-right .dropdown'); - dropdowns.forEach(dropdown => { - dropdown.classList.remove('show'); - const menu = dropdown.querySelector('.dropdown-menu'); - if (menu) menu.classList.remove('show'); - }); - document.body.style.overflow = ''; - } - - // Close search when clicking outside - if (!event.target.closest('.search-box') && !event.target.closest('.search-input')) { - const searchBox = DOM.select('.search-box'); - const searchInput = DOM.select('.search-input'); - if (searchBox && searchInput) { - searchBox.classList.remove('active'); - searchInput.classList.remove('active'); - document.body.style.overflow = ''; - document.body.classList.remove('mobile-menu-open'); - } - } - } - - /** - * Check if we're on a mobile device - */ - isMobile() { - return window.innerWidth <= 768; - } - - /** - * Enhanced mobile dropdown handling with improved email layout - */ - enhanceMobileDropdowns() { - if (!this.isMobile()) return; - const dropdowns = DOM.selectAll('.nav-right .dropdown'); - dropdowns.forEach(dropdown => { - const toggle = dropdown.querySelector('.dropdown-toggle'); - const menu = dropdown.querySelector('.dropdown-menu'); - if (toggle && menu) { - // Remove existing listeners to prevent duplicates - const newToggle = toggle.cloneNode(true); - toggle.replaceWith(newToggle); - - // Add click functionality for mobile dropdowns - DOM.on(newToggle, 'click', e => { - e.preventDefault(); - e.stopPropagation(); - - // Close search if open - const searchBox = DOM.select('.search-box'); - const searchInput = DOM.select('.search-input'); - if (searchBox && searchInput) { - searchBox.classList.remove('active'); - searchInput.classList.remove('active'); - } - - // Close other dropdowns first - dropdowns.forEach(otherDropdown => { - if (otherDropdown !== dropdown) { - otherDropdown.classList.remove('show'); - const otherMenu = otherDropdown.querySelector('.dropdown-menu'); - if (otherMenu) otherMenu.classList.remove('show'); - } - }); - - // Toggle current dropdown - const isOpen = dropdown.classList.contains('show'); - if (isOpen) { - dropdown.classList.remove('show'); - menu.classList.remove('show'); - document.body.style.overflow = ''; - document.body.classList.remove('mobile-menu-open'); - } else { - dropdown.classList.add('show'); - menu.classList.add('show'); - document.body.style.overflow = 'hidden'; - document.body.classList.add('mobile-menu-open'); - } - }); - - // Enhanced mobile close button functionality - DOM.on(menu, 'click', e => { - // Check if clicked on the close area (::before pseudo-element area) - const rect = menu.getBoundingClientRect(); - const clickY = e.clientY - rect.top; - - // If clicked in top 50px (close button area) - if (clickY <= 50) { - dropdown.classList.remove('show'); - menu.classList.remove('show'); - document.body.style.overflow = ''; - document.body.classList.remove('mobile-menu-open'); - e.preventDefault(); - e.stopPropagation(); - } - }); - } - }); - - // Close dropdowns on escape key - DOM.on(document, 'keydown', e => { - if (e.key === 'Escape') { - dropdowns.forEach(dropdown => { - dropdown.classList.remove('show'); - const menu = dropdown.querySelector('.dropdown-menu'); - if (menu) menu.classList.remove('show'); - }); - document.body.style.overflow = ''; - document.body.classList.remove('mobile-menu-open'); - } - }); - } - - /** - * Enhanced mobile search handling - Full-width search bar - */ - enhanceMobileSearch() { - const searchBox = DOM.select('.search-box'); - const searchInput = DOM.select('.search-input'); - if (searchBox && searchInput) { - const searchToggle = searchBox.querySelector('a'); - const searchField = searchInput.querySelector('input'); - if (searchToggle && searchField) { - // Setting up full-width search functionality - - // Remove existing listeners to prevent duplication - const newSearchToggle = searchToggle.cloneNode(true); - searchToggle.replaceWith(newSearchToggle); - DOM.on(newSearchToggle, 'click', e => { - e.preventDefault(); - e.stopPropagation(); - - // Full-width search toggle clicked - - // Close any open dropdowns first - const dropdowns = DOM.selectAll('.nav-right .dropdown'); - dropdowns.forEach(dropdown => { - dropdown.classList.remove('show'); - const menu = dropdown.querySelector('.dropdown-menu'); - if (menu) menu.classList.remove('show'); - }); - - // Toggle search state - const isActive = searchInput.classList.contains('active'); - const searchIcon = newSearchToggle.querySelector('i'); - if (isActive) { - // Close search - searchInput.classList.remove('active'); - document.body.classList.remove('search-open'); - - // Change icon back to search - if (searchIcon) { - searchIcon.className = 'ti-search'; - } - - // Clear input - if (searchField) { - searchField.value = ''; - searchField.blur(); - } - - // Full-width search closed - } else { - // Open search - searchInput.classList.add('active'); - document.body.classList.add('search-open'); - - // Change icon to close - if (searchIcon) { - searchIcon.className = 'ti-close'; - } - - // Focus the input after a short delay - setTimeout(() => { - if (searchField) { - searchField.focus(); - // Search field focused - } - }, 100); - - // Full-width search opened - } - }); - - // Close search on escape - DOM.on(document, 'keydown', e => { - if (e.key === 'Escape' && searchInput.classList.contains('active')) { - searchInput.classList.remove('active'); - document.body.classList.remove('search-open'); - - // Reset icon - const searchIcon = newSearchToggle.querySelector('i'); - if (searchIcon) { - searchIcon.className = 'ti-search'; - } - - // Clear input - if (searchField) { - searchField.value = ''; - searchField.blur(); - } - - // Full-width search closed via escape - } - }); - - // Handle search input - DOM.on(searchField, 'keypress', e => { - if (e.key === 'Enter') { - e.preventDefault(); - const query = searchField.value.trim(); - if (query) { - // Search query submitted - // Implement your search logic here - - // For demo, close search after "searching" - searchInput.classList.remove('active'); - document.body.classList.remove('search-open'); - const searchIcon = newSearchToggle.querySelector('i'); - if (searchIcon) { - searchIcon.className = 'ti-search'; - } - searchField.value = ''; - searchField.blur(); - } - } - }); - - // Full-width search functionality initialized - } - } - } - - /** - * Get a component by name - */ - getComponent(name) { - return this.components.get(name); - } - - /** - * Check if app is ready - */ - isReady() { - return this.isInitialized; - } - - /** - * Destroy the application and clean up all resources - */ - destroy() { - logger.info('Destroying Adminator App'); - - // Clean up all event listeners - this.cleanupFunctions.forEach(cleanup => { - if (typeof cleanup === 'function') { - cleanup(); - } - }); - this.cleanupFunctions = []; - - // Destroy all components - this.components.forEach((component, name) => { - if (typeof component.destroy === 'function') { - component.destroy(); - logger.debug(`Component destroyed: ${name}`); - } - }); - this.components.clear(); - - // Cleanup performance observers - utils_performance.cleanup(); - this.isInitialized = false; - logger.info('Adminator App destroyed'); - } - - /** - * Refresh/reinitialize the application - */ - refresh() { - logger.info('Refreshing Adminator App'); - if (this.isInitialized) { - this.destroy(); - } - setTimeout(() => { - this.init(); - }, 100); - } -} - -// Initialize the application -const app = new AdminatorApp(); - -// Make app globally available for debugging -window.AdminatorApp = app; - -// Export for module usage -/* harmony default export */ const scripts_app = ((/* unused pure expression or super */ null && (app))); -;// ../assets/scripts/datatable/index.js -// DataTable implementation - -/* harmony default export */ const datatable = ((function () { - // Vanilla JS DataTable implementation - class VanillaDataTable { - constructor(element) { - let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - this.element = element; - this.options = { - sortable: true, - searchable: true, - pagination: true, - pageSize: 10, - ...options - }; - this.originalData = []; - this.filteredData = []; - this.currentPage = 1; - this.sortColumn = null; - this.sortDirection = 'asc'; - this.init(); - } - init() { - this.extractData(); - this.createControls(); - this.applyStyles(); - this.bindEvents(); - this.render(); - } - extractData() { - const rows = this.element.querySelectorAll('tbody tr'); - this.originalData = Array.from(rows).map(row => { - const cells = row.querySelectorAll('td'); - return Array.from(cells).map(cell => cell.textContent.trim()); - }); - this.filteredData = [...this.originalData]; - } - createControls() { - const wrapper = document.createElement('div'); - wrapper.className = 'datatable-wrapper'; - - // Create search input - if (this.options.searchable) { - const searchWrapper = document.createElement('div'); - searchWrapper.className = 'datatable-search'; - searchWrapper.innerHTML = ` - - `; - wrapper.appendChild(searchWrapper); - } - - // Create pagination info - if (this.options.pagination) { - const infoWrapper = document.createElement('div'); - infoWrapper.className = 'datatable-info'; - wrapper.appendChild(infoWrapper); - } - - // Wrap the table - this.element.parentNode.insertBefore(wrapper, this.element); - wrapper.appendChild(this.element); - - // Create pagination controls - if (this.options.pagination) { - const paginationWrapper = document.createElement('div'); - paginationWrapper.className = 'datatable-pagination'; - wrapper.appendChild(paginationWrapper); - } - this.wrapper = wrapper; - } - applyStyles() { - // Apply Bootstrap-like styles - this.element.classList.add('table', 'table-striped', 'table-bordered'); - - // Add custom styles - const style = document.createElement('style'); - style.textContent = ` - .datatable-wrapper { - margin: 20px 0; - } - - .datatable-search { - margin-bottom: 15px; - } - - .datatable-search input { - width: 250px; - display: inline-block; - margin-left: 5px; - } - - .datatable-info { - margin-top: 15px; - color: var(--c-text-muted, #6c757d); - font-size: 14px; - } - - .datatable-pagination { - margin-top: 15px; - display: flex; - justify-content: center; - } - - .datatable-pagination button { - background: var(--c-bkg-card, #fff); - border: 1px solid var(--c-border, #dee2e6); - color: var(--c-text-base, #333); - padding: 6px 12px; - margin: 0 2px; - cursor: pointer; - border-radius: 4px; - } - - .datatable-pagination button:hover { - background: var(--c-primary, #007bff); - color: white; - } - - .datatable-pagination button.active { - background: var(--c-primary, #007bff); - color: white; - } - - .datatable-pagination button:disabled { - opacity: 0.6; - cursor: not-allowed; - } - - .datatable-sort { - cursor: pointer; - user-select: none; - position: relative; - } - - .datatable-sort:hover { - background: var(--c-bkg-card, #f8f9fa); - } - - .datatable-sort::after { - content: '↕'; - position: absolute; - right: 8px; - opacity: 0.5; - } - - .datatable-sort.asc::after { - content: '↑'; - opacity: 1; - } - - .datatable-sort.desc::after { - content: '↓'; - opacity: 1; - } - `; - document.head.appendChild(style); - } - bindEvents() { - // Search functionality - if (this.options.searchable) { - const searchInput = this.wrapper.querySelector('.datatable-search input'); - searchInput.addEventListener('input', e => { - this.search(e.target.value); - }); - } - - // Sorting functionality - if (this.options.sortable) { - const headers = this.element.querySelectorAll('thead th'); - headers.forEach((header, index) => { - header.classList.add('datatable-sort'); - header.addEventListener('click', () => { - this.sort(index); - }); - }); - } - } - search(query) { - if (!query) { - this.filteredData = [...this.originalData]; - } else { - this.filteredData = this.originalData.filter(row => row.some(cell => cell.toLowerCase().includes(query.toLowerCase()))); - } - this.currentPage = 1; - this.render(); - } - sort(columnIndex) { - if (this.sortColumn === columnIndex) { - this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc'; - } else { - this.sortColumn = columnIndex; - this.sortDirection = 'asc'; - } - this.filteredData.sort((a, b) => { - const aVal = a[columnIndex]; - const bVal = b[columnIndex]; - - // Try to parse as numbers - const aNum = parseFloat(aVal); - const bNum = parseFloat(bVal); - let comparison = 0; - if (!isNaN(aNum) && !isNaN(bNum)) { - comparison = aNum - bNum; - } else { - comparison = aVal.localeCompare(bVal); - } - return this.sortDirection === 'asc' ? comparison : -comparison; - }); - this.updateSortHeaders(); - this.render(); - } - updateSortHeaders() { - const headers = this.element.querySelectorAll('thead th'); - headers.forEach((header, index) => { - header.classList.remove('asc', 'desc'); - if (index === this.sortColumn) { - header.classList.add(this.sortDirection); - } - }); - } - render() { - const tbody = this.element.querySelector('tbody'); - const startIndex = (this.currentPage - 1) * this.options.pageSize; - const endIndex = startIndex + this.options.pageSize; - const pageData = this.filteredData.slice(startIndex, endIndex); - - // Clear tbody - tbody.innerHTML = ''; - - // Add rows - pageData.forEach(rowData => { - const row = document.createElement('tr'); - rowData.forEach(cellData => { - const cell = document.createElement('td'); - cell.textContent = cellData; - row.appendChild(cell); - }); - tbody.appendChild(row); - }); - - // Update pagination - if (this.options.pagination) { - this.updatePagination(); - } - - // Update info - this.updateInfo(); - } - updatePagination() { - const totalPages = Math.ceil(this.filteredData.length / this.options.pageSize); - const paginationWrapper = this.wrapper.querySelector('.datatable-pagination'); - paginationWrapper.innerHTML = ''; - if (totalPages <= 1) return; - - // Previous button - const prevBtn = document.createElement('button'); - prevBtn.textContent = 'Previous'; - prevBtn.disabled = this.currentPage === 1; - prevBtn.addEventListener('click', () => { - if (this.currentPage > 1) { - this.currentPage--; - this.render(); - } - }); - paginationWrapper.appendChild(prevBtn); - - // Page numbers - for (let i = 1; i <= totalPages; i++) { - const pageBtn = document.createElement('button'); - pageBtn.textContent = i; - pageBtn.classList.toggle('active', i === this.currentPage); - pageBtn.addEventListener('click', () => { - this.currentPage = i; - this.render(); - }); - paginationWrapper.appendChild(pageBtn); - } - - // Next button - const nextBtn = document.createElement('button'); - nextBtn.textContent = 'Next'; - nextBtn.disabled = this.currentPage === totalPages; - nextBtn.addEventListener('click', () => { - if (this.currentPage < totalPages) { - this.currentPage++; - this.render(); - } - }); - paginationWrapper.appendChild(nextBtn); - } - updateInfo() { - const infoWrapper = this.wrapper.querySelector('.datatable-info'); - if (!infoWrapper) return; - const startIndex = (this.currentPage - 1) * this.options.pageSize + 1; - const endIndex = Math.min(startIndex + this.options.pageSize - 1, this.filteredData.length); - const total = this.filteredData.length; - infoWrapper.textContent = `Showing ${startIndex} to ${endIndex} of ${total} entries`; - } - destroy() { - if (this.wrapper && this.wrapper.parentNode) { - this.wrapper.parentNode.replaceChild(this.element, this.wrapper); - } - } - } - - // Initialize DataTable - const initializeDataTable = () => { - const tableElement = document.getElementById('dataTable'); - if (tableElement) { - // Clean up existing instance - if (tableElement.dataTableInstance) { - tableElement.dataTableInstance.destroy(); - } - - // Create new instance - const dataTable = new VanillaDataTable(tableElement, { - sortable: true, - searchable: true, - pagination: true, - pageSize: 10 - }); - - // Store instance for cleanup - tableElement.dataTableInstance = dataTable; - } - }; - - // Initialize on load - initializeDataTable(); - - // Reinitialize on theme change - window.addEventListener('adminator:themeChanged', () => { - setTimeout(initializeDataTable, 100); - }); - - // Cleanup on page unload - window.addEventListener('beforeunload', () => { - const tableElement = document.getElementById('dataTable'); - if (tableElement && tableElement.dataTableInstance) { - tableElement.dataTableInstance.destroy(); - } - }); - - // Return public API - return { - init: initializeDataTable, - VanillaDataTable - }; -})()); -;// ../assets/scripts/index.js -/** - * Adminator Admin Template - * Modern Entry Point - Phase 2 Modernization - */ - -// Import the modern application - - -// Legacy imports that haven't been modernized yet -// These will be gradually replaced in future iterations - -// import './datepicker'; // REMOVED: Replaced with modern day.js implementation in app.js - -// Note: The following have been modernized and are now handled by app.js: -// - sidebar (now Sidebar component) -// - charts (now ChartComponent using Chart.js instead of jQuery Sparkline) -// - Basic DOM utilities (now DOM utils) - -/***/ } - -}, -/******/ __webpack_require__ => { // webpackRuntimeModules -/******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -/******/ __webpack_require__.O(0, [707,311,96], () => (__webpack_exec__(170))); -/******/ var __webpack_exports__ = __webpack_require__.O(); -/******/ } -]); \ No newline at end of file diff --git a/public/adminator-erp-theme-two-pages-split-files/runtime.js b/public/adminator-erp-theme-two-pages-split-files/runtime.js deleted file mode 100644 index 8bdf499..0000000 --- a/public/adminator-erp-theme-two-pages-split-files/runtime.js +++ /dev/null @@ -1,151 +0,0 @@ -/******/ (() => { // webpackBootstrap -/******/ "use strict"; -/******/ var __webpack_modules__ = ({}); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = __webpack_modules__; -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/chunk loaded */ -/******/ (() => { -/******/ var deferred = []; -/******/ __webpack_require__.O = (result, chunkIds, fn, priority) => { -/******/ if(chunkIds) { -/******/ priority = priority || 0; -/******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1]; -/******/ deferred[i] = [chunkIds, fn, priority]; -/******/ return; -/******/ } -/******/ var notFulfilled = Infinity; -/******/ for (var i = 0; i < deferred.length; i++) { -/******/ var [chunkIds, fn, priority] = deferred[i]; -/******/ var fulfilled = true; -/******/ for (var j = 0; j < chunkIds.length; j++) { -/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) { -/******/ chunkIds.splice(j--, 1); -/******/ } else { -/******/ fulfilled = false; -/******/ if(priority < notFulfilled) notFulfilled = priority; -/******/ } -/******/ } -/******/ if(fulfilled) { -/******/ deferred.splice(i--, 1) -/******/ var r = fn(); -/******/ if (r !== undefined) result = r; -/******/ } -/******/ } -/******/ return result; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/compat get default export */ -/******/ (() => { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = (module) => { -/******/ var getter = module && module.__esModule ? -/******/ () => (module['default']) : -/******/ () => (module); -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ (() => { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = (exports, definition) => { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ })(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ (() => { -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) -/******/ })(); -/******/ -/******/ /* webpack/runtime/jsonp chunk loading */ -/******/ (() => { -/******/ // no baseURI -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded -/******/ var installedChunks = { -/******/ 121: 0 -/******/ }; -/******/ -/******/ // no chunk on demand loading -/******/ -/******/ // no prefetching -/******/ -/******/ // no preloaded -/******/ -/******/ // no HMR -/******/ -/******/ // no HMR manifest -/******/ -/******/ __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0); -/******/ -/******/ // install a JSONP callback for chunk loading -/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { -/******/ var [chunkIds, moreModules, runtime] = data; -/******/ // add "moreModules" to the modules object, -/******/ // then flag all "chunkIds" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0; -/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { -/******/ for(moduleId in moreModules) { -/******/ if(__webpack_require__.o(moreModules, moduleId)) { -/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(runtime) var result = runtime(__webpack_require__); -/******/ } -/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { -/******/ installedChunks[chunkId][0](); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ return __webpack_require__.O(result); -/******/ } -/******/ -/******/ var chunkLoadingGlobal = self["webpackChunk"] = self["webpackChunk"] || []; -/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); -/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); -/******/ })(); -/******/ -/************************************************************************/ -/******/ -/******/ -/******/ })() -; \ No newline at end of file diff --git a/public/adminator-erp-theme-two-pages-split-files/style.css b/public/adminator-erp-theme-two-pages-split-files/style.css deleted file mode 100644 index 92f120d..0000000 --- a/public/adminator-erp-theme-two-pages-split-files/style.css +++ /dev/null @@ -1,302 +0,0 @@ -:root { - /* Modern light theme - soft blue-gray tones */ - --c-bkg-body: #f0f4f8; - --c-bkg-card: #ffffff; - --c-bkg-sidebar: #ffffff; - --c-bkg-hover: #f8fafc; - - --c-text-base: #1e293b; - --c-text-muted: #64748b; - --c-text-light: #94a3b8; - - /* Icon colors - modern muted tones */ - --c-icon: #64748b; - --c-icon-hover: #6366f1; - --c-icon-active: #4f46e5; - --c-icon-muted: #94a3b8; - - /* Modern border with subtle blue tint */ - --c-border: #e2e8f0; - --c-border-light: #f1f5f9; - - /* Refined brand colors - modern indigo */ - --c-primary: #6366f1; - --c-primary-light: #818cf8; - --c-primary-dark: #4f46e5; - --c-success: #10b981; - --c-warning: #f59e0b; - --c-danger: #ef4444; - --c-info: #0ea5e9; - - /* Modern shadows */ - --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05); - --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.07), 0 2px 4px -2px rgb(0 0 0 / 0.05); - --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.08), 0 4px 6px -4px rgb(0 0 0 / 0.05); - --shadow-card: 0 1px 3px 0 rgb(0 0 0 / 0.04), 0 1px 2px -1px rgb(0 0 0 / 0.04); - - /* Border radius */ - --radius-sm: 6px; - --radius-md: 10px; - --radius-lg: 14px; - --radius-xl: 20px; - - /* Vector map colors */ - --vmap-bg-color: #ffffff; - --vmap-border-color: #ffffff; - --vmap-region-color: #e4ecef; - --vmap-marker-fill: #ffffff; - --vmap-marker-stroke: #000000; - --vmap-hover-color: #ffffff; - --vmap-selected-color: #c9dfaf; - --vmap-scale-start: #03a9f3; - --vmap-scale-end: #02a7f1; - --vmap-scale-light: #b6d6ff; - --vmap-scale-dark: #005ace; - - /* Skycons */ - --skycons-color: #ff6849; - - /* Sparkline colors - more vibrant */ - --sparkline-success: #10b981; - --sparkline-purple: #8b5cf6; - --sparkline-info: #0ea5e9; - --sparkline-danger: #ef4444; - --sparkline-light: #a5b4fc; - - /* Loader */ - --loader-bg: #ffffff; - --spinner-bg: #333333; - - /* Google Maps */ - --gmap-landscape-hue: #FFBB00; - --gmap-highway-hue: #FFC200; - --gmap-road-hue: #FF0300; - --gmap-water-hue: #0078FF; - --gmap-poi-hue: #00FF6A; -} - -[data-theme="dark"] { - /* Modern dark theme - refined dark slate */ - --c-bkg-body: #0f172a; - --c-bkg-card: #1e293b; - --c-bkg-sidebar: #1e293b; - --c-bkg-hover: #334155; - - --c-text-base: #f1f5f9; - --c-text-muted: #94a3b8; - --c-text-light: #64748b; - - /* Icon colors - dark theme */ - --c-icon: #94a3b8; - --c-icon-hover: #a5b4fc; - --c-icon-active: #818cf8; - --c-icon-muted: #64748b; - - --c-border: #334155; - --c-border-light: #475569; - - /* Same primary for consistency, adjusted for dark */ - --c-primary: #818cf8; - --c-primary-light: #a5b4fc; - --c-primary-dark: #6366f1; - --c-success: #34d399; - --c-warning: #fbbf24; - --c-danger: #f87171; - --c-info: #38bdf8; - - /* Dark mode shadows */ - --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.3); - --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.4), 0 2px 4px -2px rgb(0 0 0 / 0.3); - --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.5), 0 4px 6px -4px rgb(0 0 0 / 0.4); - --shadow-card: 0 1px 3px 0 rgb(0 0 0 / 0.2), 0 1px 2px -1px rgb(0 0 0 / 0.2); - - /* Vector map colors - dark theme */ - --vmap-bg-color: #1e293b; - --vmap-border-color: #334155; - --vmap-region-color: #334155; - --vmap-marker-fill: #f1f5f9; - --vmap-marker-stroke: #94a3b8; - --vmap-hover-color: #0f172a; - --vmap-selected-color: #475569; - --vmap-scale-start: #6366f1; - --vmap-scale-end: #4f46e5; - --vmap-scale-light: #4338ca; - --vmap-scale-dark: #a5b4fc; - - /* Skycons - dark theme */ - --skycons-color: #fb923c; - - /* Sparkline colors - dark theme */ - --sparkline-success: #34d399; - --sparkline-purple: #a78bfa; - --sparkline-info: #38bdf8; - --sparkline-danger: #f87171; - --sparkline-light: #a5b4fc; - - /* Loader - dark theme */ - --loader-bg: #0f172a; - --spinner-bg: #f1f5f9; - - /* Google Maps - dark theme */ - --gmap-landscape-hue: #D4AC0D; - --gmap-highway-hue: #E6AC00; - --gmap-road-hue: #CC2900; - --gmap-water-hue: #1B4F72; - --gmap-poi-hue: #148F77; -} - -/*! - * Bootstrap v5.3.8 (https://getbootstrap.com/) - * Copyright 2011-2025 The Bootstrap Authors - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-primary-rgb: 13, 110, 253;--bs-secondary-rgb: 108, 117, 125;--bs-success-rgb: 25, 135, 84;--bs-info-rgb: 13, 202, 240;--bs-warning-rgb: 255, 193, 7;--bs-danger-rgb: 220, 53, 69;--bs-light-rgb: 248, 249, 250;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: rgb(5.2, 44, 101.2);--bs-secondary-text-emphasis: rgb(43.2, 46.8, 50);--bs-success-text-emphasis: rgb(10, 54, 33.6);--bs-info-text-emphasis: rgb(5.2, 80.8, 96);--bs-warning-text-emphasis: rgb(102, 77.2, 2.8);--bs-danger-text-emphasis: rgb(88, 21.2, 27.6);--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: rgb(206.6, 226, 254.6);--bs-secondary-bg-subtle: rgb(225.6, 227.4, 229);--bs-success-bg-subtle: rgb(209, 231, 220.8);--bs-info-bg-subtle: rgb(206.6, 244.4, 252);--bs-warning-bg-subtle: rgb(255, 242.6, 205.4);--bs-danger-bg-subtle: rgb(248, 214.6, 217.8);--bs-light-bg-subtle: rgb(251.5, 252, 252.5);--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: rgb(158.2, 197, 254.2);--bs-secondary-border-subtle: rgb(196.2, 199.8, 203);--bs-success-border-subtle: rgb(163, 207, 186.6);--bs-info-border-subtle: rgb(158.2, 233.8, 249);--bs-warning-border-subtle: rgb(255, 230.2, 155.8);--bs-danger-border-subtle: rgb(241, 174.2, 180.6);--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: system-ui,Segoe UI,Ubuntu,Cantarell,Noto Sans, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0d6efd;--bs-link-color-rgb: 13, 110, 253;--bs-link-decoration: underline;--bs-link-hover-color: rgb(10.4, 88, 202.4);--bs-link-hover-color-rgb: 10, 88, 202;--bs-code-color: #d63384;--bs-highlight-color: #212529;--bs-highlight-bg: rgb(255, 242.6, 205.4);--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, 0.175);--bs-border-radius: 0.375rem;--bs-border-radius-sm: 0.25rem;--bs-border-radius-lg: 0.5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width: 0.25rem;--bs-focus-ring-opacity: 0.25;--bs-focus-ring-color: rgba(13, 110, 253, 0.25);--bs-form-valid-color: #198754;--bs-form-valid-border-color: #198754;--bs-form-invalid-color: #dc3545;--bs-form-invalid-border-color: #dc3545}[data-bs-theme=dark]{--csstools-color-scheme--light: ;color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: rgb(42.5, 47.5, 52.5);--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: rgb(109.8, 168, 253.8);--bs-secondary-text-emphasis: rgb(166.8, 172.2, 177);--bs-success-text-emphasis: rgb(117, 183, 152.4);--bs-info-text-emphasis: rgb(109.8, 223.2, 246);--bs-warning-text-emphasis: rgb(255, 217.8, 106.2);--bs-danger-text-emphasis: rgb(234, 133.8, 143.4);--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: rgb(2.6, 22, 50.6);--bs-secondary-bg-subtle: rgb(21.6, 23.4, 25);--bs-success-bg-subtle: rgb(5, 27, 16.8);--bs-info-bg-subtle: rgb(2.6, 40.4, 48);--bs-warning-bg-subtle: rgb(51, 38.6, 1.4);--bs-danger-bg-subtle: rgb(44, 10.6, 13.8);--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: rgb(7.8, 66, 151.8);--bs-secondary-border-subtle: rgb(64.8, 70.2, 75);--bs-success-border-subtle: rgb(15, 81, 50.4);--bs-info-border-subtle: rgb(7.8, 121.2, 144);--bs-warning-border-subtle: rgb(153, 115.8, 4.2);--bs-danger-border-subtle: rgb(132, 31.8, 41.4);--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: rgb(109.8, 168, 253.8);--bs-link-hover-color: rgb(138.84, 185.4, 254.04);--bs-link-color-rgb: 110, 168, 254;--bs-link-hover-color-rgb: 139, 185, 254;--bs-code-color: rgb(230.4, 132.6, 181.2);--bs-highlight-color: #dee2e6;--bs-highlight-bg: rgb(102, 77.2, 2.8);--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, 0.15);--bs-form-valid-color: rgb(117, 183, 152.4);--bs-form-valid-border-color: rgb(117, 183, 152.4);--bs-form-invalid-color: rgb(234, 133.8, 143.4);--bs-form-invalid-border-color: rgb(234, 133.8, 143.4)}*,*::before,*::after{box-sizing:border-box}@media(prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media(min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + 0.9vw)}@media(min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + 0.6vw)}@media(min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + 0.3vw)}@media(min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}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:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:0.875em}mark,.mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:0.75em;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));-webkit-text-decoration:underline;text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;-webkit-text-decoration:none;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:0.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:0.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:0.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}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,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none !important}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}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:calc(1.275rem + 0.3vw)}@media(min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media(min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-weight:300;line-height:1.2;font-size:calc(1.575rem + 3.9vw)}@media(min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-weight:300;line-height:1.2;font-size:calc(1.525rem + 3.3vw)}@media(min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media(min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-weight:300;line-height:1.2;font-size:calc(1.425rem + 2.1vw)}@media(min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-weight:300;line-height:1.2;font-size:calc(1.375rem + 1.5vw)}@media(min-width: 1200px){.display-6{font-size:2.5rem}}.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:.5rem}.initialism{font-size:0.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:0.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:0.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);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}}@media(min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1*var(--bs-gutter-y));margin-right:calc(-0.5*var(--bs-gutter-x));margin-left:calc(-0.5*var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.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%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: 0.25rem}.g-1,.gy-1{--bs-gutter-y: 0.25rem}.g-2,.gx-2{--bs-gutter-x: 0.5rem}.g-2,.gy-2{--bs-gutter-y: 0.5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media(min-width: 576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.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%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: 0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: 0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: 0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: 0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media(min-width: 768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.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%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: 0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y: 0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x: 0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y: 0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media(min-width: 992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.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%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: 0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: 0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: 0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: 0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media(min-width: 1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.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%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: 0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: 0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: 0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: 0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media(min-width: 1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: 0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: 0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: 0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: 0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-emphasis-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-emphasis-color);--bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color: var(--bs-emphasis-color);--bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color: var(--bs-emphasis-color);--bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width)*2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: rgb(206.6, 226, 254.6);--bs-table-border-color: rgb(165.28, 180.8, 203.68);--bs-table-striped-bg: rgb(196.27, 214.7, 241.87);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(185.94, 203.4, 229.14);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(191.105, 209.05, 235.505);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: rgb(225.6, 227.4, 229);--bs-table-border-color: rgb(180.48, 181.92, 183.2);--bs-table-striped-bg: rgb(214.32, 216.03, 217.55);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(203.04, 204.66, 206.1);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(208.68, 210.345, 211.825);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: rgb(209, 231, 220.8);--bs-table-border-color: rgb(167.2, 184.8, 176.64);--bs-table-striped-bg: rgb(198.55, 219.45, 209.76);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(188.1, 207.9, 198.72);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(193.325, 213.675, 204.24);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: rgb(206.6, 244.4, 252);--bs-table-border-color: rgb(165.28, 195.52, 201.6);--bs-table-striped-bg: rgb(196.27, 232.18, 239.4);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(185.94, 219.96, 226.8);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(191.105, 226.07, 233.1);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: rgb(255, 242.6, 205.4);--bs-table-border-color: rgb(204, 194.08, 164.32);--bs-table-striped-bg: rgb(242.25, 230.47, 195.13);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(229.5, 218.34, 184.86);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(235.875, 224.405, 189.995);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: rgb(248, 214.6, 217.8);--bs-table-border-color: rgb(198.4, 171.68, 174.24);--bs-table-striped-bg: rgb(235.6, 203.87, 206.91);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(223.2, 193.14, 196.02);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(229.4, 198.505, 201.465);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: rgb(198.4, 199.2, 200);--bs-table-striped-bg: rgb(235.6, 236.55, 237.5);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(223.2, 224.1, 225);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(229.4, 230.325, 231.25);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: rgb(77.4, 80.6, 83.8);--bs-table-striped-bg: rgb(44.1, 47.9, 51.7);--bs-table-striped-color: #fff;--bs-table-active-bg: rgb(55.2, 58.8, 62.4);--bs-table-active-color: #fff;--bs-table-hover-bg: rgb(49.65, 53.35, 57.05);--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(0.375rem + var(--bs-border-width));padding-bottom:calc(0.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(0.5rem + var(--bs-border-width));padding-bottom:calc(0.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(0.25rem + var(--bs-border-width));padding-bottom:calc(0.25rem + var(--bs-border-width));font-size:0.875rem}.form-text{margin-top:.25rem;font-size:0.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:rgb(134,182.5,254);outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-0.375rem -0.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:rgba(0,0,0,0);border:solid rgba(0,0,0,0);border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:0.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-0.25rem -0.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-0.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0 !important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23343a40%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:rgb(134,182.5,254);outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23dee2e6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:rgb(134,182.5,254);outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27m6 10 3 3 6-6%27/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%272%27 fill=%27%23fff%27/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27M6 10h8%27/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%280, 0, 0, 0.25%29%27/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgb%28134, 182.5, 254%29%27/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%23fff%27/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%28255, 255, 255, 0.25%29%27/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgba(0,0,0,0)}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-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}@media(prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:rgb(182.4,211.5,254.4)}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:var(--bs-secondary-bg);border-color:rgba(0,0,0,0);border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius: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}@media(prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:rgb(182.4,211.5,254.4)}.form-range::-moz-range-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:var(--bs-secondary-bg);border-color:rgba(0,0,0,0);border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb), 0.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder, .form-floating>.form-control-plaintext::-moz-placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control:not(:-moz-placeholder), .form-floating>.form-control-plaintext:not(:-moz-placeholder){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:.75rem}.form-floating>.form-control:not(:-moz-placeholder)~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>textarea:not(:-moz-placeholder)~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>textarea:focus~label::after,.form-floating>textarea:not(:placeholder-shown)~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label::after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(-1*var(--bs-border-width));border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.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:var(--bs-form-valid-border-color);padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.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.1%27/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb), 0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.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.1%27/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb), 0.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + 0.75rem))}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb), 0.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.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:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb), 0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb), 0.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + 0.75rem))}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb), 0.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: 0.75rem;--bs-btn-padding-y: 0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: var(--bs-border-radius);--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity: 0.65;--bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;-webkit-text-decoration:none;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgb(11.05, 93.5, 215.05);--bs-btn-hover-border-color: rgb(10.4, 88, 202.4);--bs-btn-focus-shadow-rgb: 49, 132, 253;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgb(10.4, 88, 202.4);--bs-btn-active-border-color: rgb(9.75, 82.5, 189.75);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0d6efd;--bs-btn-disabled-border-color: #0d6efd}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgb(91.8, 99.45, 106.25);--bs-btn-hover-border-color: rgb(86.4, 93.6, 100);--bs-btn-focus-shadow-rgb: 130, 138, 145;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgb(86.4, 93.6, 100);--bs-btn-active-border-color: rgb(81, 87.75, 93.75);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6c757d;--bs-btn-disabled-border-color: #6c757d}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgb(21.25, 114.75, 71.4);--bs-btn-hover-border-color: rgb(20, 108, 67.2);--bs-btn-focus-shadow-rgb: 60, 153, 110;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgb(20, 108, 67.2);--bs-btn-active-border-color: rgb(18.75, 101.25, 63);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #198754;--bs-btn-disabled-border-color: #198754}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: rgb(49.3, 209.95, 242.25);--bs-btn-hover-border-color: rgb(37.2, 207.3, 241.5);--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: rgb(61.4, 212.6, 243);--bs-btn-active-border-color: rgb(37.2, 207.3, 241.5);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: rgb(255, 202.3, 44.2);--bs-btn-hover-border-color: rgb(255, 199.2, 31.8);--bs-btn-focus-shadow-rgb: 217, 164, 6;--bs-btn-active-color: #000;--bs-btn-active-bg: rgb(255, 205.4, 56.6);--bs-btn-active-border-color: rgb(255, 199.2, 31.8);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffc107;--bs-btn-disabled-border-color: #ffc107}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgb(187, 45.05, 58.65);--bs-btn-hover-border-color: rgb(176, 42.4, 55.2);--bs-btn-focus-shadow-rgb: 225, 83, 97;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgb(176, 42.4, 55.2);--bs-btn-active-border-color: rgb(165, 39.75, 51.75);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #dc3545;--bs-btn-disabled-border-color: #dc3545}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: rgb(210.8, 211.65, 212.5);--bs-btn-hover-border-color: rgb(198.4, 199.2, 200);--bs-btn-focus-shadow-rgb: 211, 212, 213;--bs-btn-active-color: #000;--bs-btn-active-bg: rgb(198.4, 199.2, 200);--bs-btn-active-border-color: rgb(186, 186.75, 187.5);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgb(66.3, 69.7, 73.1);--bs-btn-hover-border-color: rgb(55.2, 58.8, 62.4);--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgb(77.4, 80.6, 83.8);--bs-btn-active-border-color: rgb(55.2, 58.8, 62.4);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-primary{--bs-btn-color: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0d6efd;--bs-btn-hover-border-color: #0d6efd;--bs-btn-focus-shadow-rgb: 13, 110, 253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0d6efd;--bs-btn-active-border-color: #0d6efd;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #0d6efd;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0d6efd;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c757d;--bs-btn-hover-border-color: #6c757d;--bs-btn-focus-shadow-rgb: 108, 117, 125;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6c757d;--bs-btn-active-border-color: #6c757d;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6c757d;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #198754;--bs-btn-hover-border-color: #198754;--bs-btn-focus-shadow-rgb: 25, 135, 84;--bs-btn-active-color: #fff;--bs-btn-active-bg: #198754;--bs-btn-active-border-color: #198754;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #198754;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #198754;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffc107;--bs-btn-hover-border-color: #ffc107;--bs-btn-focus-shadow-rgb: 255, 193, 7;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffc107;--bs-btn-active-border-color: #ffc107;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #ffc107;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffc107;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #dc3545;--bs-btn-hover-border-color: #dc3545;--bs-btn-focus-shadow-rgb: 220, 53, 69;--bs-btn-active-color: #fff;--bs-btn-active-bg: #dc3545;--bs-btn-active-border-color: #dc3545;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #dc3545;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dc3545;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248, 249, 250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 49, 132, 253;-webkit-text-decoration:underline;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: 0.5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: 0.25rem;--bs-btn-padding-x: 0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.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;transition:height .35s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid rgba(0,0,0,0);border-bottom:0;border-left:.3em solid rgba(0,0,0,0)}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: 0.5rem;--bs-dropdown-spacer: 0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: 0.5rem;--bs-dropdown-box-shadow: var(--bs-box-shadow);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: 0.25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: 0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media(min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid rgba(0,0,0,0);border-bottom:.3em solid;border-left:.3em solid rgba(0,0,0,0)}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:0;border-bottom:.3em solid rgba(0,0,0,0);border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:.3em solid;border-bottom:.3em solid rgba(0,0,0,0)}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background-color:rgba(0,0,0,0);border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);-webkit-text-decoration:none;text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:rgba(0,0,0,0)}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:0.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.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-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.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{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(-1*var(--bs-border-width))}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.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:calc(-1*var(--bs-border-width))}.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:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: 0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);-webkit-text-decoration:none;text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1*var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid rgba(0,0,0,0);border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1*var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: 0.125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid rgba(0,0,0,0)}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-grow:1;flex-basis:0;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: 0.5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: 0.3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: 0.5rem;--bs-navbar-toggler-padding-y: 0.25rem;--bs-navbar-toggler-padding-x: 0.75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%2833, 37, 41, 0.75%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: 0.25rem;--bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);-webkit-text-decoration:none;text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: 0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:rgba(0,0,0,0);border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media(prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{-webkit-text-decoration:none;text-decoration:none}.navbar-toggler:focus{-webkit-text-decoration:none;text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media(min-width: 576px){.navbar-expand-sm{flex-wrap: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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.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}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 768px){.navbar-expand-md{flex-wrap: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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.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}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 992px){.navbar-expand-lg{flex-wrap: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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.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}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1200px){.navbar-expand-xl{flex-wrap: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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.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-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, 0.55);--bs-navbar-hover-color: rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.55%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.55%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: 0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: 0.5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: 0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.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:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-0.5*var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-0.5*var(--bs-card-cap-padding-x));margin-bottom:calc(-1*var(--bs-card-cap-padding-y));margin-left:calc(-0.5*var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-0.5*var(--bs-card-cap-padding-x));margin-left:calc(-0.5*var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@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}}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-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, border-radius 0.15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27 stroke=%27%23212529%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3e%3cpath d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27 stroke=%27rgb%285.2, 44, 101.2%29%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3e%3cpath d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media(prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1*var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media(prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27rgb%28109.8, 168, 253.8%29%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708%27/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27rgb%28109.8, 168, 253.8%29%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708%27/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: var(--bs-secondary-color);--bs-breadcrumb-item-padding-x: 0.5rem;--bs-breadcrumb-item-active-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: 0.75rem;--bs-pagination-padding-y: 0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: var(--bs-body-bg);--bs-pagination-border-width: var(--bs-border-width);--bs-pagination-border-color: var(--bs-border-color);--bs-pagination-border-radius: var(--bs-border-radius);--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: var(--bs-tertiary-bg);--bs-pagination-hover-border-color: var(--bs-border-color);--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: var(--bs-secondary-bg);--bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0d6efd;--bs-pagination-active-border-color: #0d6efd;--bs-pagination-disabled-color: var(--bs-secondary-color);--bs-pagination-disabled-bg: var(--bs-secondary-bg);--bs-pagination-disabled-border-color: var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);-webkit-text-decoration:none;text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1*var(--bs-border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: 0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius: var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x: 0.5rem;--bs-pagination-padding-y: 0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius: var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x: 0.65em;--bs-badge-padding-y: 0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg: var(--bs-secondary-bg);--bs-progress-border-radius: var(--bs-border-radius);--bs-progress-box-shadow: var(--bs-box-shadow-inset);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0d6efd;--bs-progress-bar-transition: width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@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:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: var(--bs-body-color);--bs-list-group-bg: var(--bs-body-bg);--bs-list-group-border-color: var(--bs-border-color);--bs-list-group-border-width: var(--bs-border-width);--bs-list-group-border-radius: var(--bs-border-radius);--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: 0.5rem;--bs-list-group-action-color: var(--bs-secondary-color);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);--bs-list-group-action-active-color: var(--bs-body-color);--bs-list-group-action-active-bg: var(--bs-secondary-bg);--bs-list-group-disabled-color: var(--bs-secondary-color);--bs-list-group-disabled-bg: var(--bs-body-bg);--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0d6efd;--bs-list-group-active-border-color: #0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);-webkit-text-decoration:none;text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.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:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1*var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):hover,.list-group-item-action:not(.active):focus{z-index:1;color:var(--bs-list-group-action-hover-color);-webkit-text-decoration:none;text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:not(.active):active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23000%27%3e%3cpath d=%27M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414%27/%3e%3c/svg%3e");--bs-btn-close-opacity: 0.5;--bs-btn-close-hover-opacity: 0.75;--bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: 0.25;box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:rgba(0,0,0,0) var(--bs-btn-close-bg) center/1em auto no-repeat;filter:var(--bs-btn-close-filter);border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);-webkit-text-decoration:none;text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{--bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: 0.75rem;--bs-toast-padding-y: 0.5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-0.5*var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: 0.5rem;--bs-modal-color: var(--bs-body-color);--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: var(--bs-box-shadow-sm);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: 0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translate(0, -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{height:calc(100% - var(--bs-modal-margin)*2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin)*2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: 0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y)*.5) calc(var(--bs-modal-header-padding-x)*.5);margin-top:calc(-0.5*var(--bs-modal-header-padding-y));margin-right:calc(-0.5*var(--bs-modal-header-padding-x));margin-bottom:calc(-0.5*var(--bs-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap)*.5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap)*.5)}@media(min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media(min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media(min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media(max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media(max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media(max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media(max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media(max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: 0.5rem;--bs-tooltip-padding-y: 0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color: var(--bs-body-bg);--bs-tooltip-bg: var(--bs-emphasis-color);--bs-tooltip-border-radius: var(--bs-border-radius);--bs-tooltip-opacity: 0.9;--bs-tooltip-arrow-width: 0.8rem;--bs-tooltip-arrow-height: 0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;-webkit-text-decoration:none;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1*var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1*var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1*var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1*var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width)*.5) 0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size:0.875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: var(--bs-box-shadow);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: 0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: 0.5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;-webkit-text-decoration:none;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:rgba(0,0,0,0);border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{border-width:0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-0.5*var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width)*.5) 0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.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 .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-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{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-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{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;filter:var(--bs-carousel-control-icon-filter);border:0;opacity:.5;transition:opacity .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;-webkit-text-decoration:none;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0%27/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")*/}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708%27/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")*/}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid rgba(0,0,0,0);border-bottom:10px solid rgba(0,0,0,0);opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg: #000;--bs-carousel-caption-color: #000;--bs-carousel-control-icon-filter: invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg: #fff;--bs-carousel-caption-color: #fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg: #000;--bs-carousel-caption-color: #000;--bs-carousel-control-icon-filter: invert(1) grayscale(100)}.spinner-grow,.spinner-border{display:inline-block;flex-shrink:0;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -0.125em;--bs-spinner-border-width: 0.25em;--bs-spinner-animation-speed: 0.75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:rgba(0,0,0,0)}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: 0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -0.125em;--bs-spinner-animation-speed: 0.75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media(prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);--bs-offcanvas-transition: transform 0.3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}@media(max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 575.98px)and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media(max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media(min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 767.98px)and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media(max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media(min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 991.98px)and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media(max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media(min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 1199.98px)and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media(max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media(min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 1399.98px)and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media(max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media(min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media(prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y)*.5) calc(var(--bs-offcanvas-padding-x)*.5);margin-top:calc(-0.5*var(--bs-offcanvas-padding-y));margin-right:calc(-0.5*var(--bs-offcanvas-padding-x));margin-bottom:calc(-0.5*var(--bs-offcanvas-padding-y));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff !important;background-color:RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#fff !important;background-color:RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#000 !important;background-color:RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#000 !important;background-color:RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important}.link-primary{color:RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-primary:hover,.link-primary:focus{color:RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important}.link-secondary{color:RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-secondary:hover,.link-secondary:focus{color:RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important}.link-success{color:RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-success:hover,.link-success:focus{color:RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important}.link-info{color:RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-info:hover,.link-info:focus{color:RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important}.link-warning{color:RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-warning:hover,.link-warning:focus{color:RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important}.link-danger{color:RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-danger:hover,.link-danger:focus{color:RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important}.link-light{color:RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-light:hover,.link-light:focus{color:RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important}.link-dark{color:RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-dark:hover,.link-dark:focus{color:RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media(prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(0.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.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}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media(min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute !important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.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}.float-start{float:left !important}.float-end{float:right !important}.float-none{float:none !important}.object-fit-contain{object-fit:contain !important}.object-fit-cover{object-fit:cover !important}.object-fit-fill{object-fit:fill !important}.object-fit-scale{object-fit:scale-down !important}.object-fit-none{object-fit:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.75 !important}.opacity-100{opacity:1 !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.overflow-x-auto{overflow-x:auto !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-x-visible{overflow-x:visible !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-auto{overflow-y:auto !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-y-visible{overflow-y:visible !important}.overflow-y-scroll{overflow-y:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-inline-grid{display:inline-grid !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}.d-none{display:none !important}.shadow{box-shadow:var(--bs-box-shadow) !important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm) !important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg) !important}.shadow-none{box-shadow:none !important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-0{border:0 !important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-top-0{border-top:0 !important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-start-0{border-left:0 !important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle) !important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle) !important}.border-success-subtle{border-color:var(--bs-success-border-subtle) !important}.border-info-subtle{border-color:var(--bs-info-border-subtle) !important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle) !important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle) !important}.border-light-subtle{border-color:var(--bs-light-border-subtle) !important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle) !important}.border-1{border-width:1px !important}.border-2{border-width:2px !important}.border-3{border-width:3px !important}.border-4{border-width:4px !important}.border-5{border-width:5px !important}.border-opacity-10{--bs-border-opacity: 0.1}.border-opacity-25{--bs-border-opacity: 0.25}.border-opacity-50{--bs-border-opacity: 0.5}.border-opacity-75{--bs-border-opacity: 0.75}.border-opacity-100{--bs-border-opacity: 1}.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}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !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}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.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-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}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !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}.justify-content-evenly{justify-content:space-evenly !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}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:3rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:3rem !important}.ms-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.row-gap-0{row-gap:0 !important}.row-gap-1{row-gap:.25rem !important}.row-gap-2{row-gap:.5rem !important}.row-gap-3{row-gap:1rem !important}.row-gap-4{row-gap:1.5rem !important}.row-gap-5{row-gap:3rem !important}.column-gap-0{-moz-column-gap:0 !important;column-gap:0 !important}.column-gap-1{-moz-column-gap:.25rem !important;column-gap:.25rem !important}.column-gap-2{-moz-column-gap:.5rem !important;column-gap:.5rem !important}.column-gap-3{-moz-column-gap:1rem !important;column-gap:1rem !important}.column-gap-4{-moz-column-gap:1.5rem !important;column-gap:1.5rem !important}.column-gap-5{-moz-column-gap:3rem !important;column-gap:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.375rem + 1.5vw) !important}.fs-2{font-size:calc(1.325rem + 0.9vw) !important}.fs-3{font-size:calc(1.3rem + 0.6vw) !important}.fs-4{font-size:calc(1.275rem + 0.3vw) !important}.fs-5{font-size:1.25rem !important}.fs-6{font-size:1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-lighter{font-weight:lighter !important}.fw-light{font-weight:300 !important}.fw-normal{font-weight:400 !important}.fw-medium{font-weight:500 !important}.fw-semibold{font-weight:600 !important}.fw-bold{font-weight:700 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{-webkit-text-decoration:none !important;text-decoration:none !important}.text-decoration-underline{-webkit-text-decoration:underline !important;text-decoration:underline !important}.text-decoration-line-through{-webkit-text-decoration:line-through !important;text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-black-50{--bs-text-opacity: 1;color:rgba(0,0,0,.5) !important}.text-white-50{--bs-text-opacity: 1;color:hsla(0,0%,100%,.5) !important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color) !important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color) !important}.text-reset{--bs-text-opacity: 1;color:inherit !important}.text-opacity-25{--bs-text-opacity: 0.25}.text-opacity-50{--bs-text-opacity: 0.5}.text-opacity-75{--bs-text-opacity: 0.75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis) !important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis) !important}.text-success-emphasis{color:var(--bs-success-text-emphasis) !important}.text-info-emphasis{color:var(--bs-info-text-emphasis) !important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis) !important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis) !important}.text-light-emphasis{color:var(--bs-light-text-emphasis) !important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis) !important}.link-opacity-10{--bs-link-opacity: 0.1}.link-opacity-10-hover:hover{--bs-link-opacity: 0.1}.link-opacity-25{--bs-link-opacity: 0.25}.link-opacity-25-hover:hover{--bs-link-opacity: 0.25}.link-opacity-50{--bs-link-opacity: 0.5}.link-opacity-50-hover:hover{--bs-link-opacity: 0.5}.link-opacity-75{--bs-link-opacity: 0.75}.link-opacity-75-hover:hover{--bs-link-opacity: 0.75}.link-opacity-100{--bs-link-opacity: 1}.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1{text-underline-offset:.125em !important}.link-offset-1-hover:hover{text-underline-offset:.125em !important}.link-offset-2{text-underline-offset:.25em !important}.link-offset-2-hover:hover{text-underline-offset:.25em !important}.link-offset-3{text-underline-offset:.375em !important}.link-offset-3-hover:hover{text-underline-offset:.375em !important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-underline-opacity-0{--bs-link-underline-opacity: 0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10{--bs-link-underline-opacity: 0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: 0.1}.link-underline-opacity-25{--bs-link-underline-opacity: 0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: 0.25}.link-underline-opacity-50{--bs-link-underline-opacity: 0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: 0.5}.link-underline-opacity-75{--bs-link-underline-opacity: 0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: 0.75}.link-underline-opacity-100{--bs-link-underline-opacity: 1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important}.bg-transparent{--bs-bg-opacity: 1;background-color:rgba(0,0,0,0) !important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-opacity-10{--bs-bg-opacity: 0.1}.bg-opacity-25{--bs-bg-opacity: 0.25}.bg-opacity-50{--bs-bg-opacity: 0.5}.bg-opacity-75{--bs-bg-opacity: 0.75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle) !important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle) !important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle) !important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle) !important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle) !important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle) !important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle) !important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle) !important}.bg-gradient{background-image:var(--bs-gradient) !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;user-select:auto !important}.user-select-none{-webkit-user-select:none !important;-moz-user-select:none !important;user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:var(--bs-border-radius) !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:var(--bs-border-radius-sm) !important}.rounded-2{border-radius:var(--bs-border-radius) !important}.rounded-3{border-radius:var(--bs-border-radius-lg) !important}.rounded-4{border-radius:var(--bs-border-radius-xl) !important}.rounded-5{border-radius:var(--bs-border-radius-xxl) !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:var(--bs-border-radius-pill) !important}.rounded-top{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-0{border-top-left-radius:0 !important;border-top-right-radius:0 !important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm) !important;border-top-right-radius:var(--bs-border-radius-sm) !important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg) !important;border-top-right-radius:var(--bs-border-radius-lg) !important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl) !important;border-top-right-radius:var(--bs-border-radius-xl) !important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl) !important;border-top-right-radius:var(--bs-border-radius-xxl) !important}.rounded-top-circle{border-top-left-radius:50% !important;border-top-right-radius:50% !important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill) !important;border-top-right-radius:var(--bs-border-radius-pill) !important}.rounded-end{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-0{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm) !important;border-bottom-right-radius:var(--bs-border-radius-sm) !important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg) !important;border-bottom-right-radius:var(--bs-border-radius-lg) !important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl) !important;border-bottom-right-radius:var(--bs-border-radius-xl) !important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-right-radius:var(--bs-border-radius-xxl) !important}.rounded-end-circle{border-top-right-radius:50% !important;border-bottom-right-radius:50% !important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill) !important;border-bottom-right-radius:var(--bs-border-radius-pill) !important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-0{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm) !important;border-bottom-left-radius:var(--bs-border-radius-sm) !important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg) !important;border-bottom-left-radius:var(--bs-border-radius-lg) !important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl) !important;border-bottom-left-radius:var(--bs-border-radius-xl) !important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-left-radius:var(--bs-border-radius-xxl) !important}.rounded-bottom-circle{border-bottom-right-radius:50% !important;border-bottom-left-radius:50% !important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill) !important;border-bottom-left-radius:var(--bs-border-radius-pill) !important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-0{border-bottom-left-radius:0 !important;border-top-left-radius:0 !important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm) !important;border-top-left-radius:var(--bs-border-radius-sm) !important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg) !important;border-top-left-radius:var(--bs-border-radius-lg) !important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl) !important;border-top-left-radius:var(--bs-border-radius-xl) !important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl) !important;border-top-left-radius:var(--bs-border-radius-xxl) !important}.rounded-start-circle{border-bottom-left-radius:50% !important;border-top-left-radius:50% !important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill) !important;border-top-left-radius:var(--bs-border-radius-pill) !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}.z-n1{z-index:-1 !important}.z-0{z-index:0 !important}.z-1{z-index:1 !important}.z-2{z-index:2 !important}.z-3{z-index:3 !important}@media(min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.object-fit-sm-contain{object-fit:contain !important}.object-fit-sm-cover{object-fit:cover !important}.object-fit-sm-fill{object-fit:fill !important}.object-fit-sm-scale{object-fit:scale-down !important}.object-fit-sm-none{object-fit:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-inline-grid{display:inline-grid !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}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.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-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}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !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}.justify-content-sm-evenly{justify-content:space-evenly !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}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:.25rem !important}.m-sm-2{margin:.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:.25rem !important}.mt-sm-2{margin-top:.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:.25rem !important}.me-sm-2{margin-right:.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:3rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:.25rem !important}.mb-sm-2{margin-bottom:.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:.25rem !important}.ms-sm-2{margin-left:.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:3rem !important}.ms-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:.25rem !important}.p-sm-2{padding:.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:.25rem !important}.pt-sm-2{padding-top:.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:.25rem !important}.pe-sm-2{padding-right:.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:.25rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.row-gap-sm-0{row-gap:0 !important}.row-gap-sm-1{row-gap:.25rem !important}.row-gap-sm-2{row-gap:.5rem !important}.row-gap-sm-3{row-gap:1rem !important}.row-gap-sm-4{row-gap:1.5rem !important}.row-gap-sm-5{row-gap:3rem !important}.column-gap-sm-0{-moz-column-gap:0 !important;column-gap:0 !important}.column-gap-sm-1{-moz-column-gap:.25rem !important;column-gap:.25rem !important}.column-gap-sm-2{-moz-column-gap:.5rem !important;column-gap:.5rem !important}.column-gap-sm-3{-moz-column-gap:1rem !important;column-gap:1rem !important}.column-gap-sm-4{-moz-column-gap:1.5rem !important;column-gap:1.5rem !important}.column-gap-sm-5{-moz-column-gap:3rem !important;column-gap:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.object-fit-md-contain{object-fit:contain !important}.object-fit-md-cover{object-fit:cover !important}.object-fit-md-fill{object-fit:fill !important}.object-fit-md-scale{object-fit:scale-down !important}.object-fit-md-none{object-fit:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-inline-grid{display:inline-grid !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}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.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-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}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !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}.justify-content-md-evenly{justify-content:space-evenly !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}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:.25rem !important}.m-md-2{margin:.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:.25rem !important}.mt-md-2{margin-top:.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:.25rem !important}.me-md-2{margin-right:.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:3rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:.25rem !important}.mb-md-2{margin-bottom:.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:.25rem !important}.ms-md-2{margin-left:.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:3rem !important}.ms-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:.25rem !important}.p-md-2{padding:.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:.25rem !important}.pt-md-2{padding-top:.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:.25rem !important}.pe-md-2{padding-right:.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:.25rem !important}.pb-md-2{padding-bottom:.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.row-gap-md-0{row-gap:0 !important}.row-gap-md-1{row-gap:.25rem !important}.row-gap-md-2{row-gap:.5rem !important}.row-gap-md-3{row-gap:1rem !important}.row-gap-md-4{row-gap:1.5rem !important}.row-gap-md-5{row-gap:3rem !important}.column-gap-md-0{-moz-column-gap:0 !important;column-gap:0 !important}.column-gap-md-1{-moz-column-gap:.25rem !important;column-gap:.25rem !important}.column-gap-md-2{-moz-column-gap:.5rem !important;column-gap:.5rem !important}.column-gap-md-3{-moz-column-gap:1rem !important;column-gap:1rem !important}.column-gap-md-4{-moz-column-gap:1.5rem !important;column-gap:1.5rem !important}.column-gap-md-5{-moz-column-gap:3rem !important;column-gap:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.object-fit-lg-contain{object-fit:contain !important}.object-fit-lg-cover{object-fit:cover !important}.object-fit-lg-fill{object-fit:fill !important}.object-fit-lg-scale{object-fit:scale-down !important}.object-fit-lg-none{object-fit:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-inline-grid{display:inline-grid !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}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.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-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}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !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}.justify-content-lg-evenly{justify-content:space-evenly !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}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:.25rem !important}.m-lg-2{margin:.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:.25rem !important}.mt-lg-2{margin-top:.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:.25rem !important}.me-lg-2{margin-right:.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:3rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:.25rem !important}.mb-lg-2{margin-bottom:.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:.25rem !important}.ms-lg-2{margin-left:.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:3rem !important}.ms-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:.25rem !important}.p-lg-2{padding:.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:.25rem !important}.pt-lg-2{padding-top:.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:.25rem !important}.pe-lg-2{padding-right:.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:.25rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.row-gap-lg-0{row-gap:0 !important}.row-gap-lg-1{row-gap:.25rem !important}.row-gap-lg-2{row-gap:.5rem !important}.row-gap-lg-3{row-gap:1rem !important}.row-gap-lg-4{row-gap:1.5rem !important}.row-gap-lg-5{row-gap:3rem !important}.column-gap-lg-0{-moz-column-gap:0 !important;column-gap:0 !important}.column-gap-lg-1{-moz-column-gap:.25rem !important;column-gap:.25rem !important}.column-gap-lg-2{-moz-column-gap:.5rem !important;column-gap:.5rem !important}.column-gap-lg-3{-moz-column-gap:1rem !important;column-gap:1rem !important}.column-gap-lg-4{-moz-column-gap:1.5rem !important;column-gap:1.5rem !important}.column-gap-lg-5{-moz-column-gap:3rem !important;column-gap:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.object-fit-xl-contain{object-fit:contain !important}.object-fit-xl-cover{object-fit:cover !important}.object-fit-xl-fill{object-fit:fill !important}.object-fit-xl-scale{object-fit:scale-down !important}.object-fit-xl-none{object-fit:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-inline-grid{display:inline-grid !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}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.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-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}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !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}.justify-content-xl-evenly{justify-content:space-evenly !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}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:.25rem !important}.m-xl-2{margin:.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:3rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:.25rem !important}.mt-xl-2{margin-top:.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:3rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:.25rem !important}.me-xl-2{margin-right:.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:3rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:.25rem !important}.mb-xl-2{margin-bottom:.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:3rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:.25rem !important}.ms-xl-2{margin-left:.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:3rem !important}.ms-xl-auto{margin-left:auto !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:.25rem !important}.p-xl-2{padding:.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:3rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:.25rem !important}.pt-xl-2{padding-top:.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:3rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:.25rem !important}.pe-xl-2{padding-right:.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:3rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:.25rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:3rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.row-gap-xl-0{row-gap:0 !important}.row-gap-xl-1{row-gap:.25rem !important}.row-gap-xl-2{row-gap:.5rem !important}.row-gap-xl-3{row-gap:1rem !important}.row-gap-xl-4{row-gap:1.5rem !important}.row-gap-xl-5{row-gap:3rem !important}.column-gap-xl-0{-moz-column-gap:0 !important;column-gap:0 !important}.column-gap-xl-1{-moz-column-gap:.25rem !important;column-gap:.25rem !important}.column-gap-xl-2{-moz-column-gap:.5rem !important;column-gap:.5rem !important}.column-gap-xl-3{-moz-column-gap:1rem !important;column-gap:1rem !important}.column-gap-xl-4{-moz-column-gap:1.5rem !important;column-gap:1.5rem !important}.column-gap-xl-5{-moz-column-gap:3rem !important;column-gap:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media(min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.object-fit-xxl-contain{object-fit:contain !important}.object-fit-xxl-cover{object-fit:cover !important}.object-fit-xxl-fill{object-fit:fill !important}.object-fit-xxl-scale{object-fit:scale-down !important}.object-fit-xxl-none{object-fit:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-inline-grid{display:inline-grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:.25rem !important}.m-xxl-2{margin:.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:3rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:.25rem !important}.mt-xxl-2{margin-top:.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:3rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:.25rem !important}.me-xxl-2{margin-right:.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:3rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:.25rem !important}.mb-xxl-2{margin-bottom:.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:3rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:.25rem !important}.ms-xxl-2{margin-left:.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:3rem !important}.ms-xxl-auto{margin-left:auto !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:.25rem !important}.p-xxl-2{padding:.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:3rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:.25rem !important}.pt-xxl-2{padding-top:.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:3rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:.25rem !important}.pe-xxl-2{padding-right:.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:3rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:.25rem !important}.pb-xxl-2{padding-bottom:.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:3rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.row-gap-xxl-0{row-gap:0 !important}.row-gap-xxl-1{row-gap:.25rem !important}.row-gap-xxl-2{row-gap:.5rem !important}.row-gap-xxl-3{row-gap:1rem !important}.row-gap-xxl-4{row-gap:1.5rem !important}.row-gap-xxl-5{row-gap:3rem !important}.column-gap-xxl-0{-moz-column-gap:0 !important;column-gap:0 !important}.column-gap-xxl-1{-moz-column-gap:.25rem !important;column-gap:.25rem !important}.column-gap-xxl-2{-moz-column-gap:.5rem !important;column-gap:.5rem !important}.column-gap-xxl-3{-moz-column-gap:1rem !important;column-gap:1rem !important}.column-gap-xxl-4{-moz-column-gap:1.5rem !important;column-gap:1.5rem !important}.column-gap-xxl-5{-moz-column-gap:3rem !important;column-gap:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}@media(min-width: 1200px){.fs-1{font-size:2.5rem !important}.fs-2{font-size:2rem !important}.fs-3{font-size:1.75rem !important}.fs-4{font-size:1.5rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-inline-grid{display:inline-grid !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}.d-print-none{display:none !important}}html,html a,body{-webkit-font-smoothing:antialiased}a{transition:all .3s ease-in-out;-webkit-text-decoration:none;text-decoration:none}body{font-family:Roboto,-apple-system,system-ui,Segoe UI,Ubuntu,Cantarell,Noto Sans,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;font-size:14px;color:#72777a;line-height:1.5;letter-spacing:.2px;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Roboto,-apple-system,system-ui,Segoe UI,Ubuntu,Cantarell,Noto Sans,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;letter-spacing:.5px;line-height:1.5;font-weight:400}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-family:Roboto,-apple-system,system-ui,Segoe UI,Ubuntu,Cantarell,Noto Sans,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:300;color:rgb(61.25,65,66.25)}p{font-family:Roboto,-apple-system,system-ui,Segoe UI,Ubuntu,Cantarell,Noto Sans,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;line-height:1.9}.lead{font-size:18px}ul{margin-bottom:0}a{color:#0f9aee}a:hover,a:focus{-webkit-text-decoration:none;text-decoration:none;color:rgb(11.976284585,122.9565217391,190.023715415)}a:focus{outline:none}a.text-gray:hover,a.text-gray:focus,a.text-gray.active{color:#313435 !important}:focus{outline:none}hr{border-top:1px solid #e6ecf5}a.btn{color:#fff}a.btn:hover{color:#fff}.btn-color{color:#fff}.btn-color:hover{color:#fff}.sidebar{background-color:var(--c-bkg-sidebar);border-right:1px solid var(--c-border);bottom:0;overflow:hidden;position:fixed;top:0;transition:all .2s ease;width:280px;z-index:1000}.sidebar ul{list-style-type:none}@media screen and (min-width: 992px)and (max-width: 1439px){.sidebar{width:70px}.sidebar .sidebar-inner .sidebar-logo{border-bottom:1px solid rgba(0,0,0,0);padding:0}.sidebar .sidebar-inner .sidebar-logo a .logo{background-position:center center;width:70px}.sidebar .sidebar-inner .sidebar-menu{overflow-x:hidden}.sidebar .sidebar-inner .sidebar-menu>li>a .title{display:none}.sidebar .sidebar-inner .sidebar-menu li.dropdown .arrow{opacity:0}.sidebar .sidebar-inner .sidebar-menu li.dropdown.open ul.dropdown-menu{display:none !important}.sidebar:hover{width:280px}.sidebar:hover .sidebar-inner .sidebar-logo{border-bottom:1px solid #e6ecf5;padding:0 20px}.sidebar:hover .sidebar-inner .sidebar-menu>li>a .title{display:inline-block}.sidebar:hover .sidebar-inner .sidebar-menu li.dropdown .arrow{opacity:1}.sidebar:hover .sidebar-inner .sidebar-menu li.open>ul.dropdown-menu{display:block !important}}@media screen and (max-width: 991px){.sidebar{left:-280px;width:calc(280px - 30px)}}.sidebar-inner{position:relative;height:100%}.sidebar-logo{border-bottom:1px solid var(--c-border);line-height:0;padding:0 20px;transition:all .2s ease;background:var(--c-bkg-card)}.sidebar-logo a{display:inline-block;width:100%}.sidebar-logo a .logo{background-position:center left;background-repeat:no-repeat;display:inline-block;min-height:calc(65px - 1px);width:100%;width:70px}.sidebar-logo a .logo img{height:42px;width:auto;display:block;margin:11px auto}.sidebar-logo a .logo-text{color:var(--c-text-base)}.sidebar-logo .mobile-toggle{display:none;float:right;font-size:18px;line-height:calc(65px - 1px)}.sidebar-logo .mobile-toggle a{color:var(--c-icon)}.sidebar-logo .mobile-toggle a:hover{color:var(--c-icon-hover)}@media screen and (max-width: 991px){.sidebar-logo .mobile-toggle{display:inline-block}}@media screen and (min-width: 992px)and (max-width: 1439px){.sidebar-logo .mobile-toggle{display:none}}.sidebar-menu::before,.sidebar-menu::after{content:" ";display:table}.sidebar-menu::after{clear:both}.sidebar-menu{height:calc(100vh - 65px);list-style:none;margin:0;overflow:auto;padding:.75rem 0;position:relative}.sidebar-menu .dropdown-toggle::after{display:none}.sidebar-menu .sidebar-link.actived::before{background:#2196f3;border-radius:50%;content:"";display:block;height:8px;left:-4px;position:absolute;top:calc(50% - 4px);width:8px}.sidebar-menu li{position:relative}.sidebar-menu li.dropdown .arrow{font-size:10px;line-height:40px;position:absolute;right:30px;transition:all .05s ease-in}@media screen and (max-width: 991px){.sidebar-menu li.dropdown .arrow{right:25px}}.sidebar-menu li.dropdown.open>a{color:var(--c-text-base)}.sidebar-menu li.dropdown.open>a .icon-holder{color:var(--c-icon-hover)}.sidebar-menu li.dropdown.open>a>.arrow{transform:rotate(90deg)}.sidebar-menu li.dropdown.open>.dropdown-menu{display:block}.sidebar-menu li.dropdown.open>.dropdown-menu .dropdown-menu{padding-left:20px}.sidebar-menu li.dropdown.open>.dropdown-menu .arrow{line-height:25px}.sidebar-menu li a{color:var(--c-text-muted);transition:all .3s ease}.sidebar-menu li a:hover,.sidebar-menu li a:focus{color:var(--c-text-base);-webkit-text-decoration:none;text-decoration:none}.sidebar-menu li a:hover .icon-holder,.sidebar-menu li a:focus .icon-holder{color:var(--c-icon-hover)}.sidebar-menu>li.dropdown ul.dropdown-menu{background-color:rgba(0,0,0,0);border-radius:0;border:0;box-shadow:none;float:none;padding-left:50px;padding-top:0;position:relative;width:100%}.sidebar-menu>li.dropdown ul.dropdown-menu>li>a{display:block;padding:10px 15px}.sidebar-menu>li.dropdown ul.dropdown-menu>li>a:hover,.sidebar-menu>li.dropdown ul.dropdown-menu>li>a:focus{background-color:rgba(0,0,0,0);color:var(--c-text-base)}.sidebar-menu>li.dropdown ul.dropdown-menu>li.actived a{color:var(--c-text-base)}.sidebar-menu>li>a{display:block;font-size:15px;font-weight:500;padding:5px 15px;position:relative;white-space:nowrap}.sidebar-menu>li>a .icon-holder{border-radius:6px;color:var(--c-icon);display:inline-block;font-size:17px;height:35px;left:0;line-height:35px;margin-right:14px;position:relative;text-align:center;transition:all .3s ease;width:35px}@media screen and (min-width: 1440px){.is-collapsed .sidebar{width:70px}.is-collapsed .sidebar .sidebar-inner .sidebar-logo{border-bottom:1px solid rgba(0,0,0,0);padding:0}.is-collapsed .sidebar .sidebar-inner .sidebar-menu{overflow-x:hidden}.is-collapsed .sidebar .sidebar-inner .sidebar-menu>li>a .title{display:none}.is-collapsed .sidebar .sidebar-inner .sidebar-menu li.dropdown .arrow{opacity:0}.is-collapsed .sidebar .sidebar-inner .sidebar-menu li.dropdown.open ul.dropdown-menu{display:none !important}.is-collapsed .sidebar:hover{width:280px}.is-collapsed .sidebar:hover .sidebar-inner .sidebar-logo{border-bottom:1px solid #e6ecf5;padding:0 20px}.is-collapsed .sidebar:hover .sidebar-inner .sidebar-menu>li>a .title{display:inline-block}.is-collapsed .sidebar:hover .sidebar-inner .sidebar-menu li.dropdown .arrow{opacity:1}.is-collapsed .sidebar:hover .sidebar-inner .sidebar-menu li.open>ul.dropdown-menu{display:block !important}}@media screen and (min-width: 992px)and (max-width: 1439px){.is-collapsed .sidebar{width:280px}.is-collapsed .sidebar .sidebar-inner .sidebar-logo{border-bottom:1px solid #e6ecf5;padding:0 20px}.is-collapsed .sidebar .sidebar-inner .sidebar-logo>a .logo{background-position:center left;width:150px}.is-collapsed .sidebar .sidebar-inner .sidebar-menu>li>a .title{display:inline-block}.is-collapsed .sidebar .sidebar-inner .sidebar-menu li.dropdown .arrow{opacity:1}.is-collapsed .sidebar .sidebar-inner .sidebar-menu li.open>ul.dropdown-menu{display:block !important}}@media screen and (max-width: 991px){.is-collapsed .sidebar{left:0}}[data-theme=dark] .sidebar{background-color:var(--c-bkg-card)}[data-theme=dark] .sidebar .sidebar-menu{border-right-color:var(--c-border)}[data-theme=dark] .sidebar .sidebar-menu li a{color:var(--c-text-muted)}[data-theme=dark] .sidebar .sidebar-menu li a .icon-holder{color:var(--c-icon)}[data-theme=dark] .sidebar .sidebar-menu li a:hover,[data-theme=dark] .sidebar .sidebar-menu li a:focus{color:var(--c-text-base);background-color:var(--c-bkg-hover)}[data-theme=dark] .sidebar .sidebar-menu li a:hover .icon-holder,[data-theme=dark] .sidebar .sidebar-menu li a:focus .icon-holder{color:var(--c-icon-hover)}[data-theme=dark] .sidebar .sidebar-menu li.dropdown.open>a{color:var(--c-text-base);background-color:var(--c-bkg-hover)}[data-theme=dark] .sidebar .sidebar-menu li.dropdown.open>a .icon-holder{color:var(--c-icon-hover)}[data-theme=dark] .sidebar .sidebar-menu li.actived>a{color:var(--c-text-base) !important;background-color:var(--c-bkg-hover) !important;border-left:3px solid var(--c-primary) !important;margin-left:-3px}[data-theme=dark] .sidebar .sidebar-menu li.actived>a .icon-holder{color:var(--c-primary) !important}[data-theme=dark] .sidebar .sidebar-menu li.dropdown.has-active-child>a{color:var(--c-text-base) !important;background-color:rgba(0,0,0,0) !important;border-left:3px solid var(--c-primary) !important;margin-left:-3px}[data-theme=dark] .sidebar .sidebar-menu li.dropdown.has-active-child>a .icon-holder{color:var(--c-primary) !important}[data-theme=dark] .sidebar .sidebar-menu>li.dropdown ul.dropdown-menu>li>a{color:var(--c-text-muted)}[data-theme=dark] .sidebar .sidebar-menu>li.dropdown ul.dropdown-menu>li>a:hover,[data-theme=dark] .sidebar .sidebar-menu>li.dropdown ul.dropdown-menu>li>a:focus{color:var(--c-text-base);background-color:var(--c-bkg-hover)}[data-theme=dark] .sidebar .sidebar-menu>li.dropdown ul.dropdown-menu>li.actived a{color:var(--c-primary) !important;background-color:rgba(0,0,0,0) !important;font-weight:500}[data-theme=dark] .sidebar-logo{border-bottom-color:var(--c-border);border-right-color:var(--c-border)}[data-theme=dark] .sidebar-logo a .logo-text{color:var(--c-text-base)}[data-theme=dark] .sidebar-logo .mobile-toggle a{color:var(--c-icon)}[data-theme=dark] .sidebar-logo .mobile-toggle a:hover{color:var(--c-icon-hover)}[data-theme=light] .sidebar .sidebar-menu li.actived>a,:root .sidebar .sidebar-menu li.actived>a{background-color:color-mix(in srgb, #ffffff 85%, var(--c-primary)) !important;color:var(--c-primary) !important}[data-theme=light] .sidebar .sidebar-menu li.actived>a .icon-holder,:root .sidebar .sidebar-menu li.actived>a .icon-holder{color:var(--c-primary) !important;background-color:color-mix(in srgb, var(--c-primary) 10%, transparent) !important}[data-theme=light] .sidebar .sidebar-menu li.dropdown.has-active-child>a,:root .sidebar .sidebar-menu li.dropdown.has-active-child>a{background-color:color-mix(in srgb, #ffffff 90%, var(--c-primary)) !important;color:var(--c-primary) !important}[data-theme=light] .sidebar .sidebar-menu li.dropdown.has-active-child>a .icon-holder,:root .sidebar .sidebar-menu li.dropdown.has-active-child>a .icon-holder{color:var(--c-primary) !important;background-color:color-mix(in srgb, var(--c-primary) 8%, transparent) !important}[data-theme=light] .sidebar .sidebar-menu li a:hover,[data-theme=light] .sidebar .sidebar-menu li a:focus,:root .sidebar .sidebar-menu li a:hover,:root .sidebar .sidebar-menu li a:focus{background-color:color-mix(in srgb, #ffffff 90%, var(--c-primary));color:var(--c-primary)}[data-theme=light] .sidebar .sidebar-menu li a:hover .icon-holder,[data-theme=light] .sidebar .sidebar-menu li a:focus .icon-holder,:root .sidebar .sidebar-menu li a:hover .icon-holder,:root .sidebar .sidebar-menu li a:focus .icon-holder{color:var(--c-primary);background-color:color-mix(in srgb, var(--c-primary) 8%, transparent)}[data-theme=light] .sidebar .sidebar-menu>li.dropdown ul.dropdown-menu>li.actived a,:root .sidebar .sidebar-menu>li.dropdown ul.dropdown-menu>li.actived a{color:var(--c-primary) !important;background-color:color-mix(in srgb, #ffffff 85%, var(--c-primary)) !important}[data-theme=light] .sidebar .sidebar-menu>li.dropdown ul.dropdown-menu>li>a:hover,[data-theme=light] .sidebar .sidebar-menu>li.dropdown ul.dropdown-menu>li>a:focus,:root .sidebar .sidebar-menu>li.dropdown ul.dropdown-menu>li>a:hover,:root .sidebar .sidebar-menu>li.dropdown ul.dropdown-menu>li>a:focus{background-color:color-mix(in srgb, #ffffff 90%, var(--c-primary));color:var(--c-primary)}.header{background-color:var(--c-bkg-card);border-bottom:1px solid var(--c-border);box-shadow:var(--shadow-sm);display:block;margin-bottom:0;padding:0;position:fixed;transition:all .2s ease;width:calc(100% - 280px);z-index:800}@media screen and (max-width: 991px){.header{width:100%}}@media screen and (min-width: 992px)and (max-width: 1439px){.header{width:calc(100% - 70px)}}.header .header-container::before,.header .header-container::after{content:" ";display:table}.header .header-container::after{clear:both}.header .header-container{height:65px}.header .header-container .nav-left,.header .header-container .nav-right{list-style:none;margin-bottom:0;padding-left:0;position:relative}.header .header-container .nav-left>li,.header .header-container .nav-right>li{float:left}.header .header-container .nav-left>li>a,.header .header-container .nav-right>li>a{color:var(--c-icon);display:block;line-height:65px;min-height:65px;padding:0 15px;transition:all .2s ease-in-out}.header .header-container .nav-left>li>a i,.header .header-container .nav-right>li>a i{font-size:17px;color:var(--c-icon)}.header .header-container .nav-left>li>a:hover,.header .header-container .nav-left>li>a:focus,.header .header-container .nav-right>li>a:hover,.header .header-container .nav-right>li>a:focus{color:var(--c-icon-hover);-webkit-text-decoration:none;text-decoration:none}.header .header-container .nav-left>li>a:hover i,.header .header-container .nav-left>li>a:focus i,.header .header-container .nav-right>li>a:hover i,.header .header-container .nav-right>li>a:focus i{color:var(--c-icon-hover)}@media screen and (max-width: 991px){.header .header-container .nav-left>li>a,.header .header-container .nav-right>li>a{padding:0 15px}}.header .header-container .nav-left .notifications,.header .header-container .nav-right .notifications{position:relative}.header .header-container .nav-left .notifications .counter,.header .header-container .nav-right .notifications .counter{background-color:#ff3c7e;border-radius:50px;color:#fff;font-size:10px;line-height:1;padding:3px 5.5px;position:absolute;right:6px;top:12px}.header .header-container .nav-left .notifications .dropdown-menu,.header .header-container .nav-right .notifications .dropdown-menu{min-width:350px;padding:0}@media screen and (max-width: 767px){.header .header-container .nav-left .notifications .dropdown-menu,.header .header-container .nav-right .notifications .dropdown-menu{max-width:300px}}.header .header-container .dropdown-menu{margin:0;transform-origin:top right;transition:transform .15s ease-out}.header .header-container .dropdown-menu .divider{border-bottom:1px solid #e6ecf5;height:1px;overflow:hidden}.header .header-container .dropdown-menu>li>a{transition:all .2s ease-out}.header .header-container .show .dropdown-menu{transform:scale(1, 1)}.header .header-container .nav-left{float:left;margin-left:15px}.header .header-container .nav-right{float:right}.header .header-container .nav-right .dropdown-menu{left:auto;right:0}.header .header-container .nav-right .dropdown-menu>li{width:100%}.header .header-container .nav-right .dropdown-menu>li>a{line-height:1.5;min-height:auto;padding:10px 15px}.header .search-box .search-icon-close{display:none}.header .search-box.active .search-icon{display:none}.header .search-box.active .search-icon-close{display:inline-block}.header .search-input{display:none}.header .search-input.active{display:inline-block}.header .search-input input{background-color:rgba(0,0,0,0);border:0;box-shadow:none;font-size:18px;height:40px;margin-top:12px;outline:none;padding:5px}@media screen and (max-width: 767px){.header .search-input input{width:85px}}.header .search-input input::-webkit-input-placeholder{color:hsl(202.5,3.3898305085%,66.2745098039%);font-style:italic}.header .search-input input:-moz-placeholder{color:hsl(202.5,3.3898305085%,66.2745098039%);font-style:italic}.header .search-input input::-moz-placeholder{color:hsl(202.5,3.3898305085%,66.2745098039%);font-style:italic}.header .search-input input:-ms-input-placeholder{color:hsl(202.5,3.3898305085%,66.2745098039%);font-style:italic}@media screen and (max-width: 991px){.header .header-container{padding:0 10px}.header .header-container .nav-left{margin-left:5px}.header .header-container .nav-left>li>a{padding:0 8px !important}.header .header-container .nav-right{margin-right:5px}.header .header-container .nav-right>li>a{padding:0 8px !important}.header .header-container .nav-right>li>a .peer:last-child{display:none}.header .header-container .nav-right .theme-toggle{padding:0 5px !important}.header .header-container .nav-right .theme-toggle .form-check-label{font-size:9px !important;margin:0 3px !important}.header .header-container .nav-right .theme-toggle .form-check-input{width:1.8rem !important;height:1rem !important}}@media screen and (max-width: 767px){.header .header-container{height:auto;min-height:65px;padding:0 5px}.header .header-container .nav-left{margin-left:2px}.header .header-container .nav-left>li>a{padding:0 5px !important}.header .header-container .nav-left .search-box:not(.active){display:none}.header .header-container .nav-right{margin-right:2px}.header .header-container .nav-right>li>a{padding:0 4px !important}.header .header-container .nav-right>li>a span{display:none}.header .header-container .nav-right>li>a .peer:last-child{display:none}.header .header-container .nav-right .theme-toggle{padding:0 3px !important}.header .header-container .nav-right .theme-toggle .form-check{flex-direction:column;align-items:center}.header .header-container .nav-right .theme-toggle .form-check .form-check-label{font-size:7px !important;margin:0 !important;line-height:1 !important}.header .header-container .nav-right .theme-toggle .form-check .form-check-label span{display:none !important}.header .header-container .nav-right .theme-toggle .form-check .form-check-input{width:1.5rem !important;height:.8rem !important;margin:1px 0 !important}.header .header-container .nav-right .dropdown-menu{position:fixed !important;top:65px !important;left:0 !important;right:0 !important;bottom:0 !important;width:100vw !important;height:calc(100vh - 65px) !important;max-width:none !important;min-width:auto !important;transform:none !important;border-radius:0 !important;z-index:9999;overflow-y:auto}.header .header-container .nav-right .dropdown-menu::before{content:"✕ Close";position:sticky;top:0;display:block;background:var(--c-primary);color:#fff;text-align:center;padding:10px;cursor:pointer;font-weight:bold;z-index:10000}}@media screen and (max-width: 479px){.header .header-container{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;padding:0 2px}.header .header-container .nav-left{flex:0 0 auto;margin:0}.header .header-container .nav-left>li{float:none;display:inline-block}.header .header-container .nav-left>li>a{padding:0 3px !important;font-size:14px !important}.header .header-container .nav-left .search-input.active{position:fixed;top:65px;left:0;right:0;background:var(--c-bkg-card);border-top:1px solid var(--c-border);padding:15px;z-index:9998}.header .header-container .nav-left .search-input.active input{width:100%;padding:12px;font-size:16px;border:1px solid var(--c-border);border-radius:6px;background:var(--c-bkg-card);color:var(--c-text-base);margin-top:0}.header .header-container .nav-left .search-input.active input::-moz-placeholder{color:var(--c-text-muted)}.header .header-container .nav-left .search-input.active input::placeholder{color:var(--c-text-muted)}.header .header-container .nav-right{flex:0 0 auto;margin:0}.header .header-container .nav-right>li{float:none;display:inline-block}.header .header-container .nav-right>li>a{padding:0 2px !important;font-size:12px !important}.header .header-container .nav-right .theme-toggle{padding:0 1px !important}.header .header-container .nav-right .theme-toggle .form-check .form-check-label{display:none !important}.header .header-container .nav-right .theme-toggle .form-check .form-check-input{width:1.2rem !important;height:.7rem !important}}.is-collapsed .header{width:calc(100% - 70px)}@media screen and (max-width: 991px){.is-collapsed .header{width:100%}}@media screen and (min-width: 992px)and (max-width: 1439px){.is-collapsed .header{width:calc(100% - 280px)}}[data-theme=dark] .header{background-color:var(--c-bkg-card);border-bottom-color:var(--c-border)}[data-theme=dark] .header .header-container .nav-left>li>a,[data-theme=dark] .header .header-container .nav-right>li>a{color:var(--c-icon)}[data-theme=dark] .header .header-container .nav-left>li>a i,[data-theme=dark] .header .header-container .nav-right>li>a i{color:var(--c-icon)}[data-theme=dark] .header .header-container .nav-left>li>a:hover,[data-theme=dark] .header .header-container .nav-left>li>a:focus,[data-theme=dark] .header .header-container .nav-right>li>a:hover,[data-theme=dark] .header .header-container .nav-right>li>a:focus{color:var(--c-icon-hover)}[data-theme=dark] .header .header-container .nav-left>li>a:hover i,[data-theme=dark] .header .header-container .nav-left>li>a:focus i,[data-theme=dark] .header .header-container .nav-right>li>a:hover i,[data-theme=dark] .header .header-container .nav-right>li>a:focus i{color:var(--c-icon-hover)}[data-theme=dark] .header .header-container .nav-left>li>a:active,[data-theme=dark] .header .header-container .nav-left>li>a.active,[data-theme=dark] .header .header-container .nav-right>li>a:active,[data-theme=dark] .header .header-container .nav-right>li>a.active{color:var(--c-text-base)}[data-theme=dark] .header .header-container .nav-left>li>a:active i,[data-theme=dark] .header .header-container .nav-left>li>a.active i,[data-theme=dark] .header .header-container .nav-right>li>a:active i,[data-theme=dark] .header .header-container .nav-right>li>a.active i{color:var(--c-text-base)}[data-theme=dark] .header .header-container .search-box.active a{color:var(--c-icon-hover)}[data-theme=dark] .header .header-container .search-box.active a i{color:var(--c-icon-hover)}[data-theme=dark] .header .header-container .dropdown-menu{background-color:var(--c-bkg-card);border-color:var(--c-border)}[data-theme=dark] .header .header-container .dropdown-menu .divider{border-bottom-color:var(--c-border)}[data-theme=dark] .header .header-container .dropdown-menu>li>a{color:var(--c-text-muted)}[data-theme=dark] .header .header-container .dropdown-menu>li>a:hover,[data-theme=dark] .header .header-container .dropdown-menu>li>a:focus{color:var(--c-text-base);background-color:var(--c-bkg-hover)}[data-theme=dark] .header .search-input input{color:var(--c-text-base)}[data-theme=dark] .header .search-input input::-moz-placeholder{color:var(--c-text-muted)}[data-theme=dark] .header .search-input input::placeholder{color:var(--c-text-muted)}.page-container{min-height:100vh;padding-left:280px;transition:all .2s ease;display:flex;flex-direction:column}@media screen and (min-width: 992px)and (max-width: 1439px){.page-container{padding-left:70px}}@media screen and (max-width: 991px){.page-container{padding-left:0}}.main-content{padding:85px 20px 20px;flex:1 0 auto;min-height:0;overflow-x:hidden}@media screen and (max-width: 991px){.main-content{padding:85px 5px 5px}}@media screen and (max-width: 767px){.main-content{padding:85px 10px 30px}}@media screen and (max-width: 399px){.main-content{padding:85px 5px 40px}}.remain-height{height:calc(100vh - 126px)}.full-container{left:280px;min-height:calc(100vh - 65px);position:absolute;right:0;top:65px;transition:all .2s ease}@media screen and (min-width: 992px)and (max-width: 1439px){.full-container{left:0;padding-left:70px}}@media screen and (max-width: 991px){.full-container{left:0}}footer{flex:0 0 auto;position:relative;z-index:1;margin-top:auto;padding:20px;text-align:center;border-top:1px solid var(--c-border);background:var(--c-bkg-card);color:var(--c-text-muted);font-size:12px;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word}@media screen and (max-width: 991px){footer{padding:18px 15px;font-size:11px}}@media screen and (max-width: 767px){footer{padding:15px 10px;font-size:10px;line-height:1.3}footer span{display:inline-block;max-width:100%}footer span a{color:var(--c-primary);-webkit-text-decoration:none;text-decoration:none;word-break:break-word}footer span a:hover{-webkit-text-decoration:underline;text-decoration:underline}}@media screen and (max-width: 399px){footer{padding:12px 8px;font-size:9px;line-height:1.2}footer span{display:block}footer span::after{content:"";display:block;height:2px}}html,body{height:100%;margin:0;padding:0}@media screen and (max-width: 767px){body{overflow-x:hidden}*{max-width:100%;box-sizing:border-box}}@media screen and (max-width: 767px){.page-container .main-content{margin-bottom:20px}.page-container .main-content .row{margin-left:0;margin-right:0}.page-container .main-content .col-md-6,.page-container .main-content .col-md-3,.page-container .main-content .col-md-12{padding-left:5px;padding-right:5px}}@media screen and (max-width: 479px){.page-container{min-height:calc(100vh - 80px)}.page-container .main-content{padding-bottom:60px !important;margin-bottom:20px !important}footer{position:relative;margin-top:auto;clear:both}}.is-collapsed .page-container{padding-left:70px}@media screen and (max-width: 991px){.is-collapsed .page-container{padding-left:0}}@media screen and (min-width: 992px)and (max-width: 1439px){.is-collapsed .page-container{padding-left:280px}}.is-collapsed .full-container{left:70px}@media screen and (max-width: 991px){.is-collapsed .full-container{left:0}}@media screen and (min-width: 992px)and (max-width: 1439px){.is-collapsed .full-container{left:280px;padding-left:0}}.progress{height:4px;background-color:var(--c-border);border-radius:4px;margin-bottom:10px}.easy-pie-chart{position:relative}.easy-pie-chart span{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);line-height:0}.checkbox label{display:inline-block;vertical-align:middle;position:relative;padding-left:17px;margin-bottom:0}.checkbox label::before{content:"";display:inline-block;position:absolute;width:17px;height:17px;left:0;top:50%;transform:translateY(-50%);margin-left:-12px;border:1px solid #e6eaf0;border-radius:3px;background-color:#fff;transition:border .15s ease-in-out,color .15s ease-in-out}.checkbox label::after{display:inline-block;position:absolute;width:17px;height:17px;text-align:center;font-size:10px !important;line-height:17px;left:0;top:50%;transform:translateY(-50%);margin-left:-12px;color:#b9c2d0}.checkbox input[type=checkbox]{opacity:0;z-index:1}.checkbox input[type=checkbox]:focus+label::before{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.checkbox input[type=checkbox]:checked+label::after{font-family:"FontAwesome";content:"";font-size:13px}.checkbox input[type=checkbox]:disabled+label{opacity:.65}.checkbox input[type=checkbox]:disabled+label::before{background-color:#d3d9e3;cursor:not-allowed}.checkbox.checkbox-circle label::before{border-radius:50%}.checkbox.checkbox-inline{margin-top:0}.checkbox-primary input[type=checkbox]:checked+label::before{background-color:#7774e7;border-color:#7774e7}.checkbox-primary input[type=checkbox]:checked+label::after{color:#fff}.checkbox-danger input[type=checkbox]:checked+label::before{background-color:#ff3c7e;border-color:#ff3c7e}.checkbox-danger input[type=checkbox]:checked+label::after{color:#fff}.checkbox-info input[type=checkbox]:checked+label::before{background-color:#0f9aee;border-color:#0f9aee}.checkbox-info input[type=checkbox]:checked+label::after{color:#fff}.checkbox-warning input[type=checkbox]:checked+label::before{background-color:#fc0;border-color:#fc0}.checkbox-warning input[type=checkbox]:checked+label::after{color:#fff}.checkbox-success input[type=checkbox]:checked+label::before{background-color:#37c936;border-color:#37c936}.checkbox-success input[type=checkbox]:checked+label::after{color:#fff}.radio{padding-left:20px}.radio label{display:inline-block;vertical-align:middle;position:relative;padding-left:5px}.radio label::before{content:"";display:inline-block;position:absolute;width:17px;height:17px;left:0;margin-left:-20px;border:1px solid #ccc;border-radius:50%;background-color:var(--c-bkg-card);transition:border .15s ease-in-out}.radio label::after{display:inline-block;position:absolute;content:" ";width:11px;height:11px;left:3px;top:3px;margin-left:-20px;border-radius:50%;background-color:var(--c-text-base);transform:scale(0, 0);transition:transform .1s cubic-bezier(0.8, -0.33, 0.2, 1.33)}.radio input[type=radio]{opacity:0;z-index:1}.radio input[type=radio]:focus+label::before{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.radio input[type=radio]:checked+label::after{transform:scale(1, 1)}.radio input[type=radio]:disabled+label{opacity:.65}.radio input[type=radio]:disabled+label::before{cursor:not-allowed}.radio.radio-inline{margin-top:0}.radio-primary input[type=radio]+label::after{background-color:#428bca}.radio-primary input[type=radio]:checked+label::before{border-color:#428bca}.radio-primary input[type=radio]:checked+label::after{background-color:#428bca}.radio-danger input[type=radio]+label::after{background-color:#d9534f}.radio-danger input[type=radio]:checked+label::before{border-color:#d9534f}.radio-danger input[type=radio]:checked+label::after{background-color:#d9534f}.radio-info input[type=radio]+label::after{background-color:#5bc0de}.radio-info input[type=radio]:checked+label::before{border-color:#5bc0de}.radio-info input[type=radio]:checked+label::after{background-color:#5bc0de}.radio-warning input[type=radio]+label::after{background-color:#f0ad4e}.radio-warning input[type=radio]:checked+label::before{border-color:#f0ad4e}.radio-warning input[type=radio]:checked+label::after{background-color:#f0ad4e}.radio-success input[type=radio]+label::after{background-color:#5cb85c}.radio-success input[type=radio]:checked+label::before{border-color:#5cb85c}.radio-success input[type=radio]:checked+label::after{background-color:#5cb85c}[data-theme=dark] .timepicker-input .input-group-text{background-color:var(--c-bkg-card) !important;border-color:var(--c-border) !important;color:var(--c-text-base) !important}[data-theme=dark] .timepicker-input .input-group-text.bgc-white{background-color:var(--c-bkg-card) !important}[data-theme=dark] .timepicker-input .input-group-text .ti-calendar{color:var(--c-text-base) !important}[data-theme=dark] .timepicker-input .form-control.bdc-grey-200{border-color:var(--c-border) !important}#loader{transition:all .3s ease-in-out;opacity:1;visibility:visible;position:fixed;height:100vh;width:100%;background:var(--loader-bg);z-index:90000}#loader.fadeOut{opacity:0;visibility:hidden}.spinner{width:40px;height:40px;position:absolute;top:calc(50% - 20px);left:calc(50% - 20px);background-color:var(--spinner-bg);border-radius:100%;animation:sk-scaleout 1s infinite ease-in-out}@keyframes sk-scaleout{0%{transform:scale(0)}100%{transform:scale(1);opacity:0}}footer{z-index:1;position:relative}body{background-color:var(--c-bkg-body);background-image:radial-gradient(circle at 1px 1px, var(--c-border) 1px, transparent 0);background-size:24px 24px}.card{background:var(--c-bkg-card);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:box-shadow .2s ease,transform .2s ease}.card:hover{box-shadow:var(--shadow-md)}.card-header{background:rgba(0,0,0,0);border-bottom:1px solid var(--c-border-light);padding:1rem 1.25rem;font-weight:600;color:var(--c-text-base)}.card-body{padding:1.25rem}.card-footer{background:var(--c-bkg-hover);border-top:1px solid var(--c-border-light);padding:.875rem 1.25rem}.peers.ai-c .peer:first-child .layers{border-radius:var(--radius-md);transition:transform .2s ease}.peers.ai-c .peer:first-child .layers:hover{transform:scale(1.05)}.fw-500{font-weight:600;letter-spacing:-0.02em}.table{--bs-table-bg: var(--c-bkg-card)}.table thead th{background:var(--c-bkg-hover);border-bottom:2px solid var(--c-border);color:var(--c-text-base);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:.875rem 1rem}.table tbody tr{transition:background-color .15s ease}.table tbody tr:hover{background-color:var(--c-bkg-hover)}.table tbody tr td{padding:.875rem 1rem;border-bottom:1px solid var(--c-border-light);vertical-align:middle}.table-bordered{border:1px solid var(--c-border);border-radius:var(--radius-md);overflow:hidden}.table-bordered th,.table-bordered td{border-color:var(--c-border-light)}.btn{border-radius:var(--radius-sm);font-weight:500;padding:.5rem 1rem;transition:all .2s ease;border:none}.btn:focus{box-shadow:0 0 0 3px rgba(99,102,241,.25)}.btn-primary{background:linear-gradient(135deg, var(--c-primary) 0%, var(--c-primary-dark) 100%)}.btn-primary:hover{background:linear-gradient(135deg, var(--c-primary-light) 0%, var(--c-primary) 100%);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active{transform:translateY(0)}.btn-success{background:linear-gradient(135deg, var(--c-success) 0%, #059669 100%)}.btn-success:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-danger{background:linear-gradient(135deg, var(--c-danger) 0%, #dc2626 100%)}.btn-danger:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline-primary{border:1.5px solid var(--c-primary);color:var(--c-primary);background:rgba(0,0,0,0)}.btn-outline-primary:hover{background:var(--c-primary);color:#fff;transform:translateY(-1px)}.form-control,.form-select{background-color:var(--c-bkg-card);border:1.5px solid var(--c-border);border-radius:var(--radius-sm);color:var(--c-text-base);padding:.625rem .875rem;transition:border-color .2s ease,box-shadow .2s ease}.form-control:focus,.form-select:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(99,102,241,.15);outline:none}.form-control::-moz-placeholder, .form-select::-moz-placeholder{color:var(--c-text-light)}.form-control::placeholder,.form-select::placeholder{color:var(--c-text-light)}.form-label{color:var(--c-text-base);font-weight:500;font-size:.875rem;margin-bottom:.5rem}.badge{border-radius:50px;font-weight:500;font-size:.75rem;padding:.35em .75em;letter-spacing:.02em}.bg-primary{background:linear-gradient(135deg, var(--c-primary) 0%, var(--c-primary-dark) 100%) !important}.bg-success{background:linear-gradient(135deg, var(--c-success) 0%, #059669 100%) !important}.bg-danger{background:linear-gradient(135deg, var(--c-danger) 0%, #dc2626 100%) !important}.bg-warning{background:linear-gradient(135deg, var(--c-warning) 0%, #d97706 100%) !important;color:#1e293b !important}.bg-info{background:linear-gradient(135deg, var(--c-info) 0%, #0284c7 100%) !important}.dropdown-menu{background:var(--c-bkg-card);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.5rem;margin-top:.5rem}.dropdown-menu .dropdown-item{border-radius:var(--radius-sm);color:var(--c-text-base);padding:.5rem .875rem;transition:background-color .15s ease}.dropdown-menu .dropdown-item:hover,.dropdown-menu .dropdown-item:focus{background-color:var(--c-bkg-hover);color:var(--c-primary)}.dropdown-menu .dropdown-item.active,.dropdown-menu .dropdown-item:active{background-color:var(--c-primary);color:#fff}.dropdown-menu .dropdown-divider{border-top-color:var(--c-border-light);margin:.5rem 0}.progress{background-color:var(--c-border-light);border-radius:50px;height:8px;overflow:hidden}.progress-bar{border-radius:50px;background:linear-gradient(90deg, var(--c-primary) 0%, var(--c-primary-light) 100%)}.alert{border:none;border-radius:var(--radius-md);border-left:4px solid}.alert-primary{background-color:rgba(99,102,241,.1);border-left-color:var(--c-primary);color:var(--c-primary-dark)}.alert-success{background-color:rgba(16,185,129,.1);border-left-color:var(--c-success);color:#047857}.alert-danger{background-color:rgba(239,68,68,.1);border-left-color:var(--c-danger);color:#b91c1c}.alert-warning{background-color:rgba(245,158,11,.1);border-left-color:var(--c-warning);color:#92400e}.alert-info{background-color:rgba(14,165,233,.1);border-left-color:var(--c-info);color:#0369a1}.nav-tabs{border-bottom:2px solid var(--c-border-light);gap:.25rem}.nav-tabs .nav-link{border:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--c-text-muted);font-weight:500;padding:.75rem 1.25rem;transition:all .2s ease;position:relative}.nav-tabs .nav-link:hover{color:var(--c-primary);background-color:var(--c-bkg-hover)}.nav-tabs .nav-link.active{color:var(--c-primary);background-color:var(--c-bkg-card)}.nav-tabs .nav-link.active::after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--c-primary)}.pagination{gap:.25rem}.pagination .page-link{border:none;border-radius:var(--radius-sm);color:var(--c-text-base);font-weight:500;min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.pagination .page-link:hover{background-color:var(--c-bkg-hover);color:var(--c-primary)}.pagination .page-item.active .page-link{background:linear-gradient(135deg, var(--c-primary) 0%, var(--c-primary-dark) 100%);color:#fff}.pagination .page-item.disabled .page-link{color:var(--c-text-light);background:rgba(0,0,0,0)}.list-group{border-radius:var(--radius-md);overflow:hidden}.list-group-item{background-color:var(--c-bkg-card);border:none;border-bottom:1px solid var(--c-border-light);padding:1rem 1.25rem;transition:background-color .15s ease}.list-group-item:last-child{border-bottom:none}.list-group-item:hover{background-color:var(--c-bkg-hover)}.list-group-item.active{background:linear-gradient(135deg, var(--c-primary) 0%, var(--c-primary-dark) 100%);border-color:rgba(0,0,0,0);color:#fff}.tooltip-inner{background-color:var(--c-text-base);border-radius:var(--radius-sm);font-size:.8125rem;padding:.5rem .75rem}.popover{border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.modal-content{background:var(--c-bkg-card);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.modal-header{border-bottom:1px solid var(--c-border-light);padding:1.25rem 1.5rem}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid var(--c-border-light);padding:1rem 1.5rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--c-bkg-body)}::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--c-text-light)}[data-theme=dark] body{background-image:radial-gradient(circle at 1px 1px, var(--c-border) 0.5px, transparent 0)}[data-theme=dark] .card{border-color:var(--c-border);box-shadow:var(--shadow-card)}[data-theme=dark] .table{--bs-table-bg: var(--c-bkg-card);--bs-table-hover-bg: var(--c-bkg-hover)}[data-theme=dark] .form-control,[data-theme=dark] .form-select{background-color:var(--c-bkg-body);border-color:var(--c-border)}[data-theme=dark] .form-control:focus,[data-theme=dark] .form-select:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(129,140,248,.2)}[data-theme=dark] .alert-primary{background-color:rgba(129,140,248,.15);color:var(--c-primary-light)}[data-theme=dark] .alert-success{background-color:rgba(52,211,153,.15);color:var(--c-success)}[data-theme=dark] .alert-danger{background-color:rgba(248,113,113,.15);color:var(--c-danger)}[data-theme=dark] .alert-warning{background-color:rgba(251,191,36,.15);color:var(--c-warning)}[data-theme=dark] .alert-info{background-color:rgba(56,189,248,.15);color:var(--c-info)}#chat-sidebar{width:250px;height:calc(100vh - 65px - 60px);overflow:auto}@media screen and (max-width: 991px){#chat-sidebar{transition:all .3s ease-in-out;margin-left:-250px}#chat-sidebar.open{margin-left:0}}#chat-box{height:calc(100vh - 65px - 60px);overflow:auto}[data-theme=dark] input[name=chatSearch]{background:var(--c-bkg-card);color:var(--c-text-base);border-color:var(--c-border)}[data-theme=dark] input[name=chatSearch]::-moz-placeholder{color:var(--c-text-muted)}[data-theme=dark] input[name=chatSearch]::placeholder{color:var(--c-text-muted)}[data-theme=dark] input[name=chatSearch]:focus{background:var(--c-bkg-card);border-color:var(--c-primary);box-shadow:0 0 0 .2rem rgba(var(--c-primary-rgb), 0.25)}[data-theme=dark] .peers.bgc-white{background:var(--c-bkg-card) !important;border-color:var(--c-border) !important}[data-theme=dark] .peers.bgc-white:hover,[data-theme=dark] .peers.bgc-white.bgcH-grey-50:hover{background:var(--c-bkg-hover) !important}[data-theme=dark] .peers.bgc-white h6{color:var(--c-text-base)}[data-theme=dark] .peers.bgc-white small.c-grey-500{color:var(--c-text-muted) !important}[data-theme=dark] .peers.bgc-white{background:var(--c-bkg-card) !important}[data-theme=dark] .peers.bgc-white h6{color:var(--c-text-base)}[data-theme=dark] .peers.bgc-white i{color:var(--c-text-muted)}[data-theme=dark] .peers.bgc-white .c-grey-900{color:var(--c-text-base) !important}[data-theme=dark] .peers.bgc-white .c-grey-900.cH-blue-500:hover{color:var(--c-primary) !important}[data-theme=dark] .bgc-grey-200{background:var(--c-bkg-body) !important}[data-theme=dark] .bgc-grey-100{background:var(--c-bkg-body) !important}[data-theme=dark] .pY-3.pX-10.bgc-white{background:var(--c-bkg-card) !important;color:var(--c-text-base);border:1px solid var(--c-border)}[data-theme=dark] .pY-3.pX-10.bgc-white small{color:var(--c-text-muted)}[data-theme=dark] .pY-3.pX-10.bgc-white span{color:var(--c-text-base)}[data-theme=dark] .bdT.bgc-white{background:var(--c-bkg-card) !important;border-color:var(--c-border) !important}[data-theme=dark] .bdT.bgc-white .form-control{background:var(--c-bkg-body);border-color:var(--c-border);color:var(--c-text-base)}[data-theme=dark] .bdT.bgc-white .form-control::-moz-placeholder{color:var(--c-text-muted)}[data-theme=dark] .bdT.bgc-white .form-control::placeholder{color:var(--c-text-muted)}[data-theme=dark] .bdT.bgc-white .form-control:focus{background:var(--c-bkg-body);border-color:var(--c-primary);color:var(--c-text-base);box-shadow:0 0 0 .2rem rgba(var(--c-primary-rgb), 0.25)}[data-theme=dark] .bdT.bgc-white .btn-primary{background:var(--c-primary);border-color:var(--c-primary)}[data-theme=dark] .bdT.bgc-white .btn-primary:hover{background:var(--c-primary-hover);border-color:var(--c-primary-hover)}[data-theme=dark] .bdT.bgc-white .btn-primary:focus{box-shadow:0 0 0 .2rem rgba(var(--c-primary-rgb), 0.25)}.email-app .email-side-nav{background:var(--c-bkg-card);position:fixed;border-right:1px solid var(--c-border);float:left;width:250px;transition:all .3s ease-in-out}@media screen and (max-width: 991px){.email-app .email-side-nav{z-index:1;left:-250px}}.email-app .email-wrapper{margin:0;padding:0;overflow:auto;min-height:100%;transition:all .3s ease-in-out}@media screen and (max-width: 991px){.email-app .email-wrapper{position:absolute;left:0;width:100%;overflow-x:hidden}}@media screen and (min-width: 992px){.email-app .email-wrapper{margin-left:250px}}.email-app .email-wrapper .email-list{position:relative;padding:0;width:100%;overflow-y:hidden;background-color:var(--c-bkg-card);height:calc(100vh - 65px)}@media screen and (max-width: 991px){.email-app .email-wrapper .email-list{max-height:calc(100vh - 65px)}}@media screen and (min-width: 992px){.email-app .email-wrapper .email-list{width:40%;border-right:1px solid var(--c-border);float:left}}.email-app .email-wrapper .email-content{float:left;width:60%;position:relative;padding:0;background-color:var(--c-bkg-card)}.email-app .email-wrapper .email-content.no-inbox-view{width:100%}@media screen and (max-width: 991px){.email-app .email-wrapper .email-content{position:absolute;top:0;left:100%;width:100%;height:100%;transition:all .3s ease-in-out;max-height:calc(100vh - 65px);overflow-y:scroll}.email-app .email-wrapper .email-content.open{left:0}}.email-app .email-wrapper .email-compose{position:relative}.email-app .email-wrapper .email-compose .email-compose-body{padding:30px 20px}@media screen and (max-width: 991px){.email-app.side-active .email-side-nav{left:0}}@media screen and (max-width: 991px){.email-app.side-active .email-wrapper{left:250px}}.centerY{top:50%;transform:translateY(-50%)}.centerX{left:50%;transform:translateX(-50%)}.centerXY{top:50%;left:50%;transform:translate(-50%, -50%)}@media screen and (min-width: 1440px){.centerY\@xl\+{top:50%;transform:translateY(-50%)}.centerX\@xl\+{left:50%;transform:translateX(-50%)}.centerXY\@xl\+{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (min-width: 1200px){.centerY\@lg\+{top:50%;transform:translateY(-50%)}.centerX\@lg\+{left:50%;transform:translateX(-50%)}.centerXY\@lg\+{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (min-width: 992px){.centerY\@md\+{top:50%;transform:translateY(-50%)}.centerX\@md\+{left:50%;transform:translateX(-50%)}.centerXY\@md\+{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (min-width: 768px){.centerY\@sm\+{top:50%;transform:translateY(-50%)}.centerX\@sm\+{left:50%;transform:translateX(-50%)}.centerXY\@sm\+{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (min-width: 0){.centerY\@xs\+{top:50%;transform:translateY(-50%)}.centerX\@xs\+{left:50%;transform:translateX(-50%)}.centerXY\@xs\+{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (max-width: 1439px){.centerY\@xl-{top:50%;transform:translateY(-50%)}.centerX\@xl-{left:50%;transform:translateX(-50%)}.centerXY\@xl-{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (max-width: 1199px){.centerY\@lg-{top:50%;transform:translateY(-50%)}.centerX\@lg-{left:50%;transform:translateX(-50%)}.centerXY\@lg-{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (max-width: 991px){.centerY\@md-{top:50%;transform:translateY(-50%)}.centerX\@md-{left:50%;transform:translateX(-50%)}.centerXY\@md-{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (max-width: 767px){.centerY\@sm-{top:50%;transform:translateY(-50%)}.centerX\@sm-{left:50%;transform:translateX(-50%)}.centerXY\@sm-{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (min-width: 1199px)and (max-width: 1439px){.centerY\@lg{top:50%;transform:translateY(-50%)}.centerX\@lg{left:50%;transform:translateX(-50%)}.centerXY\@lg{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (min-width: 991px)and (max-width: 1199px){.centerY\@md{top:50%;transform:translateY(-50%)}.centerX\@md{left:50%;transform:translateX(-50%)}.centerXY\@md{top:50%;left:50%;transform:translate(-50%, -50%)}}@media screen and (min-width: 767px)and (max-width: 991px){.centerY\@sm{top:50%;transform:translateY(-50%)}.centerX\@sm{left:50%;transform:translateX(-50%)}.centerXY\@sm{top:50%;left:50%;transform:translate(-50%, -50%)}}[class*=gap]{width:auto !important;overflow:hidden !important}.gapX-0{margin-left:0px !important;margin-right:0px !important}.gapX-0>*{padding-left:0px !important;padding-right:0px !important}.gapY-0{margin-top:0px !important;margin-bottom:0px !important}.gapY-0>*{padding-top:0px !important;padding-bottom:0px !important}.gap-0{margin:0px !important}.gap-0>*{padding:0px !important}@media screen and (min-width: 1440px){.gapX-0\@xl\+{margin-left:0px !important;margin-right:0px !important}.gapX-0\@xl\+>*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@xl\+{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@xl\+>*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@xl\+{margin:0px !important}.gap-0\@xl\+>*{padding:0px !important}}@media screen and (min-width: 1200px){.gapX-0\@lg\+{margin-left:0px !important;margin-right:0px !important}.gapX-0\@lg\+>*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@lg\+{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@lg\+>*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@lg\+{margin:0px !important}.gap-0\@lg\+>*{padding:0px !important}}@media screen and (min-width: 992px){.gapX-0\@md\+{margin-left:0px !important;margin-right:0px !important}.gapX-0\@md\+>*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@md\+{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@md\+>*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@md\+{margin:0px !important}.gap-0\@md\+>*{padding:0px !important}}@media screen and (min-width: 768px){.gapX-0\@sm\+{margin-left:0px !important;margin-right:0px !important}.gapX-0\@sm\+>*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@sm\+{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@sm\+>*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@sm\+{margin:0px !important}.gap-0\@sm\+>*{padding:0px !important}}@media screen and (min-width: 0){.gapX-0\@xs\+{margin-left:0px !important;margin-right:0px !important}.gapX-0\@xs\+>*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@xs\+{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@xs\+>*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@xs\+{margin:0px !important}.gap-0\@xs\+>*{padding:0px !important}}@media screen and (max-width: 1439px){.gapX-0\@xl-{margin-left:0px !important;margin-right:0px !important}.gapX-0\@xl->*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@xl-{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@xl->*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@xl-{margin:0px !important}.gap-0\@xl->*{padding:0px !important}}@media screen and (max-width: 1199px){.gapX-0\@lg-{margin-left:0px !important;margin-right:0px !important}.gapX-0\@lg->*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@lg-{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@lg->*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@lg-{margin:0px !important}.gap-0\@lg->*{padding:0px !important}}@media screen and (max-width: 991px){.gapX-0\@md-{margin-left:0px !important;margin-right:0px !important}.gapX-0\@md->*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@md-{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@md->*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@md-{margin:0px !important}.gap-0\@md->*{padding:0px !important}}@media screen and (max-width: 767px){.gapX-0\@sm-{margin-left:0px !important;margin-right:0px !important}.gapX-0\@sm->*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@sm-{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@sm->*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@sm-{margin:0px !important}.gap-0\@sm->*{padding:0px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-0\@lg{margin-left:0px !important;margin-right:0px !important}.gapX-0\@lg>*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@lg{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@lg>*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@lg{margin:0px !important}.gap-0\@lg>*{padding:0px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-0\@md{margin-left:0px !important;margin-right:0px !important}.gapX-0\@md>*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@md{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@md>*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@md{margin:0px !important}.gap-0\@md>*{padding:0px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-0\@sm{margin-left:0px !important;margin-right:0px !important}.gapX-0\@sm>*{padding-left:0px !important;padding-right:0px !important}.gapY-0\@sm{margin-top:0px !important;margin-bottom:0px !important}.gapY-0\@sm>*{padding-top:0px !important;padding-bottom:0px !important}.gap-0\@sm{margin:0px !important}.gap-0\@sm>*{padding:0px !important}}.gapX-1{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1>*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1>*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1{margin:-0.5px !important}.gap-1>*{padding:0.5px !important}@media screen and (min-width: 1440px){.gapX-1\@xl\+{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@xl\+>*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@xl\+{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@xl\+>*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@xl\+{margin:-0.5px !important}.gap-1\@xl\+>*{padding:0.5px !important}}@media screen and (min-width: 1200px){.gapX-1\@lg\+{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@lg\+>*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@lg\+{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@lg\+>*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@lg\+{margin:-0.5px !important}.gap-1\@lg\+>*{padding:0.5px !important}}@media screen and (min-width: 992px){.gapX-1\@md\+{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@md\+>*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@md\+{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@md\+>*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@md\+{margin:-0.5px !important}.gap-1\@md\+>*{padding:0.5px !important}}@media screen and (min-width: 768px){.gapX-1\@sm\+{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@sm\+>*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@sm\+{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@sm\+>*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@sm\+{margin:-0.5px !important}.gap-1\@sm\+>*{padding:0.5px !important}}@media screen and (min-width: 0){.gapX-1\@xs\+{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@xs\+>*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@xs\+{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@xs\+>*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@xs\+{margin:-0.5px !important}.gap-1\@xs\+>*{padding:0.5px !important}}@media screen and (max-width: 1439px){.gapX-1\@xl-{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@xl->*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@xl-{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@xl->*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@xl-{margin:-0.5px !important}.gap-1\@xl->*{padding:0.5px !important}}@media screen and (max-width: 1199px){.gapX-1\@lg-{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@lg->*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@lg-{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@lg->*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@lg-{margin:-0.5px !important}.gap-1\@lg->*{padding:0.5px !important}}@media screen and (max-width: 991px){.gapX-1\@md-{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@md->*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@md-{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@md->*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@md-{margin:-0.5px !important}.gap-1\@md->*{padding:0.5px !important}}@media screen and (max-width: 767px){.gapX-1\@sm-{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@sm->*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@sm-{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@sm->*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@sm-{margin:-0.5px !important}.gap-1\@sm->*{padding:0.5px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-1\@lg{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@lg>*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@lg{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@lg>*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@lg{margin:-0.5px !important}.gap-1\@lg>*{padding:0.5px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-1\@md{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@md>*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@md{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@md>*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@md{margin:-0.5px !important}.gap-1\@md>*{padding:0.5px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-1\@sm{margin-left:-0.5px !important;margin-right:-0.5px !important}.gapX-1\@sm>*{padding-left:0.5px !important;padding-right:0.5px !important}.gapY-1\@sm{margin-top:-0.5px !important;margin-bottom:-0.5px !important}.gapY-1\@sm>*{padding-top:0.5px !important;padding-bottom:0.5px !important}.gap-1\@sm{margin:-0.5px !important}.gap-1\@sm>*{padding:0.5px !important}}.gapX-2{margin-left:-1px !important;margin-right:-1px !important}.gapX-2>*{padding-left:1px !important;padding-right:1px !important}.gapY-2{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2>*{padding-top:1px !important;padding-bottom:1px !important}.gap-2{margin:-1px !important}.gap-2>*{padding:1px !important}@media screen and (min-width: 1440px){.gapX-2\@xl\+{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@xl\+>*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@xl\+{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@xl\+>*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@xl\+{margin:-1px !important}.gap-2\@xl\+>*{padding:1px !important}}@media screen and (min-width: 1200px){.gapX-2\@lg\+{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@lg\+>*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@lg\+{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@lg\+>*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@lg\+{margin:-1px !important}.gap-2\@lg\+>*{padding:1px !important}}@media screen and (min-width: 992px){.gapX-2\@md\+{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@md\+>*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@md\+{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@md\+>*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@md\+{margin:-1px !important}.gap-2\@md\+>*{padding:1px !important}}@media screen and (min-width: 768px){.gapX-2\@sm\+{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@sm\+>*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@sm\+{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@sm\+>*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@sm\+{margin:-1px !important}.gap-2\@sm\+>*{padding:1px !important}}@media screen and (min-width: 0){.gapX-2\@xs\+{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@xs\+>*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@xs\+{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@xs\+>*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@xs\+{margin:-1px !important}.gap-2\@xs\+>*{padding:1px !important}}@media screen and (max-width: 1439px){.gapX-2\@xl-{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@xl->*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@xl-{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@xl->*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@xl-{margin:-1px !important}.gap-2\@xl->*{padding:1px !important}}@media screen and (max-width: 1199px){.gapX-2\@lg-{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@lg->*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@lg-{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@lg->*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@lg-{margin:-1px !important}.gap-2\@lg->*{padding:1px !important}}@media screen and (max-width: 991px){.gapX-2\@md-{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@md->*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@md-{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@md->*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@md-{margin:-1px !important}.gap-2\@md->*{padding:1px !important}}@media screen and (max-width: 767px){.gapX-2\@sm-{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@sm->*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@sm-{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@sm->*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@sm-{margin:-1px !important}.gap-2\@sm->*{padding:1px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-2\@lg{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@lg>*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@lg{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@lg>*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@lg{margin:-1px !important}.gap-2\@lg>*{padding:1px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-2\@md{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@md>*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@md{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@md>*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@md{margin:-1px !important}.gap-2\@md>*{padding:1px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-2\@sm{margin-left:-1px !important;margin-right:-1px !important}.gapX-2\@sm>*{padding-left:1px !important;padding-right:1px !important}.gapY-2\@sm{margin-top:-1px !important;margin-bottom:-1px !important}.gapY-2\@sm>*{padding-top:1px !important;padding-bottom:1px !important}.gap-2\@sm{margin:-1px !important}.gap-2\@sm>*{padding:1px !important}}.gapX-3{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3>*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3>*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3{margin:-1.5px !important}.gap-3>*{padding:1.5px !important}@media screen and (min-width: 1440px){.gapX-3\@xl\+{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@xl\+>*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@xl\+{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@xl\+>*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@xl\+{margin:-1.5px !important}.gap-3\@xl\+>*{padding:1.5px !important}}@media screen and (min-width: 1200px){.gapX-3\@lg\+{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@lg\+>*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@lg\+{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@lg\+>*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@lg\+{margin:-1.5px !important}.gap-3\@lg\+>*{padding:1.5px !important}}@media screen and (min-width: 992px){.gapX-3\@md\+{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@md\+>*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@md\+{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@md\+>*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@md\+{margin:-1.5px !important}.gap-3\@md\+>*{padding:1.5px !important}}@media screen and (min-width: 768px){.gapX-3\@sm\+{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@sm\+>*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@sm\+{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@sm\+>*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@sm\+{margin:-1.5px !important}.gap-3\@sm\+>*{padding:1.5px !important}}@media screen and (min-width: 0){.gapX-3\@xs\+{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@xs\+>*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@xs\+{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@xs\+>*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@xs\+{margin:-1.5px !important}.gap-3\@xs\+>*{padding:1.5px !important}}@media screen and (max-width: 1439px){.gapX-3\@xl-{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@xl->*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@xl-{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@xl->*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@xl-{margin:-1.5px !important}.gap-3\@xl->*{padding:1.5px !important}}@media screen and (max-width: 1199px){.gapX-3\@lg-{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@lg->*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@lg-{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@lg->*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@lg-{margin:-1.5px !important}.gap-3\@lg->*{padding:1.5px !important}}@media screen and (max-width: 991px){.gapX-3\@md-{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@md->*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@md-{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@md->*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@md-{margin:-1.5px !important}.gap-3\@md->*{padding:1.5px !important}}@media screen and (max-width: 767px){.gapX-3\@sm-{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@sm->*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@sm-{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@sm->*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@sm-{margin:-1.5px !important}.gap-3\@sm->*{padding:1.5px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-3\@lg{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@lg>*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@lg{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@lg>*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@lg{margin:-1.5px !important}.gap-3\@lg>*{padding:1.5px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-3\@md{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@md>*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@md{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@md>*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@md{margin:-1.5px !important}.gap-3\@md>*{padding:1.5px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-3\@sm{margin-left:-1.5px !important;margin-right:-1.5px !important}.gapX-3\@sm>*{padding-left:1.5px !important;padding-right:1.5px !important}.gapY-3\@sm{margin-top:-1.5px !important;margin-bottom:-1.5px !important}.gapY-3\@sm>*{padding-top:1.5px !important;padding-bottom:1.5px !important}.gap-3\@sm{margin:-1.5px !important}.gap-3\@sm>*{padding:1.5px !important}}.gapX-4{margin-left:-2px !important;margin-right:-2px !important}.gapX-4>*{padding-left:2px !important;padding-right:2px !important}.gapY-4{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4>*{padding-top:2px !important;padding-bottom:2px !important}.gap-4{margin:-2px !important}.gap-4>*{padding:2px !important}@media screen and (min-width: 1440px){.gapX-4\@xl\+{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@xl\+>*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@xl\+{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@xl\+>*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@xl\+{margin:-2px !important}.gap-4\@xl\+>*{padding:2px !important}}@media screen and (min-width: 1200px){.gapX-4\@lg\+{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@lg\+>*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@lg\+{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@lg\+>*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@lg\+{margin:-2px !important}.gap-4\@lg\+>*{padding:2px !important}}@media screen and (min-width: 992px){.gapX-4\@md\+{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@md\+>*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@md\+{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@md\+>*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@md\+{margin:-2px !important}.gap-4\@md\+>*{padding:2px !important}}@media screen and (min-width: 768px){.gapX-4\@sm\+{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@sm\+>*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@sm\+{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@sm\+>*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@sm\+{margin:-2px !important}.gap-4\@sm\+>*{padding:2px !important}}@media screen and (min-width: 0){.gapX-4\@xs\+{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@xs\+>*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@xs\+{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@xs\+>*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@xs\+{margin:-2px !important}.gap-4\@xs\+>*{padding:2px !important}}@media screen and (max-width: 1439px){.gapX-4\@xl-{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@xl->*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@xl-{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@xl->*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@xl-{margin:-2px !important}.gap-4\@xl->*{padding:2px !important}}@media screen and (max-width: 1199px){.gapX-4\@lg-{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@lg->*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@lg-{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@lg->*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@lg-{margin:-2px !important}.gap-4\@lg->*{padding:2px !important}}@media screen and (max-width: 991px){.gapX-4\@md-{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@md->*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@md-{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@md->*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@md-{margin:-2px !important}.gap-4\@md->*{padding:2px !important}}@media screen and (max-width: 767px){.gapX-4\@sm-{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@sm->*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@sm-{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@sm->*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@sm-{margin:-2px !important}.gap-4\@sm->*{padding:2px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-4\@lg{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@lg>*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@lg{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@lg>*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@lg{margin:-2px !important}.gap-4\@lg>*{padding:2px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-4\@md{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@md>*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@md{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@md>*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@md{margin:-2px !important}.gap-4\@md>*{padding:2px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-4\@sm{margin-left:-2px !important;margin-right:-2px !important}.gapX-4\@sm>*{padding-left:2px !important;padding-right:2px !important}.gapY-4\@sm{margin-top:-2px !important;margin-bottom:-2px !important}.gapY-4\@sm>*{padding-top:2px !important;padding-bottom:2px !important}.gap-4\@sm{margin:-2px !important}.gap-4\@sm>*{padding:2px !important}}.gapX-5{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5>*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5>*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5{margin:-2.5px !important}.gap-5>*{padding:2.5px !important}@media screen and (min-width: 1440px){.gapX-5\@xl\+{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@xl\+>*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@xl\+{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@xl\+>*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@xl\+{margin:-2.5px !important}.gap-5\@xl\+>*{padding:2.5px !important}}@media screen and (min-width: 1200px){.gapX-5\@lg\+{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@lg\+>*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@lg\+{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@lg\+>*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@lg\+{margin:-2.5px !important}.gap-5\@lg\+>*{padding:2.5px !important}}@media screen and (min-width: 992px){.gapX-5\@md\+{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@md\+>*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@md\+{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@md\+>*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@md\+{margin:-2.5px !important}.gap-5\@md\+>*{padding:2.5px !important}}@media screen and (min-width: 768px){.gapX-5\@sm\+{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@sm\+>*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@sm\+{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@sm\+>*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@sm\+{margin:-2.5px !important}.gap-5\@sm\+>*{padding:2.5px !important}}@media screen and (min-width: 0){.gapX-5\@xs\+{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@xs\+>*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@xs\+{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@xs\+>*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@xs\+{margin:-2.5px !important}.gap-5\@xs\+>*{padding:2.5px !important}}@media screen and (max-width: 1439px){.gapX-5\@xl-{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@xl->*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@xl-{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@xl->*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@xl-{margin:-2.5px !important}.gap-5\@xl->*{padding:2.5px !important}}@media screen and (max-width: 1199px){.gapX-5\@lg-{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@lg->*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@lg-{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@lg->*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@lg-{margin:-2.5px !important}.gap-5\@lg->*{padding:2.5px !important}}@media screen and (max-width: 991px){.gapX-5\@md-{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@md->*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@md-{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@md->*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@md-{margin:-2.5px !important}.gap-5\@md->*{padding:2.5px !important}}@media screen and (max-width: 767px){.gapX-5\@sm-{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@sm->*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@sm-{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@sm->*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@sm-{margin:-2.5px !important}.gap-5\@sm->*{padding:2.5px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-5\@lg{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@lg>*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@lg{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@lg>*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@lg{margin:-2.5px !important}.gap-5\@lg>*{padding:2.5px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-5\@md{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@md>*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@md{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@md>*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@md{margin:-2.5px !important}.gap-5\@md>*{padding:2.5px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-5\@sm{margin-left:-2.5px !important;margin-right:-2.5px !important}.gapX-5\@sm>*{padding-left:2.5px !important;padding-right:2.5px !important}.gapY-5\@sm{margin-top:-2.5px !important;margin-bottom:-2.5px !important}.gapY-5\@sm>*{padding-top:2.5px !important;padding-bottom:2.5px !important}.gap-5\@sm{margin:-2.5px !important}.gap-5\@sm>*{padding:2.5px !important}}.gapX-10{margin-left:-5px !important;margin-right:-5px !important}.gapX-10>*{padding-left:5px !important;padding-right:5px !important}.gapY-10{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10>*{padding-top:5px !important;padding-bottom:5px !important}.gap-10{margin:-5px !important}.gap-10>*{padding:5px !important}@media screen and (min-width: 1440px){.gapX-10\@xl\+{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@xl\+>*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@xl\+{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@xl\+>*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@xl\+{margin:-5px !important}.gap-10\@xl\+>*{padding:5px !important}}@media screen and (min-width: 1200px){.gapX-10\@lg\+{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@lg\+>*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@lg\+{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@lg\+>*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@lg\+{margin:-5px !important}.gap-10\@lg\+>*{padding:5px !important}}@media screen and (min-width: 992px){.gapX-10\@md\+{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@md\+>*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@md\+{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@md\+>*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@md\+{margin:-5px !important}.gap-10\@md\+>*{padding:5px !important}}@media screen and (min-width: 768px){.gapX-10\@sm\+{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@sm\+>*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@sm\+{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@sm\+>*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@sm\+{margin:-5px !important}.gap-10\@sm\+>*{padding:5px !important}}@media screen and (min-width: 0){.gapX-10\@xs\+{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@xs\+>*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@xs\+{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@xs\+>*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@xs\+{margin:-5px !important}.gap-10\@xs\+>*{padding:5px !important}}@media screen and (max-width: 1439px){.gapX-10\@xl-{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@xl->*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@xl-{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@xl->*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@xl-{margin:-5px !important}.gap-10\@xl->*{padding:5px !important}}@media screen and (max-width: 1199px){.gapX-10\@lg-{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@lg->*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@lg-{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@lg->*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@lg-{margin:-5px !important}.gap-10\@lg->*{padding:5px !important}}@media screen and (max-width: 991px){.gapX-10\@md-{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@md->*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@md-{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@md->*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@md-{margin:-5px !important}.gap-10\@md->*{padding:5px !important}}@media screen and (max-width: 767px){.gapX-10\@sm-{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@sm->*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@sm-{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@sm->*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@sm-{margin:-5px !important}.gap-10\@sm->*{padding:5px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-10\@lg{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@lg>*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@lg{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@lg>*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@lg{margin:-5px !important}.gap-10\@lg>*{padding:5px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-10\@md{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@md>*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@md{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@md>*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@md{margin:-5px !important}.gap-10\@md>*{padding:5px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-10\@sm{margin-left:-5px !important;margin-right:-5px !important}.gapX-10\@sm>*{padding-left:5px !important;padding-right:5px !important}.gapY-10\@sm{margin-top:-5px !important;margin-bottom:-5px !important}.gapY-10\@sm>*{padding-top:5px !important;padding-bottom:5px !important}.gap-10\@sm{margin:-5px !important}.gap-10\@sm>*{padding:5px !important}}.gapX-15{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15>*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15>*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15{margin:-7.5px !important}.gap-15>*{padding:7.5px !important}@media screen and (min-width: 1440px){.gapX-15\@xl\+{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@xl\+>*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@xl\+{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@xl\+>*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@xl\+{margin:-7.5px !important}.gap-15\@xl\+>*{padding:7.5px !important}}@media screen and (min-width: 1200px){.gapX-15\@lg\+{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@lg\+>*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@lg\+{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@lg\+>*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@lg\+{margin:-7.5px !important}.gap-15\@lg\+>*{padding:7.5px !important}}@media screen and (min-width: 992px){.gapX-15\@md\+{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@md\+>*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@md\+{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@md\+>*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@md\+{margin:-7.5px !important}.gap-15\@md\+>*{padding:7.5px !important}}@media screen and (min-width: 768px){.gapX-15\@sm\+{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@sm\+>*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@sm\+{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@sm\+>*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@sm\+{margin:-7.5px !important}.gap-15\@sm\+>*{padding:7.5px !important}}@media screen and (min-width: 0){.gapX-15\@xs\+{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@xs\+>*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@xs\+{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@xs\+>*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@xs\+{margin:-7.5px !important}.gap-15\@xs\+>*{padding:7.5px !important}}@media screen and (max-width: 1439px){.gapX-15\@xl-{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@xl->*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@xl-{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@xl->*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@xl-{margin:-7.5px !important}.gap-15\@xl->*{padding:7.5px !important}}@media screen and (max-width: 1199px){.gapX-15\@lg-{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@lg->*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@lg-{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@lg->*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@lg-{margin:-7.5px !important}.gap-15\@lg->*{padding:7.5px !important}}@media screen and (max-width: 991px){.gapX-15\@md-{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@md->*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@md-{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@md->*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@md-{margin:-7.5px !important}.gap-15\@md->*{padding:7.5px !important}}@media screen and (max-width: 767px){.gapX-15\@sm-{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@sm->*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@sm-{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@sm->*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@sm-{margin:-7.5px !important}.gap-15\@sm->*{padding:7.5px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-15\@lg{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@lg>*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@lg{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@lg>*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@lg{margin:-7.5px !important}.gap-15\@lg>*{padding:7.5px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-15\@md{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@md>*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@md{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@md>*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@md{margin:-7.5px !important}.gap-15\@md>*{padding:7.5px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-15\@sm{margin-left:-7.5px !important;margin-right:-7.5px !important}.gapX-15\@sm>*{padding-left:7.5px !important;padding-right:7.5px !important}.gapY-15\@sm{margin-top:-7.5px !important;margin-bottom:-7.5px !important}.gapY-15\@sm>*{padding-top:7.5px !important;padding-bottom:7.5px !important}.gap-15\@sm{margin:-7.5px !important}.gap-15\@sm>*{padding:7.5px !important}}.gapX-20{margin-left:-10px !important;margin-right:-10px !important}.gapX-20>*{padding-left:10px !important;padding-right:10px !important}.gapY-20{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20>*{padding-top:10px !important;padding-bottom:10px !important}.gap-20{margin:-10px !important}.gap-20>*{padding:10px !important}@media screen and (min-width: 1440px){.gapX-20\@xl\+{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@xl\+>*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@xl\+{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@xl\+>*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@xl\+{margin:-10px !important}.gap-20\@xl\+>*{padding:10px !important}}@media screen and (min-width: 1200px){.gapX-20\@lg\+{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@lg\+>*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@lg\+{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@lg\+>*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@lg\+{margin:-10px !important}.gap-20\@lg\+>*{padding:10px !important}}@media screen and (min-width: 992px){.gapX-20\@md\+{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@md\+>*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@md\+{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@md\+>*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@md\+{margin:-10px !important}.gap-20\@md\+>*{padding:10px !important}}@media screen and (min-width: 768px){.gapX-20\@sm\+{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@sm\+>*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@sm\+{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@sm\+>*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@sm\+{margin:-10px !important}.gap-20\@sm\+>*{padding:10px !important}}@media screen and (min-width: 0){.gapX-20\@xs\+{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@xs\+>*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@xs\+{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@xs\+>*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@xs\+{margin:-10px !important}.gap-20\@xs\+>*{padding:10px !important}}@media screen and (max-width: 1439px){.gapX-20\@xl-{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@xl->*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@xl-{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@xl->*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@xl-{margin:-10px !important}.gap-20\@xl->*{padding:10px !important}}@media screen and (max-width: 1199px){.gapX-20\@lg-{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@lg->*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@lg-{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@lg->*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@lg-{margin:-10px !important}.gap-20\@lg->*{padding:10px !important}}@media screen and (max-width: 991px){.gapX-20\@md-{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@md->*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@md-{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@md->*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@md-{margin:-10px !important}.gap-20\@md->*{padding:10px !important}}@media screen and (max-width: 767px){.gapX-20\@sm-{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@sm->*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@sm-{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@sm->*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@sm-{margin:-10px !important}.gap-20\@sm->*{padding:10px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-20\@lg{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@lg>*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@lg{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@lg>*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@lg{margin:-10px !important}.gap-20\@lg>*{padding:10px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-20\@md{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@md>*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@md{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@md>*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@md{margin:-10px !important}.gap-20\@md>*{padding:10px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-20\@sm{margin-left:-10px !important;margin-right:-10px !important}.gapX-20\@sm>*{padding-left:10px !important;padding-right:10px !important}.gapY-20\@sm{margin-top:-10px !important;margin-bottom:-10px !important}.gapY-20\@sm>*{padding-top:10px !important;padding-bottom:10px !important}.gap-20\@sm{margin:-10px !important}.gap-20\@sm>*{padding:10px !important}}.gapX-25{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25>*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25>*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25{margin:-12.5px !important}.gap-25>*{padding:12.5px !important}@media screen and (min-width: 1440px){.gapX-25\@xl\+{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@xl\+>*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@xl\+{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@xl\+>*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@xl\+{margin:-12.5px !important}.gap-25\@xl\+>*{padding:12.5px !important}}@media screen and (min-width: 1200px){.gapX-25\@lg\+{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@lg\+>*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@lg\+{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@lg\+>*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@lg\+{margin:-12.5px !important}.gap-25\@lg\+>*{padding:12.5px !important}}@media screen and (min-width: 992px){.gapX-25\@md\+{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@md\+>*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@md\+{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@md\+>*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@md\+{margin:-12.5px !important}.gap-25\@md\+>*{padding:12.5px !important}}@media screen and (min-width: 768px){.gapX-25\@sm\+{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@sm\+>*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@sm\+{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@sm\+>*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@sm\+{margin:-12.5px !important}.gap-25\@sm\+>*{padding:12.5px !important}}@media screen and (min-width: 0){.gapX-25\@xs\+{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@xs\+>*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@xs\+{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@xs\+>*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@xs\+{margin:-12.5px !important}.gap-25\@xs\+>*{padding:12.5px !important}}@media screen and (max-width: 1439px){.gapX-25\@xl-{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@xl->*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@xl-{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@xl->*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@xl-{margin:-12.5px !important}.gap-25\@xl->*{padding:12.5px !important}}@media screen and (max-width: 1199px){.gapX-25\@lg-{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@lg->*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@lg-{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@lg->*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@lg-{margin:-12.5px !important}.gap-25\@lg->*{padding:12.5px !important}}@media screen and (max-width: 991px){.gapX-25\@md-{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@md->*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@md-{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@md->*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@md-{margin:-12.5px !important}.gap-25\@md->*{padding:12.5px !important}}@media screen and (max-width: 767px){.gapX-25\@sm-{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@sm->*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@sm-{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@sm->*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@sm-{margin:-12.5px !important}.gap-25\@sm->*{padding:12.5px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-25\@lg{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@lg>*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@lg{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@lg>*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@lg{margin:-12.5px !important}.gap-25\@lg>*{padding:12.5px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-25\@md{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@md>*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@md{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@md>*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@md{margin:-12.5px !important}.gap-25\@md>*{padding:12.5px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-25\@sm{margin-left:-12.5px !important;margin-right:-12.5px !important}.gapX-25\@sm>*{padding-left:12.5px !important;padding-right:12.5px !important}.gapY-25\@sm{margin-top:-12.5px !important;margin-bottom:-12.5px !important}.gapY-25\@sm>*{padding-top:12.5px !important;padding-bottom:12.5px !important}.gap-25\@sm{margin:-12.5px !important}.gap-25\@sm>*{padding:12.5px !important}}.gapX-30{margin-left:-15px !important;margin-right:-15px !important}.gapX-30>*{padding-left:15px !important;padding-right:15px !important}.gapY-30{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30>*{padding-top:15px !important;padding-bottom:15px !important}.gap-30{margin:-15px !important}.gap-30>*{padding:15px !important}@media screen and (min-width: 1440px){.gapX-30\@xl\+{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@xl\+>*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@xl\+{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@xl\+>*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@xl\+{margin:-15px !important}.gap-30\@xl\+>*{padding:15px !important}}@media screen and (min-width: 1200px){.gapX-30\@lg\+{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@lg\+>*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@lg\+{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@lg\+>*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@lg\+{margin:-15px !important}.gap-30\@lg\+>*{padding:15px !important}}@media screen and (min-width: 992px){.gapX-30\@md\+{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@md\+>*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@md\+{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@md\+>*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@md\+{margin:-15px !important}.gap-30\@md\+>*{padding:15px !important}}@media screen and (min-width: 768px){.gapX-30\@sm\+{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@sm\+>*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@sm\+{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@sm\+>*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@sm\+{margin:-15px !important}.gap-30\@sm\+>*{padding:15px !important}}@media screen and (min-width: 0){.gapX-30\@xs\+{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@xs\+>*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@xs\+{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@xs\+>*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@xs\+{margin:-15px !important}.gap-30\@xs\+>*{padding:15px !important}}@media screen and (max-width: 1439px){.gapX-30\@xl-{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@xl->*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@xl-{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@xl->*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@xl-{margin:-15px !important}.gap-30\@xl->*{padding:15px !important}}@media screen and (max-width: 1199px){.gapX-30\@lg-{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@lg->*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@lg-{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@lg->*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@lg-{margin:-15px !important}.gap-30\@lg->*{padding:15px !important}}@media screen and (max-width: 991px){.gapX-30\@md-{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@md->*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@md-{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@md->*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@md-{margin:-15px !important}.gap-30\@md->*{padding:15px !important}}@media screen and (max-width: 767px){.gapX-30\@sm-{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@sm->*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@sm-{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@sm->*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@sm-{margin:-15px !important}.gap-30\@sm->*{padding:15px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-30\@lg{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@lg>*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@lg{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@lg>*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@lg{margin:-15px !important}.gap-30\@lg>*{padding:15px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-30\@md{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@md>*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@md{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@md>*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@md{margin:-15px !important}.gap-30\@md>*{padding:15px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-30\@sm{margin-left:-15px !important;margin-right:-15px !important}.gapX-30\@sm>*{padding-left:15px !important;padding-right:15px !important}.gapY-30\@sm{margin-top:-15px !important;margin-bottom:-15px !important}.gapY-30\@sm>*{padding-top:15px !important;padding-bottom:15px !important}.gap-30\@sm{margin:-15px !important}.gap-30\@sm>*{padding:15px !important}}.gapX-35{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35>*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35>*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35{margin:-17.5px !important}.gap-35>*{padding:17.5px !important}@media screen and (min-width: 1440px){.gapX-35\@xl\+{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@xl\+>*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@xl\+{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@xl\+>*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@xl\+{margin:-17.5px !important}.gap-35\@xl\+>*{padding:17.5px !important}}@media screen and (min-width: 1200px){.gapX-35\@lg\+{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@lg\+>*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@lg\+{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@lg\+>*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@lg\+{margin:-17.5px !important}.gap-35\@lg\+>*{padding:17.5px !important}}@media screen and (min-width: 992px){.gapX-35\@md\+{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@md\+>*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@md\+{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@md\+>*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@md\+{margin:-17.5px !important}.gap-35\@md\+>*{padding:17.5px !important}}@media screen and (min-width: 768px){.gapX-35\@sm\+{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@sm\+>*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@sm\+{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@sm\+>*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@sm\+{margin:-17.5px !important}.gap-35\@sm\+>*{padding:17.5px !important}}@media screen and (min-width: 0){.gapX-35\@xs\+{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@xs\+>*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@xs\+{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@xs\+>*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@xs\+{margin:-17.5px !important}.gap-35\@xs\+>*{padding:17.5px !important}}@media screen and (max-width: 1439px){.gapX-35\@xl-{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@xl->*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@xl-{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@xl->*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@xl-{margin:-17.5px !important}.gap-35\@xl->*{padding:17.5px !important}}@media screen and (max-width: 1199px){.gapX-35\@lg-{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@lg->*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@lg-{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@lg->*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@lg-{margin:-17.5px !important}.gap-35\@lg->*{padding:17.5px !important}}@media screen and (max-width: 991px){.gapX-35\@md-{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@md->*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@md-{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@md->*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@md-{margin:-17.5px !important}.gap-35\@md->*{padding:17.5px !important}}@media screen and (max-width: 767px){.gapX-35\@sm-{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@sm->*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@sm-{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@sm->*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@sm-{margin:-17.5px !important}.gap-35\@sm->*{padding:17.5px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-35\@lg{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@lg>*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@lg{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@lg>*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@lg{margin:-17.5px !important}.gap-35\@lg>*{padding:17.5px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-35\@md{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@md>*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@md{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@md>*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@md{margin:-17.5px !important}.gap-35\@md>*{padding:17.5px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-35\@sm{margin-left:-17.5px !important;margin-right:-17.5px !important}.gapX-35\@sm>*{padding-left:17.5px !important;padding-right:17.5px !important}.gapY-35\@sm{margin-top:-17.5px !important;margin-bottom:-17.5px !important}.gapY-35\@sm>*{padding-top:17.5px !important;padding-bottom:17.5px !important}.gap-35\@sm{margin:-17.5px !important}.gap-35\@sm>*{padding:17.5px !important}}.gapX-40{margin-left:-20px !important;margin-right:-20px !important}.gapX-40>*{padding-left:20px !important;padding-right:20px !important}.gapY-40{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40>*{padding-top:20px !important;padding-bottom:20px !important}.gap-40{margin:-20px !important}.gap-40>*{padding:20px !important}@media screen and (min-width: 1440px){.gapX-40\@xl\+{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@xl\+>*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@xl\+{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@xl\+>*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@xl\+{margin:-20px !important}.gap-40\@xl\+>*{padding:20px !important}}@media screen and (min-width: 1200px){.gapX-40\@lg\+{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@lg\+>*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@lg\+{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@lg\+>*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@lg\+{margin:-20px !important}.gap-40\@lg\+>*{padding:20px !important}}@media screen and (min-width: 992px){.gapX-40\@md\+{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@md\+>*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@md\+{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@md\+>*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@md\+{margin:-20px !important}.gap-40\@md\+>*{padding:20px !important}}@media screen and (min-width: 768px){.gapX-40\@sm\+{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@sm\+>*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@sm\+{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@sm\+>*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@sm\+{margin:-20px !important}.gap-40\@sm\+>*{padding:20px !important}}@media screen and (min-width: 0){.gapX-40\@xs\+{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@xs\+>*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@xs\+{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@xs\+>*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@xs\+{margin:-20px !important}.gap-40\@xs\+>*{padding:20px !important}}@media screen and (max-width: 1439px){.gapX-40\@xl-{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@xl->*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@xl-{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@xl->*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@xl-{margin:-20px !important}.gap-40\@xl->*{padding:20px !important}}@media screen and (max-width: 1199px){.gapX-40\@lg-{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@lg->*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@lg-{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@lg->*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@lg-{margin:-20px !important}.gap-40\@lg->*{padding:20px !important}}@media screen and (max-width: 991px){.gapX-40\@md-{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@md->*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@md-{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@md->*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@md-{margin:-20px !important}.gap-40\@md->*{padding:20px !important}}@media screen and (max-width: 767px){.gapX-40\@sm-{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@sm->*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@sm-{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@sm->*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@sm-{margin:-20px !important}.gap-40\@sm->*{padding:20px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-40\@lg{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@lg>*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@lg{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@lg>*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@lg{margin:-20px !important}.gap-40\@lg>*{padding:20px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-40\@md{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@md>*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@md{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@md>*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@md{margin:-20px !important}.gap-40\@md>*{padding:20px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-40\@sm{margin-left:-20px !important;margin-right:-20px !important}.gapX-40\@sm>*{padding-left:20px !important;padding-right:20px !important}.gapY-40\@sm{margin-top:-20px !important;margin-bottom:-20px !important}.gapY-40\@sm>*{padding-top:20px !important;padding-bottom:20px !important}.gap-40\@sm{margin:-20px !important}.gap-40\@sm>*{padding:20px !important}}.gapX-50{margin-left:-25px !important;margin-right:-25px !important}.gapX-50>*{padding-left:25px !important;padding-right:25px !important}.gapY-50{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50>*{padding-top:25px !important;padding-bottom:25px !important}.gap-50{margin:-25px !important}.gap-50>*{padding:25px !important}@media screen and (min-width: 1440px){.gapX-50\@xl\+{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@xl\+>*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@xl\+{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@xl\+>*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@xl\+{margin:-25px !important}.gap-50\@xl\+>*{padding:25px !important}}@media screen and (min-width: 1200px){.gapX-50\@lg\+{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@lg\+>*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@lg\+{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@lg\+>*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@lg\+{margin:-25px !important}.gap-50\@lg\+>*{padding:25px !important}}@media screen and (min-width: 992px){.gapX-50\@md\+{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@md\+>*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@md\+{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@md\+>*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@md\+{margin:-25px !important}.gap-50\@md\+>*{padding:25px !important}}@media screen and (min-width: 768px){.gapX-50\@sm\+{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@sm\+>*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@sm\+{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@sm\+>*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@sm\+{margin:-25px !important}.gap-50\@sm\+>*{padding:25px !important}}@media screen and (min-width: 0){.gapX-50\@xs\+{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@xs\+>*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@xs\+{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@xs\+>*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@xs\+{margin:-25px !important}.gap-50\@xs\+>*{padding:25px !important}}@media screen and (max-width: 1439px){.gapX-50\@xl-{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@xl->*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@xl-{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@xl->*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@xl-{margin:-25px !important}.gap-50\@xl->*{padding:25px !important}}@media screen and (max-width: 1199px){.gapX-50\@lg-{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@lg->*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@lg-{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@lg->*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@lg-{margin:-25px !important}.gap-50\@lg->*{padding:25px !important}}@media screen and (max-width: 991px){.gapX-50\@md-{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@md->*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@md-{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@md->*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@md-{margin:-25px !important}.gap-50\@md->*{padding:25px !important}}@media screen and (max-width: 767px){.gapX-50\@sm-{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@sm->*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@sm-{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@sm->*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@sm-{margin:-25px !important}.gap-50\@sm->*{padding:25px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-50\@lg{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@lg>*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@lg{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@lg>*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@lg{margin:-25px !important}.gap-50\@lg>*{padding:25px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-50\@md{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@md>*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@md{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@md>*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@md{margin:-25px !important}.gap-50\@md>*{padding:25px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-50\@sm{margin-left:-25px !important;margin-right:-25px !important}.gapX-50\@sm>*{padding-left:25px !important;padding-right:25px !important}.gapY-50\@sm{margin-top:-25px !important;margin-bottom:-25px !important}.gapY-50\@sm>*{padding-top:25px !important;padding-bottom:25px !important}.gap-50\@sm{margin:-25px !important}.gap-50\@sm>*{padding:25px !important}}.gapX-60{margin-left:-30px !important;margin-right:-30px !important}.gapX-60>*{padding-left:30px !important;padding-right:30px !important}.gapY-60{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60>*{padding-top:30px !important;padding-bottom:30px !important}.gap-60{margin:-30px !important}.gap-60>*{padding:30px !important}@media screen and (min-width: 1440px){.gapX-60\@xl\+{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@xl\+>*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@xl\+{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@xl\+>*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@xl\+{margin:-30px !important}.gap-60\@xl\+>*{padding:30px !important}}@media screen and (min-width: 1200px){.gapX-60\@lg\+{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@lg\+>*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@lg\+{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@lg\+>*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@lg\+{margin:-30px !important}.gap-60\@lg\+>*{padding:30px !important}}@media screen and (min-width: 992px){.gapX-60\@md\+{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@md\+>*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@md\+{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@md\+>*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@md\+{margin:-30px !important}.gap-60\@md\+>*{padding:30px !important}}@media screen and (min-width: 768px){.gapX-60\@sm\+{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@sm\+>*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@sm\+{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@sm\+>*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@sm\+{margin:-30px !important}.gap-60\@sm\+>*{padding:30px !important}}@media screen and (min-width: 0){.gapX-60\@xs\+{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@xs\+>*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@xs\+{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@xs\+>*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@xs\+{margin:-30px !important}.gap-60\@xs\+>*{padding:30px !important}}@media screen and (max-width: 1439px){.gapX-60\@xl-{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@xl->*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@xl-{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@xl->*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@xl-{margin:-30px !important}.gap-60\@xl->*{padding:30px !important}}@media screen and (max-width: 1199px){.gapX-60\@lg-{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@lg->*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@lg-{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@lg->*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@lg-{margin:-30px !important}.gap-60\@lg->*{padding:30px !important}}@media screen and (max-width: 991px){.gapX-60\@md-{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@md->*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@md-{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@md->*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@md-{margin:-30px !important}.gap-60\@md->*{padding:30px !important}}@media screen and (max-width: 767px){.gapX-60\@sm-{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@sm->*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@sm-{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@sm->*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@sm-{margin:-30px !important}.gap-60\@sm->*{padding:30px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-60\@lg{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@lg>*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@lg{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@lg>*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@lg{margin:-30px !important}.gap-60\@lg>*{padding:30px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-60\@md{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@md>*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@md{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@md>*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@md{margin:-30px !important}.gap-60\@md>*{padding:30px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-60\@sm{margin-left:-30px !important;margin-right:-30px !important}.gapX-60\@sm>*{padding-left:30px !important;padding-right:30px !important}.gapY-60\@sm{margin-top:-30px !important;margin-bottom:-30px !important}.gapY-60\@sm>*{padding-top:30px !important;padding-bottom:30px !important}.gap-60\@sm{margin:-30px !important}.gap-60\@sm>*{padding:30px !important}}.gapX-70{margin-left:-35px !important;margin-right:-35px !important}.gapX-70>*{padding-left:35px !important;padding-right:35px !important}.gapY-70{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70>*{padding-top:35px !important;padding-bottom:35px !important}.gap-70{margin:-35px !important}.gap-70>*{padding:35px !important}@media screen and (min-width: 1440px){.gapX-70\@xl\+{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@xl\+>*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@xl\+{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@xl\+>*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@xl\+{margin:-35px !important}.gap-70\@xl\+>*{padding:35px !important}}@media screen and (min-width: 1200px){.gapX-70\@lg\+{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@lg\+>*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@lg\+{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@lg\+>*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@lg\+{margin:-35px !important}.gap-70\@lg\+>*{padding:35px !important}}@media screen and (min-width: 992px){.gapX-70\@md\+{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@md\+>*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@md\+{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@md\+>*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@md\+{margin:-35px !important}.gap-70\@md\+>*{padding:35px !important}}@media screen and (min-width: 768px){.gapX-70\@sm\+{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@sm\+>*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@sm\+{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@sm\+>*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@sm\+{margin:-35px !important}.gap-70\@sm\+>*{padding:35px !important}}@media screen and (min-width: 0){.gapX-70\@xs\+{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@xs\+>*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@xs\+{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@xs\+>*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@xs\+{margin:-35px !important}.gap-70\@xs\+>*{padding:35px !important}}@media screen and (max-width: 1439px){.gapX-70\@xl-{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@xl->*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@xl-{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@xl->*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@xl-{margin:-35px !important}.gap-70\@xl->*{padding:35px !important}}@media screen and (max-width: 1199px){.gapX-70\@lg-{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@lg->*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@lg-{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@lg->*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@lg-{margin:-35px !important}.gap-70\@lg->*{padding:35px !important}}@media screen and (max-width: 991px){.gapX-70\@md-{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@md->*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@md-{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@md->*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@md-{margin:-35px !important}.gap-70\@md->*{padding:35px !important}}@media screen and (max-width: 767px){.gapX-70\@sm-{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@sm->*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@sm-{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@sm->*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@sm-{margin:-35px !important}.gap-70\@sm->*{padding:35px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-70\@lg{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@lg>*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@lg{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@lg>*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@lg{margin:-35px !important}.gap-70\@lg>*{padding:35px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-70\@md{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@md>*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@md{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@md>*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@md{margin:-35px !important}.gap-70\@md>*{padding:35px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-70\@sm{margin-left:-35px !important;margin-right:-35px !important}.gapX-70\@sm>*{padding-left:35px !important;padding-right:35px !important}.gapY-70\@sm{margin-top:-35px !important;margin-bottom:-35px !important}.gapY-70\@sm>*{padding-top:35px !important;padding-bottom:35px !important}.gap-70\@sm{margin:-35px !important}.gap-70\@sm>*{padding:35px !important}}.gapX-80{margin-left:-40px !important;margin-right:-40px !important}.gapX-80>*{padding-left:40px !important;padding-right:40px !important}.gapY-80{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80>*{padding-top:40px !important;padding-bottom:40px !important}.gap-80{margin:-40px !important}.gap-80>*{padding:40px !important}@media screen and (min-width: 1440px){.gapX-80\@xl\+{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@xl\+>*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@xl\+{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@xl\+>*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@xl\+{margin:-40px !important}.gap-80\@xl\+>*{padding:40px !important}}@media screen and (min-width: 1200px){.gapX-80\@lg\+{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@lg\+>*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@lg\+{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@lg\+>*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@lg\+{margin:-40px !important}.gap-80\@lg\+>*{padding:40px !important}}@media screen and (min-width: 992px){.gapX-80\@md\+{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@md\+>*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@md\+{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@md\+>*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@md\+{margin:-40px !important}.gap-80\@md\+>*{padding:40px !important}}@media screen and (min-width: 768px){.gapX-80\@sm\+{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@sm\+>*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@sm\+{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@sm\+>*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@sm\+{margin:-40px !important}.gap-80\@sm\+>*{padding:40px !important}}@media screen and (min-width: 0){.gapX-80\@xs\+{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@xs\+>*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@xs\+{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@xs\+>*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@xs\+{margin:-40px !important}.gap-80\@xs\+>*{padding:40px !important}}@media screen and (max-width: 1439px){.gapX-80\@xl-{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@xl->*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@xl-{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@xl->*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@xl-{margin:-40px !important}.gap-80\@xl->*{padding:40px !important}}@media screen and (max-width: 1199px){.gapX-80\@lg-{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@lg->*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@lg-{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@lg->*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@lg-{margin:-40px !important}.gap-80\@lg->*{padding:40px !important}}@media screen and (max-width: 991px){.gapX-80\@md-{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@md->*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@md-{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@md->*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@md-{margin:-40px !important}.gap-80\@md->*{padding:40px !important}}@media screen and (max-width: 767px){.gapX-80\@sm-{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@sm->*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@sm-{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@sm->*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@sm-{margin:-40px !important}.gap-80\@sm->*{padding:40px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-80\@lg{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@lg>*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@lg{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@lg>*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@lg{margin:-40px !important}.gap-80\@lg>*{padding:40px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-80\@md{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@md>*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@md{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@md>*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@md{margin:-40px !important}.gap-80\@md>*{padding:40px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-80\@sm{margin-left:-40px !important;margin-right:-40px !important}.gapX-80\@sm>*{padding-left:40px !important;padding-right:40px !important}.gapY-80\@sm{margin-top:-40px !important;margin-bottom:-40px !important}.gapY-80\@sm>*{padding-top:40px !important;padding-bottom:40px !important}.gap-80\@sm{margin:-40px !important}.gap-80\@sm>*{padding:40px !important}}.gapX-90{margin-left:-45px !important;margin-right:-45px !important}.gapX-90>*{padding-left:45px !important;padding-right:45px !important}.gapY-90{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90>*{padding-top:45px !important;padding-bottom:45px !important}.gap-90{margin:-45px !important}.gap-90>*{padding:45px !important}@media screen and (min-width: 1440px){.gapX-90\@xl\+{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@xl\+>*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@xl\+{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@xl\+>*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@xl\+{margin:-45px !important}.gap-90\@xl\+>*{padding:45px !important}}@media screen and (min-width: 1200px){.gapX-90\@lg\+{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@lg\+>*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@lg\+{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@lg\+>*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@lg\+{margin:-45px !important}.gap-90\@lg\+>*{padding:45px !important}}@media screen and (min-width: 992px){.gapX-90\@md\+{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@md\+>*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@md\+{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@md\+>*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@md\+{margin:-45px !important}.gap-90\@md\+>*{padding:45px !important}}@media screen and (min-width: 768px){.gapX-90\@sm\+{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@sm\+>*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@sm\+{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@sm\+>*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@sm\+{margin:-45px !important}.gap-90\@sm\+>*{padding:45px !important}}@media screen and (min-width: 0){.gapX-90\@xs\+{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@xs\+>*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@xs\+{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@xs\+>*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@xs\+{margin:-45px !important}.gap-90\@xs\+>*{padding:45px !important}}@media screen and (max-width: 1439px){.gapX-90\@xl-{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@xl->*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@xl-{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@xl->*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@xl-{margin:-45px !important}.gap-90\@xl->*{padding:45px !important}}@media screen and (max-width: 1199px){.gapX-90\@lg-{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@lg->*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@lg-{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@lg->*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@lg-{margin:-45px !important}.gap-90\@lg->*{padding:45px !important}}@media screen and (max-width: 991px){.gapX-90\@md-{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@md->*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@md-{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@md->*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@md-{margin:-45px !important}.gap-90\@md->*{padding:45px !important}}@media screen and (max-width: 767px){.gapX-90\@sm-{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@sm->*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@sm-{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@sm->*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@sm-{margin:-45px !important}.gap-90\@sm->*{padding:45px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-90\@lg{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@lg>*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@lg{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@lg>*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@lg{margin:-45px !important}.gap-90\@lg>*{padding:45px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-90\@md{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@md>*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@md{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@md>*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@md{margin:-45px !important}.gap-90\@md>*{padding:45px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-90\@sm{margin-left:-45px !important;margin-right:-45px !important}.gapX-90\@sm>*{padding-left:45px !important;padding-right:45px !important}.gapY-90\@sm{margin-top:-45px !important;margin-bottom:-45px !important}.gapY-90\@sm>*{padding-top:45px !important;padding-bottom:45px !important}.gap-90\@sm{margin:-45px !important}.gap-90\@sm>*{padding:45px !important}}.gapX-100{margin-left:-50px !important;margin-right:-50px !important}.gapX-100>*{padding-left:50px !important;padding-right:50px !important}.gapY-100{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100>*{padding-top:50px !important;padding-bottom:50px !important}.gap-100{margin:-50px !important}.gap-100>*{padding:50px !important}@media screen and (min-width: 1440px){.gapX-100\@xl\+{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@xl\+>*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@xl\+{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@xl\+>*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@xl\+{margin:-50px !important}.gap-100\@xl\+>*{padding:50px !important}}@media screen and (min-width: 1200px){.gapX-100\@lg\+{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@lg\+>*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@lg\+{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@lg\+>*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@lg\+{margin:-50px !important}.gap-100\@lg\+>*{padding:50px !important}}@media screen and (min-width: 992px){.gapX-100\@md\+{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@md\+>*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@md\+{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@md\+>*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@md\+{margin:-50px !important}.gap-100\@md\+>*{padding:50px !important}}@media screen and (min-width: 768px){.gapX-100\@sm\+{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@sm\+>*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@sm\+{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@sm\+>*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@sm\+{margin:-50px !important}.gap-100\@sm\+>*{padding:50px !important}}@media screen and (min-width: 0){.gapX-100\@xs\+{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@xs\+>*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@xs\+{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@xs\+>*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@xs\+{margin:-50px !important}.gap-100\@xs\+>*{padding:50px !important}}@media screen and (max-width: 1439px){.gapX-100\@xl-{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@xl->*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@xl-{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@xl->*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@xl-{margin:-50px !important}.gap-100\@xl->*{padding:50px !important}}@media screen and (max-width: 1199px){.gapX-100\@lg-{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@lg->*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@lg-{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@lg->*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@lg-{margin:-50px !important}.gap-100\@lg->*{padding:50px !important}}@media screen and (max-width: 991px){.gapX-100\@md-{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@md->*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@md-{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@md->*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@md-{margin:-50px !important}.gap-100\@md->*{padding:50px !important}}@media screen and (max-width: 767px){.gapX-100\@sm-{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@sm->*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@sm-{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@sm->*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@sm-{margin:-50px !important}.gap-100\@sm->*{padding:50px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-100\@lg{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@lg>*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@lg{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@lg>*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@lg{margin:-50px !important}.gap-100\@lg>*{padding:50px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-100\@md{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@md>*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@md{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@md>*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@md{margin:-50px !important}.gap-100\@md>*{padding:50px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-100\@sm{margin-left:-50px !important;margin-right:-50px !important}.gapX-100\@sm>*{padding-left:50px !important;padding-right:50px !important}.gapY-100\@sm{margin-top:-50px !important;margin-bottom:-50px !important}.gapY-100\@sm>*{padding-top:50px !important;padding-bottom:50px !important}.gap-100\@sm{margin:-50px !important}.gap-100\@sm>*{padding:50px !important}}.gapX-110{margin-left:-55px !important;margin-right:-55px !important}.gapX-110>*{padding-left:55px !important;padding-right:55px !important}.gapY-110{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110>*{padding-top:55px !important;padding-bottom:55px !important}.gap-110{margin:-55px !important}.gap-110>*{padding:55px !important}@media screen and (min-width: 1440px){.gapX-110\@xl\+{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@xl\+>*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@xl\+{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@xl\+>*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@xl\+{margin:-55px !important}.gap-110\@xl\+>*{padding:55px !important}}@media screen and (min-width: 1200px){.gapX-110\@lg\+{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@lg\+>*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@lg\+{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@lg\+>*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@lg\+{margin:-55px !important}.gap-110\@lg\+>*{padding:55px !important}}@media screen and (min-width: 992px){.gapX-110\@md\+{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@md\+>*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@md\+{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@md\+>*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@md\+{margin:-55px !important}.gap-110\@md\+>*{padding:55px !important}}@media screen and (min-width: 768px){.gapX-110\@sm\+{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@sm\+>*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@sm\+{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@sm\+>*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@sm\+{margin:-55px !important}.gap-110\@sm\+>*{padding:55px !important}}@media screen and (min-width: 0){.gapX-110\@xs\+{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@xs\+>*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@xs\+{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@xs\+>*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@xs\+{margin:-55px !important}.gap-110\@xs\+>*{padding:55px !important}}@media screen and (max-width: 1439px){.gapX-110\@xl-{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@xl->*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@xl-{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@xl->*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@xl-{margin:-55px !important}.gap-110\@xl->*{padding:55px !important}}@media screen and (max-width: 1199px){.gapX-110\@lg-{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@lg->*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@lg-{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@lg->*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@lg-{margin:-55px !important}.gap-110\@lg->*{padding:55px !important}}@media screen and (max-width: 991px){.gapX-110\@md-{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@md->*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@md-{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@md->*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@md-{margin:-55px !important}.gap-110\@md->*{padding:55px !important}}@media screen and (max-width: 767px){.gapX-110\@sm-{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@sm->*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@sm-{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@sm->*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@sm-{margin:-55px !important}.gap-110\@sm->*{padding:55px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-110\@lg{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@lg>*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@lg{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@lg>*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@lg{margin:-55px !important}.gap-110\@lg>*{padding:55px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-110\@md{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@md>*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@md{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@md>*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@md{margin:-55px !important}.gap-110\@md>*{padding:55px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-110\@sm{margin-left:-55px !important;margin-right:-55px !important}.gapX-110\@sm>*{padding-left:55px !important;padding-right:55px !important}.gapY-110\@sm{margin-top:-55px !important;margin-bottom:-55px !important}.gapY-110\@sm>*{padding-top:55px !important;padding-bottom:55px !important}.gap-110\@sm{margin:-55px !important}.gap-110\@sm>*{padding:55px !important}}.gapX-120{margin-left:-60px !important;margin-right:-60px !important}.gapX-120>*{padding-left:60px !important;padding-right:60px !important}.gapY-120{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120>*{padding-top:60px !important;padding-bottom:60px !important}.gap-120{margin:-60px !important}.gap-120>*{padding:60px !important}@media screen and (min-width: 1440px){.gapX-120\@xl\+{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@xl\+>*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@xl\+{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@xl\+>*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@xl\+{margin:-60px !important}.gap-120\@xl\+>*{padding:60px !important}}@media screen and (min-width: 1200px){.gapX-120\@lg\+{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@lg\+>*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@lg\+{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@lg\+>*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@lg\+{margin:-60px !important}.gap-120\@lg\+>*{padding:60px !important}}@media screen and (min-width: 992px){.gapX-120\@md\+{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@md\+>*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@md\+{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@md\+>*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@md\+{margin:-60px !important}.gap-120\@md\+>*{padding:60px !important}}@media screen and (min-width: 768px){.gapX-120\@sm\+{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@sm\+>*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@sm\+{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@sm\+>*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@sm\+{margin:-60px !important}.gap-120\@sm\+>*{padding:60px !important}}@media screen and (min-width: 0){.gapX-120\@xs\+{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@xs\+>*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@xs\+{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@xs\+>*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@xs\+{margin:-60px !important}.gap-120\@xs\+>*{padding:60px !important}}@media screen and (max-width: 1439px){.gapX-120\@xl-{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@xl->*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@xl-{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@xl->*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@xl-{margin:-60px !important}.gap-120\@xl->*{padding:60px !important}}@media screen and (max-width: 1199px){.gapX-120\@lg-{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@lg->*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@lg-{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@lg->*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@lg-{margin:-60px !important}.gap-120\@lg->*{padding:60px !important}}@media screen and (max-width: 991px){.gapX-120\@md-{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@md->*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@md-{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@md->*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@md-{margin:-60px !important}.gap-120\@md->*{padding:60px !important}}@media screen and (max-width: 767px){.gapX-120\@sm-{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@sm->*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@sm-{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@sm->*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@sm-{margin:-60px !important}.gap-120\@sm->*{padding:60px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-120\@lg{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@lg>*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@lg{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@lg>*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@lg{margin:-60px !important}.gap-120\@lg>*{padding:60px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-120\@md{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@md>*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@md{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@md>*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@md{margin:-60px !important}.gap-120\@md>*{padding:60px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-120\@sm{margin-left:-60px !important;margin-right:-60px !important}.gapX-120\@sm>*{padding-left:60px !important;padding-right:60px !important}.gapY-120\@sm{margin-top:-60px !important;margin-bottom:-60px !important}.gapY-120\@sm>*{padding-top:60px !important;padding-bottom:60px !important}.gap-120\@sm{margin:-60px !important}.gap-120\@sm>*{padding:60px !important}}.gapX-130{margin-left:-65px !important;margin-right:-65px !important}.gapX-130>*{padding-left:65px !important;padding-right:65px !important}.gapY-130{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130>*{padding-top:65px !important;padding-bottom:65px !important}.gap-130{margin:-65px !important}.gap-130>*{padding:65px !important}@media screen and (min-width: 1440px){.gapX-130\@xl\+{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@xl\+>*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@xl\+{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@xl\+>*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@xl\+{margin:-65px !important}.gap-130\@xl\+>*{padding:65px !important}}@media screen and (min-width: 1200px){.gapX-130\@lg\+{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@lg\+>*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@lg\+{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@lg\+>*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@lg\+{margin:-65px !important}.gap-130\@lg\+>*{padding:65px !important}}@media screen and (min-width: 992px){.gapX-130\@md\+{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@md\+>*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@md\+{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@md\+>*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@md\+{margin:-65px !important}.gap-130\@md\+>*{padding:65px !important}}@media screen and (min-width: 768px){.gapX-130\@sm\+{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@sm\+>*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@sm\+{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@sm\+>*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@sm\+{margin:-65px !important}.gap-130\@sm\+>*{padding:65px !important}}@media screen and (min-width: 0){.gapX-130\@xs\+{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@xs\+>*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@xs\+{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@xs\+>*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@xs\+{margin:-65px !important}.gap-130\@xs\+>*{padding:65px !important}}@media screen and (max-width: 1439px){.gapX-130\@xl-{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@xl->*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@xl-{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@xl->*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@xl-{margin:-65px !important}.gap-130\@xl->*{padding:65px !important}}@media screen and (max-width: 1199px){.gapX-130\@lg-{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@lg->*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@lg-{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@lg->*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@lg-{margin:-65px !important}.gap-130\@lg->*{padding:65px !important}}@media screen and (max-width: 991px){.gapX-130\@md-{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@md->*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@md-{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@md->*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@md-{margin:-65px !important}.gap-130\@md->*{padding:65px !important}}@media screen and (max-width: 767px){.gapX-130\@sm-{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@sm->*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@sm-{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@sm->*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@sm-{margin:-65px !important}.gap-130\@sm->*{padding:65px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-130\@lg{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@lg>*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@lg{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@lg>*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@lg{margin:-65px !important}.gap-130\@lg>*{padding:65px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-130\@md{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@md>*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@md{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@md>*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@md{margin:-65px !important}.gap-130\@md>*{padding:65px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-130\@sm{margin-left:-65px !important;margin-right:-65px !important}.gapX-130\@sm>*{padding-left:65px !important;padding-right:65px !important}.gapY-130\@sm{margin-top:-65px !important;margin-bottom:-65px !important}.gapY-130\@sm>*{padding-top:65px !important;padding-bottom:65px !important}.gap-130\@sm{margin:-65px !important}.gap-130\@sm>*{padding:65px !important}}.gapX-140{margin-left:-70px !important;margin-right:-70px !important}.gapX-140>*{padding-left:70px !important;padding-right:70px !important}.gapY-140{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140>*{padding-top:70px !important;padding-bottom:70px !important}.gap-140{margin:-70px !important}.gap-140>*{padding:70px !important}@media screen and (min-width: 1440px){.gapX-140\@xl\+{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@xl\+>*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@xl\+{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@xl\+>*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@xl\+{margin:-70px !important}.gap-140\@xl\+>*{padding:70px !important}}@media screen and (min-width: 1200px){.gapX-140\@lg\+{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@lg\+>*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@lg\+{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@lg\+>*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@lg\+{margin:-70px !important}.gap-140\@lg\+>*{padding:70px !important}}@media screen and (min-width: 992px){.gapX-140\@md\+{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@md\+>*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@md\+{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@md\+>*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@md\+{margin:-70px !important}.gap-140\@md\+>*{padding:70px !important}}@media screen and (min-width: 768px){.gapX-140\@sm\+{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@sm\+>*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@sm\+{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@sm\+>*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@sm\+{margin:-70px !important}.gap-140\@sm\+>*{padding:70px !important}}@media screen and (min-width: 0){.gapX-140\@xs\+{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@xs\+>*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@xs\+{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@xs\+>*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@xs\+{margin:-70px !important}.gap-140\@xs\+>*{padding:70px !important}}@media screen and (max-width: 1439px){.gapX-140\@xl-{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@xl->*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@xl-{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@xl->*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@xl-{margin:-70px !important}.gap-140\@xl->*{padding:70px !important}}@media screen and (max-width: 1199px){.gapX-140\@lg-{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@lg->*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@lg-{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@lg->*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@lg-{margin:-70px !important}.gap-140\@lg->*{padding:70px !important}}@media screen and (max-width: 991px){.gapX-140\@md-{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@md->*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@md-{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@md->*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@md-{margin:-70px !important}.gap-140\@md->*{padding:70px !important}}@media screen and (max-width: 767px){.gapX-140\@sm-{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@sm->*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@sm-{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@sm->*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@sm-{margin:-70px !important}.gap-140\@sm->*{padding:70px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-140\@lg{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@lg>*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@lg{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@lg>*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@lg{margin:-70px !important}.gap-140\@lg>*{padding:70px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-140\@md{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@md>*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@md{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@md>*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@md{margin:-70px !important}.gap-140\@md>*{padding:70px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-140\@sm{margin-left:-70px !important;margin-right:-70px !important}.gapX-140\@sm>*{padding-left:70px !important;padding-right:70px !important}.gapY-140\@sm{margin-top:-70px !important;margin-bottom:-70px !important}.gapY-140\@sm>*{padding-top:70px !important;padding-bottom:70px !important}.gap-140\@sm{margin:-70px !important}.gap-140\@sm>*{padding:70px !important}}.gapX-150{margin-left:-75px !important;margin-right:-75px !important}.gapX-150>*{padding-left:75px !important;padding-right:75px !important}.gapY-150{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150>*{padding-top:75px !important;padding-bottom:75px !important}.gap-150{margin:-75px !important}.gap-150>*{padding:75px !important}@media screen and (min-width: 1440px){.gapX-150\@xl\+{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@xl\+>*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@xl\+{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@xl\+>*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@xl\+{margin:-75px !important}.gap-150\@xl\+>*{padding:75px !important}}@media screen and (min-width: 1200px){.gapX-150\@lg\+{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@lg\+>*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@lg\+{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@lg\+>*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@lg\+{margin:-75px !important}.gap-150\@lg\+>*{padding:75px !important}}@media screen and (min-width: 992px){.gapX-150\@md\+{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@md\+>*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@md\+{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@md\+>*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@md\+{margin:-75px !important}.gap-150\@md\+>*{padding:75px !important}}@media screen and (min-width: 768px){.gapX-150\@sm\+{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@sm\+>*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@sm\+{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@sm\+>*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@sm\+{margin:-75px !important}.gap-150\@sm\+>*{padding:75px !important}}@media screen and (min-width: 0){.gapX-150\@xs\+{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@xs\+>*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@xs\+{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@xs\+>*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@xs\+{margin:-75px !important}.gap-150\@xs\+>*{padding:75px !important}}@media screen and (max-width: 1439px){.gapX-150\@xl-{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@xl->*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@xl-{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@xl->*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@xl-{margin:-75px !important}.gap-150\@xl->*{padding:75px !important}}@media screen and (max-width: 1199px){.gapX-150\@lg-{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@lg->*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@lg-{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@lg->*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@lg-{margin:-75px !important}.gap-150\@lg->*{padding:75px !important}}@media screen and (max-width: 991px){.gapX-150\@md-{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@md->*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@md-{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@md->*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@md-{margin:-75px !important}.gap-150\@md->*{padding:75px !important}}@media screen and (max-width: 767px){.gapX-150\@sm-{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@sm->*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@sm-{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@sm->*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@sm-{margin:-75px !important}.gap-150\@sm->*{padding:75px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-150\@lg{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@lg>*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@lg{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@lg>*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@lg{margin:-75px !important}.gap-150\@lg>*{padding:75px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-150\@md{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@md>*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@md{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@md>*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@md{margin:-75px !important}.gap-150\@md>*{padding:75px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-150\@sm{margin-left:-75px !important;margin-right:-75px !important}.gapX-150\@sm>*{padding-left:75px !important;padding-right:75px !important}.gapY-150\@sm{margin-top:-75px !important;margin-bottom:-75px !important}.gapY-150\@sm>*{padding-top:75px !important;padding-bottom:75px !important}.gap-150\@sm{margin:-75px !important}.gap-150\@sm>*{padding:75px !important}}.gapX-160{margin-left:-80px !important;margin-right:-80px !important}.gapX-160>*{padding-left:80px !important;padding-right:80px !important}.gapY-160{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160>*{padding-top:80px !important;padding-bottom:80px !important}.gap-160{margin:-80px !important}.gap-160>*{padding:80px !important}@media screen and (min-width: 1440px){.gapX-160\@xl\+{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@xl\+>*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@xl\+{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@xl\+>*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@xl\+{margin:-80px !important}.gap-160\@xl\+>*{padding:80px !important}}@media screen and (min-width: 1200px){.gapX-160\@lg\+{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@lg\+>*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@lg\+{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@lg\+>*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@lg\+{margin:-80px !important}.gap-160\@lg\+>*{padding:80px !important}}@media screen and (min-width: 992px){.gapX-160\@md\+{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@md\+>*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@md\+{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@md\+>*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@md\+{margin:-80px !important}.gap-160\@md\+>*{padding:80px !important}}@media screen and (min-width: 768px){.gapX-160\@sm\+{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@sm\+>*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@sm\+{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@sm\+>*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@sm\+{margin:-80px !important}.gap-160\@sm\+>*{padding:80px !important}}@media screen and (min-width: 0){.gapX-160\@xs\+{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@xs\+>*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@xs\+{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@xs\+>*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@xs\+{margin:-80px !important}.gap-160\@xs\+>*{padding:80px !important}}@media screen and (max-width: 1439px){.gapX-160\@xl-{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@xl->*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@xl-{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@xl->*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@xl-{margin:-80px !important}.gap-160\@xl->*{padding:80px !important}}@media screen and (max-width: 1199px){.gapX-160\@lg-{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@lg->*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@lg-{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@lg->*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@lg-{margin:-80px !important}.gap-160\@lg->*{padding:80px !important}}@media screen and (max-width: 991px){.gapX-160\@md-{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@md->*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@md-{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@md->*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@md-{margin:-80px !important}.gap-160\@md->*{padding:80px !important}}@media screen and (max-width: 767px){.gapX-160\@sm-{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@sm->*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@sm-{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@sm->*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@sm-{margin:-80px !important}.gap-160\@sm->*{padding:80px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.gapX-160\@lg{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@lg>*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@lg{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@lg>*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@lg{margin:-80px !important}.gap-160\@lg>*{padding:80px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.gapX-160\@md{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@md>*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@md{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@md>*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@md{margin:-80px !important}.gap-160\@md>*{padding:80px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.gapX-160\@sm{margin-left:-80px !important;margin-right:-80px !important}.gapX-160\@sm>*{padding-left:80px !important;padding-right:80px !important}.gapY-160\@sm{margin-top:-80px !important;margin-bottom:-80px !important}.gapY-160\@sm>*{padding-top:80px !important;padding-bottom:80px !important}.gap-160\@sm{margin:-80px !important}.gap-160\@sm>*{padding:80px !important}}.peers{box-sizing:border-box;display:flex !important;align-items:flex-start;justify-content:flex-start;flex-flow:row wrap;height:auto;max-width:100%;margin:0;padding:0}.peer{display:block;height:auto;flex:0 0 auto}.peer-greed{flex:1 1 auto}.peers-greed>.peer,.peers-greed>.peers{flex:1 1 auto}.peer>img{max-width:none}.peer-greed>img{max-width:100%}.layers{display:flex;flex-flow:column nowrap;align-items:center}.d-f{display:flex}.d-if{display:inline-flex}@media screen and (min-width: 1440px){.d-f\@xl\+{display:flex}.d-if\@xl\+{display:inline-flex}}@media screen and (min-width: 1200px){.d-f\@lg\+{display:flex}.d-if\@lg\+{display:inline-flex}}@media screen and (min-width: 992px){.d-f\@md\+{display:flex}.d-if\@md\+{display:inline-flex}}@media screen and (min-width: 768px){.d-f\@sm\+{display:flex}.d-if\@sm\+{display:inline-flex}}@media screen and (min-width: 0){.d-f\@xs\+{display:flex}.d-if\@xs\+{display:inline-flex}}@media screen and (max-width: 1439px){.d-f\@xl-{display:flex}.d-if\@xl-{display:inline-flex}}@media screen and (max-width: 1199px){.d-f\@lg-{display:flex}.d-if\@lg-{display:inline-flex}}@media screen and (max-width: 991px){.d-f\@md-{display:flex}.d-if\@md-{display:inline-flex}}@media screen and (max-width: 767px){.d-f\@sm-{display:flex}.d-if\@sm-{display:inline-flex}}@media screen and (min-width: 1199px)and (max-width: 1439px){.d-f\@lg{display:flex}.d-if\@lg{display:inline-flex}}@media screen and (min-width: 991px)and (max-width: 1199px){.d-f\@md{display:flex}.d-if\@md{display:inline-flex}}@media screen and (min-width: 767px)and (max-width: 991px){.d-f\@sm{display:flex}.d-if\@sm{display:inline-flex}}.fxw-w{flex-wrap:wrap}.fxw-wr{flex-wrap:wrap-reverse}.fxw-nw{flex-wrap:nowrap}@media screen and (min-width: 1440px){.fxw-w\@xl\+{flex-wrap:wrap}.fxw-wr\@xl\+{flex-wrap:wrap-reverse}.fxw-nw\@xl\+{flex-wrap:nowrap}}@media screen and (min-width: 1200px){.fxw-w\@lg\+{flex-wrap:wrap}.fxw-wr\@lg\+{flex-wrap:wrap-reverse}.fxw-nw\@lg\+{flex-wrap:nowrap}}@media screen and (min-width: 992px){.fxw-w\@md\+{flex-wrap:wrap}.fxw-wr\@md\+{flex-wrap:wrap-reverse}.fxw-nw\@md\+{flex-wrap:nowrap}}@media screen and (min-width: 768px){.fxw-w\@sm\+{flex-wrap:wrap}.fxw-wr\@sm\+{flex-wrap:wrap-reverse}.fxw-nw\@sm\+{flex-wrap:nowrap}}@media screen and (min-width: 0){.fxw-w\@xs\+{flex-wrap:wrap}.fxw-wr\@xs\+{flex-wrap:wrap-reverse}.fxw-nw\@xs\+{flex-wrap:nowrap}}@media screen and (max-width: 1439px){.fxw-w\@xl-{flex-wrap:wrap}.fxw-wr\@xl-{flex-wrap:wrap-reverse}.fxw-nw\@xl-{flex-wrap:nowrap}}@media screen and (max-width: 1199px){.fxw-w\@lg-{flex-wrap:wrap}.fxw-wr\@lg-{flex-wrap:wrap-reverse}.fxw-nw\@lg-{flex-wrap:nowrap}}@media screen and (max-width: 991px){.fxw-w\@md-{flex-wrap:wrap}.fxw-wr\@md-{flex-wrap:wrap-reverse}.fxw-nw\@md-{flex-wrap:nowrap}}@media screen and (max-width: 767px){.fxw-w\@sm-{flex-wrap:wrap}.fxw-wr\@sm-{flex-wrap:wrap-reverse}.fxw-nw\@sm-{flex-wrap:nowrap}}@media screen and (min-width: 1199px)and (max-width: 1439px){.fxw-w\@lg{flex-wrap:wrap}.fxw-wr\@lg{flex-wrap:wrap-reverse}.fxw-nw\@lg{flex-wrap:nowrap}}@media screen and (min-width: 991px)and (max-width: 1199px){.fxw-w\@md{flex-wrap:wrap}.fxw-wr\@md{flex-wrap:wrap-reverse}.fxw-nw\@md{flex-wrap:nowrap}}@media screen and (min-width: 767px)and (max-width: 991px){.fxw-w\@sm{flex-wrap:wrap}.fxw-wr\@sm{flex-wrap:wrap-reverse}.fxw-nw\@sm{flex-wrap:nowrap}}.fxd-c{flex-direction:column}.fxd-cr{flex-direction:column-reverse}.fxd-r{flex-direction:row}.fxd-rr{flex-direction:row-reverse}@media screen and (min-width: 1440px){.fxd-c\@xl\+{flex-direction:column}.fxd-cr\@xl\+{flex-direction:column-reverse}.fxd-r\@xl\+{flex-direction:row}.fxd-rr\@xl\+{flex-direction:row-reverse}}@media screen and (min-width: 1200px){.fxd-c\@lg\+{flex-direction:column}.fxd-cr\@lg\+{flex-direction:column-reverse}.fxd-r\@lg\+{flex-direction:row}.fxd-rr\@lg\+{flex-direction:row-reverse}}@media screen and (min-width: 992px){.fxd-c\@md\+{flex-direction:column}.fxd-cr\@md\+{flex-direction:column-reverse}.fxd-r\@md\+{flex-direction:row}.fxd-rr\@md\+{flex-direction:row-reverse}}@media screen and (min-width: 768px){.fxd-c\@sm\+{flex-direction:column}.fxd-cr\@sm\+{flex-direction:column-reverse}.fxd-r\@sm\+{flex-direction:row}.fxd-rr\@sm\+{flex-direction:row-reverse}}@media screen and (min-width: 0){.fxd-c\@xs\+{flex-direction:column}.fxd-cr\@xs\+{flex-direction:column-reverse}.fxd-r\@xs\+{flex-direction:row}.fxd-rr\@xs\+{flex-direction:row-reverse}}@media screen and (max-width: 1439px){.fxd-c\@xl-{flex-direction:column}.fxd-cr\@xl-{flex-direction:column-reverse}.fxd-r\@xl-{flex-direction:row}.fxd-rr\@xl-{flex-direction:row-reverse}}@media screen and (max-width: 1199px){.fxd-c\@lg-{flex-direction:column}.fxd-cr\@lg-{flex-direction:column-reverse}.fxd-r\@lg-{flex-direction:row}.fxd-rr\@lg-{flex-direction:row-reverse}}@media screen and (max-width: 991px){.fxd-c\@md-{flex-direction:column}.fxd-cr\@md-{flex-direction:column-reverse}.fxd-r\@md-{flex-direction:row}.fxd-rr\@md-{flex-direction:row-reverse}}@media screen and (max-width: 767px){.fxd-c\@sm-{flex-direction:column}.fxd-cr\@sm-{flex-direction:column-reverse}.fxd-r\@sm-{flex-direction:row}.fxd-rr\@sm-{flex-direction:row-reverse}}@media screen and (min-width: 1199px)and (max-width: 1439px){.fxd-c\@lg{flex-direction:column}.fxd-cr\@lg{flex-direction:column-reverse}.fxd-r\@lg{flex-direction:row}.fxd-rr\@lg{flex-direction:row-reverse}}@media screen and (min-width: 991px)and (max-width: 1199px){.fxd-c\@md{flex-direction:column}.fxd-cr\@md{flex-direction:column-reverse}.fxd-r\@md{flex-direction:row}.fxd-rr\@md{flex-direction:row-reverse}}@media screen and (min-width: 767px)and (max-width: 991px){.fxd-c\@sm{flex-direction:column}.fxd-cr\@sm{flex-direction:column-reverse}.fxd-r\@sm{flex-direction:row}.fxd-rr\@sm{flex-direction:row-reverse}}.ai-fs{align-items:flex-start}.ai-fe{align-items:flex-end}.ai-c{align-items:center}.ai-b{align-items:baseline}.ai-s{align-items:stretch}@media screen and (min-width: 1440px){.ai-fs\@xl\+{align-items:flex-start}.ai-fe\@xl\+{align-items:flex-end}.ai-c\@xl\+{align-items:center}.ai-b\@xl\+{align-items:baseline}.ai-s\@xl\+{align-items:stretch}}@media screen and (min-width: 1200px){.ai-fs\@lg\+{align-items:flex-start}.ai-fe\@lg\+{align-items:flex-end}.ai-c\@lg\+{align-items:center}.ai-b\@lg\+{align-items:baseline}.ai-s\@lg\+{align-items:stretch}}@media screen and (min-width: 992px){.ai-fs\@md\+{align-items:flex-start}.ai-fe\@md\+{align-items:flex-end}.ai-c\@md\+{align-items:center}.ai-b\@md\+{align-items:baseline}.ai-s\@md\+{align-items:stretch}}@media screen and (min-width: 768px){.ai-fs\@sm\+{align-items:flex-start}.ai-fe\@sm\+{align-items:flex-end}.ai-c\@sm\+{align-items:center}.ai-b\@sm\+{align-items:baseline}.ai-s\@sm\+{align-items:stretch}}@media screen and (min-width: 0){.ai-fs\@xs\+{align-items:flex-start}.ai-fe\@xs\+{align-items:flex-end}.ai-c\@xs\+{align-items:center}.ai-b\@xs\+{align-items:baseline}.ai-s\@xs\+{align-items:stretch}}@media screen and (max-width: 1439px){.ai-fs\@xl-{align-items:flex-start}.ai-fe\@xl-{align-items:flex-end}.ai-c\@xl-{align-items:center}.ai-b\@xl-{align-items:baseline}.ai-s\@xl-{align-items:stretch}}@media screen and (max-width: 1199px){.ai-fs\@lg-{align-items:flex-start}.ai-fe\@lg-{align-items:flex-end}.ai-c\@lg-{align-items:center}.ai-b\@lg-{align-items:baseline}.ai-s\@lg-{align-items:stretch}}@media screen and (max-width: 991px){.ai-fs\@md-{align-items:flex-start}.ai-fe\@md-{align-items:flex-end}.ai-c\@md-{align-items:center}.ai-b\@md-{align-items:baseline}.ai-s\@md-{align-items:stretch}}@media screen and (max-width: 767px){.ai-fs\@sm-{align-items:flex-start}.ai-fe\@sm-{align-items:flex-end}.ai-c\@sm-{align-items:center}.ai-b\@sm-{align-items:baseline}.ai-s\@sm-{align-items:stretch}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ai-fs\@lg{align-items:flex-start}.ai-fe\@lg{align-items:flex-end}.ai-c\@lg{align-items:center}.ai-b\@lg{align-items:baseline}.ai-s\@lg{align-items:stretch}}@media screen and (min-width: 991px)and (max-width: 1199px){.ai-fs\@md{align-items:flex-start}.ai-fe\@md{align-items:flex-end}.ai-c\@md{align-items:center}.ai-b\@md{align-items:baseline}.ai-s\@md{align-items:stretch}}@media screen and (min-width: 767px)and (max-width: 991px){.ai-fs\@sm{align-items:flex-start}.ai-fe\@sm{align-items:flex-end}.ai-c\@sm{align-items:center}.ai-b\@sm{align-items:baseline}.ai-s\@sm{align-items:stretch}}.as-fs{align-self:flex-start}.as-fe{align-self:flex-end}.as-c{align-self:center}.as-b{align-self:baseline}.as-s{align-self:stretch}@media screen and (min-width: 1440px){.as-fs\@xl\+{align-self:flex-start}.as-fe\@xl\+{align-self:flex-end}.as-c\@xl\+{align-self:center}.as-b\@xl\+{align-self:baseline}.as-s\@xl\+{align-self:stretch}}@media screen and (min-width: 1200px){.as-fs\@lg\+{align-self:flex-start}.as-fe\@lg\+{align-self:flex-end}.as-c\@lg\+{align-self:center}.as-b\@lg\+{align-self:baseline}.as-s\@lg\+{align-self:stretch}}@media screen and (min-width: 992px){.as-fs\@md\+{align-self:flex-start}.as-fe\@md\+{align-self:flex-end}.as-c\@md\+{align-self:center}.as-b\@md\+{align-self:baseline}.as-s\@md\+{align-self:stretch}}@media screen and (min-width: 768px){.as-fs\@sm\+{align-self:flex-start}.as-fe\@sm\+{align-self:flex-end}.as-c\@sm\+{align-self:center}.as-b\@sm\+{align-self:baseline}.as-s\@sm\+{align-self:stretch}}@media screen and (min-width: 0){.as-fs\@xs\+{align-self:flex-start}.as-fe\@xs\+{align-self:flex-end}.as-c\@xs\+{align-self:center}.as-b\@xs\+{align-self:baseline}.as-s\@xs\+{align-self:stretch}}@media screen and (max-width: 1439px){.as-fs\@xl-{align-self:flex-start}.as-fe\@xl-{align-self:flex-end}.as-c\@xl-{align-self:center}.as-b\@xl-{align-self:baseline}.as-s\@xl-{align-self:stretch}}@media screen and (max-width: 1199px){.as-fs\@lg-{align-self:flex-start}.as-fe\@lg-{align-self:flex-end}.as-c\@lg-{align-self:center}.as-b\@lg-{align-self:baseline}.as-s\@lg-{align-self:stretch}}@media screen and (max-width: 991px){.as-fs\@md-{align-self:flex-start}.as-fe\@md-{align-self:flex-end}.as-c\@md-{align-self:center}.as-b\@md-{align-self:baseline}.as-s\@md-{align-self:stretch}}@media screen and (max-width: 767px){.as-fs\@sm-{align-self:flex-start}.as-fe\@sm-{align-self:flex-end}.as-c\@sm-{align-self:center}.as-b\@sm-{align-self:baseline}.as-s\@sm-{align-self:stretch}}@media screen and (min-width: 1199px)and (max-width: 1439px){.as-fs\@lg{align-self:flex-start}.as-fe\@lg{align-self:flex-end}.as-c\@lg{align-self:center}.as-b\@lg{align-self:baseline}.as-s\@lg{align-self:stretch}}@media screen and (min-width: 991px)and (max-width: 1199px){.as-fs\@md{align-self:flex-start}.as-fe\@md{align-self:flex-end}.as-c\@md{align-self:center}.as-b\@md{align-self:baseline}.as-s\@md{align-self:stretch}}@media screen and (min-width: 767px)and (max-width: 991px){.as-fs\@sm{align-self:flex-start}.as-fe\@sm{align-self:flex-end}.as-c\@sm{align-self:center}.as-b\@sm{align-self:baseline}.as-s\@sm{align-self:stretch}}.ac-fs{align-content:flex-start}.ac-fe{align-content:flex-end}.ac-c{align-content:center}.ac-s{align-content:stretch}.ac-sb{align-content:space-between}.ac-sa{align-content:space-around}@media screen and (min-width: 1440px){.ac-fs\@xl\+{align-content:flex-start}.ac-fe\@xl\+{align-content:flex-end}.ac-c\@xl\+{align-content:center}.ac-s\@xl\+{align-content:stretch}.ac-sb\@xl\+{align-content:space-between}.ac-sa\@xl\+{align-content:space-around}}@media screen and (min-width: 1200px){.ac-fs\@lg\+{align-content:flex-start}.ac-fe\@lg\+{align-content:flex-end}.ac-c\@lg\+{align-content:center}.ac-s\@lg\+{align-content:stretch}.ac-sb\@lg\+{align-content:space-between}.ac-sa\@lg\+{align-content:space-around}}@media screen and (min-width: 992px){.ac-fs\@md\+{align-content:flex-start}.ac-fe\@md\+{align-content:flex-end}.ac-c\@md\+{align-content:center}.ac-s\@md\+{align-content:stretch}.ac-sb\@md\+{align-content:space-between}.ac-sa\@md\+{align-content:space-around}}@media screen and (min-width: 768px){.ac-fs\@sm\+{align-content:flex-start}.ac-fe\@sm\+{align-content:flex-end}.ac-c\@sm\+{align-content:center}.ac-s\@sm\+{align-content:stretch}.ac-sb\@sm\+{align-content:space-between}.ac-sa\@sm\+{align-content:space-around}}@media screen and (min-width: 0){.ac-fs\@xs\+{align-content:flex-start}.ac-fe\@xs\+{align-content:flex-end}.ac-c\@xs\+{align-content:center}.ac-s\@xs\+{align-content:stretch}.ac-sb\@xs\+{align-content:space-between}.ac-sa\@xs\+{align-content:space-around}}@media screen and (max-width: 1439px){.ac-fs\@xl-{align-content:flex-start}.ac-fe\@xl-{align-content:flex-end}.ac-c\@xl-{align-content:center}.ac-s\@xl-{align-content:stretch}.ac-sb\@xl-{align-content:space-between}.ac-sa\@xl-{align-content:space-around}}@media screen and (max-width: 1199px){.ac-fs\@lg-{align-content:flex-start}.ac-fe\@lg-{align-content:flex-end}.ac-c\@lg-{align-content:center}.ac-s\@lg-{align-content:stretch}.ac-sb\@lg-{align-content:space-between}.ac-sa\@lg-{align-content:space-around}}@media screen and (max-width: 991px){.ac-fs\@md-{align-content:flex-start}.ac-fe\@md-{align-content:flex-end}.ac-c\@md-{align-content:center}.ac-s\@md-{align-content:stretch}.ac-sb\@md-{align-content:space-between}.ac-sa\@md-{align-content:space-around}}@media screen and (max-width: 767px){.ac-fs\@sm-{align-content:flex-start}.ac-fe\@sm-{align-content:flex-end}.ac-c\@sm-{align-content:center}.ac-s\@sm-{align-content:stretch}.ac-sb\@sm-{align-content:space-between}.ac-sa\@sm-{align-content:space-around}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ac-fs\@lg{align-content:flex-start}.ac-fe\@lg{align-content:flex-end}.ac-c\@lg{align-content:center}.ac-s\@lg{align-content:stretch}.ac-sb\@lg{align-content:space-between}.ac-sa\@lg{align-content:space-around}}@media screen and (min-width: 991px)and (max-width: 1199px){.ac-fs\@md{align-content:flex-start}.ac-fe\@md{align-content:flex-end}.ac-c\@md{align-content:center}.ac-s\@md{align-content:stretch}.ac-sb\@md{align-content:space-between}.ac-sa\@md{align-content:space-around}}@media screen and (min-width: 767px)and (max-width: 991px){.ac-fs\@sm{align-content:flex-start}.ac-fe\@sm{align-content:flex-end}.ac-c\@sm{align-content:center}.ac-s\@sm{align-content:stretch}.ac-sb\@sm{align-content:space-between}.ac-sa\@sm{align-content:space-around}}.jc-fs{justify-content:flex-start}.jc-fe{justify-content:flex-end}.jc-c{justify-content:center}.jc-sb{justify-content:space-between}.jc-sa{justify-content:space-around}@media screen and (min-width: 1440px){.jc-fs\@xl\+{justify-content:flex-start}.jc-fe\@xl\+{justify-content:flex-end}.jc-c\@xl\+{justify-content:center}.jc-sb\@xl\+{justify-content:space-between}.jc-sa\@xl\+{justify-content:space-around}}@media screen and (min-width: 1200px){.jc-fs\@lg\+{justify-content:flex-start}.jc-fe\@lg\+{justify-content:flex-end}.jc-c\@lg\+{justify-content:center}.jc-sb\@lg\+{justify-content:space-between}.jc-sa\@lg\+{justify-content:space-around}}@media screen and (min-width: 992px){.jc-fs\@md\+{justify-content:flex-start}.jc-fe\@md\+{justify-content:flex-end}.jc-c\@md\+{justify-content:center}.jc-sb\@md\+{justify-content:space-between}.jc-sa\@md\+{justify-content:space-around}}@media screen and (min-width: 768px){.jc-fs\@sm\+{justify-content:flex-start}.jc-fe\@sm\+{justify-content:flex-end}.jc-c\@sm\+{justify-content:center}.jc-sb\@sm\+{justify-content:space-between}.jc-sa\@sm\+{justify-content:space-around}}@media screen and (min-width: 0){.jc-fs\@xs\+{justify-content:flex-start}.jc-fe\@xs\+{justify-content:flex-end}.jc-c\@xs\+{justify-content:center}.jc-sb\@xs\+{justify-content:space-between}.jc-sa\@xs\+{justify-content:space-around}}@media screen and (max-width: 1439px){.jc-fs\@xl-{justify-content:flex-start}.jc-fe\@xl-{justify-content:flex-end}.jc-c\@xl-{justify-content:center}.jc-sb\@xl-{justify-content:space-between}.jc-sa\@xl-{justify-content:space-around}}@media screen and (max-width: 1199px){.jc-fs\@lg-{justify-content:flex-start}.jc-fe\@lg-{justify-content:flex-end}.jc-c\@lg-{justify-content:center}.jc-sb\@lg-{justify-content:space-between}.jc-sa\@lg-{justify-content:space-around}}@media screen and (max-width: 991px){.jc-fs\@md-{justify-content:flex-start}.jc-fe\@md-{justify-content:flex-end}.jc-c\@md-{justify-content:center}.jc-sb\@md-{justify-content:space-between}.jc-sa\@md-{justify-content:space-around}}@media screen and (max-width: 767px){.jc-fs\@sm-{justify-content:flex-start}.jc-fe\@sm-{justify-content:flex-end}.jc-c\@sm-{justify-content:center}.jc-sb\@sm-{justify-content:space-between}.jc-sa\@sm-{justify-content:space-around}}@media screen and (min-width: 1199px)and (max-width: 1439px){.jc-fs\@lg{justify-content:flex-start}.jc-fe\@lg{justify-content:flex-end}.jc-c\@lg{justify-content:center}.jc-sb\@lg{justify-content:space-between}.jc-sa\@lg{justify-content:space-around}}@media screen and (min-width: 991px)and (max-width: 1199px){.jc-fs\@md{justify-content:flex-start}.jc-fe\@md{justify-content:flex-end}.jc-c\@md{justify-content:center}.jc-sb\@md{justify-content:space-between}.jc-sa\@md{justify-content:space-around}}@media screen and (min-width: 767px)and (max-width: 991px){.jc-fs\@sm{justify-content:flex-start}.jc-fe\@sm{justify-content:flex-end}.jc-c\@sm{justify-content:center}.jc-sb\@sm{justify-content:space-between}.jc-sa\@sm{justify-content:space-around}}.fx-n{flex:none}.fx-1{flex:1}@media screen and (min-width: 1440px){.fx-n\@xl\+{flex:none}.fx-1\@xl\+{flex:1}}@media screen and (min-width: 1200px){.fx-n\@lg\+{flex:none}.fx-1\@lg\+{flex:1}}@media screen and (min-width: 992px){.fx-n\@md\+{flex:none}.fx-1\@md\+{flex:1}}@media screen and (min-width: 768px){.fx-n\@sm\+{flex:none}.fx-1\@sm\+{flex:1}}@media screen and (min-width: 0){.fx-n\@xs\+{flex:none}.fx-1\@xs\+{flex:1}}@media screen and (max-width: 1439px){.fx-n\@xl-{flex:none}.fx-1\@xl-{flex:1}}@media screen and (max-width: 1199px){.fx-n\@lg-{flex:none}.fx-1\@lg-{flex:1}}@media screen and (max-width: 991px){.fx-n\@md-{flex:none}.fx-1\@md-{flex:1}}@media screen and (max-width: 767px){.fx-n\@sm-{flex:none}.fx-1\@sm-{flex:1}}@media screen and (min-width: 1199px)and (max-width: 1439px){.fx-n\@lg{flex:none}.fx-1\@lg{flex:1}}@media screen and (min-width: 991px)and (max-width: 1199px){.fx-n\@md{flex:none}.fx-1\@md{flex:1}}@media screen and (min-width: 767px)and (max-width: 991px){.fx-n\@sm{flex:none}.fx-1\@sm{flex:1}}.fxb-a{flex-basis:auto}.fxb-0{flex-basis:0}@media screen and (min-width: 1440px){.fxb-a\@xl\+{flex-basis:auto}.fxb-0\@xl\+{flex-basis:0}}@media screen and (min-width: 1200px){.fxb-a\@lg\+{flex-basis:auto}.fxb-0\@lg\+{flex-basis:0}}@media screen and (min-width: 992px){.fxb-a\@md\+{flex-basis:auto}.fxb-0\@md\+{flex-basis:0}}@media screen and (min-width: 768px){.fxb-a\@sm\+{flex-basis:auto}.fxb-0\@sm\+{flex-basis:0}}@media screen and (min-width: 0){.fxb-a\@xs\+{flex-basis:auto}.fxb-0\@xs\+{flex-basis:0}}@media screen and (max-width: 1439px){.fxb-a\@xl-{flex-basis:auto}.fxb-0\@xl-{flex-basis:0}}@media screen and (max-width: 1199px){.fxb-a\@lg-{flex-basis:auto}.fxb-0\@lg-{flex-basis:0}}@media screen and (max-width: 991px){.fxb-a\@md-{flex-basis:auto}.fxb-0\@md-{flex-basis:0}}@media screen and (max-width: 767px){.fxb-a\@sm-{flex-basis:auto}.fxb-0\@sm-{flex-basis:0}}@media screen and (min-width: 1199px)and (max-width: 1439px){.fxb-a\@lg{flex-basis:auto}.fxb-0\@lg{flex-basis:0}}@media screen and (min-width: 991px)and (max-width: 1199px){.fxb-a\@md{flex-basis:auto}.fxb-0\@md{flex-basis:0}}@media screen and (min-width: 767px)and (max-width: 991px){.fxb-a\@sm{flex-basis:auto}.fxb-0\@sm{flex-basis:0}}.fxg-1{flex-grow:1}.fxg-0{flex-grow:0}@media screen and (min-width: 1440px){.fxg-1\@xl\+{flex-grow:1}.fxg-0\@xl\+{flex-grow:0}}@media screen and (min-width: 1200px){.fxg-1\@lg\+{flex-grow:1}.fxg-0\@lg\+{flex-grow:0}}@media screen and (min-width: 992px){.fxg-1\@md\+{flex-grow:1}.fxg-0\@md\+{flex-grow:0}}@media screen and (min-width: 768px){.fxg-1\@sm\+{flex-grow:1}.fxg-0\@sm\+{flex-grow:0}}@media screen and (min-width: 0){.fxg-1\@xs\+{flex-grow:1}.fxg-0\@xs\+{flex-grow:0}}@media screen and (max-width: 1439px){.fxg-1\@xl-{flex-grow:1}.fxg-0\@xl-{flex-grow:0}}@media screen and (max-width: 1199px){.fxg-1\@lg-{flex-grow:1}.fxg-0\@lg-{flex-grow:0}}@media screen and (max-width: 991px){.fxg-1\@md-{flex-grow:1}.fxg-0\@md-{flex-grow:0}}@media screen and (max-width: 767px){.fxg-1\@sm-{flex-grow:1}.fxg-0\@sm-{flex-grow:0}}@media screen and (min-width: 1199px)and (max-width: 1439px){.fxg-1\@lg{flex-grow:1}.fxg-0\@lg{flex-grow:0}}@media screen and (min-width: 991px)and (max-width: 1199px){.fxg-1\@md{flex-grow:1}.fxg-0\@md{flex-grow:0}}@media screen and (min-width: 767px)and (max-width: 991px){.fxg-1\@sm{flex-grow:1}.fxg-0\@sm{flex-grow:0}}.fxs-1{flex-shrink:1}.fxs-0{flex-shrink:0}@media screen and (min-width: 1440px){.fxs-1\@xl\+{flex-shrink:1}.fxs-0\@xl\+{flex-shrink:0}}@media screen and (min-width: 1200px){.fxs-1\@lg\+{flex-shrink:1}.fxs-0\@lg\+{flex-shrink:0}}@media screen and (min-width: 992px){.fxs-1\@md\+{flex-shrink:1}.fxs-0\@md\+{flex-shrink:0}}@media screen and (min-width: 768px){.fxs-1\@sm\+{flex-shrink:1}.fxs-0\@sm\+{flex-shrink:0}}@media screen and (min-width: 0){.fxs-1\@xs\+{flex-shrink:1}.fxs-0\@xs\+{flex-shrink:0}}@media screen and (max-width: 1439px){.fxs-1\@xl-{flex-shrink:1}.fxs-0\@xl-{flex-shrink:0}}@media screen and (max-width: 1199px){.fxs-1\@lg-{flex-shrink:1}.fxs-0\@lg-{flex-shrink:0}}@media screen and (max-width: 991px){.fxs-1\@md-{flex-shrink:1}.fxs-0\@md-{flex-shrink:0}}@media screen and (max-width: 767px){.fxs-1\@sm-{flex-shrink:1}.fxs-0\@sm-{flex-shrink:0}}@media screen and (min-width: 1199px)and (max-width: 1439px){.fxs-1\@lg{flex-shrink:1}.fxs-0\@lg{flex-shrink:0}}@media screen and (min-width: 991px)and (max-width: 1199px){.fxs-1\@md{flex-shrink:1}.fxs-0\@md{flex-shrink:0}}@media screen and (min-width: 767px)and (max-width: 991px){.fxs-1\@sm{flex-shrink:1}.fxs-0\@sm{flex-shrink:0}}.ord-0{order:0}@media screen and (min-width: 1440px){.ord-0\@xl\+{order:0}}@media screen and (min-width: 1200px){.ord-0\@lg\+{order:0}}@media screen and (min-width: 992px){.ord-0\@md\+{order:0}}@media screen and (min-width: 768px){.ord-0\@sm\+{order:0}}@media screen and (min-width: 0){.ord-0\@xs\+{order:0}}@media screen and (max-width: 1439px){.ord-0\@xl-{order:0}}@media screen and (max-width: 1199px){.ord-0\@lg-{order:0}}@media screen and (max-width: 991px){.ord-0\@md-{order:0}}@media screen and (max-width: 767px){.ord-0\@sm-{order:0}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-0\@lg{order:0}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-0\@md{order:0}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-0\@sm{order:0}}.ord-1{order:1}@media screen and (min-width: 1440px){.ord-1\@xl\+{order:1}}@media screen and (min-width: 1200px){.ord-1\@lg\+{order:1}}@media screen and (min-width: 992px){.ord-1\@md\+{order:1}}@media screen and (min-width: 768px){.ord-1\@sm\+{order:1}}@media screen and (min-width: 0){.ord-1\@xs\+{order:1}}@media screen and (max-width: 1439px){.ord-1\@xl-{order:1}}@media screen and (max-width: 1199px){.ord-1\@lg-{order:1}}@media screen and (max-width: 991px){.ord-1\@md-{order:1}}@media screen and (max-width: 767px){.ord-1\@sm-{order:1}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-1\@lg{order:1}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-1\@md{order:1}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-1\@sm{order:1}}.ord-2{order:2}@media screen and (min-width: 1440px){.ord-2\@xl\+{order:2}}@media screen and (min-width: 1200px){.ord-2\@lg\+{order:2}}@media screen and (min-width: 992px){.ord-2\@md\+{order:2}}@media screen and (min-width: 768px){.ord-2\@sm\+{order:2}}@media screen and (min-width: 0){.ord-2\@xs\+{order:2}}@media screen and (max-width: 1439px){.ord-2\@xl-{order:2}}@media screen and (max-width: 1199px){.ord-2\@lg-{order:2}}@media screen and (max-width: 991px){.ord-2\@md-{order:2}}@media screen and (max-width: 767px){.ord-2\@sm-{order:2}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-2\@lg{order:2}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-2\@md{order:2}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-2\@sm{order:2}}.ord-3{order:3}@media screen and (min-width: 1440px){.ord-3\@xl\+{order:3}}@media screen and (min-width: 1200px){.ord-3\@lg\+{order:3}}@media screen and (min-width: 992px){.ord-3\@md\+{order:3}}@media screen and (min-width: 768px){.ord-3\@sm\+{order:3}}@media screen and (min-width: 0){.ord-3\@xs\+{order:3}}@media screen and (max-width: 1439px){.ord-3\@xl-{order:3}}@media screen and (max-width: 1199px){.ord-3\@lg-{order:3}}@media screen and (max-width: 991px){.ord-3\@md-{order:3}}@media screen and (max-width: 767px){.ord-3\@sm-{order:3}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-3\@lg{order:3}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-3\@md{order:3}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-3\@sm{order:3}}.ord-4{order:4}@media screen and (min-width: 1440px){.ord-4\@xl\+{order:4}}@media screen and (min-width: 1200px){.ord-4\@lg\+{order:4}}@media screen and (min-width: 992px){.ord-4\@md\+{order:4}}@media screen and (min-width: 768px){.ord-4\@sm\+{order:4}}@media screen and (min-width: 0){.ord-4\@xs\+{order:4}}@media screen and (max-width: 1439px){.ord-4\@xl-{order:4}}@media screen and (max-width: 1199px){.ord-4\@lg-{order:4}}@media screen and (max-width: 991px){.ord-4\@md-{order:4}}@media screen and (max-width: 767px){.ord-4\@sm-{order:4}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-4\@lg{order:4}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-4\@md{order:4}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-4\@sm{order:4}}.ord-5{order:5}@media screen and (min-width: 1440px){.ord-5\@xl\+{order:5}}@media screen and (min-width: 1200px){.ord-5\@lg\+{order:5}}@media screen and (min-width: 992px){.ord-5\@md\+{order:5}}@media screen and (min-width: 768px){.ord-5\@sm\+{order:5}}@media screen and (min-width: 0){.ord-5\@xs\+{order:5}}@media screen and (max-width: 1439px){.ord-5\@xl-{order:5}}@media screen and (max-width: 1199px){.ord-5\@lg-{order:5}}@media screen and (max-width: 991px){.ord-5\@md-{order:5}}@media screen and (max-width: 767px){.ord-5\@sm-{order:5}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-5\@lg{order:5}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-5\@md{order:5}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-5\@sm{order:5}}.ord-6{order:6}@media screen and (min-width: 1440px){.ord-6\@xl\+{order:6}}@media screen and (min-width: 1200px){.ord-6\@lg\+{order:6}}@media screen and (min-width: 992px){.ord-6\@md\+{order:6}}@media screen and (min-width: 768px){.ord-6\@sm\+{order:6}}@media screen and (min-width: 0){.ord-6\@xs\+{order:6}}@media screen and (max-width: 1439px){.ord-6\@xl-{order:6}}@media screen and (max-width: 1199px){.ord-6\@lg-{order:6}}@media screen and (max-width: 991px){.ord-6\@md-{order:6}}@media screen and (max-width: 767px){.ord-6\@sm-{order:6}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-6\@lg{order:6}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-6\@md{order:6}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-6\@sm{order:6}}.ord-7{order:7}@media screen and (min-width: 1440px){.ord-7\@xl\+{order:7}}@media screen and (min-width: 1200px){.ord-7\@lg\+{order:7}}@media screen and (min-width: 992px){.ord-7\@md\+{order:7}}@media screen and (min-width: 768px){.ord-7\@sm\+{order:7}}@media screen and (min-width: 0){.ord-7\@xs\+{order:7}}@media screen and (max-width: 1439px){.ord-7\@xl-{order:7}}@media screen and (max-width: 1199px){.ord-7\@lg-{order:7}}@media screen and (max-width: 991px){.ord-7\@md-{order:7}}@media screen and (max-width: 767px){.ord-7\@sm-{order:7}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-7\@lg{order:7}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-7\@md{order:7}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-7\@sm{order:7}}.ord-8{order:8}@media screen and (min-width: 1440px){.ord-8\@xl\+{order:8}}@media screen and (min-width: 1200px){.ord-8\@lg\+{order:8}}@media screen and (min-width: 992px){.ord-8\@md\+{order:8}}@media screen and (min-width: 768px){.ord-8\@sm\+{order:8}}@media screen and (min-width: 0){.ord-8\@xs\+{order:8}}@media screen and (max-width: 1439px){.ord-8\@xl-{order:8}}@media screen and (max-width: 1199px){.ord-8\@lg-{order:8}}@media screen and (max-width: 991px){.ord-8\@md-{order:8}}@media screen and (max-width: 767px){.ord-8\@sm-{order:8}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-8\@lg{order:8}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-8\@md{order:8}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-8\@sm{order:8}}.ord-9{order:9}@media screen and (min-width: 1440px){.ord-9\@xl\+{order:9}}@media screen and (min-width: 1200px){.ord-9\@lg\+{order:9}}@media screen and (min-width: 992px){.ord-9\@md\+{order:9}}@media screen and (min-width: 768px){.ord-9\@sm\+{order:9}}@media screen and (min-width: 0){.ord-9\@xs\+{order:9}}@media screen and (max-width: 1439px){.ord-9\@xl-{order:9}}@media screen and (max-width: 1199px){.ord-9\@lg-{order:9}}@media screen and (max-width: 991px){.ord-9\@md-{order:9}}@media screen and (max-width: 767px){.ord-9\@sm-{order:9}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-9\@lg{order:9}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-9\@md{order:9}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-9\@sm{order:9}}.ord-10{order:10}@media screen and (min-width: 1440px){.ord-10\@xl\+{order:10}}@media screen and (min-width: 1200px){.ord-10\@lg\+{order:10}}@media screen and (min-width: 992px){.ord-10\@md\+{order:10}}@media screen and (min-width: 768px){.ord-10\@sm\+{order:10}}@media screen and (min-width: 0){.ord-10\@xs\+{order:10}}@media screen and (max-width: 1439px){.ord-10\@xl-{order:10}}@media screen and (max-width: 1199px){.ord-10\@lg-{order:10}}@media screen and (max-width: 991px){.ord-10\@md-{order:10}}@media screen and (max-width: 767px){.ord-10\@sm-{order:10}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-10\@lg{order:10}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-10\@md{order:10}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-10\@sm{order:10}}.ord-11{order:11}@media screen and (min-width: 1440px){.ord-11\@xl\+{order:11}}@media screen and (min-width: 1200px){.ord-11\@lg\+{order:11}}@media screen and (min-width: 992px){.ord-11\@md\+{order:11}}@media screen and (min-width: 768px){.ord-11\@sm\+{order:11}}@media screen and (min-width: 0){.ord-11\@xs\+{order:11}}@media screen and (max-width: 1439px){.ord-11\@xl-{order:11}}@media screen and (max-width: 1199px){.ord-11\@lg-{order:11}}@media screen and (max-width: 991px){.ord-11\@md-{order:11}}@media screen and (max-width: 767px){.ord-11\@sm-{order:11}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-11\@lg{order:11}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-11\@md{order:11}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-11\@sm{order:11}}.ord-12{order:12}@media screen and (min-width: 1440px){.ord-12\@xl\+{order:12}}@media screen and (min-width: 1200px){.ord-12\@lg\+{order:12}}@media screen and (min-width: 992px){.ord-12\@md\+{order:12}}@media screen and (min-width: 768px){.ord-12\@sm\+{order:12}}@media screen and (min-width: 0){.ord-12\@xs\+{order:12}}@media screen and (max-width: 1439px){.ord-12\@xl-{order:12}}@media screen and (max-width: 1199px){.ord-12\@lg-{order:12}}@media screen and (max-width: 991px){.ord-12\@md-{order:12}}@media screen and (max-width: 767px){.ord-12\@sm-{order:12}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ord-12\@lg{order:12}}@media screen and (min-width: 991px)and (max-width: 1199px){.ord-12\@md{order:12}}@media screen and (min-width: 767px)and (max-width: 991px){.ord-12\@sm{order:12}}.d-b{display:block !important}.d-ib{display:inline-block !important}.d-i{display:inline !important}.d-tb{display:table !important}.d-tbc{display:table-cell !important}.d-n{display:none !important}@media screen and (min-width: 1440px){.d-b\@xl\+{display:block !important}.d-ib\@xl\+{display:inline-block !important}.d-i\@xl\+{display:inline !important}.d-tb\@xl\+{display:table !important}.d-tbc\@xl\+{display:table-cell !important}.d-n\@xl\+{display:none !important}}@media screen and (min-width: 1200px){.d-b\@lg\+{display:block !important}.d-ib\@lg\+{display:inline-block !important}.d-i\@lg\+{display:inline !important}.d-tb\@lg\+{display:table !important}.d-tbc\@lg\+{display:table-cell !important}.d-n\@lg\+{display:none !important}}@media screen and (min-width: 992px){.d-b\@md\+{display:block !important}.d-ib\@md\+{display:inline-block !important}.d-i\@md\+{display:inline !important}.d-tb\@md\+{display:table !important}.d-tbc\@md\+{display:table-cell !important}.d-n\@md\+{display:none !important}}@media screen and (min-width: 768px){.d-b\@sm\+{display:block !important}.d-ib\@sm\+{display:inline-block !important}.d-i\@sm\+{display:inline !important}.d-tb\@sm\+{display:table !important}.d-tbc\@sm\+{display:table-cell !important}.d-n\@sm\+{display:none !important}}@media screen and (min-width: 0){.d-b\@xs\+{display:block !important}.d-ib\@xs\+{display:inline-block !important}.d-i\@xs\+{display:inline !important}.d-tb\@xs\+{display:table !important}.d-tbc\@xs\+{display:table-cell !important}.d-n\@xs\+{display:none !important}}@media screen and (max-width: 1439px){.d-b\@xl-{display:block !important}.d-ib\@xl-{display:inline-block !important}.d-i\@xl-{display:inline !important}.d-tb\@xl-{display:table !important}.d-tbc\@xl-{display:table-cell !important}.d-n\@xl-{display:none !important}}@media screen and (max-width: 1199px){.d-b\@lg-{display:block !important}.d-ib\@lg-{display:inline-block !important}.d-i\@lg-{display:inline !important}.d-tb\@lg-{display:table !important}.d-tbc\@lg-{display:table-cell !important}.d-n\@lg-{display:none !important}}@media screen and (max-width: 991px){.d-b\@md-{display:block !important}.d-ib\@md-{display:inline-block !important}.d-i\@md-{display:inline !important}.d-tb\@md-{display:table !important}.d-tbc\@md-{display:table-cell !important}.d-n\@md-{display:none !important}}@media screen and (max-width: 767px){.d-b\@sm-{display:block !important}.d-ib\@sm-{display:inline-block !important}.d-i\@sm-{display:inline !important}.d-tb\@sm-{display:table !important}.d-tbc\@sm-{display:table-cell !important}.d-n\@sm-{display:none !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.d-b\@lg{display:block !important}.d-ib\@lg{display:inline-block !important}.d-i\@lg{display:inline !important}.d-tb\@lg{display:table !important}.d-tbc\@lg{display:table-cell !important}.d-n\@lg{display:none !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.d-b\@md{display:block !important}.d-ib\@md{display:inline-block !important}.d-i\@md{display:inline !important}.d-tb\@md{display:table !important}.d-tbc\@md{display:table-cell !important}.d-n\@md{display:none !important}}@media screen and (min-width: 767px)and (max-width: 991px){.d-b\@sm{display:block !important}.d-ib\@sm{display:inline-block !important}.d-i\@sm{display:inline !important}.d-tb\@sm{display:table !important}.d-tbc\@sm{display:table-cell !important}.d-n\@sm{display:none !important}}.ov-h{overflow:hidden !important}.ov-a{overflow:auto !important}.ov-s{overflow:scroll !important}.ovY-h{overflow-y:hidden !important}.ovX-h{overflow-x:hidden !important}.ovY-a{overflow-y:auto !important}.ovX-a{overflow-x:auto !important}.ovY-s{overflow-y:scroll !important}.ovX-s{overflow-x:scroll !important}@media screen and (min-width: 1440px){.ov-h\@xl\+{overflow:hidden !important}.ov-a\@xl\+{overflow:auto !important}.ov-s\@xl\+{overflow:scroll !important}.ovY-h\@xl\+{overflow-y:hidden !important}.ovX-h\@xl\+{overflow-x:hidden !important}.ovY-a\@xl\+{overflow-y:auto !important}.ovX-a\@xl\+{overflow-x:auto !important}.ovY-s\@xl\+{overflow-y:scroll !important}.ovX-s\@xl\+{overflow-x:scroll !important}}@media screen and (min-width: 1200px){.ov-h\@lg\+{overflow:hidden !important}.ov-a\@lg\+{overflow:auto !important}.ov-s\@lg\+{overflow:scroll !important}.ovY-h\@lg\+{overflow-y:hidden !important}.ovX-h\@lg\+{overflow-x:hidden !important}.ovY-a\@lg\+{overflow-y:auto !important}.ovX-a\@lg\+{overflow-x:auto !important}.ovY-s\@lg\+{overflow-y:scroll !important}.ovX-s\@lg\+{overflow-x:scroll !important}}@media screen and (min-width: 992px){.ov-h\@md\+{overflow:hidden !important}.ov-a\@md\+{overflow:auto !important}.ov-s\@md\+{overflow:scroll !important}.ovY-h\@md\+{overflow-y:hidden !important}.ovX-h\@md\+{overflow-x:hidden !important}.ovY-a\@md\+{overflow-y:auto !important}.ovX-a\@md\+{overflow-x:auto !important}.ovY-s\@md\+{overflow-y:scroll !important}.ovX-s\@md\+{overflow-x:scroll !important}}@media screen and (min-width: 768px){.ov-h\@sm\+{overflow:hidden !important}.ov-a\@sm\+{overflow:auto !important}.ov-s\@sm\+{overflow:scroll !important}.ovY-h\@sm\+{overflow-y:hidden !important}.ovX-h\@sm\+{overflow-x:hidden !important}.ovY-a\@sm\+{overflow-y:auto !important}.ovX-a\@sm\+{overflow-x:auto !important}.ovY-s\@sm\+{overflow-y:scroll !important}.ovX-s\@sm\+{overflow-x:scroll !important}}@media screen and (min-width: 0){.ov-h\@xs\+{overflow:hidden !important}.ov-a\@xs\+{overflow:auto !important}.ov-s\@xs\+{overflow:scroll !important}.ovY-h\@xs\+{overflow-y:hidden !important}.ovX-h\@xs\+{overflow-x:hidden !important}.ovY-a\@xs\+{overflow-y:auto !important}.ovX-a\@xs\+{overflow-x:auto !important}.ovY-s\@xs\+{overflow-y:scroll !important}.ovX-s\@xs\+{overflow-x:scroll !important}}@media screen and (max-width: 1439px){.ov-h\@xl-{overflow:hidden !important}.ov-a\@xl-{overflow:auto !important}.ov-s\@xl-{overflow:scroll !important}.ovY-h\@xl-{overflow-y:hidden !important}.ovX-h\@xl-{overflow-x:hidden !important}.ovY-a\@xl-{overflow-y:auto !important}.ovX-a\@xl-{overflow-x:auto !important}.ovY-s\@xl-{overflow-y:scroll !important}.ovX-s\@xl-{overflow-x:scroll !important}}@media screen and (max-width: 1199px){.ov-h\@lg-{overflow:hidden !important}.ov-a\@lg-{overflow:auto !important}.ov-s\@lg-{overflow:scroll !important}.ovY-h\@lg-{overflow-y:hidden !important}.ovX-h\@lg-{overflow-x:hidden !important}.ovY-a\@lg-{overflow-y:auto !important}.ovX-a\@lg-{overflow-x:auto !important}.ovY-s\@lg-{overflow-y:scroll !important}.ovX-s\@lg-{overflow-x:scroll !important}}@media screen and (max-width: 991px){.ov-h\@md-{overflow:hidden !important}.ov-a\@md-{overflow:auto !important}.ov-s\@md-{overflow:scroll !important}.ovY-h\@md-{overflow-y:hidden !important}.ovX-h\@md-{overflow-x:hidden !important}.ovY-a\@md-{overflow-y:auto !important}.ovX-a\@md-{overflow-x:auto !important}.ovY-s\@md-{overflow-y:scroll !important}.ovX-s\@md-{overflow-x:scroll !important}}@media screen and (max-width: 767px){.ov-h\@sm-{overflow:hidden !important}.ov-a\@sm-{overflow:auto !important}.ov-s\@sm-{overflow:scroll !important}.ovY-h\@sm-{overflow-y:hidden !important}.ovX-h\@sm-{overflow-x:hidden !important}.ovY-a\@sm-{overflow-y:auto !important}.ovX-a\@sm-{overflow-x:auto !important}.ovY-s\@sm-{overflow-y:scroll !important}.ovX-s\@sm-{overflow-x:scroll !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ov-h\@lg{overflow:hidden !important}.ov-a\@lg{overflow:auto !important}.ov-s\@lg{overflow:scroll !important}.ovY-h\@lg{overflow-y:hidden !important}.ovX-h\@lg{overflow-x:hidden !important}.ovY-a\@lg{overflow-y:auto !important}.ovX-a\@lg{overflow-x:auto !important}.ovY-s\@lg{overflow-y:scroll !important}.ovX-s\@lg{overflow-x:scroll !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.ov-h\@md{overflow:hidden !important}.ov-a\@md{overflow:auto !important}.ov-s\@md{overflow:scroll !important}.ovY-h\@md{overflow-y:hidden !important}.ovX-h\@md{overflow-x:hidden !important}.ovY-a\@md{overflow-y:auto !important}.ovX-a\@md{overflow-x:auto !important}.ovY-s\@md{overflow-y:scroll !important}.ovX-s\@md{overflow-x:scroll !important}}@media screen and (min-width: 767px)and (max-width: 991px){.ov-h\@sm{overflow:hidden !important}.ov-a\@sm{overflow:auto !important}.ov-s\@sm{overflow:scroll !important}.ovY-h\@sm{overflow-y:hidden !important}.ovX-h\@sm{overflow-x:hidden !important}.ovY-a\@sm{overflow-y:auto !important}.ovX-a\@sm{overflow-x:auto !important}.ovY-s\@sm{overflow-y:scroll !important}.ovX-s\@sm{overflow-x:scroll !important}}.fl-l{float:left !important}.fl-r{float:right !important}.fl-n{float:none !important}@media screen and (min-width: 1440px){.fl-l\@xl\+{float:left !important}.fl-r\@xl\+{float:right !important}.fl-n\@xl\+{float:none !important}}@media screen and (min-width: 1200px){.fl-l\@lg\+{float:left !important}.fl-r\@lg\+{float:right !important}.fl-n\@lg\+{float:none !important}}@media screen and (min-width: 992px){.fl-l\@md\+{float:left !important}.fl-r\@md\+{float:right !important}.fl-n\@md\+{float:none !important}}@media screen and (min-width: 768px){.fl-l\@sm\+{float:left !important}.fl-r\@sm\+{float:right !important}.fl-n\@sm\+{float:none !important}}@media screen and (min-width: 0){.fl-l\@xs\+{float:left !important}.fl-r\@xs\+{float:right !important}.fl-n\@xs\+{float:none !important}}@media screen and (max-width: 1439px){.fl-l\@xl-{float:left !important}.fl-r\@xl-{float:right !important}.fl-n\@xl-{float:none !important}}@media screen and (max-width: 1199px){.fl-l\@lg-{float:left !important}.fl-r\@lg-{float:right !important}.fl-n\@lg-{float:none !important}}@media screen and (max-width: 991px){.fl-l\@md-{float:left !important}.fl-r\@md-{float:right !important}.fl-n\@md-{float:none !important}}@media screen and (max-width: 767px){.fl-l\@sm-{float:left !important}.fl-r\@sm-{float:right !important}.fl-n\@sm-{float:none !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.fl-l\@lg{float:left !important}.fl-r\@lg{float:right !important}.fl-n\@lg{float:none !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.fl-l\@md{float:left !important}.fl-r\@md{float:right !important}.fl-n\@md{float:none !important}}@media screen and (min-width: 767px)and (max-width: 991px){.fl-l\@sm{float:left !important}.fl-r\@sm{float:right !important}.fl-n\@sm{float:none !important}}.va-t{vertical-align:top !important}.va-m{vertical-align:middle !important}.va-b{vertical-align:bottom !important}@media screen and (min-width: 1440px){.va-t\@xl\+{vertical-align:top !important}.va-m\@xl\+{vertical-align:middle !important}.va-b\@xl\+{vertical-align:bottom !important}}@media screen and (min-width: 1200px){.va-t\@lg\+{vertical-align:top !important}.va-m\@lg\+{vertical-align:middle !important}.va-b\@lg\+{vertical-align:bottom !important}}@media screen and (min-width: 992px){.va-t\@md\+{vertical-align:top !important}.va-m\@md\+{vertical-align:middle !important}.va-b\@md\+{vertical-align:bottom !important}}@media screen and (min-width: 768px){.va-t\@sm\+{vertical-align:top !important}.va-m\@sm\+{vertical-align:middle !important}.va-b\@sm\+{vertical-align:bottom !important}}@media screen and (min-width: 0){.va-t\@xs\+{vertical-align:top !important}.va-m\@xs\+{vertical-align:middle !important}.va-b\@xs\+{vertical-align:bottom !important}}@media screen and (max-width: 1439px){.va-t\@xl-{vertical-align:top !important}.va-m\@xl-{vertical-align:middle !important}.va-b\@xl-{vertical-align:bottom !important}}@media screen and (max-width: 1199px){.va-t\@lg-{vertical-align:top !important}.va-m\@lg-{vertical-align:middle !important}.va-b\@lg-{vertical-align:bottom !important}}@media screen and (max-width: 991px){.va-t\@md-{vertical-align:top !important}.va-m\@md-{vertical-align:middle !important}.va-b\@md-{vertical-align:bottom !important}}@media screen and (max-width: 767px){.va-t\@sm-{vertical-align:top !important}.va-m\@sm-{vertical-align:middle !important}.va-b\@sm-{vertical-align:bottom !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.va-t\@lg{vertical-align:top !important}.va-m\@lg{vertical-align:middle !important}.va-b\@lg{vertical-align:bottom !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.va-t\@md{vertical-align:top !important}.va-m\@md{vertical-align:middle !important}.va-b\@md{vertical-align:bottom !important}}@media screen and (min-width: 767px)and (max-width: 991px){.va-t\@sm{vertical-align:top !important}.va-m\@sm{vertical-align:middle !important}.va-b\@sm{vertical-align:bottom !important}}.pos-s{position:static !important}.pos-st{position:sticky !important}.pos-r{position:relative !important}.pos-a{position:absolute !important}.pos-f{position:fixed !important}@media screen and (min-width: 1440px){.pos-s\@xl\+{position:static !important}.pos-st\@xl\+{position:sticky !important}.pos-r\@xl\+{position:relative !important}.pos-a\@xl\+{position:absolute !important}.pos-f\@xl\+{position:fixed !important}}@media screen and (min-width: 1200px){.pos-s\@lg\+{position:static !important}.pos-st\@lg\+{position:sticky !important}.pos-r\@lg\+{position:relative !important}.pos-a\@lg\+{position:absolute !important}.pos-f\@lg\+{position:fixed !important}}@media screen and (min-width: 992px){.pos-s\@md\+{position:static !important}.pos-st\@md\+{position:sticky !important}.pos-r\@md\+{position:relative !important}.pos-a\@md\+{position:absolute !important}.pos-f\@md\+{position:fixed !important}}@media screen and (min-width: 768px){.pos-s\@sm\+{position:static !important}.pos-st\@sm\+{position:sticky !important}.pos-r\@sm\+{position:relative !important}.pos-a\@sm\+{position:absolute !important}.pos-f\@sm\+{position:fixed !important}}@media screen and (min-width: 0){.pos-s\@xs\+{position:static !important}.pos-st\@xs\+{position:sticky !important}.pos-r\@xs\+{position:relative !important}.pos-a\@xs\+{position:absolute !important}.pos-f\@xs\+{position:fixed !important}}@media screen and (max-width: 1439px){.pos-s\@xl-{position:static !important}.pos-st\@xl-{position:sticky !important}.pos-r\@xl-{position:relative !important}.pos-a\@xl-{position:absolute !important}.pos-f\@xl-{position:fixed !important}}@media screen and (max-width: 1199px){.pos-s\@lg-{position:static !important}.pos-st\@lg-{position:sticky !important}.pos-r\@lg-{position:relative !important}.pos-a\@lg-{position:absolute !important}.pos-f\@lg-{position:fixed !important}}@media screen and (max-width: 991px){.pos-s\@md-{position:static !important}.pos-st\@md-{position:sticky !important}.pos-r\@md-{position:relative !important}.pos-a\@md-{position:absolute !important}.pos-f\@md-{position:fixed !important}}@media screen and (max-width: 767px){.pos-s\@sm-{position:static !important}.pos-st\@sm-{position:sticky !important}.pos-r\@sm-{position:relative !important}.pos-a\@sm-{position:absolute !important}.pos-f\@sm-{position:fixed !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.pos-s\@lg{position:static !important}.pos-st\@lg{position:sticky !important}.pos-r\@lg{position:relative !important}.pos-a\@lg{position:absolute !important}.pos-f\@lg{position:fixed !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.pos-s\@md{position:static !important}.pos-st\@md{position:sticky !important}.pos-r\@md{position:relative !important}.pos-a\@md{position:absolute !important}.pos-f\@md{position:fixed !important}}@media screen and (min-width: 767px)and (max-width: 991px){.pos-s\@sm{position:static !important}.pos-st\@sm{position:sticky !important}.pos-r\@sm{position:relative !important}.pos-a\@sm{position:absolute !important}.pos-f\@sm{position:fixed !important}}.z-0{z-index:0 !important}@media screen and (min-width: 1440px){.z-0\@xl\+{z-index:0 !important}}@media screen and (min-width: 1200px){.z-0\@lg\+{z-index:0 !important}}@media screen and (min-width: 992px){.z-0\@md\+{z-index:0 !important}}@media screen and (min-width: 768px){.z-0\@sm\+{z-index:0 !important}}@media screen and (min-width: 0){.z-0\@xs\+{z-index:0 !important}}@media screen and (max-width: 1439px){.z-0\@xl-{z-index:0 !important}}@media screen and (max-width: 1199px){.z-0\@lg-{z-index:0 !important}}@media screen and (max-width: 991px){.z-0\@md-{z-index:0 !important}}@media screen and (max-width: 767px){.z-0\@sm-{z-index:0 !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.z-0\@lg{z-index:0 !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.z-0\@md{z-index:0 !important}}@media screen and (min-width: 767px)and (max-width: 991px){.z-0\@sm{z-index:0 !important}}.z-1{z-index:1000 !important}@media screen and (min-width: 1440px){.z-1\@xl\+{z-index:1000 !important}}@media screen and (min-width: 1200px){.z-1\@lg\+{z-index:1000 !important}}@media screen and (min-width: 992px){.z-1\@md\+{z-index:1000 !important}}@media screen and (min-width: 768px){.z-1\@sm\+{z-index:1000 !important}}@media screen and (min-width: 0){.z-1\@xs\+{z-index:1000 !important}}@media screen and (max-width: 1439px){.z-1\@xl-{z-index:1000 !important}}@media screen and (max-width: 1199px){.z-1\@lg-{z-index:1000 !important}}@media screen and (max-width: 991px){.z-1\@md-{z-index:1000 !important}}@media screen and (max-width: 767px){.z-1\@sm-{z-index:1000 !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.z-1\@lg{z-index:1000 !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.z-1\@md{z-index:1000 !important}}@media screen and (min-width: 767px)and (max-width: 991px){.z-1\@sm{z-index:1000 !important}}.z-2{z-index:2000 !important}@media screen and (min-width: 1440px){.z-2\@xl\+{z-index:2000 !important}}@media screen and (min-width: 1200px){.z-2\@lg\+{z-index:2000 !important}}@media screen and (min-width: 992px){.z-2\@md\+{z-index:2000 !important}}@media screen and (min-width: 768px){.z-2\@sm\+{z-index:2000 !important}}@media screen and (min-width: 0){.z-2\@xs\+{z-index:2000 !important}}@media screen and (max-width: 1439px){.z-2\@xl-{z-index:2000 !important}}@media screen and (max-width: 1199px){.z-2\@lg-{z-index:2000 !important}}@media screen and (max-width: 991px){.z-2\@md-{z-index:2000 !important}}@media screen and (max-width: 767px){.z-2\@sm-{z-index:2000 !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.z-2\@lg{z-index:2000 !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.z-2\@md{z-index:2000 !important}}@media screen and (min-width: 767px)and (max-width: 991px){.z-2\@sm{z-index:2000 !important}}.z-3{z-index:3000 !important}@media screen and (min-width: 1440px){.z-3\@xl\+{z-index:3000 !important}}@media screen and (min-width: 1200px){.z-3\@lg\+{z-index:3000 !important}}@media screen and (min-width: 992px){.z-3\@md\+{z-index:3000 !important}}@media screen and (min-width: 768px){.z-3\@sm\+{z-index:3000 !important}}@media screen and (min-width: 0){.z-3\@xs\+{z-index:3000 !important}}@media screen and (max-width: 1439px){.z-3\@xl-{z-index:3000 !important}}@media screen and (max-width: 1199px){.z-3\@lg-{z-index:3000 !important}}@media screen and (max-width: 991px){.z-3\@md-{z-index:3000 !important}}@media screen and (max-width: 767px){.z-3\@sm-{z-index:3000 !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.z-3\@lg{z-index:3000 !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.z-3\@md{z-index:3000 !important}}@media screen and (min-width: 767px)and (max-width: 991px){.z-3\@sm{z-index:3000 !important}}.z-4{z-index:4000 !important}@media screen and (min-width: 1440px){.z-4\@xl\+{z-index:4000 !important}}@media screen and (min-width: 1200px){.z-4\@lg\+{z-index:4000 !important}}@media screen and (min-width: 992px){.z-4\@md\+{z-index:4000 !important}}@media screen and (min-width: 768px){.z-4\@sm\+{z-index:4000 !important}}@media screen and (min-width: 0){.z-4\@xs\+{z-index:4000 !important}}@media screen and (max-width: 1439px){.z-4\@xl-{z-index:4000 !important}}@media screen and (max-width: 1199px){.z-4\@lg-{z-index:4000 !important}}@media screen and (max-width: 991px){.z-4\@md-{z-index:4000 !important}}@media screen and (max-width: 767px){.z-4\@sm-{z-index:4000 !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.z-4\@lg{z-index:4000 !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.z-4\@md{z-index:4000 !important}}@media screen and (min-width: 767px)and (max-width: 991px){.z-4\@sm{z-index:4000 !important}}.z-5{z-index:5000 !important}@media screen and (min-width: 1440px){.z-5\@xl\+{z-index:5000 !important}}@media screen and (min-width: 1200px){.z-5\@lg\+{z-index:5000 !important}}@media screen and (min-width: 992px){.z-5\@md\+{z-index:5000 !important}}@media screen and (min-width: 768px){.z-5\@sm\+{z-index:5000 !important}}@media screen and (min-width: 0){.z-5\@xs\+{z-index:5000 !important}}@media screen and (max-width: 1439px){.z-5\@xl-{z-index:5000 !important}}@media screen and (max-width: 1199px){.z-5\@lg-{z-index:5000 !important}}@media screen and (max-width: 991px){.z-5\@md-{z-index:5000 !important}}@media screen and (max-width: 767px){.z-5\@sm-{z-index:5000 !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.z-5\@lg{z-index:5000 !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.z-5\@md{z-index:5000 !important}}@media screen and (min-width: 767px)and (max-width: 991px){.z-5\@sm{z-index:5000 !important}}.z-6{z-index:6000 !important}@media screen and (min-width: 1440px){.z-6\@xl\+{z-index:6000 !important}}@media screen and (min-width: 1200px){.z-6\@lg\+{z-index:6000 !important}}@media screen and (min-width: 992px){.z-6\@md\+{z-index:6000 !important}}@media screen and (min-width: 768px){.z-6\@sm\+{z-index:6000 !important}}@media screen and (min-width: 0){.z-6\@xs\+{z-index:6000 !important}}@media screen and (max-width: 1439px){.z-6\@xl-{z-index:6000 !important}}@media screen and (max-width: 1199px){.z-6\@lg-{z-index:6000 !important}}@media screen and (max-width: 991px){.z-6\@md-{z-index:6000 !important}}@media screen and (max-width: 767px){.z-6\@sm-{z-index:6000 !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.z-6\@lg{z-index:6000 !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.z-6\@md{z-index:6000 !important}}@media screen and (min-width: 767px)and (max-width: 991px){.z-6\@sm{z-index:6000 !important}}.z-7{z-index:7000 !important}@media screen and (min-width: 1440px){.z-7\@xl\+{z-index:7000 !important}}@media screen and (min-width: 1200px){.z-7\@lg\+{z-index:7000 !important}}@media screen and (min-width: 992px){.z-7\@md\+{z-index:7000 !important}}@media screen and (min-width: 768px){.z-7\@sm\+{z-index:7000 !important}}@media screen and (min-width: 0){.z-7\@xs\+{z-index:7000 !important}}@media screen and (max-width: 1439px){.z-7\@xl-{z-index:7000 !important}}@media screen and (max-width: 1199px){.z-7\@lg-{z-index:7000 !important}}@media screen and (max-width: 991px){.z-7\@md-{z-index:7000 !important}}@media screen and (max-width: 767px){.z-7\@sm-{z-index:7000 !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.z-7\@lg{z-index:7000 !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.z-7\@md{z-index:7000 !important}}@media screen and (min-width: 767px)and (max-width: 991px){.z-7\@sm{z-index:7000 !important}}.z-8{z-index:8000 !important}@media screen and (min-width: 1440px){.z-8\@xl\+{z-index:8000 !important}}@media screen and (min-width: 1200px){.z-8\@lg\+{z-index:8000 !important}}@media screen and (min-width: 992px){.z-8\@md\+{z-index:8000 !important}}@media screen and (min-width: 768px){.z-8\@sm\+{z-index:8000 !important}}@media screen and (min-width: 0){.z-8\@xs\+{z-index:8000 !important}}@media screen and (max-width: 1439px){.z-8\@xl-{z-index:8000 !important}}@media screen and (max-width: 1199px){.z-8\@lg-{z-index:8000 !important}}@media screen and (max-width: 991px){.z-8\@md-{z-index:8000 !important}}@media screen and (max-width: 767px){.z-8\@sm-{z-index:8000 !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.z-8\@lg{z-index:8000 !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.z-8\@md{z-index:8000 !important}}@media screen and (min-width: 767px)and (max-width: 991px){.z-8\@sm{z-index:8000 !important}}.z-9{z-index:9000 !important}@media screen and (min-width: 1440px){.z-9\@xl\+{z-index:9000 !important}}@media screen and (min-width: 1200px){.z-9\@lg\+{z-index:9000 !important}}@media screen and (min-width: 992px){.z-9\@md\+{z-index:9000 !important}}@media screen and (min-width: 768px){.z-9\@sm\+{z-index:9000 !important}}@media screen and (min-width: 0){.z-9\@xs\+{z-index:9000 !important}}@media screen and (max-width: 1439px){.z-9\@xl-{z-index:9000 !important}}@media screen and (max-width: 1199px){.z-9\@lg-{z-index:9000 !important}}@media screen and (max-width: 991px){.z-9\@md-{z-index:9000 !important}}@media screen and (max-width: 767px){.z-9\@sm-{z-index:9000 !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.z-9\@lg{z-index:9000 !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.z-9\@md{z-index:9000 !important}}@media screen and (min-width: 767px)and (max-width: 991px){.z-9\@sm{z-index:9000 !important}}.lisp-i{list-style-position:inside}.lisp-o{list-style-position:outside}.lis-n{list-style:none}.list-c{list-style-type:circle}.list-s{list-style-type:square}.list-u{list-style-type:upper-roman}.list-l{list-style-type:lower-alpha}.m-0{margin:0px !important}.mT-0{margin-top:0px !important}.mR-0{margin-right:0px !important}.mB-0{margin-bottom:0px !important}.mL-0{margin-left:0px !important}.mY-0{margin-top:0px !important;margin-bottom:0px !important}.mX-0{margin-left:0px !important;margin-right:0px !important}.m-nv-0{margin:-0px !important}.mT-nv-0{margin-top:-0px !important}.mR-nv-0{margin-right:-0px !important}.mB-nv-0{margin-bottom:-0px !important}.mL-nv-0{margin-left:-0px !important}.mY-nv-0{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0{margin-left:-0px !important;margin-right:-0px !important}@media screen and (min-width: 1440px){.m-0\@xl\+{margin:0px !important}.mT-0\@xl\+{margin-top:0px !important}.mR-0\@xl\+{margin-right:0px !important}.mB-0\@xl\+{margin-bottom:0px !important}.mL-0\@xl\+{margin-left:0px !important}.mY-0\@xl\+{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@xl\+{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@xl\+{margin:-0px !important}.mT-nv-0\@xl\+{margin-top:-0px !important}.mR-nv-0\@xl\+{margin-right:-0px !important}.mB-nv-0\@xl\+{margin-bottom:-0px !important}.mL-nv-0\@xl\+{margin-left:-0px !important}.mY-nv-0\@xl\+{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@xl\+{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (min-width: 1200px){.m-0\@lg\+{margin:0px !important}.mT-0\@lg\+{margin-top:0px !important}.mR-0\@lg\+{margin-right:0px !important}.mB-0\@lg\+{margin-bottom:0px !important}.mL-0\@lg\+{margin-left:0px !important}.mY-0\@lg\+{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@lg\+{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@lg\+{margin:-0px !important}.mT-nv-0\@lg\+{margin-top:-0px !important}.mR-nv-0\@lg\+{margin-right:-0px !important}.mB-nv-0\@lg\+{margin-bottom:-0px !important}.mL-nv-0\@lg\+{margin-left:-0px !important}.mY-nv-0\@lg\+{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@lg\+{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (min-width: 992px){.m-0\@md\+{margin:0px !important}.mT-0\@md\+{margin-top:0px !important}.mR-0\@md\+{margin-right:0px !important}.mB-0\@md\+{margin-bottom:0px !important}.mL-0\@md\+{margin-left:0px !important}.mY-0\@md\+{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@md\+{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@md\+{margin:-0px !important}.mT-nv-0\@md\+{margin-top:-0px !important}.mR-nv-0\@md\+{margin-right:-0px !important}.mB-nv-0\@md\+{margin-bottom:-0px !important}.mL-nv-0\@md\+{margin-left:-0px !important}.mY-nv-0\@md\+{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@md\+{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (min-width: 768px){.m-0\@sm\+{margin:0px !important}.mT-0\@sm\+{margin-top:0px !important}.mR-0\@sm\+{margin-right:0px !important}.mB-0\@sm\+{margin-bottom:0px !important}.mL-0\@sm\+{margin-left:0px !important}.mY-0\@sm\+{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@sm\+{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@sm\+{margin:-0px !important}.mT-nv-0\@sm\+{margin-top:-0px !important}.mR-nv-0\@sm\+{margin-right:-0px !important}.mB-nv-0\@sm\+{margin-bottom:-0px !important}.mL-nv-0\@sm\+{margin-left:-0px !important}.mY-nv-0\@sm\+{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@sm\+{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (min-width: 0){.m-0\@xs\+{margin:0px !important}.mT-0\@xs\+{margin-top:0px !important}.mR-0\@xs\+{margin-right:0px !important}.mB-0\@xs\+{margin-bottom:0px !important}.mL-0\@xs\+{margin-left:0px !important}.mY-0\@xs\+{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@xs\+{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@xs\+{margin:-0px !important}.mT-nv-0\@xs\+{margin-top:-0px !important}.mR-nv-0\@xs\+{margin-right:-0px !important}.mB-nv-0\@xs\+{margin-bottom:-0px !important}.mL-nv-0\@xs\+{margin-left:-0px !important}.mY-nv-0\@xs\+{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@xs\+{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (max-width: 1439px){.m-0\@xl-{margin:0px !important}.mT-0\@xl-{margin-top:0px !important}.mR-0\@xl-{margin-right:0px !important}.mB-0\@xl-{margin-bottom:0px !important}.mL-0\@xl-{margin-left:0px !important}.mY-0\@xl-{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@xl-{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@xl-{margin:-0px !important}.mT-nv-0\@xl-{margin-top:-0px !important}.mR-nv-0\@xl-{margin-right:-0px !important}.mB-nv-0\@xl-{margin-bottom:-0px !important}.mL-nv-0\@xl-{margin-left:-0px !important}.mY-nv-0\@xl-{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@xl-{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (max-width: 1199px){.m-0\@lg-{margin:0px !important}.mT-0\@lg-{margin-top:0px !important}.mR-0\@lg-{margin-right:0px !important}.mB-0\@lg-{margin-bottom:0px !important}.mL-0\@lg-{margin-left:0px !important}.mY-0\@lg-{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@lg-{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@lg-{margin:-0px !important}.mT-nv-0\@lg-{margin-top:-0px !important}.mR-nv-0\@lg-{margin-right:-0px !important}.mB-nv-0\@lg-{margin-bottom:-0px !important}.mL-nv-0\@lg-{margin-left:-0px !important}.mY-nv-0\@lg-{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@lg-{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (max-width: 991px){.m-0\@md-{margin:0px !important}.mT-0\@md-{margin-top:0px !important}.mR-0\@md-{margin-right:0px !important}.mB-0\@md-{margin-bottom:0px !important}.mL-0\@md-{margin-left:0px !important}.mY-0\@md-{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@md-{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@md-{margin:-0px !important}.mT-nv-0\@md-{margin-top:-0px !important}.mR-nv-0\@md-{margin-right:-0px !important}.mB-nv-0\@md-{margin-bottom:-0px !important}.mL-nv-0\@md-{margin-left:-0px !important}.mY-nv-0\@md-{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@md-{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (max-width: 767px){.m-0\@sm-{margin:0px !important}.mT-0\@sm-{margin-top:0px !important}.mR-0\@sm-{margin-right:0px !important}.mB-0\@sm-{margin-bottom:0px !important}.mL-0\@sm-{margin-left:0px !important}.mY-0\@sm-{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@sm-{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@sm-{margin:-0px !important}.mT-nv-0\@sm-{margin-top:-0px !important}.mR-nv-0\@sm-{margin-right:-0px !important}.mB-nv-0\@sm-{margin-bottom:-0px !important}.mL-nv-0\@sm-{margin-left:-0px !important}.mY-nv-0\@sm-{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@sm-{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-0\@lg{margin:0px !important}.mT-0\@lg{margin-top:0px !important}.mR-0\@lg{margin-right:0px !important}.mB-0\@lg{margin-bottom:0px !important}.mL-0\@lg{margin-left:0px !important}.mY-0\@lg{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@lg{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@lg{margin:-0px !important}.mT-nv-0\@lg{margin-top:-0px !important}.mR-nv-0\@lg{margin-right:-0px !important}.mB-nv-0\@lg{margin-bottom:-0px !important}.mL-nv-0\@lg{margin-left:-0px !important}.mY-nv-0\@lg{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@lg{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-0\@md{margin:0px !important}.mT-0\@md{margin-top:0px !important}.mR-0\@md{margin-right:0px !important}.mB-0\@md{margin-bottom:0px !important}.mL-0\@md{margin-left:0px !important}.mY-0\@md{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@md{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@md{margin:-0px !important}.mT-nv-0\@md{margin-top:-0px !important}.mR-nv-0\@md{margin-right:-0px !important}.mB-nv-0\@md{margin-bottom:-0px !important}.mL-nv-0\@md{margin-left:-0px !important}.mY-nv-0\@md{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@md{margin-left:-0px !important;margin-right:-0px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-0\@sm{margin:0px !important}.mT-0\@sm{margin-top:0px !important}.mR-0\@sm{margin-right:0px !important}.mB-0\@sm{margin-bottom:0px !important}.mL-0\@sm{margin-left:0px !important}.mY-0\@sm{margin-top:0px !important;margin-bottom:0px !important}.mX-0\@sm{margin-left:0px !important;margin-right:0px !important}.m-nv-0\@sm{margin:-0px !important}.mT-nv-0\@sm{margin-top:-0px !important}.mR-nv-0\@sm{margin-right:-0px !important}.mB-nv-0\@sm{margin-bottom:-0px !important}.mL-nv-0\@sm{margin-left:-0px !important}.mY-nv-0\@sm{margin-top:-0px !important;margin-bottom:-0px !important}.mX-nv-0\@sm{margin-left:-0px !important;margin-right:-0px !important}}.m-1{margin:1px !important}.mT-1{margin-top:1px !important}.mR-1{margin-right:1px !important}.mB-1{margin-bottom:1px !important}.mL-1{margin-left:1px !important}.mY-1{margin-top:1px !important;margin-bottom:1px !important}.mX-1{margin-left:1px !important;margin-right:1px !important}.m-nv-1{margin:-1px !important}.mT-nv-1{margin-top:-1px !important}.mR-nv-1{margin-right:-1px !important}.mB-nv-1{margin-bottom:-1px !important}.mL-nv-1{margin-left:-1px !important}.mY-nv-1{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1{margin-left:-1px !important;margin-right:-1px !important}@media screen and (min-width: 1440px){.m-1\@xl\+{margin:1px !important}.mT-1\@xl\+{margin-top:1px !important}.mR-1\@xl\+{margin-right:1px !important}.mB-1\@xl\+{margin-bottom:1px !important}.mL-1\@xl\+{margin-left:1px !important}.mY-1\@xl\+{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@xl\+{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@xl\+{margin:-1px !important}.mT-nv-1\@xl\+{margin-top:-1px !important}.mR-nv-1\@xl\+{margin-right:-1px !important}.mB-nv-1\@xl\+{margin-bottom:-1px !important}.mL-nv-1\@xl\+{margin-left:-1px !important}.mY-nv-1\@xl\+{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@xl\+{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (min-width: 1200px){.m-1\@lg\+{margin:1px !important}.mT-1\@lg\+{margin-top:1px !important}.mR-1\@lg\+{margin-right:1px !important}.mB-1\@lg\+{margin-bottom:1px !important}.mL-1\@lg\+{margin-left:1px !important}.mY-1\@lg\+{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@lg\+{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@lg\+{margin:-1px !important}.mT-nv-1\@lg\+{margin-top:-1px !important}.mR-nv-1\@lg\+{margin-right:-1px !important}.mB-nv-1\@lg\+{margin-bottom:-1px !important}.mL-nv-1\@lg\+{margin-left:-1px !important}.mY-nv-1\@lg\+{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@lg\+{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (min-width: 992px){.m-1\@md\+{margin:1px !important}.mT-1\@md\+{margin-top:1px !important}.mR-1\@md\+{margin-right:1px !important}.mB-1\@md\+{margin-bottom:1px !important}.mL-1\@md\+{margin-left:1px !important}.mY-1\@md\+{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@md\+{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@md\+{margin:-1px !important}.mT-nv-1\@md\+{margin-top:-1px !important}.mR-nv-1\@md\+{margin-right:-1px !important}.mB-nv-1\@md\+{margin-bottom:-1px !important}.mL-nv-1\@md\+{margin-left:-1px !important}.mY-nv-1\@md\+{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@md\+{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (min-width: 768px){.m-1\@sm\+{margin:1px !important}.mT-1\@sm\+{margin-top:1px !important}.mR-1\@sm\+{margin-right:1px !important}.mB-1\@sm\+{margin-bottom:1px !important}.mL-1\@sm\+{margin-left:1px !important}.mY-1\@sm\+{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@sm\+{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@sm\+{margin:-1px !important}.mT-nv-1\@sm\+{margin-top:-1px !important}.mR-nv-1\@sm\+{margin-right:-1px !important}.mB-nv-1\@sm\+{margin-bottom:-1px !important}.mL-nv-1\@sm\+{margin-left:-1px !important}.mY-nv-1\@sm\+{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@sm\+{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (min-width: 0){.m-1\@xs\+{margin:1px !important}.mT-1\@xs\+{margin-top:1px !important}.mR-1\@xs\+{margin-right:1px !important}.mB-1\@xs\+{margin-bottom:1px !important}.mL-1\@xs\+{margin-left:1px !important}.mY-1\@xs\+{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@xs\+{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@xs\+{margin:-1px !important}.mT-nv-1\@xs\+{margin-top:-1px !important}.mR-nv-1\@xs\+{margin-right:-1px !important}.mB-nv-1\@xs\+{margin-bottom:-1px !important}.mL-nv-1\@xs\+{margin-left:-1px !important}.mY-nv-1\@xs\+{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@xs\+{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (max-width: 1439px){.m-1\@xl-{margin:1px !important}.mT-1\@xl-{margin-top:1px !important}.mR-1\@xl-{margin-right:1px !important}.mB-1\@xl-{margin-bottom:1px !important}.mL-1\@xl-{margin-left:1px !important}.mY-1\@xl-{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@xl-{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@xl-{margin:-1px !important}.mT-nv-1\@xl-{margin-top:-1px !important}.mR-nv-1\@xl-{margin-right:-1px !important}.mB-nv-1\@xl-{margin-bottom:-1px !important}.mL-nv-1\@xl-{margin-left:-1px !important}.mY-nv-1\@xl-{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@xl-{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (max-width: 1199px){.m-1\@lg-{margin:1px !important}.mT-1\@lg-{margin-top:1px !important}.mR-1\@lg-{margin-right:1px !important}.mB-1\@lg-{margin-bottom:1px !important}.mL-1\@lg-{margin-left:1px !important}.mY-1\@lg-{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@lg-{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@lg-{margin:-1px !important}.mT-nv-1\@lg-{margin-top:-1px !important}.mR-nv-1\@lg-{margin-right:-1px !important}.mB-nv-1\@lg-{margin-bottom:-1px !important}.mL-nv-1\@lg-{margin-left:-1px !important}.mY-nv-1\@lg-{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@lg-{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (max-width: 991px){.m-1\@md-{margin:1px !important}.mT-1\@md-{margin-top:1px !important}.mR-1\@md-{margin-right:1px !important}.mB-1\@md-{margin-bottom:1px !important}.mL-1\@md-{margin-left:1px !important}.mY-1\@md-{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@md-{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@md-{margin:-1px !important}.mT-nv-1\@md-{margin-top:-1px !important}.mR-nv-1\@md-{margin-right:-1px !important}.mB-nv-1\@md-{margin-bottom:-1px !important}.mL-nv-1\@md-{margin-left:-1px !important}.mY-nv-1\@md-{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@md-{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (max-width: 767px){.m-1\@sm-{margin:1px !important}.mT-1\@sm-{margin-top:1px !important}.mR-1\@sm-{margin-right:1px !important}.mB-1\@sm-{margin-bottom:1px !important}.mL-1\@sm-{margin-left:1px !important}.mY-1\@sm-{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@sm-{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@sm-{margin:-1px !important}.mT-nv-1\@sm-{margin-top:-1px !important}.mR-nv-1\@sm-{margin-right:-1px !important}.mB-nv-1\@sm-{margin-bottom:-1px !important}.mL-nv-1\@sm-{margin-left:-1px !important}.mY-nv-1\@sm-{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@sm-{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-1\@lg{margin:1px !important}.mT-1\@lg{margin-top:1px !important}.mR-1\@lg{margin-right:1px !important}.mB-1\@lg{margin-bottom:1px !important}.mL-1\@lg{margin-left:1px !important}.mY-1\@lg{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@lg{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@lg{margin:-1px !important}.mT-nv-1\@lg{margin-top:-1px !important}.mR-nv-1\@lg{margin-right:-1px !important}.mB-nv-1\@lg{margin-bottom:-1px !important}.mL-nv-1\@lg{margin-left:-1px !important}.mY-nv-1\@lg{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@lg{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-1\@md{margin:1px !important}.mT-1\@md{margin-top:1px !important}.mR-1\@md{margin-right:1px !important}.mB-1\@md{margin-bottom:1px !important}.mL-1\@md{margin-left:1px !important}.mY-1\@md{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@md{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@md{margin:-1px !important}.mT-nv-1\@md{margin-top:-1px !important}.mR-nv-1\@md{margin-right:-1px !important}.mB-nv-1\@md{margin-bottom:-1px !important}.mL-nv-1\@md{margin-left:-1px !important}.mY-nv-1\@md{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@md{margin-left:-1px !important;margin-right:-1px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-1\@sm{margin:1px !important}.mT-1\@sm{margin-top:1px !important}.mR-1\@sm{margin-right:1px !important}.mB-1\@sm{margin-bottom:1px !important}.mL-1\@sm{margin-left:1px !important}.mY-1\@sm{margin-top:1px !important;margin-bottom:1px !important}.mX-1\@sm{margin-left:1px !important;margin-right:1px !important}.m-nv-1\@sm{margin:-1px !important}.mT-nv-1\@sm{margin-top:-1px !important}.mR-nv-1\@sm{margin-right:-1px !important}.mB-nv-1\@sm{margin-bottom:-1px !important}.mL-nv-1\@sm{margin-left:-1px !important}.mY-nv-1\@sm{margin-top:-1px !important;margin-bottom:-1px !important}.mX-nv-1\@sm{margin-left:-1px !important;margin-right:-1px !important}}.m-2{margin:2px !important}.mT-2{margin-top:2px !important}.mR-2{margin-right:2px !important}.mB-2{margin-bottom:2px !important}.mL-2{margin-left:2px !important}.mY-2{margin-top:2px !important;margin-bottom:2px !important}.mX-2{margin-left:2px !important;margin-right:2px !important}.m-nv-2{margin:-2px !important}.mT-nv-2{margin-top:-2px !important}.mR-nv-2{margin-right:-2px !important}.mB-nv-2{margin-bottom:-2px !important}.mL-nv-2{margin-left:-2px !important}.mY-nv-2{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2{margin-left:-2px !important;margin-right:-2px !important}@media screen and (min-width: 1440px){.m-2\@xl\+{margin:2px !important}.mT-2\@xl\+{margin-top:2px !important}.mR-2\@xl\+{margin-right:2px !important}.mB-2\@xl\+{margin-bottom:2px !important}.mL-2\@xl\+{margin-left:2px !important}.mY-2\@xl\+{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@xl\+{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@xl\+{margin:-2px !important}.mT-nv-2\@xl\+{margin-top:-2px !important}.mR-nv-2\@xl\+{margin-right:-2px !important}.mB-nv-2\@xl\+{margin-bottom:-2px !important}.mL-nv-2\@xl\+{margin-left:-2px !important}.mY-nv-2\@xl\+{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@xl\+{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (min-width: 1200px){.m-2\@lg\+{margin:2px !important}.mT-2\@lg\+{margin-top:2px !important}.mR-2\@lg\+{margin-right:2px !important}.mB-2\@lg\+{margin-bottom:2px !important}.mL-2\@lg\+{margin-left:2px !important}.mY-2\@lg\+{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@lg\+{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@lg\+{margin:-2px !important}.mT-nv-2\@lg\+{margin-top:-2px !important}.mR-nv-2\@lg\+{margin-right:-2px !important}.mB-nv-2\@lg\+{margin-bottom:-2px !important}.mL-nv-2\@lg\+{margin-left:-2px !important}.mY-nv-2\@lg\+{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@lg\+{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (min-width: 992px){.m-2\@md\+{margin:2px !important}.mT-2\@md\+{margin-top:2px !important}.mR-2\@md\+{margin-right:2px !important}.mB-2\@md\+{margin-bottom:2px !important}.mL-2\@md\+{margin-left:2px !important}.mY-2\@md\+{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@md\+{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@md\+{margin:-2px !important}.mT-nv-2\@md\+{margin-top:-2px !important}.mR-nv-2\@md\+{margin-right:-2px !important}.mB-nv-2\@md\+{margin-bottom:-2px !important}.mL-nv-2\@md\+{margin-left:-2px !important}.mY-nv-2\@md\+{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@md\+{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (min-width: 768px){.m-2\@sm\+{margin:2px !important}.mT-2\@sm\+{margin-top:2px !important}.mR-2\@sm\+{margin-right:2px !important}.mB-2\@sm\+{margin-bottom:2px !important}.mL-2\@sm\+{margin-left:2px !important}.mY-2\@sm\+{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@sm\+{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@sm\+{margin:-2px !important}.mT-nv-2\@sm\+{margin-top:-2px !important}.mR-nv-2\@sm\+{margin-right:-2px !important}.mB-nv-2\@sm\+{margin-bottom:-2px !important}.mL-nv-2\@sm\+{margin-left:-2px !important}.mY-nv-2\@sm\+{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@sm\+{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (min-width: 0){.m-2\@xs\+{margin:2px !important}.mT-2\@xs\+{margin-top:2px !important}.mR-2\@xs\+{margin-right:2px !important}.mB-2\@xs\+{margin-bottom:2px !important}.mL-2\@xs\+{margin-left:2px !important}.mY-2\@xs\+{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@xs\+{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@xs\+{margin:-2px !important}.mT-nv-2\@xs\+{margin-top:-2px !important}.mR-nv-2\@xs\+{margin-right:-2px !important}.mB-nv-2\@xs\+{margin-bottom:-2px !important}.mL-nv-2\@xs\+{margin-left:-2px !important}.mY-nv-2\@xs\+{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@xs\+{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (max-width: 1439px){.m-2\@xl-{margin:2px !important}.mT-2\@xl-{margin-top:2px !important}.mR-2\@xl-{margin-right:2px !important}.mB-2\@xl-{margin-bottom:2px !important}.mL-2\@xl-{margin-left:2px !important}.mY-2\@xl-{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@xl-{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@xl-{margin:-2px !important}.mT-nv-2\@xl-{margin-top:-2px !important}.mR-nv-2\@xl-{margin-right:-2px !important}.mB-nv-2\@xl-{margin-bottom:-2px !important}.mL-nv-2\@xl-{margin-left:-2px !important}.mY-nv-2\@xl-{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@xl-{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (max-width: 1199px){.m-2\@lg-{margin:2px !important}.mT-2\@lg-{margin-top:2px !important}.mR-2\@lg-{margin-right:2px !important}.mB-2\@lg-{margin-bottom:2px !important}.mL-2\@lg-{margin-left:2px !important}.mY-2\@lg-{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@lg-{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@lg-{margin:-2px !important}.mT-nv-2\@lg-{margin-top:-2px !important}.mR-nv-2\@lg-{margin-right:-2px !important}.mB-nv-2\@lg-{margin-bottom:-2px !important}.mL-nv-2\@lg-{margin-left:-2px !important}.mY-nv-2\@lg-{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@lg-{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (max-width: 991px){.m-2\@md-{margin:2px !important}.mT-2\@md-{margin-top:2px !important}.mR-2\@md-{margin-right:2px !important}.mB-2\@md-{margin-bottom:2px !important}.mL-2\@md-{margin-left:2px !important}.mY-2\@md-{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@md-{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@md-{margin:-2px !important}.mT-nv-2\@md-{margin-top:-2px !important}.mR-nv-2\@md-{margin-right:-2px !important}.mB-nv-2\@md-{margin-bottom:-2px !important}.mL-nv-2\@md-{margin-left:-2px !important}.mY-nv-2\@md-{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@md-{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (max-width: 767px){.m-2\@sm-{margin:2px !important}.mT-2\@sm-{margin-top:2px !important}.mR-2\@sm-{margin-right:2px !important}.mB-2\@sm-{margin-bottom:2px !important}.mL-2\@sm-{margin-left:2px !important}.mY-2\@sm-{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@sm-{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@sm-{margin:-2px !important}.mT-nv-2\@sm-{margin-top:-2px !important}.mR-nv-2\@sm-{margin-right:-2px !important}.mB-nv-2\@sm-{margin-bottom:-2px !important}.mL-nv-2\@sm-{margin-left:-2px !important}.mY-nv-2\@sm-{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@sm-{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-2\@lg{margin:2px !important}.mT-2\@lg{margin-top:2px !important}.mR-2\@lg{margin-right:2px !important}.mB-2\@lg{margin-bottom:2px !important}.mL-2\@lg{margin-left:2px !important}.mY-2\@lg{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@lg{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@lg{margin:-2px !important}.mT-nv-2\@lg{margin-top:-2px !important}.mR-nv-2\@lg{margin-right:-2px !important}.mB-nv-2\@lg{margin-bottom:-2px !important}.mL-nv-2\@lg{margin-left:-2px !important}.mY-nv-2\@lg{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@lg{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-2\@md{margin:2px !important}.mT-2\@md{margin-top:2px !important}.mR-2\@md{margin-right:2px !important}.mB-2\@md{margin-bottom:2px !important}.mL-2\@md{margin-left:2px !important}.mY-2\@md{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@md{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@md{margin:-2px !important}.mT-nv-2\@md{margin-top:-2px !important}.mR-nv-2\@md{margin-right:-2px !important}.mB-nv-2\@md{margin-bottom:-2px !important}.mL-nv-2\@md{margin-left:-2px !important}.mY-nv-2\@md{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@md{margin-left:-2px !important;margin-right:-2px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-2\@sm{margin:2px !important}.mT-2\@sm{margin-top:2px !important}.mR-2\@sm{margin-right:2px !important}.mB-2\@sm{margin-bottom:2px !important}.mL-2\@sm{margin-left:2px !important}.mY-2\@sm{margin-top:2px !important;margin-bottom:2px !important}.mX-2\@sm{margin-left:2px !important;margin-right:2px !important}.m-nv-2\@sm{margin:-2px !important}.mT-nv-2\@sm{margin-top:-2px !important}.mR-nv-2\@sm{margin-right:-2px !important}.mB-nv-2\@sm{margin-bottom:-2px !important}.mL-nv-2\@sm{margin-left:-2px !important}.mY-nv-2\@sm{margin-top:-2px !important;margin-bottom:-2px !important}.mX-nv-2\@sm{margin-left:-2px !important;margin-right:-2px !important}}.m-3{margin:3px !important}.mT-3{margin-top:3px !important}.mR-3{margin-right:3px !important}.mB-3{margin-bottom:3px !important}.mL-3{margin-left:3px !important}.mY-3{margin-top:3px !important;margin-bottom:3px !important}.mX-3{margin-left:3px !important;margin-right:3px !important}.m-nv-3{margin:-3px !important}.mT-nv-3{margin-top:-3px !important}.mR-nv-3{margin-right:-3px !important}.mB-nv-3{margin-bottom:-3px !important}.mL-nv-3{margin-left:-3px !important}.mY-nv-3{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3{margin-left:-3px !important;margin-right:-3px !important}@media screen and (min-width: 1440px){.m-3\@xl\+{margin:3px !important}.mT-3\@xl\+{margin-top:3px !important}.mR-3\@xl\+{margin-right:3px !important}.mB-3\@xl\+{margin-bottom:3px !important}.mL-3\@xl\+{margin-left:3px !important}.mY-3\@xl\+{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@xl\+{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@xl\+{margin:-3px !important}.mT-nv-3\@xl\+{margin-top:-3px !important}.mR-nv-3\@xl\+{margin-right:-3px !important}.mB-nv-3\@xl\+{margin-bottom:-3px !important}.mL-nv-3\@xl\+{margin-left:-3px !important}.mY-nv-3\@xl\+{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@xl\+{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (min-width: 1200px){.m-3\@lg\+{margin:3px !important}.mT-3\@lg\+{margin-top:3px !important}.mR-3\@lg\+{margin-right:3px !important}.mB-3\@lg\+{margin-bottom:3px !important}.mL-3\@lg\+{margin-left:3px !important}.mY-3\@lg\+{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@lg\+{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@lg\+{margin:-3px !important}.mT-nv-3\@lg\+{margin-top:-3px !important}.mR-nv-3\@lg\+{margin-right:-3px !important}.mB-nv-3\@lg\+{margin-bottom:-3px !important}.mL-nv-3\@lg\+{margin-left:-3px !important}.mY-nv-3\@lg\+{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@lg\+{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (min-width: 992px){.m-3\@md\+{margin:3px !important}.mT-3\@md\+{margin-top:3px !important}.mR-3\@md\+{margin-right:3px !important}.mB-3\@md\+{margin-bottom:3px !important}.mL-3\@md\+{margin-left:3px !important}.mY-3\@md\+{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@md\+{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@md\+{margin:-3px !important}.mT-nv-3\@md\+{margin-top:-3px !important}.mR-nv-3\@md\+{margin-right:-3px !important}.mB-nv-3\@md\+{margin-bottom:-3px !important}.mL-nv-3\@md\+{margin-left:-3px !important}.mY-nv-3\@md\+{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@md\+{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (min-width: 768px){.m-3\@sm\+{margin:3px !important}.mT-3\@sm\+{margin-top:3px !important}.mR-3\@sm\+{margin-right:3px !important}.mB-3\@sm\+{margin-bottom:3px !important}.mL-3\@sm\+{margin-left:3px !important}.mY-3\@sm\+{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@sm\+{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@sm\+{margin:-3px !important}.mT-nv-3\@sm\+{margin-top:-3px !important}.mR-nv-3\@sm\+{margin-right:-3px !important}.mB-nv-3\@sm\+{margin-bottom:-3px !important}.mL-nv-3\@sm\+{margin-left:-3px !important}.mY-nv-3\@sm\+{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@sm\+{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (min-width: 0){.m-3\@xs\+{margin:3px !important}.mT-3\@xs\+{margin-top:3px !important}.mR-3\@xs\+{margin-right:3px !important}.mB-3\@xs\+{margin-bottom:3px !important}.mL-3\@xs\+{margin-left:3px !important}.mY-3\@xs\+{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@xs\+{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@xs\+{margin:-3px !important}.mT-nv-3\@xs\+{margin-top:-3px !important}.mR-nv-3\@xs\+{margin-right:-3px !important}.mB-nv-3\@xs\+{margin-bottom:-3px !important}.mL-nv-3\@xs\+{margin-left:-3px !important}.mY-nv-3\@xs\+{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@xs\+{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (max-width: 1439px){.m-3\@xl-{margin:3px !important}.mT-3\@xl-{margin-top:3px !important}.mR-3\@xl-{margin-right:3px !important}.mB-3\@xl-{margin-bottom:3px !important}.mL-3\@xl-{margin-left:3px !important}.mY-3\@xl-{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@xl-{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@xl-{margin:-3px !important}.mT-nv-3\@xl-{margin-top:-3px !important}.mR-nv-3\@xl-{margin-right:-3px !important}.mB-nv-3\@xl-{margin-bottom:-3px !important}.mL-nv-3\@xl-{margin-left:-3px !important}.mY-nv-3\@xl-{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@xl-{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (max-width: 1199px){.m-3\@lg-{margin:3px !important}.mT-3\@lg-{margin-top:3px !important}.mR-3\@lg-{margin-right:3px !important}.mB-3\@lg-{margin-bottom:3px !important}.mL-3\@lg-{margin-left:3px !important}.mY-3\@lg-{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@lg-{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@lg-{margin:-3px !important}.mT-nv-3\@lg-{margin-top:-3px !important}.mR-nv-3\@lg-{margin-right:-3px !important}.mB-nv-3\@lg-{margin-bottom:-3px !important}.mL-nv-3\@lg-{margin-left:-3px !important}.mY-nv-3\@lg-{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@lg-{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (max-width: 991px){.m-3\@md-{margin:3px !important}.mT-3\@md-{margin-top:3px !important}.mR-3\@md-{margin-right:3px !important}.mB-3\@md-{margin-bottom:3px !important}.mL-3\@md-{margin-left:3px !important}.mY-3\@md-{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@md-{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@md-{margin:-3px !important}.mT-nv-3\@md-{margin-top:-3px !important}.mR-nv-3\@md-{margin-right:-3px !important}.mB-nv-3\@md-{margin-bottom:-3px !important}.mL-nv-3\@md-{margin-left:-3px !important}.mY-nv-3\@md-{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@md-{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (max-width: 767px){.m-3\@sm-{margin:3px !important}.mT-3\@sm-{margin-top:3px !important}.mR-3\@sm-{margin-right:3px !important}.mB-3\@sm-{margin-bottom:3px !important}.mL-3\@sm-{margin-left:3px !important}.mY-3\@sm-{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@sm-{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@sm-{margin:-3px !important}.mT-nv-3\@sm-{margin-top:-3px !important}.mR-nv-3\@sm-{margin-right:-3px !important}.mB-nv-3\@sm-{margin-bottom:-3px !important}.mL-nv-3\@sm-{margin-left:-3px !important}.mY-nv-3\@sm-{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@sm-{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-3\@lg{margin:3px !important}.mT-3\@lg{margin-top:3px !important}.mR-3\@lg{margin-right:3px !important}.mB-3\@lg{margin-bottom:3px !important}.mL-3\@lg{margin-left:3px !important}.mY-3\@lg{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@lg{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@lg{margin:-3px !important}.mT-nv-3\@lg{margin-top:-3px !important}.mR-nv-3\@lg{margin-right:-3px !important}.mB-nv-3\@lg{margin-bottom:-3px !important}.mL-nv-3\@lg{margin-left:-3px !important}.mY-nv-3\@lg{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@lg{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-3\@md{margin:3px !important}.mT-3\@md{margin-top:3px !important}.mR-3\@md{margin-right:3px !important}.mB-3\@md{margin-bottom:3px !important}.mL-3\@md{margin-left:3px !important}.mY-3\@md{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@md{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@md{margin:-3px !important}.mT-nv-3\@md{margin-top:-3px !important}.mR-nv-3\@md{margin-right:-3px !important}.mB-nv-3\@md{margin-bottom:-3px !important}.mL-nv-3\@md{margin-left:-3px !important}.mY-nv-3\@md{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@md{margin-left:-3px !important;margin-right:-3px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-3\@sm{margin:3px !important}.mT-3\@sm{margin-top:3px !important}.mR-3\@sm{margin-right:3px !important}.mB-3\@sm{margin-bottom:3px !important}.mL-3\@sm{margin-left:3px !important}.mY-3\@sm{margin-top:3px !important;margin-bottom:3px !important}.mX-3\@sm{margin-left:3px !important;margin-right:3px !important}.m-nv-3\@sm{margin:-3px !important}.mT-nv-3\@sm{margin-top:-3px !important}.mR-nv-3\@sm{margin-right:-3px !important}.mB-nv-3\@sm{margin-bottom:-3px !important}.mL-nv-3\@sm{margin-left:-3px !important}.mY-nv-3\@sm{margin-top:-3px !important;margin-bottom:-3px !important}.mX-nv-3\@sm{margin-left:-3px !important;margin-right:-3px !important}}.m-4{margin:4px !important}.mT-4{margin-top:4px !important}.mR-4{margin-right:4px !important}.mB-4{margin-bottom:4px !important}.mL-4{margin-left:4px !important}.mY-4{margin-top:4px !important;margin-bottom:4px !important}.mX-4{margin-left:4px !important;margin-right:4px !important}.m-nv-4{margin:-4px !important}.mT-nv-4{margin-top:-4px !important}.mR-nv-4{margin-right:-4px !important}.mB-nv-4{margin-bottom:-4px !important}.mL-nv-4{margin-left:-4px !important}.mY-nv-4{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4{margin-left:-4px !important;margin-right:-4px !important}@media screen and (min-width: 1440px){.m-4\@xl\+{margin:4px !important}.mT-4\@xl\+{margin-top:4px !important}.mR-4\@xl\+{margin-right:4px !important}.mB-4\@xl\+{margin-bottom:4px !important}.mL-4\@xl\+{margin-left:4px !important}.mY-4\@xl\+{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@xl\+{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@xl\+{margin:-4px !important}.mT-nv-4\@xl\+{margin-top:-4px !important}.mR-nv-4\@xl\+{margin-right:-4px !important}.mB-nv-4\@xl\+{margin-bottom:-4px !important}.mL-nv-4\@xl\+{margin-left:-4px !important}.mY-nv-4\@xl\+{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@xl\+{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (min-width: 1200px){.m-4\@lg\+{margin:4px !important}.mT-4\@lg\+{margin-top:4px !important}.mR-4\@lg\+{margin-right:4px !important}.mB-4\@lg\+{margin-bottom:4px !important}.mL-4\@lg\+{margin-left:4px !important}.mY-4\@lg\+{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@lg\+{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@lg\+{margin:-4px !important}.mT-nv-4\@lg\+{margin-top:-4px !important}.mR-nv-4\@lg\+{margin-right:-4px !important}.mB-nv-4\@lg\+{margin-bottom:-4px !important}.mL-nv-4\@lg\+{margin-left:-4px !important}.mY-nv-4\@lg\+{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@lg\+{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (min-width: 992px){.m-4\@md\+{margin:4px !important}.mT-4\@md\+{margin-top:4px !important}.mR-4\@md\+{margin-right:4px !important}.mB-4\@md\+{margin-bottom:4px !important}.mL-4\@md\+{margin-left:4px !important}.mY-4\@md\+{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@md\+{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@md\+{margin:-4px !important}.mT-nv-4\@md\+{margin-top:-4px !important}.mR-nv-4\@md\+{margin-right:-4px !important}.mB-nv-4\@md\+{margin-bottom:-4px !important}.mL-nv-4\@md\+{margin-left:-4px !important}.mY-nv-4\@md\+{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@md\+{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (min-width: 768px){.m-4\@sm\+{margin:4px !important}.mT-4\@sm\+{margin-top:4px !important}.mR-4\@sm\+{margin-right:4px !important}.mB-4\@sm\+{margin-bottom:4px !important}.mL-4\@sm\+{margin-left:4px !important}.mY-4\@sm\+{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@sm\+{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@sm\+{margin:-4px !important}.mT-nv-4\@sm\+{margin-top:-4px !important}.mR-nv-4\@sm\+{margin-right:-4px !important}.mB-nv-4\@sm\+{margin-bottom:-4px !important}.mL-nv-4\@sm\+{margin-left:-4px !important}.mY-nv-4\@sm\+{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@sm\+{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (min-width: 0){.m-4\@xs\+{margin:4px !important}.mT-4\@xs\+{margin-top:4px !important}.mR-4\@xs\+{margin-right:4px !important}.mB-4\@xs\+{margin-bottom:4px !important}.mL-4\@xs\+{margin-left:4px !important}.mY-4\@xs\+{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@xs\+{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@xs\+{margin:-4px !important}.mT-nv-4\@xs\+{margin-top:-4px !important}.mR-nv-4\@xs\+{margin-right:-4px !important}.mB-nv-4\@xs\+{margin-bottom:-4px !important}.mL-nv-4\@xs\+{margin-left:-4px !important}.mY-nv-4\@xs\+{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@xs\+{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (max-width: 1439px){.m-4\@xl-{margin:4px !important}.mT-4\@xl-{margin-top:4px !important}.mR-4\@xl-{margin-right:4px !important}.mB-4\@xl-{margin-bottom:4px !important}.mL-4\@xl-{margin-left:4px !important}.mY-4\@xl-{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@xl-{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@xl-{margin:-4px !important}.mT-nv-4\@xl-{margin-top:-4px !important}.mR-nv-4\@xl-{margin-right:-4px !important}.mB-nv-4\@xl-{margin-bottom:-4px !important}.mL-nv-4\@xl-{margin-left:-4px !important}.mY-nv-4\@xl-{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@xl-{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (max-width: 1199px){.m-4\@lg-{margin:4px !important}.mT-4\@lg-{margin-top:4px !important}.mR-4\@lg-{margin-right:4px !important}.mB-4\@lg-{margin-bottom:4px !important}.mL-4\@lg-{margin-left:4px !important}.mY-4\@lg-{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@lg-{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@lg-{margin:-4px !important}.mT-nv-4\@lg-{margin-top:-4px !important}.mR-nv-4\@lg-{margin-right:-4px !important}.mB-nv-4\@lg-{margin-bottom:-4px !important}.mL-nv-4\@lg-{margin-left:-4px !important}.mY-nv-4\@lg-{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@lg-{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (max-width: 991px){.m-4\@md-{margin:4px !important}.mT-4\@md-{margin-top:4px !important}.mR-4\@md-{margin-right:4px !important}.mB-4\@md-{margin-bottom:4px !important}.mL-4\@md-{margin-left:4px !important}.mY-4\@md-{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@md-{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@md-{margin:-4px !important}.mT-nv-4\@md-{margin-top:-4px !important}.mR-nv-4\@md-{margin-right:-4px !important}.mB-nv-4\@md-{margin-bottom:-4px !important}.mL-nv-4\@md-{margin-left:-4px !important}.mY-nv-4\@md-{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@md-{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (max-width: 767px){.m-4\@sm-{margin:4px !important}.mT-4\@sm-{margin-top:4px !important}.mR-4\@sm-{margin-right:4px !important}.mB-4\@sm-{margin-bottom:4px !important}.mL-4\@sm-{margin-left:4px !important}.mY-4\@sm-{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@sm-{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@sm-{margin:-4px !important}.mT-nv-4\@sm-{margin-top:-4px !important}.mR-nv-4\@sm-{margin-right:-4px !important}.mB-nv-4\@sm-{margin-bottom:-4px !important}.mL-nv-4\@sm-{margin-left:-4px !important}.mY-nv-4\@sm-{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@sm-{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-4\@lg{margin:4px !important}.mT-4\@lg{margin-top:4px !important}.mR-4\@lg{margin-right:4px !important}.mB-4\@lg{margin-bottom:4px !important}.mL-4\@lg{margin-left:4px !important}.mY-4\@lg{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@lg{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@lg{margin:-4px !important}.mT-nv-4\@lg{margin-top:-4px !important}.mR-nv-4\@lg{margin-right:-4px !important}.mB-nv-4\@lg{margin-bottom:-4px !important}.mL-nv-4\@lg{margin-left:-4px !important}.mY-nv-4\@lg{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@lg{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-4\@md{margin:4px !important}.mT-4\@md{margin-top:4px !important}.mR-4\@md{margin-right:4px !important}.mB-4\@md{margin-bottom:4px !important}.mL-4\@md{margin-left:4px !important}.mY-4\@md{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@md{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@md{margin:-4px !important}.mT-nv-4\@md{margin-top:-4px !important}.mR-nv-4\@md{margin-right:-4px !important}.mB-nv-4\@md{margin-bottom:-4px !important}.mL-nv-4\@md{margin-left:-4px !important}.mY-nv-4\@md{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@md{margin-left:-4px !important;margin-right:-4px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-4\@sm{margin:4px !important}.mT-4\@sm{margin-top:4px !important}.mR-4\@sm{margin-right:4px !important}.mB-4\@sm{margin-bottom:4px !important}.mL-4\@sm{margin-left:4px !important}.mY-4\@sm{margin-top:4px !important;margin-bottom:4px !important}.mX-4\@sm{margin-left:4px !important;margin-right:4px !important}.m-nv-4\@sm{margin:-4px !important}.mT-nv-4\@sm{margin-top:-4px !important}.mR-nv-4\@sm{margin-right:-4px !important}.mB-nv-4\@sm{margin-bottom:-4px !important}.mL-nv-4\@sm{margin-left:-4px !important}.mY-nv-4\@sm{margin-top:-4px !important;margin-bottom:-4px !important}.mX-nv-4\@sm{margin-left:-4px !important;margin-right:-4px !important}}.m-5{margin:5px !important}.mT-5{margin-top:5px !important}.mR-5{margin-right:5px !important}.mB-5{margin-bottom:5px !important}.mL-5{margin-left:5px !important}.mY-5{margin-top:5px !important;margin-bottom:5px !important}.mX-5{margin-left:5px !important;margin-right:5px !important}.m-nv-5{margin:-5px !important}.mT-nv-5{margin-top:-5px !important}.mR-nv-5{margin-right:-5px !important}.mB-nv-5{margin-bottom:-5px !important}.mL-nv-5{margin-left:-5px !important}.mY-nv-5{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5{margin-left:-5px !important;margin-right:-5px !important}@media screen and (min-width: 1440px){.m-5\@xl\+{margin:5px !important}.mT-5\@xl\+{margin-top:5px !important}.mR-5\@xl\+{margin-right:5px !important}.mB-5\@xl\+{margin-bottom:5px !important}.mL-5\@xl\+{margin-left:5px !important}.mY-5\@xl\+{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@xl\+{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@xl\+{margin:-5px !important}.mT-nv-5\@xl\+{margin-top:-5px !important}.mR-nv-5\@xl\+{margin-right:-5px !important}.mB-nv-5\@xl\+{margin-bottom:-5px !important}.mL-nv-5\@xl\+{margin-left:-5px !important}.mY-nv-5\@xl\+{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@xl\+{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (min-width: 1200px){.m-5\@lg\+{margin:5px !important}.mT-5\@lg\+{margin-top:5px !important}.mR-5\@lg\+{margin-right:5px !important}.mB-5\@lg\+{margin-bottom:5px !important}.mL-5\@lg\+{margin-left:5px !important}.mY-5\@lg\+{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@lg\+{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@lg\+{margin:-5px !important}.mT-nv-5\@lg\+{margin-top:-5px !important}.mR-nv-5\@lg\+{margin-right:-5px !important}.mB-nv-5\@lg\+{margin-bottom:-5px !important}.mL-nv-5\@lg\+{margin-left:-5px !important}.mY-nv-5\@lg\+{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@lg\+{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (min-width: 992px){.m-5\@md\+{margin:5px !important}.mT-5\@md\+{margin-top:5px !important}.mR-5\@md\+{margin-right:5px !important}.mB-5\@md\+{margin-bottom:5px !important}.mL-5\@md\+{margin-left:5px !important}.mY-5\@md\+{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@md\+{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@md\+{margin:-5px !important}.mT-nv-5\@md\+{margin-top:-5px !important}.mR-nv-5\@md\+{margin-right:-5px !important}.mB-nv-5\@md\+{margin-bottom:-5px !important}.mL-nv-5\@md\+{margin-left:-5px !important}.mY-nv-5\@md\+{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@md\+{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (min-width: 768px){.m-5\@sm\+{margin:5px !important}.mT-5\@sm\+{margin-top:5px !important}.mR-5\@sm\+{margin-right:5px !important}.mB-5\@sm\+{margin-bottom:5px !important}.mL-5\@sm\+{margin-left:5px !important}.mY-5\@sm\+{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@sm\+{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@sm\+{margin:-5px !important}.mT-nv-5\@sm\+{margin-top:-5px !important}.mR-nv-5\@sm\+{margin-right:-5px !important}.mB-nv-5\@sm\+{margin-bottom:-5px !important}.mL-nv-5\@sm\+{margin-left:-5px !important}.mY-nv-5\@sm\+{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@sm\+{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (min-width: 0){.m-5\@xs\+{margin:5px !important}.mT-5\@xs\+{margin-top:5px !important}.mR-5\@xs\+{margin-right:5px !important}.mB-5\@xs\+{margin-bottom:5px !important}.mL-5\@xs\+{margin-left:5px !important}.mY-5\@xs\+{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@xs\+{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@xs\+{margin:-5px !important}.mT-nv-5\@xs\+{margin-top:-5px !important}.mR-nv-5\@xs\+{margin-right:-5px !important}.mB-nv-5\@xs\+{margin-bottom:-5px !important}.mL-nv-5\@xs\+{margin-left:-5px !important}.mY-nv-5\@xs\+{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@xs\+{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (max-width: 1439px){.m-5\@xl-{margin:5px !important}.mT-5\@xl-{margin-top:5px !important}.mR-5\@xl-{margin-right:5px !important}.mB-5\@xl-{margin-bottom:5px !important}.mL-5\@xl-{margin-left:5px !important}.mY-5\@xl-{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@xl-{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@xl-{margin:-5px !important}.mT-nv-5\@xl-{margin-top:-5px !important}.mR-nv-5\@xl-{margin-right:-5px !important}.mB-nv-5\@xl-{margin-bottom:-5px !important}.mL-nv-5\@xl-{margin-left:-5px !important}.mY-nv-5\@xl-{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@xl-{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (max-width: 1199px){.m-5\@lg-{margin:5px !important}.mT-5\@lg-{margin-top:5px !important}.mR-5\@lg-{margin-right:5px !important}.mB-5\@lg-{margin-bottom:5px !important}.mL-5\@lg-{margin-left:5px !important}.mY-5\@lg-{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@lg-{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@lg-{margin:-5px !important}.mT-nv-5\@lg-{margin-top:-5px !important}.mR-nv-5\@lg-{margin-right:-5px !important}.mB-nv-5\@lg-{margin-bottom:-5px !important}.mL-nv-5\@lg-{margin-left:-5px !important}.mY-nv-5\@lg-{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@lg-{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (max-width: 991px){.m-5\@md-{margin:5px !important}.mT-5\@md-{margin-top:5px !important}.mR-5\@md-{margin-right:5px !important}.mB-5\@md-{margin-bottom:5px !important}.mL-5\@md-{margin-left:5px !important}.mY-5\@md-{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@md-{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@md-{margin:-5px !important}.mT-nv-5\@md-{margin-top:-5px !important}.mR-nv-5\@md-{margin-right:-5px !important}.mB-nv-5\@md-{margin-bottom:-5px !important}.mL-nv-5\@md-{margin-left:-5px !important}.mY-nv-5\@md-{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@md-{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (max-width: 767px){.m-5\@sm-{margin:5px !important}.mT-5\@sm-{margin-top:5px !important}.mR-5\@sm-{margin-right:5px !important}.mB-5\@sm-{margin-bottom:5px !important}.mL-5\@sm-{margin-left:5px !important}.mY-5\@sm-{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@sm-{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@sm-{margin:-5px !important}.mT-nv-5\@sm-{margin-top:-5px !important}.mR-nv-5\@sm-{margin-right:-5px !important}.mB-nv-5\@sm-{margin-bottom:-5px !important}.mL-nv-5\@sm-{margin-left:-5px !important}.mY-nv-5\@sm-{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@sm-{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-5\@lg{margin:5px !important}.mT-5\@lg{margin-top:5px !important}.mR-5\@lg{margin-right:5px !important}.mB-5\@lg{margin-bottom:5px !important}.mL-5\@lg{margin-left:5px !important}.mY-5\@lg{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@lg{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@lg{margin:-5px !important}.mT-nv-5\@lg{margin-top:-5px !important}.mR-nv-5\@lg{margin-right:-5px !important}.mB-nv-5\@lg{margin-bottom:-5px !important}.mL-nv-5\@lg{margin-left:-5px !important}.mY-nv-5\@lg{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@lg{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-5\@md{margin:5px !important}.mT-5\@md{margin-top:5px !important}.mR-5\@md{margin-right:5px !important}.mB-5\@md{margin-bottom:5px !important}.mL-5\@md{margin-left:5px !important}.mY-5\@md{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@md{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@md{margin:-5px !important}.mT-nv-5\@md{margin-top:-5px !important}.mR-nv-5\@md{margin-right:-5px !important}.mB-nv-5\@md{margin-bottom:-5px !important}.mL-nv-5\@md{margin-left:-5px !important}.mY-nv-5\@md{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@md{margin-left:-5px !important;margin-right:-5px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-5\@sm{margin:5px !important}.mT-5\@sm{margin-top:5px !important}.mR-5\@sm{margin-right:5px !important}.mB-5\@sm{margin-bottom:5px !important}.mL-5\@sm{margin-left:5px !important}.mY-5\@sm{margin-top:5px !important;margin-bottom:5px !important}.mX-5\@sm{margin-left:5px !important;margin-right:5px !important}.m-nv-5\@sm{margin:-5px !important}.mT-nv-5\@sm{margin-top:-5px !important}.mR-nv-5\@sm{margin-right:-5px !important}.mB-nv-5\@sm{margin-bottom:-5px !important}.mL-nv-5\@sm{margin-left:-5px !important}.mY-nv-5\@sm{margin-top:-5px !important;margin-bottom:-5px !important}.mX-nv-5\@sm{margin-left:-5px !important;margin-right:-5px !important}}.m-10{margin:10px !important}.mT-10{margin-top:10px !important}.mR-10{margin-right:10px !important}.mB-10{margin-bottom:10px !important}.mL-10{margin-left:10px !important}.mY-10{margin-top:10px !important;margin-bottom:10px !important}.mX-10{margin-left:10px !important;margin-right:10px !important}.m-nv-10{margin:-10px !important}.mT-nv-10{margin-top:-10px !important}.mR-nv-10{margin-right:-10px !important}.mB-nv-10{margin-bottom:-10px !important}.mL-nv-10{margin-left:-10px !important}.mY-nv-10{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10{margin-left:-10px !important;margin-right:-10px !important}@media screen and (min-width: 1440px){.m-10\@xl\+{margin:10px !important}.mT-10\@xl\+{margin-top:10px !important}.mR-10\@xl\+{margin-right:10px !important}.mB-10\@xl\+{margin-bottom:10px !important}.mL-10\@xl\+{margin-left:10px !important}.mY-10\@xl\+{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@xl\+{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@xl\+{margin:-10px !important}.mT-nv-10\@xl\+{margin-top:-10px !important}.mR-nv-10\@xl\+{margin-right:-10px !important}.mB-nv-10\@xl\+{margin-bottom:-10px !important}.mL-nv-10\@xl\+{margin-left:-10px !important}.mY-nv-10\@xl\+{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@xl\+{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (min-width: 1200px){.m-10\@lg\+{margin:10px !important}.mT-10\@lg\+{margin-top:10px !important}.mR-10\@lg\+{margin-right:10px !important}.mB-10\@lg\+{margin-bottom:10px !important}.mL-10\@lg\+{margin-left:10px !important}.mY-10\@lg\+{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@lg\+{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@lg\+{margin:-10px !important}.mT-nv-10\@lg\+{margin-top:-10px !important}.mR-nv-10\@lg\+{margin-right:-10px !important}.mB-nv-10\@lg\+{margin-bottom:-10px !important}.mL-nv-10\@lg\+{margin-left:-10px !important}.mY-nv-10\@lg\+{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@lg\+{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (min-width: 992px){.m-10\@md\+{margin:10px !important}.mT-10\@md\+{margin-top:10px !important}.mR-10\@md\+{margin-right:10px !important}.mB-10\@md\+{margin-bottom:10px !important}.mL-10\@md\+{margin-left:10px !important}.mY-10\@md\+{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@md\+{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@md\+{margin:-10px !important}.mT-nv-10\@md\+{margin-top:-10px !important}.mR-nv-10\@md\+{margin-right:-10px !important}.mB-nv-10\@md\+{margin-bottom:-10px !important}.mL-nv-10\@md\+{margin-left:-10px !important}.mY-nv-10\@md\+{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@md\+{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (min-width: 768px){.m-10\@sm\+{margin:10px !important}.mT-10\@sm\+{margin-top:10px !important}.mR-10\@sm\+{margin-right:10px !important}.mB-10\@sm\+{margin-bottom:10px !important}.mL-10\@sm\+{margin-left:10px !important}.mY-10\@sm\+{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@sm\+{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@sm\+{margin:-10px !important}.mT-nv-10\@sm\+{margin-top:-10px !important}.mR-nv-10\@sm\+{margin-right:-10px !important}.mB-nv-10\@sm\+{margin-bottom:-10px !important}.mL-nv-10\@sm\+{margin-left:-10px !important}.mY-nv-10\@sm\+{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@sm\+{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (min-width: 0){.m-10\@xs\+{margin:10px !important}.mT-10\@xs\+{margin-top:10px !important}.mR-10\@xs\+{margin-right:10px !important}.mB-10\@xs\+{margin-bottom:10px !important}.mL-10\@xs\+{margin-left:10px !important}.mY-10\@xs\+{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@xs\+{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@xs\+{margin:-10px !important}.mT-nv-10\@xs\+{margin-top:-10px !important}.mR-nv-10\@xs\+{margin-right:-10px !important}.mB-nv-10\@xs\+{margin-bottom:-10px !important}.mL-nv-10\@xs\+{margin-left:-10px !important}.mY-nv-10\@xs\+{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@xs\+{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (max-width: 1439px){.m-10\@xl-{margin:10px !important}.mT-10\@xl-{margin-top:10px !important}.mR-10\@xl-{margin-right:10px !important}.mB-10\@xl-{margin-bottom:10px !important}.mL-10\@xl-{margin-left:10px !important}.mY-10\@xl-{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@xl-{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@xl-{margin:-10px !important}.mT-nv-10\@xl-{margin-top:-10px !important}.mR-nv-10\@xl-{margin-right:-10px !important}.mB-nv-10\@xl-{margin-bottom:-10px !important}.mL-nv-10\@xl-{margin-left:-10px !important}.mY-nv-10\@xl-{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@xl-{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (max-width: 1199px){.m-10\@lg-{margin:10px !important}.mT-10\@lg-{margin-top:10px !important}.mR-10\@lg-{margin-right:10px !important}.mB-10\@lg-{margin-bottom:10px !important}.mL-10\@lg-{margin-left:10px !important}.mY-10\@lg-{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@lg-{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@lg-{margin:-10px !important}.mT-nv-10\@lg-{margin-top:-10px !important}.mR-nv-10\@lg-{margin-right:-10px !important}.mB-nv-10\@lg-{margin-bottom:-10px !important}.mL-nv-10\@lg-{margin-left:-10px !important}.mY-nv-10\@lg-{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@lg-{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (max-width: 991px){.m-10\@md-{margin:10px !important}.mT-10\@md-{margin-top:10px !important}.mR-10\@md-{margin-right:10px !important}.mB-10\@md-{margin-bottom:10px !important}.mL-10\@md-{margin-left:10px !important}.mY-10\@md-{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@md-{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@md-{margin:-10px !important}.mT-nv-10\@md-{margin-top:-10px !important}.mR-nv-10\@md-{margin-right:-10px !important}.mB-nv-10\@md-{margin-bottom:-10px !important}.mL-nv-10\@md-{margin-left:-10px !important}.mY-nv-10\@md-{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@md-{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (max-width: 767px){.m-10\@sm-{margin:10px !important}.mT-10\@sm-{margin-top:10px !important}.mR-10\@sm-{margin-right:10px !important}.mB-10\@sm-{margin-bottom:10px !important}.mL-10\@sm-{margin-left:10px !important}.mY-10\@sm-{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@sm-{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@sm-{margin:-10px !important}.mT-nv-10\@sm-{margin-top:-10px !important}.mR-nv-10\@sm-{margin-right:-10px !important}.mB-nv-10\@sm-{margin-bottom:-10px !important}.mL-nv-10\@sm-{margin-left:-10px !important}.mY-nv-10\@sm-{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@sm-{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-10\@lg{margin:10px !important}.mT-10\@lg{margin-top:10px !important}.mR-10\@lg{margin-right:10px !important}.mB-10\@lg{margin-bottom:10px !important}.mL-10\@lg{margin-left:10px !important}.mY-10\@lg{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@lg{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@lg{margin:-10px !important}.mT-nv-10\@lg{margin-top:-10px !important}.mR-nv-10\@lg{margin-right:-10px !important}.mB-nv-10\@lg{margin-bottom:-10px !important}.mL-nv-10\@lg{margin-left:-10px !important}.mY-nv-10\@lg{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@lg{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-10\@md{margin:10px !important}.mT-10\@md{margin-top:10px !important}.mR-10\@md{margin-right:10px !important}.mB-10\@md{margin-bottom:10px !important}.mL-10\@md{margin-left:10px !important}.mY-10\@md{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@md{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@md{margin:-10px !important}.mT-nv-10\@md{margin-top:-10px !important}.mR-nv-10\@md{margin-right:-10px !important}.mB-nv-10\@md{margin-bottom:-10px !important}.mL-nv-10\@md{margin-left:-10px !important}.mY-nv-10\@md{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@md{margin-left:-10px !important;margin-right:-10px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-10\@sm{margin:10px !important}.mT-10\@sm{margin-top:10px !important}.mR-10\@sm{margin-right:10px !important}.mB-10\@sm{margin-bottom:10px !important}.mL-10\@sm{margin-left:10px !important}.mY-10\@sm{margin-top:10px !important;margin-bottom:10px !important}.mX-10\@sm{margin-left:10px !important;margin-right:10px !important}.m-nv-10\@sm{margin:-10px !important}.mT-nv-10\@sm{margin-top:-10px !important}.mR-nv-10\@sm{margin-right:-10px !important}.mB-nv-10\@sm{margin-bottom:-10px !important}.mL-nv-10\@sm{margin-left:-10px !important}.mY-nv-10\@sm{margin-top:-10px !important;margin-bottom:-10px !important}.mX-nv-10\@sm{margin-left:-10px !important;margin-right:-10px !important}}.m-15{margin:15px !important}.mT-15{margin-top:15px !important}.mR-15{margin-right:15px !important}.mB-15{margin-bottom:15px !important}.mL-15{margin-left:15px !important}.mY-15{margin-top:15px !important;margin-bottom:15px !important}.mX-15{margin-left:15px !important;margin-right:15px !important}.m-nv-15{margin:-15px !important}.mT-nv-15{margin-top:-15px !important}.mR-nv-15{margin-right:-15px !important}.mB-nv-15{margin-bottom:-15px !important}.mL-nv-15{margin-left:-15px !important}.mY-nv-15{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15{margin-left:-15px !important;margin-right:-15px !important}@media screen and (min-width: 1440px){.m-15\@xl\+{margin:15px !important}.mT-15\@xl\+{margin-top:15px !important}.mR-15\@xl\+{margin-right:15px !important}.mB-15\@xl\+{margin-bottom:15px !important}.mL-15\@xl\+{margin-left:15px !important}.mY-15\@xl\+{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@xl\+{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@xl\+{margin:-15px !important}.mT-nv-15\@xl\+{margin-top:-15px !important}.mR-nv-15\@xl\+{margin-right:-15px !important}.mB-nv-15\@xl\+{margin-bottom:-15px !important}.mL-nv-15\@xl\+{margin-left:-15px !important}.mY-nv-15\@xl\+{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@xl\+{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (min-width: 1200px){.m-15\@lg\+{margin:15px !important}.mT-15\@lg\+{margin-top:15px !important}.mR-15\@lg\+{margin-right:15px !important}.mB-15\@lg\+{margin-bottom:15px !important}.mL-15\@lg\+{margin-left:15px !important}.mY-15\@lg\+{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@lg\+{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@lg\+{margin:-15px !important}.mT-nv-15\@lg\+{margin-top:-15px !important}.mR-nv-15\@lg\+{margin-right:-15px !important}.mB-nv-15\@lg\+{margin-bottom:-15px !important}.mL-nv-15\@lg\+{margin-left:-15px !important}.mY-nv-15\@lg\+{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@lg\+{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (min-width: 992px){.m-15\@md\+{margin:15px !important}.mT-15\@md\+{margin-top:15px !important}.mR-15\@md\+{margin-right:15px !important}.mB-15\@md\+{margin-bottom:15px !important}.mL-15\@md\+{margin-left:15px !important}.mY-15\@md\+{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@md\+{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@md\+{margin:-15px !important}.mT-nv-15\@md\+{margin-top:-15px !important}.mR-nv-15\@md\+{margin-right:-15px !important}.mB-nv-15\@md\+{margin-bottom:-15px !important}.mL-nv-15\@md\+{margin-left:-15px !important}.mY-nv-15\@md\+{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@md\+{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (min-width: 768px){.m-15\@sm\+{margin:15px !important}.mT-15\@sm\+{margin-top:15px !important}.mR-15\@sm\+{margin-right:15px !important}.mB-15\@sm\+{margin-bottom:15px !important}.mL-15\@sm\+{margin-left:15px !important}.mY-15\@sm\+{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@sm\+{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@sm\+{margin:-15px !important}.mT-nv-15\@sm\+{margin-top:-15px !important}.mR-nv-15\@sm\+{margin-right:-15px !important}.mB-nv-15\@sm\+{margin-bottom:-15px !important}.mL-nv-15\@sm\+{margin-left:-15px !important}.mY-nv-15\@sm\+{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@sm\+{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (min-width: 0){.m-15\@xs\+{margin:15px !important}.mT-15\@xs\+{margin-top:15px !important}.mR-15\@xs\+{margin-right:15px !important}.mB-15\@xs\+{margin-bottom:15px !important}.mL-15\@xs\+{margin-left:15px !important}.mY-15\@xs\+{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@xs\+{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@xs\+{margin:-15px !important}.mT-nv-15\@xs\+{margin-top:-15px !important}.mR-nv-15\@xs\+{margin-right:-15px !important}.mB-nv-15\@xs\+{margin-bottom:-15px !important}.mL-nv-15\@xs\+{margin-left:-15px !important}.mY-nv-15\@xs\+{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@xs\+{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (max-width: 1439px){.m-15\@xl-{margin:15px !important}.mT-15\@xl-{margin-top:15px !important}.mR-15\@xl-{margin-right:15px !important}.mB-15\@xl-{margin-bottom:15px !important}.mL-15\@xl-{margin-left:15px !important}.mY-15\@xl-{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@xl-{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@xl-{margin:-15px !important}.mT-nv-15\@xl-{margin-top:-15px !important}.mR-nv-15\@xl-{margin-right:-15px !important}.mB-nv-15\@xl-{margin-bottom:-15px !important}.mL-nv-15\@xl-{margin-left:-15px !important}.mY-nv-15\@xl-{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@xl-{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (max-width: 1199px){.m-15\@lg-{margin:15px !important}.mT-15\@lg-{margin-top:15px !important}.mR-15\@lg-{margin-right:15px !important}.mB-15\@lg-{margin-bottom:15px !important}.mL-15\@lg-{margin-left:15px !important}.mY-15\@lg-{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@lg-{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@lg-{margin:-15px !important}.mT-nv-15\@lg-{margin-top:-15px !important}.mR-nv-15\@lg-{margin-right:-15px !important}.mB-nv-15\@lg-{margin-bottom:-15px !important}.mL-nv-15\@lg-{margin-left:-15px !important}.mY-nv-15\@lg-{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@lg-{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (max-width: 991px){.m-15\@md-{margin:15px !important}.mT-15\@md-{margin-top:15px !important}.mR-15\@md-{margin-right:15px !important}.mB-15\@md-{margin-bottom:15px !important}.mL-15\@md-{margin-left:15px !important}.mY-15\@md-{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@md-{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@md-{margin:-15px !important}.mT-nv-15\@md-{margin-top:-15px !important}.mR-nv-15\@md-{margin-right:-15px !important}.mB-nv-15\@md-{margin-bottom:-15px !important}.mL-nv-15\@md-{margin-left:-15px !important}.mY-nv-15\@md-{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@md-{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (max-width: 767px){.m-15\@sm-{margin:15px !important}.mT-15\@sm-{margin-top:15px !important}.mR-15\@sm-{margin-right:15px !important}.mB-15\@sm-{margin-bottom:15px !important}.mL-15\@sm-{margin-left:15px !important}.mY-15\@sm-{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@sm-{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@sm-{margin:-15px !important}.mT-nv-15\@sm-{margin-top:-15px !important}.mR-nv-15\@sm-{margin-right:-15px !important}.mB-nv-15\@sm-{margin-bottom:-15px !important}.mL-nv-15\@sm-{margin-left:-15px !important}.mY-nv-15\@sm-{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@sm-{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-15\@lg{margin:15px !important}.mT-15\@lg{margin-top:15px !important}.mR-15\@lg{margin-right:15px !important}.mB-15\@lg{margin-bottom:15px !important}.mL-15\@lg{margin-left:15px !important}.mY-15\@lg{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@lg{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@lg{margin:-15px !important}.mT-nv-15\@lg{margin-top:-15px !important}.mR-nv-15\@lg{margin-right:-15px !important}.mB-nv-15\@lg{margin-bottom:-15px !important}.mL-nv-15\@lg{margin-left:-15px !important}.mY-nv-15\@lg{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@lg{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-15\@md{margin:15px !important}.mT-15\@md{margin-top:15px !important}.mR-15\@md{margin-right:15px !important}.mB-15\@md{margin-bottom:15px !important}.mL-15\@md{margin-left:15px !important}.mY-15\@md{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@md{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@md{margin:-15px !important}.mT-nv-15\@md{margin-top:-15px !important}.mR-nv-15\@md{margin-right:-15px !important}.mB-nv-15\@md{margin-bottom:-15px !important}.mL-nv-15\@md{margin-left:-15px !important}.mY-nv-15\@md{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@md{margin-left:-15px !important;margin-right:-15px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-15\@sm{margin:15px !important}.mT-15\@sm{margin-top:15px !important}.mR-15\@sm{margin-right:15px !important}.mB-15\@sm{margin-bottom:15px !important}.mL-15\@sm{margin-left:15px !important}.mY-15\@sm{margin-top:15px !important;margin-bottom:15px !important}.mX-15\@sm{margin-left:15px !important;margin-right:15px !important}.m-nv-15\@sm{margin:-15px !important}.mT-nv-15\@sm{margin-top:-15px !important}.mR-nv-15\@sm{margin-right:-15px !important}.mB-nv-15\@sm{margin-bottom:-15px !important}.mL-nv-15\@sm{margin-left:-15px !important}.mY-nv-15\@sm{margin-top:-15px !important;margin-bottom:-15px !important}.mX-nv-15\@sm{margin-left:-15px !important;margin-right:-15px !important}}.m-20{margin:20px !important}.mT-20{margin-top:20px !important}.mR-20{margin-right:20px !important}.mB-20{margin-bottom:20px !important}.mL-20{margin-left:20px !important}.mY-20{margin-top:20px !important;margin-bottom:20px !important}.mX-20{margin-left:20px !important;margin-right:20px !important}.m-nv-20{margin:-20px !important}.mT-nv-20{margin-top:-20px !important}.mR-nv-20{margin-right:-20px !important}.mB-nv-20{margin-bottom:-20px !important}.mL-nv-20{margin-left:-20px !important}.mY-nv-20{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20{margin-left:-20px !important;margin-right:-20px !important}@media screen and (min-width: 1440px){.m-20\@xl\+{margin:20px !important}.mT-20\@xl\+{margin-top:20px !important}.mR-20\@xl\+{margin-right:20px !important}.mB-20\@xl\+{margin-bottom:20px !important}.mL-20\@xl\+{margin-left:20px !important}.mY-20\@xl\+{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@xl\+{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@xl\+{margin:-20px !important}.mT-nv-20\@xl\+{margin-top:-20px !important}.mR-nv-20\@xl\+{margin-right:-20px !important}.mB-nv-20\@xl\+{margin-bottom:-20px !important}.mL-nv-20\@xl\+{margin-left:-20px !important}.mY-nv-20\@xl\+{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@xl\+{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (min-width: 1200px){.m-20\@lg\+{margin:20px !important}.mT-20\@lg\+{margin-top:20px !important}.mR-20\@lg\+{margin-right:20px !important}.mB-20\@lg\+{margin-bottom:20px !important}.mL-20\@lg\+{margin-left:20px !important}.mY-20\@lg\+{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@lg\+{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@lg\+{margin:-20px !important}.mT-nv-20\@lg\+{margin-top:-20px !important}.mR-nv-20\@lg\+{margin-right:-20px !important}.mB-nv-20\@lg\+{margin-bottom:-20px !important}.mL-nv-20\@lg\+{margin-left:-20px !important}.mY-nv-20\@lg\+{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@lg\+{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (min-width: 992px){.m-20\@md\+{margin:20px !important}.mT-20\@md\+{margin-top:20px !important}.mR-20\@md\+{margin-right:20px !important}.mB-20\@md\+{margin-bottom:20px !important}.mL-20\@md\+{margin-left:20px !important}.mY-20\@md\+{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@md\+{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@md\+{margin:-20px !important}.mT-nv-20\@md\+{margin-top:-20px !important}.mR-nv-20\@md\+{margin-right:-20px !important}.mB-nv-20\@md\+{margin-bottom:-20px !important}.mL-nv-20\@md\+{margin-left:-20px !important}.mY-nv-20\@md\+{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@md\+{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (min-width: 768px){.m-20\@sm\+{margin:20px !important}.mT-20\@sm\+{margin-top:20px !important}.mR-20\@sm\+{margin-right:20px !important}.mB-20\@sm\+{margin-bottom:20px !important}.mL-20\@sm\+{margin-left:20px !important}.mY-20\@sm\+{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@sm\+{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@sm\+{margin:-20px !important}.mT-nv-20\@sm\+{margin-top:-20px !important}.mR-nv-20\@sm\+{margin-right:-20px !important}.mB-nv-20\@sm\+{margin-bottom:-20px !important}.mL-nv-20\@sm\+{margin-left:-20px !important}.mY-nv-20\@sm\+{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@sm\+{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (min-width: 0){.m-20\@xs\+{margin:20px !important}.mT-20\@xs\+{margin-top:20px !important}.mR-20\@xs\+{margin-right:20px !important}.mB-20\@xs\+{margin-bottom:20px !important}.mL-20\@xs\+{margin-left:20px !important}.mY-20\@xs\+{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@xs\+{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@xs\+{margin:-20px !important}.mT-nv-20\@xs\+{margin-top:-20px !important}.mR-nv-20\@xs\+{margin-right:-20px !important}.mB-nv-20\@xs\+{margin-bottom:-20px !important}.mL-nv-20\@xs\+{margin-left:-20px !important}.mY-nv-20\@xs\+{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@xs\+{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (max-width: 1439px){.m-20\@xl-{margin:20px !important}.mT-20\@xl-{margin-top:20px !important}.mR-20\@xl-{margin-right:20px !important}.mB-20\@xl-{margin-bottom:20px !important}.mL-20\@xl-{margin-left:20px !important}.mY-20\@xl-{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@xl-{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@xl-{margin:-20px !important}.mT-nv-20\@xl-{margin-top:-20px !important}.mR-nv-20\@xl-{margin-right:-20px !important}.mB-nv-20\@xl-{margin-bottom:-20px !important}.mL-nv-20\@xl-{margin-left:-20px !important}.mY-nv-20\@xl-{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@xl-{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (max-width: 1199px){.m-20\@lg-{margin:20px !important}.mT-20\@lg-{margin-top:20px !important}.mR-20\@lg-{margin-right:20px !important}.mB-20\@lg-{margin-bottom:20px !important}.mL-20\@lg-{margin-left:20px !important}.mY-20\@lg-{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@lg-{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@lg-{margin:-20px !important}.mT-nv-20\@lg-{margin-top:-20px !important}.mR-nv-20\@lg-{margin-right:-20px !important}.mB-nv-20\@lg-{margin-bottom:-20px !important}.mL-nv-20\@lg-{margin-left:-20px !important}.mY-nv-20\@lg-{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@lg-{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (max-width: 991px){.m-20\@md-{margin:20px !important}.mT-20\@md-{margin-top:20px !important}.mR-20\@md-{margin-right:20px !important}.mB-20\@md-{margin-bottom:20px !important}.mL-20\@md-{margin-left:20px !important}.mY-20\@md-{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@md-{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@md-{margin:-20px !important}.mT-nv-20\@md-{margin-top:-20px !important}.mR-nv-20\@md-{margin-right:-20px !important}.mB-nv-20\@md-{margin-bottom:-20px !important}.mL-nv-20\@md-{margin-left:-20px !important}.mY-nv-20\@md-{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@md-{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (max-width: 767px){.m-20\@sm-{margin:20px !important}.mT-20\@sm-{margin-top:20px !important}.mR-20\@sm-{margin-right:20px !important}.mB-20\@sm-{margin-bottom:20px !important}.mL-20\@sm-{margin-left:20px !important}.mY-20\@sm-{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@sm-{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@sm-{margin:-20px !important}.mT-nv-20\@sm-{margin-top:-20px !important}.mR-nv-20\@sm-{margin-right:-20px !important}.mB-nv-20\@sm-{margin-bottom:-20px !important}.mL-nv-20\@sm-{margin-left:-20px !important}.mY-nv-20\@sm-{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@sm-{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-20\@lg{margin:20px !important}.mT-20\@lg{margin-top:20px !important}.mR-20\@lg{margin-right:20px !important}.mB-20\@lg{margin-bottom:20px !important}.mL-20\@lg{margin-left:20px !important}.mY-20\@lg{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@lg{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@lg{margin:-20px !important}.mT-nv-20\@lg{margin-top:-20px !important}.mR-nv-20\@lg{margin-right:-20px !important}.mB-nv-20\@lg{margin-bottom:-20px !important}.mL-nv-20\@lg{margin-left:-20px !important}.mY-nv-20\@lg{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@lg{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-20\@md{margin:20px !important}.mT-20\@md{margin-top:20px !important}.mR-20\@md{margin-right:20px !important}.mB-20\@md{margin-bottom:20px !important}.mL-20\@md{margin-left:20px !important}.mY-20\@md{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@md{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@md{margin:-20px !important}.mT-nv-20\@md{margin-top:-20px !important}.mR-nv-20\@md{margin-right:-20px !important}.mB-nv-20\@md{margin-bottom:-20px !important}.mL-nv-20\@md{margin-left:-20px !important}.mY-nv-20\@md{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@md{margin-left:-20px !important;margin-right:-20px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-20\@sm{margin:20px !important}.mT-20\@sm{margin-top:20px !important}.mR-20\@sm{margin-right:20px !important}.mB-20\@sm{margin-bottom:20px !important}.mL-20\@sm{margin-left:20px !important}.mY-20\@sm{margin-top:20px !important;margin-bottom:20px !important}.mX-20\@sm{margin-left:20px !important;margin-right:20px !important}.m-nv-20\@sm{margin:-20px !important}.mT-nv-20\@sm{margin-top:-20px !important}.mR-nv-20\@sm{margin-right:-20px !important}.mB-nv-20\@sm{margin-bottom:-20px !important}.mL-nv-20\@sm{margin-left:-20px !important}.mY-nv-20\@sm{margin-top:-20px !important;margin-bottom:-20px !important}.mX-nv-20\@sm{margin-left:-20px !important;margin-right:-20px !important}}.m-25{margin:25px !important}.mT-25{margin-top:25px !important}.mR-25{margin-right:25px !important}.mB-25{margin-bottom:25px !important}.mL-25{margin-left:25px !important}.mY-25{margin-top:25px !important;margin-bottom:25px !important}.mX-25{margin-left:25px !important;margin-right:25px !important}.m-nv-25{margin:-25px !important}.mT-nv-25{margin-top:-25px !important}.mR-nv-25{margin-right:-25px !important}.mB-nv-25{margin-bottom:-25px !important}.mL-nv-25{margin-left:-25px !important}.mY-nv-25{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25{margin-left:-25px !important;margin-right:-25px !important}@media screen and (min-width: 1440px){.m-25\@xl\+{margin:25px !important}.mT-25\@xl\+{margin-top:25px !important}.mR-25\@xl\+{margin-right:25px !important}.mB-25\@xl\+{margin-bottom:25px !important}.mL-25\@xl\+{margin-left:25px !important}.mY-25\@xl\+{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@xl\+{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@xl\+{margin:-25px !important}.mT-nv-25\@xl\+{margin-top:-25px !important}.mR-nv-25\@xl\+{margin-right:-25px !important}.mB-nv-25\@xl\+{margin-bottom:-25px !important}.mL-nv-25\@xl\+{margin-left:-25px !important}.mY-nv-25\@xl\+{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@xl\+{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (min-width: 1200px){.m-25\@lg\+{margin:25px !important}.mT-25\@lg\+{margin-top:25px !important}.mR-25\@lg\+{margin-right:25px !important}.mB-25\@lg\+{margin-bottom:25px !important}.mL-25\@lg\+{margin-left:25px !important}.mY-25\@lg\+{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@lg\+{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@lg\+{margin:-25px !important}.mT-nv-25\@lg\+{margin-top:-25px !important}.mR-nv-25\@lg\+{margin-right:-25px !important}.mB-nv-25\@lg\+{margin-bottom:-25px !important}.mL-nv-25\@lg\+{margin-left:-25px !important}.mY-nv-25\@lg\+{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@lg\+{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (min-width: 992px){.m-25\@md\+{margin:25px !important}.mT-25\@md\+{margin-top:25px !important}.mR-25\@md\+{margin-right:25px !important}.mB-25\@md\+{margin-bottom:25px !important}.mL-25\@md\+{margin-left:25px !important}.mY-25\@md\+{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@md\+{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@md\+{margin:-25px !important}.mT-nv-25\@md\+{margin-top:-25px !important}.mR-nv-25\@md\+{margin-right:-25px !important}.mB-nv-25\@md\+{margin-bottom:-25px !important}.mL-nv-25\@md\+{margin-left:-25px !important}.mY-nv-25\@md\+{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@md\+{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (min-width: 768px){.m-25\@sm\+{margin:25px !important}.mT-25\@sm\+{margin-top:25px !important}.mR-25\@sm\+{margin-right:25px !important}.mB-25\@sm\+{margin-bottom:25px !important}.mL-25\@sm\+{margin-left:25px !important}.mY-25\@sm\+{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@sm\+{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@sm\+{margin:-25px !important}.mT-nv-25\@sm\+{margin-top:-25px !important}.mR-nv-25\@sm\+{margin-right:-25px !important}.mB-nv-25\@sm\+{margin-bottom:-25px !important}.mL-nv-25\@sm\+{margin-left:-25px !important}.mY-nv-25\@sm\+{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@sm\+{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (min-width: 0){.m-25\@xs\+{margin:25px !important}.mT-25\@xs\+{margin-top:25px !important}.mR-25\@xs\+{margin-right:25px !important}.mB-25\@xs\+{margin-bottom:25px !important}.mL-25\@xs\+{margin-left:25px !important}.mY-25\@xs\+{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@xs\+{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@xs\+{margin:-25px !important}.mT-nv-25\@xs\+{margin-top:-25px !important}.mR-nv-25\@xs\+{margin-right:-25px !important}.mB-nv-25\@xs\+{margin-bottom:-25px !important}.mL-nv-25\@xs\+{margin-left:-25px !important}.mY-nv-25\@xs\+{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@xs\+{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (max-width: 1439px){.m-25\@xl-{margin:25px !important}.mT-25\@xl-{margin-top:25px !important}.mR-25\@xl-{margin-right:25px !important}.mB-25\@xl-{margin-bottom:25px !important}.mL-25\@xl-{margin-left:25px !important}.mY-25\@xl-{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@xl-{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@xl-{margin:-25px !important}.mT-nv-25\@xl-{margin-top:-25px !important}.mR-nv-25\@xl-{margin-right:-25px !important}.mB-nv-25\@xl-{margin-bottom:-25px !important}.mL-nv-25\@xl-{margin-left:-25px !important}.mY-nv-25\@xl-{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@xl-{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (max-width: 1199px){.m-25\@lg-{margin:25px !important}.mT-25\@lg-{margin-top:25px !important}.mR-25\@lg-{margin-right:25px !important}.mB-25\@lg-{margin-bottom:25px !important}.mL-25\@lg-{margin-left:25px !important}.mY-25\@lg-{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@lg-{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@lg-{margin:-25px !important}.mT-nv-25\@lg-{margin-top:-25px !important}.mR-nv-25\@lg-{margin-right:-25px !important}.mB-nv-25\@lg-{margin-bottom:-25px !important}.mL-nv-25\@lg-{margin-left:-25px !important}.mY-nv-25\@lg-{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@lg-{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (max-width: 991px){.m-25\@md-{margin:25px !important}.mT-25\@md-{margin-top:25px !important}.mR-25\@md-{margin-right:25px !important}.mB-25\@md-{margin-bottom:25px !important}.mL-25\@md-{margin-left:25px !important}.mY-25\@md-{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@md-{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@md-{margin:-25px !important}.mT-nv-25\@md-{margin-top:-25px !important}.mR-nv-25\@md-{margin-right:-25px !important}.mB-nv-25\@md-{margin-bottom:-25px !important}.mL-nv-25\@md-{margin-left:-25px !important}.mY-nv-25\@md-{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@md-{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (max-width: 767px){.m-25\@sm-{margin:25px !important}.mT-25\@sm-{margin-top:25px !important}.mR-25\@sm-{margin-right:25px !important}.mB-25\@sm-{margin-bottom:25px !important}.mL-25\@sm-{margin-left:25px !important}.mY-25\@sm-{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@sm-{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@sm-{margin:-25px !important}.mT-nv-25\@sm-{margin-top:-25px !important}.mR-nv-25\@sm-{margin-right:-25px !important}.mB-nv-25\@sm-{margin-bottom:-25px !important}.mL-nv-25\@sm-{margin-left:-25px !important}.mY-nv-25\@sm-{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@sm-{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-25\@lg{margin:25px !important}.mT-25\@lg{margin-top:25px !important}.mR-25\@lg{margin-right:25px !important}.mB-25\@lg{margin-bottom:25px !important}.mL-25\@lg{margin-left:25px !important}.mY-25\@lg{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@lg{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@lg{margin:-25px !important}.mT-nv-25\@lg{margin-top:-25px !important}.mR-nv-25\@lg{margin-right:-25px !important}.mB-nv-25\@lg{margin-bottom:-25px !important}.mL-nv-25\@lg{margin-left:-25px !important}.mY-nv-25\@lg{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@lg{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-25\@md{margin:25px !important}.mT-25\@md{margin-top:25px !important}.mR-25\@md{margin-right:25px !important}.mB-25\@md{margin-bottom:25px !important}.mL-25\@md{margin-left:25px !important}.mY-25\@md{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@md{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@md{margin:-25px !important}.mT-nv-25\@md{margin-top:-25px !important}.mR-nv-25\@md{margin-right:-25px !important}.mB-nv-25\@md{margin-bottom:-25px !important}.mL-nv-25\@md{margin-left:-25px !important}.mY-nv-25\@md{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@md{margin-left:-25px !important;margin-right:-25px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-25\@sm{margin:25px !important}.mT-25\@sm{margin-top:25px !important}.mR-25\@sm{margin-right:25px !important}.mB-25\@sm{margin-bottom:25px !important}.mL-25\@sm{margin-left:25px !important}.mY-25\@sm{margin-top:25px !important;margin-bottom:25px !important}.mX-25\@sm{margin-left:25px !important;margin-right:25px !important}.m-nv-25\@sm{margin:-25px !important}.mT-nv-25\@sm{margin-top:-25px !important}.mR-nv-25\@sm{margin-right:-25px !important}.mB-nv-25\@sm{margin-bottom:-25px !important}.mL-nv-25\@sm{margin-left:-25px !important}.mY-nv-25\@sm{margin-top:-25px !important;margin-bottom:-25px !important}.mX-nv-25\@sm{margin-left:-25px !important;margin-right:-25px !important}}.m-30{margin:30px !important}.mT-30{margin-top:30px !important}.mR-30{margin-right:30px !important}.mB-30{margin-bottom:30px !important}.mL-30{margin-left:30px !important}.mY-30{margin-top:30px !important;margin-bottom:30px !important}.mX-30{margin-left:30px !important;margin-right:30px !important}.m-nv-30{margin:-30px !important}.mT-nv-30{margin-top:-30px !important}.mR-nv-30{margin-right:-30px !important}.mB-nv-30{margin-bottom:-30px !important}.mL-nv-30{margin-left:-30px !important}.mY-nv-30{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30{margin-left:-30px !important;margin-right:-30px !important}@media screen and (min-width: 1440px){.m-30\@xl\+{margin:30px !important}.mT-30\@xl\+{margin-top:30px !important}.mR-30\@xl\+{margin-right:30px !important}.mB-30\@xl\+{margin-bottom:30px !important}.mL-30\@xl\+{margin-left:30px !important}.mY-30\@xl\+{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@xl\+{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@xl\+{margin:-30px !important}.mT-nv-30\@xl\+{margin-top:-30px !important}.mR-nv-30\@xl\+{margin-right:-30px !important}.mB-nv-30\@xl\+{margin-bottom:-30px !important}.mL-nv-30\@xl\+{margin-left:-30px !important}.mY-nv-30\@xl\+{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@xl\+{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (min-width: 1200px){.m-30\@lg\+{margin:30px !important}.mT-30\@lg\+{margin-top:30px !important}.mR-30\@lg\+{margin-right:30px !important}.mB-30\@lg\+{margin-bottom:30px !important}.mL-30\@lg\+{margin-left:30px !important}.mY-30\@lg\+{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@lg\+{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@lg\+{margin:-30px !important}.mT-nv-30\@lg\+{margin-top:-30px !important}.mR-nv-30\@lg\+{margin-right:-30px !important}.mB-nv-30\@lg\+{margin-bottom:-30px !important}.mL-nv-30\@lg\+{margin-left:-30px !important}.mY-nv-30\@lg\+{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@lg\+{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (min-width: 992px){.m-30\@md\+{margin:30px !important}.mT-30\@md\+{margin-top:30px !important}.mR-30\@md\+{margin-right:30px !important}.mB-30\@md\+{margin-bottom:30px !important}.mL-30\@md\+{margin-left:30px !important}.mY-30\@md\+{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@md\+{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@md\+{margin:-30px !important}.mT-nv-30\@md\+{margin-top:-30px !important}.mR-nv-30\@md\+{margin-right:-30px !important}.mB-nv-30\@md\+{margin-bottom:-30px !important}.mL-nv-30\@md\+{margin-left:-30px !important}.mY-nv-30\@md\+{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@md\+{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (min-width: 768px){.m-30\@sm\+{margin:30px !important}.mT-30\@sm\+{margin-top:30px !important}.mR-30\@sm\+{margin-right:30px !important}.mB-30\@sm\+{margin-bottom:30px !important}.mL-30\@sm\+{margin-left:30px !important}.mY-30\@sm\+{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@sm\+{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@sm\+{margin:-30px !important}.mT-nv-30\@sm\+{margin-top:-30px !important}.mR-nv-30\@sm\+{margin-right:-30px !important}.mB-nv-30\@sm\+{margin-bottom:-30px !important}.mL-nv-30\@sm\+{margin-left:-30px !important}.mY-nv-30\@sm\+{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@sm\+{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (min-width: 0){.m-30\@xs\+{margin:30px !important}.mT-30\@xs\+{margin-top:30px !important}.mR-30\@xs\+{margin-right:30px !important}.mB-30\@xs\+{margin-bottom:30px !important}.mL-30\@xs\+{margin-left:30px !important}.mY-30\@xs\+{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@xs\+{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@xs\+{margin:-30px !important}.mT-nv-30\@xs\+{margin-top:-30px !important}.mR-nv-30\@xs\+{margin-right:-30px !important}.mB-nv-30\@xs\+{margin-bottom:-30px !important}.mL-nv-30\@xs\+{margin-left:-30px !important}.mY-nv-30\@xs\+{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@xs\+{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (max-width: 1439px){.m-30\@xl-{margin:30px !important}.mT-30\@xl-{margin-top:30px !important}.mR-30\@xl-{margin-right:30px !important}.mB-30\@xl-{margin-bottom:30px !important}.mL-30\@xl-{margin-left:30px !important}.mY-30\@xl-{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@xl-{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@xl-{margin:-30px !important}.mT-nv-30\@xl-{margin-top:-30px !important}.mR-nv-30\@xl-{margin-right:-30px !important}.mB-nv-30\@xl-{margin-bottom:-30px !important}.mL-nv-30\@xl-{margin-left:-30px !important}.mY-nv-30\@xl-{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@xl-{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (max-width: 1199px){.m-30\@lg-{margin:30px !important}.mT-30\@lg-{margin-top:30px !important}.mR-30\@lg-{margin-right:30px !important}.mB-30\@lg-{margin-bottom:30px !important}.mL-30\@lg-{margin-left:30px !important}.mY-30\@lg-{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@lg-{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@lg-{margin:-30px !important}.mT-nv-30\@lg-{margin-top:-30px !important}.mR-nv-30\@lg-{margin-right:-30px !important}.mB-nv-30\@lg-{margin-bottom:-30px !important}.mL-nv-30\@lg-{margin-left:-30px !important}.mY-nv-30\@lg-{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@lg-{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (max-width: 991px){.m-30\@md-{margin:30px !important}.mT-30\@md-{margin-top:30px !important}.mR-30\@md-{margin-right:30px !important}.mB-30\@md-{margin-bottom:30px !important}.mL-30\@md-{margin-left:30px !important}.mY-30\@md-{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@md-{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@md-{margin:-30px !important}.mT-nv-30\@md-{margin-top:-30px !important}.mR-nv-30\@md-{margin-right:-30px !important}.mB-nv-30\@md-{margin-bottom:-30px !important}.mL-nv-30\@md-{margin-left:-30px !important}.mY-nv-30\@md-{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@md-{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (max-width: 767px){.m-30\@sm-{margin:30px !important}.mT-30\@sm-{margin-top:30px !important}.mR-30\@sm-{margin-right:30px !important}.mB-30\@sm-{margin-bottom:30px !important}.mL-30\@sm-{margin-left:30px !important}.mY-30\@sm-{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@sm-{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@sm-{margin:-30px !important}.mT-nv-30\@sm-{margin-top:-30px !important}.mR-nv-30\@sm-{margin-right:-30px !important}.mB-nv-30\@sm-{margin-bottom:-30px !important}.mL-nv-30\@sm-{margin-left:-30px !important}.mY-nv-30\@sm-{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@sm-{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-30\@lg{margin:30px !important}.mT-30\@lg{margin-top:30px !important}.mR-30\@lg{margin-right:30px !important}.mB-30\@lg{margin-bottom:30px !important}.mL-30\@lg{margin-left:30px !important}.mY-30\@lg{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@lg{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@lg{margin:-30px !important}.mT-nv-30\@lg{margin-top:-30px !important}.mR-nv-30\@lg{margin-right:-30px !important}.mB-nv-30\@lg{margin-bottom:-30px !important}.mL-nv-30\@lg{margin-left:-30px !important}.mY-nv-30\@lg{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@lg{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-30\@md{margin:30px !important}.mT-30\@md{margin-top:30px !important}.mR-30\@md{margin-right:30px !important}.mB-30\@md{margin-bottom:30px !important}.mL-30\@md{margin-left:30px !important}.mY-30\@md{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@md{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@md{margin:-30px !important}.mT-nv-30\@md{margin-top:-30px !important}.mR-nv-30\@md{margin-right:-30px !important}.mB-nv-30\@md{margin-bottom:-30px !important}.mL-nv-30\@md{margin-left:-30px !important}.mY-nv-30\@md{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@md{margin-left:-30px !important;margin-right:-30px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-30\@sm{margin:30px !important}.mT-30\@sm{margin-top:30px !important}.mR-30\@sm{margin-right:30px !important}.mB-30\@sm{margin-bottom:30px !important}.mL-30\@sm{margin-left:30px !important}.mY-30\@sm{margin-top:30px !important;margin-bottom:30px !important}.mX-30\@sm{margin-left:30px !important;margin-right:30px !important}.m-nv-30\@sm{margin:-30px !important}.mT-nv-30\@sm{margin-top:-30px !important}.mR-nv-30\@sm{margin-right:-30px !important}.mB-nv-30\@sm{margin-bottom:-30px !important}.mL-nv-30\@sm{margin-left:-30px !important}.mY-nv-30\@sm{margin-top:-30px !important;margin-bottom:-30px !important}.mX-nv-30\@sm{margin-left:-30px !important;margin-right:-30px !important}}.m-35{margin:35px !important}.mT-35{margin-top:35px !important}.mR-35{margin-right:35px !important}.mB-35{margin-bottom:35px !important}.mL-35{margin-left:35px !important}.mY-35{margin-top:35px !important;margin-bottom:35px !important}.mX-35{margin-left:35px !important;margin-right:35px !important}.m-nv-35{margin:-35px !important}.mT-nv-35{margin-top:-35px !important}.mR-nv-35{margin-right:-35px !important}.mB-nv-35{margin-bottom:-35px !important}.mL-nv-35{margin-left:-35px !important}.mY-nv-35{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35{margin-left:-35px !important;margin-right:-35px !important}@media screen and (min-width: 1440px){.m-35\@xl\+{margin:35px !important}.mT-35\@xl\+{margin-top:35px !important}.mR-35\@xl\+{margin-right:35px !important}.mB-35\@xl\+{margin-bottom:35px !important}.mL-35\@xl\+{margin-left:35px !important}.mY-35\@xl\+{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@xl\+{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@xl\+{margin:-35px !important}.mT-nv-35\@xl\+{margin-top:-35px !important}.mR-nv-35\@xl\+{margin-right:-35px !important}.mB-nv-35\@xl\+{margin-bottom:-35px !important}.mL-nv-35\@xl\+{margin-left:-35px !important}.mY-nv-35\@xl\+{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@xl\+{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (min-width: 1200px){.m-35\@lg\+{margin:35px !important}.mT-35\@lg\+{margin-top:35px !important}.mR-35\@lg\+{margin-right:35px !important}.mB-35\@lg\+{margin-bottom:35px !important}.mL-35\@lg\+{margin-left:35px !important}.mY-35\@lg\+{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@lg\+{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@lg\+{margin:-35px !important}.mT-nv-35\@lg\+{margin-top:-35px !important}.mR-nv-35\@lg\+{margin-right:-35px !important}.mB-nv-35\@lg\+{margin-bottom:-35px !important}.mL-nv-35\@lg\+{margin-left:-35px !important}.mY-nv-35\@lg\+{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@lg\+{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (min-width: 992px){.m-35\@md\+{margin:35px !important}.mT-35\@md\+{margin-top:35px !important}.mR-35\@md\+{margin-right:35px !important}.mB-35\@md\+{margin-bottom:35px !important}.mL-35\@md\+{margin-left:35px !important}.mY-35\@md\+{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@md\+{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@md\+{margin:-35px !important}.mT-nv-35\@md\+{margin-top:-35px !important}.mR-nv-35\@md\+{margin-right:-35px !important}.mB-nv-35\@md\+{margin-bottom:-35px !important}.mL-nv-35\@md\+{margin-left:-35px !important}.mY-nv-35\@md\+{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@md\+{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (min-width: 768px){.m-35\@sm\+{margin:35px !important}.mT-35\@sm\+{margin-top:35px !important}.mR-35\@sm\+{margin-right:35px !important}.mB-35\@sm\+{margin-bottom:35px !important}.mL-35\@sm\+{margin-left:35px !important}.mY-35\@sm\+{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@sm\+{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@sm\+{margin:-35px !important}.mT-nv-35\@sm\+{margin-top:-35px !important}.mR-nv-35\@sm\+{margin-right:-35px !important}.mB-nv-35\@sm\+{margin-bottom:-35px !important}.mL-nv-35\@sm\+{margin-left:-35px !important}.mY-nv-35\@sm\+{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@sm\+{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (min-width: 0){.m-35\@xs\+{margin:35px !important}.mT-35\@xs\+{margin-top:35px !important}.mR-35\@xs\+{margin-right:35px !important}.mB-35\@xs\+{margin-bottom:35px !important}.mL-35\@xs\+{margin-left:35px !important}.mY-35\@xs\+{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@xs\+{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@xs\+{margin:-35px !important}.mT-nv-35\@xs\+{margin-top:-35px !important}.mR-nv-35\@xs\+{margin-right:-35px !important}.mB-nv-35\@xs\+{margin-bottom:-35px !important}.mL-nv-35\@xs\+{margin-left:-35px !important}.mY-nv-35\@xs\+{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@xs\+{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (max-width: 1439px){.m-35\@xl-{margin:35px !important}.mT-35\@xl-{margin-top:35px !important}.mR-35\@xl-{margin-right:35px !important}.mB-35\@xl-{margin-bottom:35px !important}.mL-35\@xl-{margin-left:35px !important}.mY-35\@xl-{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@xl-{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@xl-{margin:-35px !important}.mT-nv-35\@xl-{margin-top:-35px !important}.mR-nv-35\@xl-{margin-right:-35px !important}.mB-nv-35\@xl-{margin-bottom:-35px !important}.mL-nv-35\@xl-{margin-left:-35px !important}.mY-nv-35\@xl-{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@xl-{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (max-width: 1199px){.m-35\@lg-{margin:35px !important}.mT-35\@lg-{margin-top:35px !important}.mR-35\@lg-{margin-right:35px !important}.mB-35\@lg-{margin-bottom:35px !important}.mL-35\@lg-{margin-left:35px !important}.mY-35\@lg-{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@lg-{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@lg-{margin:-35px !important}.mT-nv-35\@lg-{margin-top:-35px !important}.mR-nv-35\@lg-{margin-right:-35px !important}.mB-nv-35\@lg-{margin-bottom:-35px !important}.mL-nv-35\@lg-{margin-left:-35px !important}.mY-nv-35\@lg-{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@lg-{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (max-width: 991px){.m-35\@md-{margin:35px !important}.mT-35\@md-{margin-top:35px !important}.mR-35\@md-{margin-right:35px !important}.mB-35\@md-{margin-bottom:35px !important}.mL-35\@md-{margin-left:35px !important}.mY-35\@md-{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@md-{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@md-{margin:-35px !important}.mT-nv-35\@md-{margin-top:-35px !important}.mR-nv-35\@md-{margin-right:-35px !important}.mB-nv-35\@md-{margin-bottom:-35px !important}.mL-nv-35\@md-{margin-left:-35px !important}.mY-nv-35\@md-{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@md-{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (max-width: 767px){.m-35\@sm-{margin:35px !important}.mT-35\@sm-{margin-top:35px !important}.mR-35\@sm-{margin-right:35px !important}.mB-35\@sm-{margin-bottom:35px !important}.mL-35\@sm-{margin-left:35px !important}.mY-35\@sm-{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@sm-{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@sm-{margin:-35px !important}.mT-nv-35\@sm-{margin-top:-35px !important}.mR-nv-35\@sm-{margin-right:-35px !important}.mB-nv-35\@sm-{margin-bottom:-35px !important}.mL-nv-35\@sm-{margin-left:-35px !important}.mY-nv-35\@sm-{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@sm-{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-35\@lg{margin:35px !important}.mT-35\@lg{margin-top:35px !important}.mR-35\@lg{margin-right:35px !important}.mB-35\@lg{margin-bottom:35px !important}.mL-35\@lg{margin-left:35px !important}.mY-35\@lg{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@lg{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@lg{margin:-35px !important}.mT-nv-35\@lg{margin-top:-35px !important}.mR-nv-35\@lg{margin-right:-35px !important}.mB-nv-35\@lg{margin-bottom:-35px !important}.mL-nv-35\@lg{margin-left:-35px !important}.mY-nv-35\@lg{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@lg{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-35\@md{margin:35px !important}.mT-35\@md{margin-top:35px !important}.mR-35\@md{margin-right:35px !important}.mB-35\@md{margin-bottom:35px !important}.mL-35\@md{margin-left:35px !important}.mY-35\@md{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@md{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@md{margin:-35px !important}.mT-nv-35\@md{margin-top:-35px !important}.mR-nv-35\@md{margin-right:-35px !important}.mB-nv-35\@md{margin-bottom:-35px !important}.mL-nv-35\@md{margin-left:-35px !important}.mY-nv-35\@md{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@md{margin-left:-35px !important;margin-right:-35px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-35\@sm{margin:35px !important}.mT-35\@sm{margin-top:35px !important}.mR-35\@sm{margin-right:35px !important}.mB-35\@sm{margin-bottom:35px !important}.mL-35\@sm{margin-left:35px !important}.mY-35\@sm{margin-top:35px !important;margin-bottom:35px !important}.mX-35\@sm{margin-left:35px !important;margin-right:35px !important}.m-nv-35\@sm{margin:-35px !important}.mT-nv-35\@sm{margin-top:-35px !important}.mR-nv-35\@sm{margin-right:-35px !important}.mB-nv-35\@sm{margin-bottom:-35px !important}.mL-nv-35\@sm{margin-left:-35px !important}.mY-nv-35\@sm{margin-top:-35px !important;margin-bottom:-35px !important}.mX-nv-35\@sm{margin-left:-35px !important;margin-right:-35px !important}}.m-40{margin:40px !important}.mT-40{margin-top:40px !important}.mR-40{margin-right:40px !important}.mB-40{margin-bottom:40px !important}.mL-40{margin-left:40px !important}.mY-40{margin-top:40px !important;margin-bottom:40px !important}.mX-40{margin-left:40px !important;margin-right:40px !important}.m-nv-40{margin:-40px !important}.mT-nv-40{margin-top:-40px !important}.mR-nv-40{margin-right:-40px !important}.mB-nv-40{margin-bottom:-40px !important}.mL-nv-40{margin-left:-40px !important}.mY-nv-40{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40{margin-left:-40px !important;margin-right:-40px !important}@media screen and (min-width: 1440px){.m-40\@xl\+{margin:40px !important}.mT-40\@xl\+{margin-top:40px !important}.mR-40\@xl\+{margin-right:40px !important}.mB-40\@xl\+{margin-bottom:40px !important}.mL-40\@xl\+{margin-left:40px !important}.mY-40\@xl\+{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@xl\+{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@xl\+{margin:-40px !important}.mT-nv-40\@xl\+{margin-top:-40px !important}.mR-nv-40\@xl\+{margin-right:-40px !important}.mB-nv-40\@xl\+{margin-bottom:-40px !important}.mL-nv-40\@xl\+{margin-left:-40px !important}.mY-nv-40\@xl\+{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@xl\+{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (min-width: 1200px){.m-40\@lg\+{margin:40px !important}.mT-40\@lg\+{margin-top:40px !important}.mR-40\@lg\+{margin-right:40px !important}.mB-40\@lg\+{margin-bottom:40px !important}.mL-40\@lg\+{margin-left:40px !important}.mY-40\@lg\+{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@lg\+{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@lg\+{margin:-40px !important}.mT-nv-40\@lg\+{margin-top:-40px !important}.mR-nv-40\@lg\+{margin-right:-40px !important}.mB-nv-40\@lg\+{margin-bottom:-40px !important}.mL-nv-40\@lg\+{margin-left:-40px !important}.mY-nv-40\@lg\+{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@lg\+{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (min-width: 992px){.m-40\@md\+{margin:40px !important}.mT-40\@md\+{margin-top:40px !important}.mR-40\@md\+{margin-right:40px !important}.mB-40\@md\+{margin-bottom:40px !important}.mL-40\@md\+{margin-left:40px !important}.mY-40\@md\+{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@md\+{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@md\+{margin:-40px !important}.mT-nv-40\@md\+{margin-top:-40px !important}.mR-nv-40\@md\+{margin-right:-40px !important}.mB-nv-40\@md\+{margin-bottom:-40px !important}.mL-nv-40\@md\+{margin-left:-40px !important}.mY-nv-40\@md\+{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@md\+{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (min-width: 768px){.m-40\@sm\+{margin:40px !important}.mT-40\@sm\+{margin-top:40px !important}.mR-40\@sm\+{margin-right:40px !important}.mB-40\@sm\+{margin-bottom:40px !important}.mL-40\@sm\+{margin-left:40px !important}.mY-40\@sm\+{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@sm\+{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@sm\+{margin:-40px !important}.mT-nv-40\@sm\+{margin-top:-40px !important}.mR-nv-40\@sm\+{margin-right:-40px !important}.mB-nv-40\@sm\+{margin-bottom:-40px !important}.mL-nv-40\@sm\+{margin-left:-40px !important}.mY-nv-40\@sm\+{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@sm\+{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (min-width: 0){.m-40\@xs\+{margin:40px !important}.mT-40\@xs\+{margin-top:40px !important}.mR-40\@xs\+{margin-right:40px !important}.mB-40\@xs\+{margin-bottom:40px !important}.mL-40\@xs\+{margin-left:40px !important}.mY-40\@xs\+{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@xs\+{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@xs\+{margin:-40px !important}.mT-nv-40\@xs\+{margin-top:-40px !important}.mR-nv-40\@xs\+{margin-right:-40px !important}.mB-nv-40\@xs\+{margin-bottom:-40px !important}.mL-nv-40\@xs\+{margin-left:-40px !important}.mY-nv-40\@xs\+{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@xs\+{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (max-width: 1439px){.m-40\@xl-{margin:40px !important}.mT-40\@xl-{margin-top:40px !important}.mR-40\@xl-{margin-right:40px !important}.mB-40\@xl-{margin-bottom:40px !important}.mL-40\@xl-{margin-left:40px !important}.mY-40\@xl-{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@xl-{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@xl-{margin:-40px !important}.mT-nv-40\@xl-{margin-top:-40px !important}.mR-nv-40\@xl-{margin-right:-40px !important}.mB-nv-40\@xl-{margin-bottom:-40px !important}.mL-nv-40\@xl-{margin-left:-40px !important}.mY-nv-40\@xl-{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@xl-{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (max-width: 1199px){.m-40\@lg-{margin:40px !important}.mT-40\@lg-{margin-top:40px !important}.mR-40\@lg-{margin-right:40px !important}.mB-40\@lg-{margin-bottom:40px !important}.mL-40\@lg-{margin-left:40px !important}.mY-40\@lg-{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@lg-{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@lg-{margin:-40px !important}.mT-nv-40\@lg-{margin-top:-40px !important}.mR-nv-40\@lg-{margin-right:-40px !important}.mB-nv-40\@lg-{margin-bottom:-40px !important}.mL-nv-40\@lg-{margin-left:-40px !important}.mY-nv-40\@lg-{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@lg-{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (max-width: 991px){.m-40\@md-{margin:40px !important}.mT-40\@md-{margin-top:40px !important}.mR-40\@md-{margin-right:40px !important}.mB-40\@md-{margin-bottom:40px !important}.mL-40\@md-{margin-left:40px !important}.mY-40\@md-{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@md-{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@md-{margin:-40px !important}.mT-nv-40\@md-{margin-top:-40px !important}.mR-nv-40\@md-{margin-right:-40px !important}.mB-nv-40\@md-{margin-bottom:-40px !important}.mL-nv-40\@md-{margin-left:-40px !important}.mY-nv-40\@md-{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@md-{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (max-width: 767px){.m-40\@sm-{margin:40px !important}.mT-40\@sm-{margin-top:40px !important}.mR-40\@sm-{margin-right:40px !important}.mB-40\@sm-{margin-bottom:40px !important}.mL-40\@sm-{margin-left:40px !important}.mY-40\@sm-{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@sm-{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@sm-{margin:-40px !important}.mT-nv-40\@sm-{margin-top:-40px !important}.mR-nv-40\@sm-{margin-right:-40px !important}.mB-nv-40\@sm-{margin-bottom:-40px !important}.mL-nv-40\@sm-{margin-left:-40px !important}.mY-nv-40\@sm-{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@sm-{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-40\@lg{margin:40px !important}.mT-40\@lg{margin-top:40px !important}.mR-40\@lg{margin-right:40px !important}.mB-40\@lg{margin-bottom:40px !important}.mL-40\@lg{margin-left:40px !important}.mY-40\@lg{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@lg{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@lg{margin:-40px !important}.mT-nv-40\@lg{margin-top:-40px !important}.mR-nv-40\@lg{margin-right:-40px !important}.mB-nv-40\@lg{margin-bottom:-40px !important}.mL-nv-40\@lg{margin-left:-40px !important}.mY-nv-40\@lg{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@lg{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-40\@md{margin:40px !important}.mT-40\@md{margin-top:40px !important}.mR-40\@md{margin-right:40px !important}.mB-40\@md{margin-bottom:40px !important}.mL-40\@md{margin-left:40px !important}.mY-40\@md{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@md{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@md{margin:-40px !important}.mT-nv-40\@md{margin-top:-40px !important}.mR-nv-40\@md{margin-right:-40px !important}.mB-nv-40\@md{margin-bottom:-40px !important}.mL-nv-40\@md{margin-left:-40px !important}.mY-nv-40\@md{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@md{margin-left:-40px !important;margin-right:-40px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-40\@sm{margin:40px !important}.mT-40\@sm{margin-top:40px !important}.mR-40\@sm{margin-right:40px !important}.mB-40\@sm{margin-bottom:40px !important}.mL-40\@sm{margin-left:40px !important}.mY-40\@sm{margin-top:40px !important;margin-bottom:40px !important}.mX-40\@sm{margin-left:40px !important;margin-right:40px !important}.m-nv-40\@sm{margin:-40px !important}.mT-nv-40\@sm{margin-top:-40px !important}.mR-nv-40\@sm{margin-right:-40px !important}.mB-nv-40\@sm{margin-bottom:-40px !important}.mL-nv-40\@sm{margin-left:-40px !important}.mY-nv-40\@sm{margin-top:-40px !important;margin-bottom:-40px !important}.mX-nv-40\@sm{margin-left:-40px !important;margin-right:-40px !important}}.m-50{margin:50px !important}.mT-50{margin-top:50px !important}.mR-50{margin-right:50px !important}.mB-50{margin-bottom:50px !important}.mL-50{margin-left:50px !important}.mY-50{margin-top:50px !important;margin-bottom:50px !important}.mX-50{margin-left:50px !important;margin-right:50px !important}.m-nv-50{margin:-50px !important}.mT-nv-50{margin-top:-50px !important}.mR-nv-50{margin-right:-50px !important}.mB-nv-50{margin-bottom:-50px !important}.mL-nv-50{margin-left:-50px !important}.mY-nv-50{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50{margin-left:-50px !important;margin-right:-50px !important}@media screen and (min-width: 1440px){.m-50\@xl\+{margin:50px !important}.mT-50\@xl\+{margin-top:50px !important}.mR-50\@xl\+{margin-right:50px !important}.mB-50\@xl\+{margin-bottom:50px !important}.mL-50\@xl\+{margin-left:50px !important}.mY-50\@xl\+{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@xl\+{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@xl\+{margin:-50px !important}.mT-nv-50\@xl\+{margin-top:-50px !important}.mR-nv-50\@xl\+{margin-right:-50px !important}.mB-nv-50\@xl\+{margin-bottom:-50px !important}.mL-nv-50\@xl\+{margin-left:-50px !important}.mY-nv-50\@xl\+{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@xl\+{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (min-width: 1200px){.m-50\@lg\+{margin:50px !important}.mT-50\@lg\+{margin-top:50px !important}.mR-50\@lg\+{margin-right:50px !important}.mB-50\@lg\+{margin-bottom:50px !important}.mL-50\@lg\+{margin-left:50px !important}.mY-50\@lg\+{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@lg\+{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@lg\+{margin:-50px !important}.mT-nv-50\@lg\+{margin-top:-50px !important}.mR-nv-50\@lg\+{margin-right:-50px !important}.mB-nv-50\@lg\+{margin-bottom:-50px !important}.mL-nv-50\@lg\+{margin-left:-50px !important}.mY-nv-50\@lg\+{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@lg\+{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (min-width: 992px){.m-50\@md\+{margin:50px !important}.mT-50\@md\+{margin-top:50px !important}.mR-50\@md\+{margin-right:50px !important}.mB-50\@md\+{margin-bottom:50px !important}.mL-50\@md\+{margin-left:50px !important}.mY-50\@md\+{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@md\+{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@md\+{margin:-50px !important}.mT-nv-50\@md\+{margin-top:-50px !important}.mR-nv-50\@md\+{margin-right:-50px !important}.mB-nv-50\@md\+{margin-bottom:-50px !important}.mL-nv-50\@md\+{margin-left:-50px !important}.mY-nv-50\@md\+{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@md\+{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (min-width: 768px){.m-50\@sm\+{margin:50px !important}.mT-50\@sm\+{margin-top:50px !important}.mR-50\@sm\+{margin-right:50px !important}.mB-50\@sm\+{margin-bottom:50px !important}.mL-50\@sm\+{margin-left:50px !important}.mY-50\@sm\+{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@sm\+{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@sm\+{margin:-50px !important}.mT-nv-50\@sm\+{margin-top:-50px !important}.mR-nv-50\@sm\+{margin-right:-50px !important}.mB-nv-50\@sm\+{margin-bottom:-50px !important}.mL-nv-50\@sm\+{margin-left:-50px !important}.mY-nv-50\@sm\+{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@sm\+{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (min-width: 0){.m-50\@xs\+{margin:50px !important}.mT-50\@xs\+{margin-top:50px !important}.mR-50\@xs\+{margin-right:50px !important}.mB-50\@xs\+{margin-bottom:50px !important}.mL-50\@xs\+{margin-left:50px !important}.mY-50\@xs\+{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@xs\+{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@xs\+{margin:-50px !important}.mT-nv-50\@xs\+{margin-top:-50px !important}.mR-nv-50\@xs\+{margin-right:-50px !important}.mB-nv-50\@xs\+{margin-bottom:-50px !important}.mL-nv-50\@xs\+{margin-left:-50px !important}.mY-nv-50\@xs\+{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@xs\+{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (max-width: 1439px){.m-50\@xl-{margin:50px !important}.mT-50\@xl-{margin-top:50px !important}.mR-50\@xl-{margin-right:50px !important}.mB-50\@xl-{margin-bottom:50px !important}.mL-50\@xl-{margin-left:50px !important}.mY-50\@xl-{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@xl-{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@xl-{margin:-50px !important}.mT-nv-50\@xl-{margin-top:-50px !important}.mR-nv-50\@xl-{margin-right:-50px !important}.mB-nv-50\@xl-{margin-bottom:-50px !important}.mL-nv-50\@xl-{margin-left:-50px !important}.mY-nv-50\@xl-{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@xl-{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (max-width: 1199px){.m-50\@lg-{margin:50px !important}.mT-50\@lg-{margin-top:50px !important}.mR-50\@lg-{margin-right:50px !important}.mB-50\@lg-{margin-bottom:50px !important}.mL-50\@lg-{margin-left:50px !important}.mY-50\@lg-{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@lg-{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@lg-{margin:-50px !important}.mT-nv-50\@lg-{margin-top:-50px !important}.mR-nv-50\@lg-{margin-right:-50px !important}.mB-nv-50\@lg-{margin-bottom:-50px !important}.mL-nv-50\@lg-{margin-left:-50px !important}.mY-nv-50\@lg-{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@lg-{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (max-width: 991px){.m-50\@md-{margin:50px !important}.mT-50\@md-{margin-top:50px !important}.mR-50\@md-{margin-right:50px !important}.mB-50\@md-{margin-bottom:50px !important}.mL-50\@md-{margin-left:50px !important}.mY-50\@md-{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@md-{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@md-{margin:-50px !important}.mT-nv-50\@md-{margin-top:-50px !important}.mR-nv-50\@md-{margin-right:-50px !important}.mB-nv-50\@md-{margin-bottom:-50px !important}.mL-nv-50\@md-{margin-left:-50px !important}.mY-nv-50\@md-{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@md-{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (max-width: 767px){.m-50\@sm-{margin:50px !important}.mT-50\@sm-{margin-top:50px !important}.mR-50\@sm-{margin-right:50px !important}.mB-50\@sm-{margin-bottom:50px !important}.mL-50\@sm-{margin-left:50px !important}.mY-50\@sm-{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@sm-{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@sm-{margin:-50px !important}.mT-nv-50\@sm-{margin-top:-50px !important}.mR-nv-50\@sm-{margin-right:-50px !important}.mB-nv-50\@sm-{margin-bottom:-50px !important}.mL-nv-50\@sm-{margin-left:-50px !important}.mY-nv-50\@sm-{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@sm-{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-50\@lg{margin:50px !important}.mT-50\@lg{margin-top:50px !important}.mR-50\@lg{margin-right:50px !important}.mB-50\@lg{margin-bottom:50px !important}.mL-50\@lg{margin-left:50px !important}.mY-50\@lg{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@lg{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@lg{margin:-50px !important}.mT-nv-50\@lg{margin-top:-50px !important}.mR-nv-50\@lg{margin-right:-50px !important}.mB-nv-50\@lg{margin-bottom:-50px !important}.mL-nv-50\@lg{margin-left:-50px !important}.mY-nv-50\@lg{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@lg{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-50\@md{margin:50px !important}.mT-50\@md{margin-top:50px !important}.mR-50\@md{margin-right:50px !important}.mB-50\@md{margin-bottom:50px !important}.mL-50\@md{margin-left:50px !important}.mY-50\@md{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@md{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@md{margin:-50px !important}.mT-nv-50\@md{margin-top:-50px !important}.mR-nv-50\@md{margin-right:-50px !important}.mB-nv-50\@md{margin-bottom:-50px !important}.mL-nv-50\@md{margin-left:-50px !important}.mY-nv-50\@md{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@md{margin-left:-50px !important;margin-right:-50px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-50\@sm{margin:50px !important}.mT-50\@sm{margin-top:50px !important}.mR-50\@sm{margin-right:50px !important}.mB-50\@sm{margin-bottom:50px !important}.mL-50\@sm{margin-left:50px !important}.mY-50\@sm{margin-top:50px !important;margin-bottom:50px !important}.mX-50\@sm{margin-left:50px !important;margin-right:50px !important}.m-nv-50\@sm{margin:-50px !important}.mT-nv-50\@sm{margin-top:-50px !important}.mR-nv-50\@sm{margin-right:-50px !important}.mB-nv-50\@sm{margin-bottom:-50px !important}.mL-nv-50\@sm{margin-left:-50px !important}.mY-nv-50\@sm{margin-top:-50px !important;margin-bottom:-50px !important}.mX-nv-50\@sm{margin-left:-50px !important;margin-right:-50px !important}}.m-60{margin:60px !important}.mT-60{margin-top:60px !important}.mR-60{margin-right:60px !important}.mB-60{margin-bottom:60px !important}.mL-60{margin-left:60px !important}.mY-60{margin-top:60px !important;margin-bottom:60px !important}.mX-60{margin-left:60px !important;margin-right:60px !important}.m-nv-60{margin:-60px !important}.mT-nv-60{margin-top:-60px !important}.mR-nv-60{margin-right:-60px !important}.mB-nv-60{margin-bottom:-60px !important}.mL-nv-60{margin-left:-60px !important}.mY-nv-60{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60{margin-left:-60px !important;margin-right:-60px !important}@media screen and (min-width: 1440px){.m-60\@xl\+{margin:60px !important}.mT-60\@xl\+{margin-top:60px !important}.mR-60\@xl\+{margin-right:60px !important}.mB-60\@xl\+{margin-bottom:60px !important}.mL-60\@xl\+{margin-left:60px !important}.mY-60\@xl\+{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@xl\+{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@xl\+{margin:-60px !important}.mT-nv-60\@xl\+{margin-top:-60px !important}.mR-nv-60\@xl\+{margin-right:-60px !important}.mB-nv-60\@xl\+{margin-bottom:-60px !important}.mL-nv-60\@xl\+{margin-left:-60px !important}.mY-nv-60\@xl\+{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@xl\+{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (min-width: 1200px){.m-60\@lg\+{margin:60px !important}.mT-60\@lg\+{margin-top:60px !important}.mR-60\@lg\+{margin-right:60px !important}.mB-60\@lg\+{margin-bottom:60px !important}.mL-60\@lg\+{margin-left:60px !important}.mY-60\@lg\+{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@lg\+{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@lg\+{margin:-60px !important}.mT-nv-60\@lg\+{margin-top:-60px !important}.mR-nv-60\@lg\+{margin-right:-60px !important}.mB-nv-60\@lg\+{margin-bottom:-60px !important}.mL-nv-60\@lg\+{margin-left:-60px !important}.mY-nv-60\@lg\+{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@lg\+{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (min-width: 992px){.m-60\@md\+{margin:60px !important}.mT-60\@md\+{margin-top:60px !important}.mR-60\@md\+{margin-right:60px !important}.mB-60\@md\+{margin-bottom:60px !important}.mL-60\@md\+{margin-left:60px !important}.mY-60\@md\+{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@md\+{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@md\+{margin:-60px !important}.mT-nv-60\@md\+{margin-top:-60px !important}.mR-nv-60\@md\+{margin-right:-60px !important}.mB-nv-60\@md\+{margin-bottom:-60px !important}.mL-nv-60\@md\+{margin-left:-60px !important}.mY-nv-60\@md\+{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@md\+{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (min-width: 768px){.m-60\@sm\+{margin:60px !important}.mT-60\@sm\+{margin-top:60px !important}.mR-60\@sm\+{margin-right:60px !important}.mB-60\@sm\+{margin-bottom:60px !important}.mL-60\@sm\+{margin-left:60px !important}.mY-60\@sm\+{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@sm\+{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@sm\+{margin:-60px !important}.mT-nv-60\@sm\+{margin-top:-60px !important}.mR-nv-60\@sm\+{margin-right:-60px !important}.mB-nv-60\@sm\+{margin-bottom:-60px !important}.mL-nv-60\@sm\+{margin-left:-60px !important}.mY-nv-60\@sm\+{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@sm\+{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (min-width: 0){.m-60\@xs\+{margin:60px !important}.mT-60\@xs\+{margin-top:60px !important}.mR-60\@xs\+{margin-right:60px !important}.mB-60\@xs\+{margin-bottom:60px !important}.mL-60\@xs\+{margin-left:60px !important}.mY-60\@xs\+{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@xs\+{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@xs\+{margin:-60px !important}.mT-nv-60\@xs\+{margin-top:-60px !important}.mR-nv-60\@xs\+{margin-right:-60px !important}.mB-nv-60\@xs\+{margin-bottom:-60px !important}.mL-nv-60\@xs\+{margin-left:-60px !important}.mY-nv-60\@xs\+{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@xs\+{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (max-width: 1439px){.m-60\@xl-{margin:60px !important}.mT-60\@xl-{margin-top:60px !important}.mR-60\@xl-{margin-right:60px !important}.mB-60\@xl-{margin-bottom:60px !important}.mL-60\@xl-{margin-left:60px !important}.mY-60\@xl-{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@xl-{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@xl-{margin:-60px !important}.mT-nv-60\@xl-{margin-top:-60px !important}.mR-nv-60\@xl-{margin-right:-60px !important}.mB-nv-60\@xl-{margin-bottom:-60px !important}.mL-nv-60\@xl-{margin-left:-60px !important}.mY-nv-60\@xl-{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@xl-{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (max-width: 1199px){.m-60\@lg-{margin:60px !important}.mT-60\@lg-{margin-top:60px !important}.mR-60\@lg-{margin-right:60px !important}.mB-60\@lg-{margin-bottom:60px !important}.mL-60\@lg-{margin-left:60px !important}.mY-60\@lg-{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@lg-{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@lg-{margin:-60px !important}.mT-nv-60\@lg-{margin-top:-60px !important}.mR-nv-60\@lg-{margin-right:-60px !important}.mB-nv-60\@lg-{margin-bottom:-60px !important}.mL-nv-60\@lg-{margin-left:-60px !important}.mY-nv-60\@lg-{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@lg-{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (max-width: 991px){.m-60\@md-{margin:60px !important}.mT-60\@md-{margin-top:60px !important}.mR-60\@md-{margin-right:60px !important}.mB-60\@md-{margin-bottom:60px !important}.mL-60\@md-{margin-left:60px !important}.mY-60\@md-{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@md-{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@md-{margin:-60px !important}.mT-nv-60\@md-{margin-top:-60px !important}.mR-nv-60\@md-{margin-right:-60px !important}.mB-nv-60\@md-{margin-bottom:-60px !important}.mL-nv-60\@md-{margin-left:-60px !important}.mY-nv-60\@md-{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@md-{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (max-width: 767px){.m-60\@sm-{margin:60px !important}.mT-60\@sm-{margin-top:60px !important}.mR-60\@sm-{margin-right:60px !important}.mB-60\@sm-{margin-bottom:60px !important}.mL-60\@sm-{margin-left:60px !important}.mY-60\@sm-{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@sm-{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@sm-{margin:-60px !important}.mT-nv-60\@sm-{margin-top:-60px !important}.mR-nv-60\@sm-{margin-right:-60px !important}.mB-nv-60\@sm-{margin-bottom:-60px !important}.mL-nv-60\@sm-{margin-left:-60px !important}.mY-nv-60\@sm-{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@sm-{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-60\@lg{margin:60px !important}.mT-60\@lg{margin-top:60px !important}.mR-60\@lg{margin-right:60px !important}.mB-60\@lg{margin-bottom:60px !important}.mL-60\@lg{margin-left:60px !important}.mY-60\@lg{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@lg{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@lg{margin:-60px !important}.mT-nv-60\@lg{margin-top:-60px !important}.mR-nv-60\@lg{margin-right:-60px !important}.mB-nv-60\@lg{margin-bottom:-60px !important}.mL-nv-60\@lg{margin-left:-60px !important}.mY-nv-60\@lg{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@lg{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-60\@md{margin:60px !important}.mT-60\@md{margin-top:60px !important}.mR-60\@md{margin-right:60px !important}.mB-60\@md{margin-bottom:60px !important}.mL-60\@md{margin-left:60px !important}.mY-60\@md{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@md{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@md{margin:-60px !important}.mT-nv-60\@md{margin-top:-60px !important}.mR-nv-60\@md{margin-right:-60px !important}.mB-nv-60\@md{margin-bottom:-60px !important}.mL-nv-60\@md{margin-left:-60px !important}.mY-nv-60\@md{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@md{margin-left:-60px !important;margin-right:-60px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-60\@sm{margin:60px !important}.mT-60\@sm{margin-top:60px !important}.mR-60\@sm{margin-right:60px !important}.mB-60\@sm{margin-bottom:60px !important}.mL-60\@sm{margin-left:60px !important}.mY-60\@sm{margin-top:60px !important;margin-bottom:60px !important}.mX-60\@sm{margin-left:60px !important;margin-right:60px !important}.m-nv-60\@sm{margin:-60px !important}.mT-nv-60\@sm{margin-top:-60px !important}.mR-nv-60\@sm{margin-right:-60px !important}.mB-nv-60\@sm{margin-bottom:-60px !important}.mL-nv-60\@sm{margin-left:-60px !important}.mY-nv-60\@sm{margin-top:-60px !important;margin-bottom:-60px !important}.mX-nv-60\@sm{margin-left:-60px !important;margin-right:-60px !important}}.m-70{margin:70px !important}.mT-70{margin-top:70px !important}.mR-70{margin-right:70px !important}.mB-70{margin-bottom:70px !important}.mL-70{margin-left:70px !important}.mY-70{margin-top:70px !important;margin-bottom:70px !important}.mX-70{margin-left:70px !important;margin-right:70px !important}.m-nv-70{margin:-70px !important}.mT-nv-70{margin-top:-70px !important}.mR-nv-70{margin-right:-70px !important}.mB-nv-70{margin-bottom:-70px !important}.mL-nv-70{margin-left:-70px !important}.mY-nv-70{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70{margin-left:-70px !important;margin-right:-70px !important}@media screen and (min-width: 1440px){.m-70\@xl\+{margin:70px !important}.mT-70\@xl\+{margin-top:70px !important}.mR-70\@xl\+{margin-right:70px !important}.mB-70\@xl\+{margin-bottom:70px !important}.mL-70\@xl\+{margin-left:70px !important}.mY-70\@xl\+{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@xl\+{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@xl\+{margin:-70px !important}.mT-nv-70\@xl\+{margin-top:-70px !important}.mR-nv-70\@xl\+{margin-right:-70px !important}.mB-nv-70\@xl\+{margin-bottom:-70px !important}.mL-nv-70\@xl\+{margin-left:-70px !important}.mY-nv-70\@xl\+{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@xl\+{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (min-width: 1200px){.m-70\@lg\+{margin:70px !important}.mT-70\@lg\+{margin-top:70px !important}.mR-70\@lg\+{margin-right:70px !important}.mB-70\@lg\+{margin-bottom:70px !important}.mL-70\@lg\+{margin-left:70px !important}.mY-70\@lg\+{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@lg\+{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@lg\+{margin:-70px !important}.mT-nv-70\@lg\+{margin-top:-70px !important}.mR-nv-70\@lg\+{margin-right:-70px !important}.mB-nv-70\@lg\+{margin-bottom:-70px !important}.mL-nv-70\@lg\+{margin-left:-70px !important}.mY-nv-70\@lg\+{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@lg\+{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (min-width: 992px){.m-70\@md\+{margin:70px !important}.mT-70\@md\+{margin-top:70px !important}.mR-70\@md\+{margin-right:70px !important}.mB-70\@md\+{margin-bottom:70px !important}.mL-70\@md\+{margin-left:70px !important}.mY-70\@md\+{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@md\+{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@md\+{margin:-70px !important}.mT-nv-70\@md\+{margin-top:-70px !important}.mR-nv-70\@md\+{margin-right:-70px !important}.mB-nv-70\@md\+{margin-bottom:-70px !important}.mL-nv-70\@md\+{margin-left:-70px !important}.mY-nv-70\@md\+{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@md\+{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (min-width: 768px){.m-70\@sm\+{margin:70px !important}.mT-70\@sm\+{margin-top:70px !important}.mR-70\@sm\+{margin-right:70px !important}.mB-70\@sm\+{margin-bottom:70px !important}.mL-70\@sm\+{margin-left:70px !important}.mY-70\@sm\+{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@sm\+{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@sm\+{margin:-70px !important}.mT-nv-70\@sm\+{margin-top:-70px !important}.mR-nv-70\@sm\+{margin-right:-70px !important}.mB-nv-70\@sm\+{margin-bottom:-70px !important}.mL-nv-70\@sm\+{margin-left:-70px !important}.mY-nv-70\@sm\+{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@sm\+{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (min-width: 0){.m-70\@xs\+{margin:70px !important}.mT-70\@xs\+{margin-top:70px !important}.mR-70\@xs\+{margin-right:70px !important}.mB-70\@xs\+{margin-bottom:70px !important}.mL-70\@xs\+{margin-left:70px !important}.mY-70\@xs\+{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@xs\+{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@xs\+{margin:-70px !important}.mT-nv-70\@xs\+{margin-top:-70px !important}.mR-nv-70\@xs\+{margin-right:-70px !important}.mB-nv-70\@xs\+{margin-bottom:-70px !important}.mL-nv-70\@xs\+{margin-left:-70px !important}.mY-nv-70\@xs\+{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@xs\+{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (max-width: 1439px){.m-70\@xl-{margin:70px !important}.mT-70\@xl-{margin-top:70px !important}.mR-70\@xl-{margin-right:70px !important}.mB-70\@xl-{margin-bottom:70px !important}.mL-70\@xl-{margin-left:70px !important}.mY-70\@xl-{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@xl-{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@xl-{margin:-70px !important}.mT-nv-70\@xl-{margin-top:-70px !important}.mR-nv-70\@xl-{margin-right:-70px !important}.mB-nv-70\@xl-{margin-bottom:-70px !important}.mL-nv-70\@xl-{margin-left:-70px !important}.mY-nv-70\@xl-{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@xl-{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (max-width: 1199px){.m-70\@lg-{margin:70px !important}.mT-70\@lg-{margin-top:70px !important}.mR-70\@lg-{margin-right:70px !important}.mB-70\@lg-{margin-bottom:70px !important}.mL-70\@lg-{margin-left:70px !important}.mY-70\@lg-{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@lg-{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@lg-{margin:-70px !important}.mT-nv-70\@lg-{margin-top:-70px !important}.mR-nv-70\@lg-{margin-right:-70px !important}.mB-nv-70\@lg-{margin-bottom:-70px !important}.mL-nv-70\@lg-{margin-left:-70px !important}.mY-nv-70\@lg-{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@lg-{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (max-width: 991px){.m-70\@md-{margin:70px !important}.mT-70\@md-{margin-top:70px !important}.mR-70\@md-{margin-right:70px !important}.mB-70\@md-{margin-bottom:70px !important}.mL-70\@md-{margin-left:70px !important}.mY-70\@md-{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@md-{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@md-{margin:-70px !important}.mT-nv-70\@md-{margin-top:-70px !important}.mR-nv-70\@md-{margin-right:-70px !important}.mB-nv-70\@md-{margin-bottom:-70px !important}.mL-nv-70\@md-{margin-left:-70px !important}.mY-nv-70\@md-{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@md-{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (max-width: 767px){.m-70\@sm-{margin:70px !important}.mT-70\@sm-{margin-top:70px !important}.mR-70\@sm-{margin-right:70px !important}.mB-70\@sm-{margin-bottom:70px !important}.mL-70\@sm-{margin-left:70px !important}.mY-70\@sm-{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@sm-{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@sm-{margin:-70px !important}.mT-nv-70\@sm-{margin-top:-70px !important}.mR-nv-70\@sm-{margin-right:-70px !important}.mB-nv-70\@sm-{margin-bottom:-70px !important}.mL-nv-70\@sm-{margin-left:-70px !important}.mY-nv-70\@sm-{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@sm-{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-70\@lg{margin:70px !important}.mT-70\@lg{margin-top:70px !important}.mR-70\@lg{margin-right:70px !important}.mB-70\@lg{margin-bottom:70px !important}.mL-70\@lg{margin-left:70px !important}.mY-70\@lg{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@lg{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@lg{margin:-70px !important}.mT-nv-70\@lg{margin-top:-70px !important}.mR-nv-70\@lg{margin-right:-70px !important}.mB-nv-70\@lg{margin-bottom:-70px !important}.mL-nv-70\@lg{margin-left:-70px !important}.mY-nv-70\@lg{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@lg{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-70\@md{margin:70px !important}.mT-70\@md{margin-top:70px !important}.mR-70\@md{margin-right:70px !important}.mB-70\@md{margin-bottom:70px !important}.mL-70\@md{margin-left:70px !important}.mY-70\@md{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@md{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@md{margin:-70px !important}.mT-nv-70\@md{margin-top:-70px !important}.mR-nv-70\@md{margin-right:-70px !important}.mB-nv-70\@md{margin-bottom:-70px !important}.mL-nv-70\@md{margin-left:-70px !important}.mY-nv-70\@md{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@md{margin-left:-70px !important;margin-right:-70px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-70\@sm{margin:70px !important}.mT-70\@sm{margin-top:70px !important}.mR-70\@sm{margin-right:70px !important}.mB-70\@sm{margin-bottom:70px !important}.mL-70\@sm{margin-left:70px !important}.mY-70\@sm{margin-top:70px !important;margin-bottom:70px !important}.mX-70\@sm{margin-left:70px !important;margin-right:70px !important}.m-nv-70\@sm{margin:-70px !important}.mT-nv-70\@sm{margin-top:-70px !important}.mR-nv-70\@sm{margin-right:-70px !important}.mB-nv-70\@sm{margin-bottom:-70px !important}.mL-nv-70\@sm{margin-left:-70px !important}.mY-nv-70\@sm{margin-top:-70px !important;margin-bottom:-70px !important}.mX-nv-70\@sm{margin-left:-70px !important;margin-right:-70px !important}}.m-80{margin:80px !important}.mT-80{margin-top:80px !important}.mR-80{margin-right:80px !important}.mB-80{margin-bottom:80px !important}.mL-80{margin-left:80px !important}.mY-80{margin-top:80px !important;margin-bottom:80px !important}.mX-80{margin-left:80px !important;margin-right:80px !important}.m-nv-80{margin:-80px !important}.mT-nv-80{margin-top:-80px !important}.mR-nv-80{margin-right:-80px !important}.mB-nv-80{margin-bottom:-80px !important}.mL-nv-80{margin-left:-80px !important}.mY-nv-80{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80{margin-left:-80px !important;margin-right:-80px !important}@media screen and (min-width: 1440px){.m-80\@xl\+{margin:80px !important}.mT-80\@xl\+{margin-top:80px !important}.mR-80\@xl\+{margin-right:80px !important}.mB-80\@xl\+{margin-bottom:80px !important}.mL-80\@xl\+{margin-left:80px !important}.mY-80\@xl\+{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@xl\+{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@xl\+{margin:-80px !important}.mT-nv-80\@xl\+{margin-top:-80px !important}.mR-nv-80\@xl\+{margin-right:-80px !important}.mB-nv-80\@xl\+{margin-bottom:-80px !important}.mL-nv-80\@xl\+{margin-left:-80px !important}.mY-nv-80\@xl\+{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@xl\+{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (min-width: 1200px){.m-80\@lg\+{margin:80px !important}.mT-80\@lg\+{margin-top:80px !important}.mR-80\@lg\+{margin-right:80px !important}.mB-80\@lg\+{margin-bottom:80px !important}.mL-80\@lg\+{margin-left:80px !important}.mY-80\@lg\+{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@lg\+{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@lg\+{margin:-80px !important}.mT-nv-80\@lg\+{margin-top:-80px !important}.mR-nv-80\@lg\+{margin-right:-80px !important}.mB-nv-80\@lg\+{margin-bottom:-80px !important}.mL-nv-80\@lg\+{margin-left:-80px !important}.mY-nv-80\@lg\+{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@lg\+{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (min-width: 992px){.m-80\@md\+{margin:80px !important}.mT-80\@md\+{margin-top:80px !important}.mR-80\@md\+{margin-right:80px !important}.mB-80\@md\+{margin-bottom:80px !important}.mL-80\@md\+{margin-left:80px !important}.mY-80\@md\+{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@md\+{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@md\+{margin:-80px !important}.mT-nv-80\@md\+{margin-top:-80px !important}.mR-nv-80\@md\+{margin-right:-80px !important}.mB-nv-80\@md\+{margin-bottom:-80px !important}.mL-nv-80\@md\+{margin-left:-80px !important}.mY-nv-80\@md\+{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@md\+{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (min-width: 768px){.m-80\@sm\+{margin:80px !important}.mT-80\@sm\+{margin-top:80px !important}.mR-80\@sm\+{margin-right:80px !important}.mB-80\@sm\+{margin-bottom:80px !important}.mL-80\@sm\+{margin-left:80px !important}.mY-80\@sm\+{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@sm\+{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@sm\+{margin:-80px !important}.mT-nv-80\@sm\+{margin-top:-80px !important}.mR-nv-80\@sm\+{margin-right:-80px !important}.mB-nv-80\@sm\+{margin-bottom:-80px !important}.mL-nv-80\@sm\+{margin-left:-80px !important}.mY-nv-80\@sm\+{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@sm\+{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (min-width: 0){.m-80\@xs\+{margin:80px !important}.mT-80\@xs\+{margin-top:80px !important}.mR-80\@xs\+{margin-right:80px !important}.mB-80\@xs\+{margin-bottom:80px !important}.mL-80\@xs\+{margin-left:80px !important}.mY-80\@xs\+{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@xs\+{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@xs\+{margin:-80px !important}.mT-nv-80\@xs\+{margin-top:-80px !important}.mR-nv-80\@xs\+{margin-right:-80px !important}.mB-nv-80\@xs\+{margin-bottom:-80px !important}.mL-nv-80\@xs\+{margin-left:-80px !important}.mY-nv-80\@xs\+{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@xs\+{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (max-width: 1439px){.m-80\@xl-{margin:80px !important}.mT-80\@xl-{margin-top:80px !important}.mR-80\@xl-{margin-right:80px !important}.mB-80\@xl-{margin-bottom:80px !important}.mL-80\@xl-{margin-left:80px !important}.mY-80\@xl-{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@xl-{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@xl-{margin:-80px !important}.mT-nv-80\@xl-{margin-top:-80px !important}.mR-nv-80\@xl-{margin-right:-80px !important}.mB-nv-80\@xl-{margin-bottom:-80px !important}.mL-nv-80\@xl-{margin-left:-80px !important}.mY-nv-80\@xl-{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@xl-{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (max-width: 1199px){.m-80\@lg-{margin:80px !important}.mT-80\@lg-{margin-top:80px !important}.mR-80\@lg-{margin-right:80px !important}.mB-80\@lg-{margin-bottom:80px !important}.mL-80\@lg-{margin-left:80px !important}.mY-80\@lg-{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@lg-{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@lg-{margin:-80px !important}.mT-nv-80\@lg-{margin-top:-80px !important}.mR-nv-80\@lg-{margin-right:-80px !important}.mB-nv-80\@lg-{margin-bottom:-80px !important}.mL-nv-80\@lg-{margin-left:-80px !important}.mY-nv-80\@lg-{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@lg-{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (max-width: 991px){.m-80\@md-{margin:80px !important}.mT-80\@md-{margin-top:80px !important}.mR-80\@md-{margin-right:80px !important}.mB-80\@md-{margin-bottom:80px !important}.mL-80\@md-{margin-left:80px !important}.mY-80\@md-{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@md-{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@md-{margin:-80px !important}.mT-nv-80\@md-{margin-top:-80px !important}.mR-nv-80\@md-{margin-right:-80px !important}.mB-nv-80\@md-{margin-bottom:-80px !important}.mL-nv-80\@md-{margin-left:-80px !important}.mY-nv-80\@md-{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@md-{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (max-width: 767px){.m-80\@sm-{margin:80px !important}.mT-80\@sm-{margin-top:80px !important}.mR-80\@sm-{margin-right:80px !important}.mB-80\@sm-{margin-bottom:80px !important}.mL-80\@sm-{margin-left:80px !important}.mY-80\@sm-{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@sm-{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@sm-{margin:-80px !important}.mT-nv-80\@sm-{margin-top:-80px !important}.mR-nv-80\@sm-{margin-right:-80px !important}.mB-nv-80\@sm-{margin-bottom:-80px !important}.mL-nv-80\@sm-{margin-left:-80px !important}.mY-nv-80\@sm-{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@sm-{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-80\@lg{margin:80px !important}.mT-80\@lg{margin-top:80px !important}.mR-80\@lg{margin-right:80px !important}.mB-80\@lg{margin-bottom:80px !important}.mL-80\@lg{margin-left:80px !important}.mY-80\@lg{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@lg{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@lg{margin:-80px !important}.mT-nv-80\@lg{margin-top:-80px !important}.mR-nv-80\@lg{margin-right:-80px !important}.mB-nv-80\@lg{margin-bottom:-80px !important}.mL-nv-80\@lg{margin-left:-80px !important}.mY-nv-80\@lg{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@lg{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-80\@md{margin:80px !important}.mT-80\@md{margin-top:80px !important}.mR-80\@md{margin-right:80px !important}.mB-80\@md{margin-bottom:80px !important}.mL-80\@md{margin-left:80px !important}.mY-80\@md{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@md{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@md{margin:-80px !important}.mT-nv-80\@md{margin-top:-80px !important}.mR-nv-80\@md{margin-right:-80px !important}.mB-nv-80\@md{margin-bottom:-80px !important}.mL-nv-80\@md{margin-left:-80px !important}.mY-nv-80\@md{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@md{margin-left:-80px !important;margin-right:-80px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-80\@sm{margin:80px !important}.mT-80\@sm{margin-top:80px !important}.mR-80\@sm{margin-right:80px !important}.mB-80\@sm{margin-bottom:80px !important}.mL-80\@sm{margin-left:80px !important}.mY-80\@sm{margin-top:80px !important;margin-bottom:80px !important}.mX-80\@sm{margin-left:80px !important;margin-right:80px !important}.m-nv-80\@sm{margin:-80px !important}.mT-nv-80\@sm{margin-top:-80px !important}.mR-nv-80\@sm{margin-right:-80px !important}.mB-nv-80\@sm{margin-bottom:-80px !important}.mL-nv-80\@sm{margin-left:-80px !important}.mY-nv-80\@sm{margin-top:-80px !important;margin-bottom:-80px !important}.mX-nv-80\@sm{margin-left:-80px !important;margin-right:-80px !important}}.m-90{margin:90px !important}.mT-90{margin-top:90px !important}.mR-90{margin-right:90px !important}.mB-90{margin-bottom:90px !important}.mL-90{margin-left:90px !important}.mY-90{margin-top:90px !important;margin-bottom:90px !important}.mX-90{margin-left:90px !important;margin-right:90px !important}.m-nv-90{margin:-90px !important}.mT-nv-90{margin-top:-90px !important}.mR-nv-90{margin-right:-90px !important}.mB-nv-90{margin-bottom:-90px !important}.mL-nv-90{margin-left:-90px !important}.mY-nv-90{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90{margin-left:-90px !important;margin-right:-90px !important}@media screen and (min-width: 1440px){.m-90\@xl\+{margin:90px !important}.mT-90\@xl\+{margin-top:90px !important}.mR-90\@xl\+{margin-right:90px !important}.mB-90\@xl\+{margin-bottom:90px !important}.mL-90\@xl\+{margin-left:90px !important}.mY-90\@xl\+{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@xl\+{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@xl\+{margin:-90px !important}.mT-nv-90\@xl\+{margin-top:-90px !important}.mR-nv-90\@xl\+{margin-right:-90px !important}.mB-nv-90\@xl\+{margin-bottom:-90px !important}.mL-nv-90\@xl\+{margin-left:-90px !important}.mY-nv-90\@xl\+{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@xl\+{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (min-width: 1200px){.m-90\@lg\+{margin:90px !important}.mT-90\@lg\+{margin-top:90px !important}.mR-90\@lg\+{margin-right:90px !important}.mB-90\@lg\+{margin-bottom:90px !important}.mL-90\@lg\+{margin-left:90px !important}.mY-90\@lg\+{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@lg\+{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@lg\+{margin:-90px !important}.mT-nv-90\@lg\+{margin-top:-90px !important}.mR-nv-90\@lg\+{margin-right:-90px !important}.mB-nv-90\@lg\+{margin-bottom:-90px !important}.mL-nv-90\@lg\+{margin-left:-90px !important}.mY-nv-90\@lg\+{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@lg\+{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (min-width: 992px){.m-90\@md\+{margin:90px !important}.mT-90\@md\+{margin-top:90px !important}.mR-90\@md\+{margin-right:90px !important}.mB-90\@md\+{margin-bottom:90px !important}.mL-90\@md\+{margin-left:90px !important}.mY-90\@md\+{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@md\+{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@md\+{margin:-90px !important}.mT-nv-90\@md\+{margin-top:-90px !important}.mR-nv-90\@md\+{margin-right:-90px !important}.mB-nv-90\@md\+{margin-bottom:-90px !important}.mL-nv-90\@md\+{margin-left:-90px !important}.mY-nv-90\@md\+{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@md\+{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (min-width: 768px){.m-90\@sm\+{margin:90px !important}.mT-90\@sm\+{margin-top:90px !important}.mR-90\@sm\+{margin-right:90px !important}.mB-90\@sm\+{margin-bottom:90px !important}.mL-90\@sm\+{margin-left:90px !important}.mY-90\@sm\+{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@sm\+{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@sm\+{margin:-90px !important}.mT-nv-90\@sm\+{margin-top:-90px !important}.mR-nv-90\@sm\+{margin-right:-90px !important}.mB-nv-90\@sm\+{margin-bottom:-90px !important}.mL-nv-90\@sm\+{margin-left:-90px !important}.mY-nv-90\@sm\+{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@sm\+{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (min-width: 0){.m-90\@xs\+{margin:90px !important}.mT-90\@xs\+{margin-top:90px !important}.mR-90\@xs\+{margin-right:90px !important}.mB-90\@xs\+{margin-bottom:90px !important}.mL-90\@xs\+{margin-left:90px !important}.mY-90\@xs\+{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@xs\+{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@xs\+{margin:-90px !important}.mT-nv-90\@xs\+{margin-top:-90px !important}.mR-nv-90\@xs\+{margin-right:-90px !important}.mB-nv-90\@xs\+{margin-bottom:-90px !important}.mL-nv-90\@xs\+{margin-left:-90px !important}.mY-nv-90\@xs\+{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@xs\+{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (max-width: 1439px){.m-90\@xl-{margin:90px !important}.mT-90\@xl-{margin-top:90px !important}.mR-90\@xl-{margin-right:90px !important}.mB-90\@xl-{margin-bottom:90px !important}.mL-90\@xl-{margin-left:90px !important}.mY-90\@xl-{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@xl-{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@xl-{margin:-90px !important}.mT-nv-90\@xl-{margin-top:-90px !important}.mR-nv-90\@xl-{margin-right:-90px !important}.mB-nv-90\@xl-{margin-bottom:-90px !important}.mL-nv-90\@xl-{margin-left:-90px !important}.mY-nv-90\@xl-{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@xl-{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (max-width: 1199px){.m-90\@lg-{margin:90px !important}.mT-90\@lg-{margin-top:90px !important}.mR-90\@lg-{margin-right:90px !important}.mB-90\@lg-{margin-bottom:90px !important}.mL-90\@lg-{margin-left:90px !important}.mY-90\@lg-{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@lg-{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@lg-{margin:-90px !important}.mT-nv-90\@lg-{margin-top:-90px !important}.mR-nv-90\@lg-{margin-right:-90px !important}.mB-nv-90\@lg-{margin-bottom:-90px !important}.mL-nv-90\@lg-{margin-left:-90px !important}.mY-nv-90\@lg-{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@lg-{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (max-width: 991px){.m-90\@md-{margin:90px !important}.mT-90\@md-{margin-top:90px !important}.mR-90\@md-{margin-right:90px !important}.mB-90\@md-{margin-bottom:90px !important}.mL-90\@md-{margin-left:90px !important}.mY-90\@md-{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@md-{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@md-{margin:-90px !important}.mT-nv-90\@md-{margin-top:-90px !important}.mR-nv-90\@md-{margin-right:-90px !important}.mB-nv-90\@md-{margin-bottom:-90px !important}.mL-nv-90\@md-{margin-left:-90px !important}.mY-nv-90\@md-{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@md-{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (max-width: 767px){.m-90\@sm-{margin:90px !important}.mT-90\@sm-{margin-top:90px !important}.mR-90\@sm-{margin-right:90px !important}.mB-90\@sm-{margin-bottom:90px !important}.mL-90\@sm-{margin-left:90px !important}.mY-90\@sm-{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@sm-{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@sm-{margin:-90px !important}.mT-nv-90\@sm-{margin-top:-90px !important}.mR-nv-90\@sm-{margin-right:-90px !important}.mB-nv-90\@sm-{margin-bottom:-90px !important}.mL-nv-90\@sm-{margin-left:-90px !important}.mY-nv-90\@sm-{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@sm-{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-90\@lg{margin:90px !important}.mT-90\@lg{margin-top:90px !important}.mR-90\@lg{margin-right:90px !important}.mB-90\@lg{margin-bottom:90px !important}.mL-90\@lg{margin-left:90px !important}.mY-90\@lg{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@lg{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@lg{margin:-90px !important}.mT-nv-90\@lg{margin-top:-90px !important}.mR-nv-90\@lg{margin-right:-90px !important}.mB-nv-90\@lg{margin-bottom:-90px !important}.mL-nv-90\@lg{margin-left:-90px !important}.mY-nv-90\@lg{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@lg{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-90\@md{margin:90px !important}.mT-90\@md{margin-top:90px !important}.mR-90\@md{margin-right:90px !important}.mB-90\@md{margin-bottom:90px !important}.mL-90\@md{margin-left:90px !important}.mY-90\@md{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@md{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@md{margin:-90px !important}.mT-nv-90\@md{margin-top:-90px !important}.mR-nv-90\@md{margin-right:-90px !important}.mB-nv-90\@md{margin-bottom:-90px !important}.mL-nv-90\@md{margin-left:-90px !important}.mY-nv-90\@md{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@md{margin-left:-90px !important;margin-right:-90px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-90\@sm{margin:90px !important}.mT-90\@sm{margin-top:90px !important}.mR-90\@sm{margin-right:90px !important}.mB-90\@sm{margin-bottom:90px !important}.mL-90\@sm{margin-left:90px !important}.mY-90\@sm{margin-top:90px !important;margin-bottom:90px !important}.mX-90\@sm{margin-left:90px !important;margin-right:90px !important}.m-nv-90\@sm{margin:-90px !important}.mT-nv-90\@sm{margin-top:-90px !important}.mR-nv-90\@sm{margin-right:-90px !important}.mB-nv-90\@sm{margin-bottom:-90px !important}.mL-nv-90\@sm{margin-left:-90px !important}.mY-nv-90\@sm{margin-top:-90px !important;margin-bottom:-90px !important}.mX-nv-90\@sm{margin-left:-90px !important;margin-right:-90px !important}}.m-100{margin:100px !important}.mT-100{margin-top:100px !important}.mR-100{margin-right:100px !important}.mB-100{margin-bottom:100px !important}.mL-100{margin-left:100px !important}.mY-100{margin-top:100px !important;margin-bottom:100px !important}.mX-100{margin-left:100px !important;margin-right:100px !important}.m-nv-100{margin:-100px !important}.mT-nv-100{margin-top:-100px !important}.mR-nv-100{margin-right:-100px !important}.mB-nv-100{margin-bottom:-100px !important}.mL-nv-100{margin-left:-100px !important}.mY-nv-100{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100{margin-left:-100px !important;margin-right:-100px !important}@media screen and (min-width: 1440px){.m-100\@xl\+{margin:100px !important}.mT-100\@xl\+{margin-top:100px !important}.mR-100\@xl\+{margin-right:100px !important}.mB-100\@xl\+{margin-bottom:100px !important}.mL-100\@xl\+{margin-left:100px !important}.mY-100\@xl\+{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@xl\+{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@xl\+{margin:-100px !important}.mT-nv-100\@xl\+{margin-top:-100px !important}.mR-nv-100\@xl\+{margin-right:-100px !important}.mB-nv-100\@xl\+{margin-bottom:-100px !important}.mL-nv-100\@xl\+{margin-left:-100px !important}.mY-nv-100\@xl\+{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@xl\+{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (min-width: 1200px){.m-100\@lg\+{margin:100px !important}.mT-100\@lg\+{margin-top:100px !important}.mR-100\@lg\+{margin-right:100px !important}.mB-100\@lg\+{margin-bottom:100px !important}.mL-100\@lg\+{margin-left:100px !important}.mY-100\@lg\+{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@lg\+{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@lg\+{margin:-100px !important}.mT-nv-100\@lg\+{margin-top:-100px !important}.mR-nv-100\@lg\+{margin-right:-100px !important}.mB-nv-100\@lg\+{margin-bottom:-100px !important}.mL-nv-100\@lg\+{margin-left:-100px !important}.mY-nv-100\@lg\+{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@lg\+{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (min-width: 992px){.m-100\@md\+{margin:100px !important}.mT-100\@md\+{margin-top:100px !important}.mR-100\@md\+{margin-right:100px !important}.mB-100\@md\+{margin-bottom:100px !important}.mL-100\@md\+{margin-left:100px !important}.mY-100\@md\+{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@md\+{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@md\+{margin:-100px !important}.mT-nv-100\@md\+{margin-top:-100px !important}.mR-nv-100\@md\+{margin-right:-100px !important}.mB-nv-100\@md\+{margin-bottom:-100px !important}.mL-nv-100\@md\+{margin-left:-100px !important}.mY-nv-100\@md\+{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@md\+{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (min-width: 768px){.m-100\@sm\+{margin:100px !important}.mT-100\@sm\+{margin-top:100px !important}.mR-100\@sm\+{margin-right:100px !important}.mB-100\@sm\+{margin-bottom:100px !important}.mL-100\@sm\+{margin-left:100px !important}.mY-100\@sm\+{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@sm\+{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@sm\+{margin:-100px !important}.mT-nv-100\@sm\+{margin-top:-100px !important}.mR-nv-100\@sm\+{margin-right:-100px !important}.mB-nv-100\@sm\+{margin-bottom:-100px !important}.mL-nv-100\@sm\+{margin-left:-100px !important}.mY-nv-100\@sm\+{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@sm\+{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (min-width: 0){.m-100\@xs\+{margin:100px !important}.mT-100\@xs\+{margin-top:100px !important}.mR-100\@xs\+{margin-right:100px !important}.mB-100\@xs\+{margin-bottom:100px !important}.mL-100\@xs\+{margin-left:100px !important}.mY-100\@xs\+{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@xs\+{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@xs\+{margin:-100px !important}.mT-nv-100\@xs\+{margin-top:-100px !important}.mR-nv-100\@xs\+{margin-right:-100px !important}.mB-nv-100\@xs\+{margin-bottom:-100px !important}.mL-nv-100\@xs\+{margin-left:-100px !important}.mY-nv-100\@xs\+{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@xs\+{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (max-width: 1439px){.m-100\@xl-{margin:100px !important}.mT-100\@xl-{margin-top:100px !important}.mR-100\@xl-{margin-right:100px !important}.mB-100\@xl-{margin-bottom:100px !important}.mL-100\@xl-{margin-left:100px !important}.mY-100\@xl-{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@xl-{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@xl-{margin:-100px !important}.mT-nv-100\@xl-{margin-top:-100px !important}.mR-nv-100\@xl-{margin-right:-100px !important}.mB-nv-100\@xl-{margin-bottom:-100px !important}.mL-nv-100\@xl-{margin-left:-100px !important}.mY-nv-100\@xl-{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@xl-{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (max-width: 1199px){.m-100\@lg-{margin:100px !important}.mT-100\@lg-{margin-top:100px !important}.mR-100\@lg-{margin-right:100px !important}.mB-100\@lg-{margin-bottom:100px !important}.mL-100\@lg-{margin-left:100px !important}.mY-100\@lg-{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@lg-{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@lg-{margin:-100px !important}.mT-nv-100\@lg-{margin-top:-100px !important}.mR-nv-100\@lg-{margin-right:-100px !important}.mB-nv-100\@lg-{margin-bottom:-100px !important}.mL-nv-100\@lg-{margin-left:-100px !important}.mY-nv-100\@lg-{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@lg-{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (max-width: 991px){.m-100\@md-{margin:100px !important}.mT-100\@md-{margin-top:100px !important}.mR-100\@md-{margin-right:100px !important}.mB-100\@md-{margin-bottom:100px !important}.mL-100\@md-{margin-left:100px !important}.mY-100\@md-{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@md-{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@md-{margin:-100px !important}.mT-nv-100\@md-{margin-top:-100px !important}.mR-nv-100\@md-{margin-right:-100px !important}.mB-nv-100\@md-{margin-bottom:-100px !important}.mL-nv-100\@md-{margin-left:-100px !important}.mY-nv-100\@md-{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@md-{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (max-width: 767px){.m-100\@sm-{margin:100px !important}.mT-100\@sm-{margin-top:100px !important}.mR-100\@sm-{margin-right:100px !important}.mB-100\@sm-{margin-bottom:100px !important}.mL-100\@sm-{margin-left:100px !important}.mY-100\@sm-{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@sm-{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@sm-{margin:-100px !important}.mT-nv-100\@sm-{margin-top:-100px !important}.mR-nv-100\@sm-{margin-right:-100px !important}.mB-nv-100\@sm-{margin-bottom:-100px !important}.mL-nv-100\@sm-{margin-left:-100px !important}.mY-nv-100\@sm-{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@sm-{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-100\@lg{margin:100px !important}.mT-100\@lg{margin-top:100px !important}.mR-100\@lg{margin-right:100px !important}.mB-100\@lg{margin-bottom:100px !important}.mL-100\@lg{margin-left:100px !important}.mY-100\@lg{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@lg{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@lg{margin:-100px !important}.mT-nv-100\@lg{margin-top:-100px !important}.mR-nv-100\@lg{margin-right:-100px !important}.mB-nv-100\@lg{margin-bottom:-100px !important}.mL-nv-100\@lg{margin-left:-100px !important}.mY-nv-100\@lg{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@lg{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-100\@md{margin:100px !important}.mT-100\@md{margin-top:100px !important}.mR-100\@md{margin-right:100px !important}.mB-100\@md{margin-bottom:100px !important}.mL-100\@md{margin-left:100px !important}.mY-100\@md{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@md{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@md{margin:-100px !important}.mT-nv-100\@md{margin-top:-100px !important}.mR-nv-100\@md{margin-right:-100px !important}.mB-nv-100\@md{margin-bottom:-100px !important}.mL-nv-100\@md{margin-left:-100px !important}.mY-nv-100\@md{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@md{margin-left:-100px !important;margin-right:-100px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-100\@sm{margin:100px !important}.mT-100\@sm{margin-top:100px !important}.mR-100\@sm{margin-right:100px !important}.mB-100\@sm{margin-bottom:100px !important}.mL-100\@sm{margin-left:100px !important}.mY-100\@sm{margin-top:100px !important;margin-bottom:100px !important}.mX-100\@sm{margin-left:100px !important;margin-right:100px !important}.m-nv-100\@sm{margin:-100px !important}.mT-nv-100\@sm{margin-top:-100px !important}.mR-nv-100\@sm{margin-right:-100px !important}.mB-nv-100\@sm{margin-bottom:-100px !important}.mL-nv-100\@sm{margin-left:-100px !important}.mY-nv-100\@sm{margin-top:-100px !important;margin-bottom:-100px !important}.mX-nv-100\@sm{margin-left:-100px !important;margin-right:-100px !important}}.m-110{margin:110px !important}.mT-110{margin-top:110px !important}.mR-110{margin-right:110px !important}.mB-110{margin-bottom:110px !important}.mL-110{margin-left:110px !important}.mY-110{margin-top:110px !important;margin-bottom:110px !important}.mX-110{margin-left:110px !important;margin-right:110px !important}.m-nv-110{margin:-110px !important}.mT-nv-110{margin-top:-110px !important}.mR-nv-110{margin-right:-110px !important}.mB-nv-110{margin-bottom:-110px !important}.mL-nv-110{margin-left:-110px !important}.mY-nv-110{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110{margin-left:-110px !important;margin-right:-110px !important}@media screen and (min-width: 1440px){.m-110\@xl\+{margin:110px !important}.mT-110\@xl\+{margin-top:110px !important}.mR-110\@xl\+{margin-right:110px !important}.mB-110\@xl\+{margin-bottom:110px !important}.mL-110\@xl\+{margin-left:110px !important}.mY-110\@xl\+{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@xl\+{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@xl\+{margin:-110px !important}.mT-nv-110\@xl\+{margin-top:-110px !important}.mR-nv-110\@xl\+{margin-right:-110px !important}.mB-nv-110\@xl\+{margin-bottom:-110px !important}.mL-nv-110\@xl\+{margin-left:-110px !important}.mY-nv-110\@xl\+{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@xl\+{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (min-width: 1200px){.m-110\@lg\+{margin:110px !important}.mT-110\@lg\+{margin-top:110px !important}.mR-110\@lg\+{margin-right:110px !important}.mB-110\@lg\+{margin-bottom:110px !important}.mL-110\@lg\+{margin-left:110px !important}.mY-110\@lg\+{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@lg\+{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@lg\+{margin:-110px !important}.mT-nv-110\@lg\+{margin-top:-110px !important}.mR-nv-110\@lg\+{margin-right:-110px !important}.mB-nv-110\@lg\+{margin-bottom:-110px !important}.mL-nv-110\@lg\+{margin-left:-110px !important}.mY-nv-110\@lg\+{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@lg\+{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (min-width: 992px){.m-110\@md\+{margin:110px !important}.mT-110\@md\+{margin-top:110px !important}.mR-110\@md\+{margin-right:110px !important}.mB-110\@md\+{margin-bottom:110px !important}.mL-110\@md\+{margin-left:110px !important}.mY-110\@md\+{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@md\+{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@md\+{margin:-110px !important}.mT-nv-110\@md\+{margin-top:-110px !important}.mR-nv-110\@md\+{margin-right:-110px !important}.mB-nv-110\@md\+{margin-bottom:-110px !important}.mL-nv-110\@md\+{margin-left:-110px !important}.mY-nv-110\@md\+{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@md\+{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (min-width: 768px){.m-110\@sm\+{margin:110px !important}.mT-110\@sm\+{margin-top:110px !important}.mR-110\@sm\+{margin-right:110px !important}.mB-110\@sm\+{margin-bottom:110px !important}.mL-110\@sm\+{margin-left:110px !important}.mY-110\@sm\+{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@sm\+{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@sm\+{margin:-110px !important}.mT-nv-110\@sm\+{margin-top:-110px !important}.mR-nv-110\@sm\+{margin-right:-110px !important}.mB-nv-110\@sm\+{margin-bottom:-110px !important}.mL-nv-110\@sm\+{margin-left:-110px !important}.mY-nv-110\@sm\+{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@sm\+{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (min-width: 0){.m-110\@xs\+{margin:110px !important}.mT-110\@xs\+{margin-top:110px !important}.mR-110\@xs\+{margin-right:110px !important}.mB-110\@xs\+{margin-bottom:110px !important}.mL-110\@xs\+{margin-left:110px !important}.mY-110\@xs\+{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@xs\+{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@xs\+{margin:-110px !important}.mT-nv-110\@xs\+{margin-top:-110px !important}.mR-nv-110\@xs\+{margin-right:-110px !important}.mB-nv-110\@xs\+{margin-bottom:-110px !important}.mL-nv-110\@xs\+{margin-left:-110px !important}.mY-nv-110\@xs\+{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@xs\+{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (max-width: 1439px){.m-110\@xl-{margin:110px !important}.mT-110\@xl-{margin-top:110px !important}.mR-110\@xl-{margin-right:110px !important}.mB-110\@xl-{margin-bottom:110px !important}.mL-110\@xl-{margin-left:110px !important}.mY-110\@xl-{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@xl-{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@xl-{margin:-110px !important}.mT-nv-110\@xl-{margin-top:-110px !important}.mR-nv-110\@xl-{margin-right:-110px !important}.mB-nv-110\@xl-{margin-bottom:-110px !important}.mL-nv-110\@xl-{margin-left:-110px !important}.mY-nv-110\@xl-{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@xl-{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (max-width: 1199px){.m-110\@lg-{margin:110px !important}.mT-110\@lg-{margin-top:110px !important}.mR-110\@lg-{margin-right:110px !important}.mB-110\@lg-{margin-bottom:110px !important}.mL-110\@lg-{margin-left:110px !important}.mY-110\@lg-{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@lg-{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@lg-{margin:-110px !important}.mT-nv-110\@lg-{margin-top:-110px !important}.mR-nv-110\@lg-{margin-right:-110px !important}.mB-nv-110\@lg-{margin-bottom:-110px !important}.mL-nv-110\@lg-{margin-left:-110px !important}.mY-nv-110\@lg-{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@lg-{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (max-width: 991px){.m-110\@md-{margin:110px !important}.mT-110\@md-{margin-top:110px !important}.mR-110\@md-{margin-right:110px !important}.mB-110\@md-{margin-bottom:110px !important}.mL-110\@md-{margin-left:110px !important}.mY-110\@md-{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@md-{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@md-{margin:-110px !important}.mT-nv-110\@md-{margin-top:-110px !important}.mR-nv-110\@md-{margin-right:-110px !important}.mB-nv-110\@md-{margin-bottom:-110px !important}.mL-nv-110\@md-{margin-left:-110px !important}.mY-nv-110\@md-{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@md-{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (max-width: 767px){.m-110\@sm-{margin:110px !important}.mT-110\@sm-{margin-top:110px !important}.mR-110\@sm-{margin-right:110px !important}.mB-110\@sm-{margin-bottom:110px !important}.mL-110\@sm-{margin-left:110px !important}.mY-110\@sm-{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@sm-{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@sm-{margin:-110px !important}.mT-nv-110\@sm-{margin-top:-110px !important}.mR-nv-110\@sm-{margin-right:-110px !important}.mB-nv-110\@sm-{margin-bottom:-110px !important}.mL-nv-110\@sm-{margin-left:-110px !important}.mY-nv-110\@sm-{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@sm-{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-110\@lg{margin:110px !important}.mT-110\@lg{margin-top:110px !important}.mR-110\@lg{margin-right:110px !important}.mB-110\@lg{margin-bottom:110px !important}.mL-110\@lg{margin-left:110px !important}.mY-110\@lg{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@lg{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@lg{margin:-110px !important}.mT-nv-110\@lg{margin-top:-110px !important}.mR-nv-110\@lg{margin-right:-110px !important}.mB-nv-110\@lg{margin-bottom:-110px !important}.mL-nv-110\@lg{margin-left:-110px !important}.mY-nv-110\@lg{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@lg{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-110\@md{margin:110px !important}.mT-110\@md{margin-top:110px !important}.mR-110\@md{margin-right:110px !important}.mB-110\@md{margin-bottom:110px !important}.mL-110\@md{margin-left:110px !important}.mY-110\@md{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@md{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@md{margin:-110px !important}.mT-nv-110\@md{margin-top:-110px !important}.mR-nv-110\@md{margin-right:-110px !important}.mB-nv-110\@md{margin-bottom:-110px !important}.mL-nv-110\@md{margin-left:-110px !important}.mY-nv-110\@md{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@md{margin-left:-110px !important;margin-right:-110px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-110\@sm{margin:110px !important}.mT-110\@sm{margin-top:110px !important}.mR-110\@sm{margin-right:110px !important}.mB-110\@sm{margin-bottom:110px !important}.mL-110\@sm{margin-left:110px !important}.mY-110\@sm{margin-top:110px !important;margin-bottom:110px !important}.mX-110\@sm{margin-left:110px !important;margin-right:110px !important}.m-nv-110\@sm{margin:-110px !important}.mT-nv-110\@sm{margin-top:-110px !important}.mR-nv-110\@sm{margin-right:-110px !important}.mB-nv-110\@sm{margin-bottom:-110px !important}.mL-nv-110\@sm{margin-left:-110px !important}.mY-nv-110\@sm{margin-top:-110px !important;margin-bottom:-110px !important}.mX-nv-110\@sm{margin-left:-110px !important;margin-right:-110px !important}}.m-120{margin:120px !important}.mT-120{margin-top:120px !important}.mR-120{margin-right:120px !important}.mB-120{margin-bottom:120px !important}.mL-120{margin-left:120px !important}.mY-120{margin-top:120px !important;margin-bottom:120px !important}.mX-120{margin-left:120px !important;margin-right:120px !important}.m-nv-120{margin:-120px !important}.mT-nv-120{margin-top:-120px !important}.mR-nv-120{margin-right:-120px !important}.mB-nv-120{margin-bottom:-120px !important}.mL-nv-120{margin-left:-120px !important}.mY-nv-120{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120{margin-left:-120px !important;margin-right:-120px !important}@media screen and (min-width: 1440px){.m-120\@xl\+{margin:120px !important}.mT-120\@xl\+{margin-top:120px !important}.mR-120\@xl\+{margin-right:120px !important}.mB-120\@xl\+{margin-bottom:120px !important}.mL-120\@xl\+{margin-left:120px !important}.mY-120\@xl\+{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@xl\+{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@xl\+{margin:-120px !important}.mT-nv-120\@xl\+{margin-top:-120px !important}.mR-nv-120\@xl\+{margin-right:-120px !important}.mB-nv-120\@xl\+{margin-bottom:-120px !important}.mL-nv-120\@xl\+{margin-left:-120px !important}.mY-nv-120\@xl\+{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@xl\+{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (min-width: 1200px){.m-120\@lg\+{margin:120px !important}.mT-120\@lg\+{margin-top:120px !important}.mR-120\@lg\+{margin-right:120px !important}.mB-120\@lg\+{margin-bottom:120px !important}.mL-120\@lg\+{margin-left:120px !important}.mY-120\@lg\+{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@lg\+{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@lg\+{margin:-120px !important}.mT-nv-120\@lg\+{margin-top:-120px !important}.mR-nv-120\@lg\+{margin-right:-120px !important}.mB-nv-120\@lg\+{margin-bottom:-120px !important}.mL-nv-120\@lg\+{margin-left:-120px !important}.mY-nv-120\@lg\+{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@lg\+{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (min-width: 992px){.m-120\@md\+{margin:120px !important}.mT-120\@md\+{margin-top:120px !important}.mR-120\@md\+{margin-right:120px !important}.mB-120\@md\+{margin-bottom:120px !important}.mL-120\@md\+{margin-left:120px !important}.mY-120\@md\+{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@md\+{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@md\+{margin:-120px !important}.mT-nv-120\@md\+{margin-top:-120px !important}.mR-nv-120\@md\+{margin-right:-120px !important}.mB-nv-120\@md\+{margin-bottom:-120px !important}.mL-nv-120\@md\+{margin-left:-120px !important}.mY-nv-120\@md\+{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@md\+{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (min-width: 768px){.m-120\@sm\+{margin:120px !important}.mT-120\@sm\+{margin-top:120px !important}.mR-120\@sm\+{margin-right:120px !important}.mB-120\@sm\+{margin-bottom:120px !important}.mL-120\@sm\+{margin-left:120px !important}.mY-120\@sm\+{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@sm\+{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@sm\+{margin:-120px !important}.mT-nv-120\@sm\+{margin-top:-120px !important}.mR-nv-120\@sm\+{margin-right:-120px !important}.mB-nv-120\@sm\+{margin-bottom:-120px !important}.mL-nv-120\@sm\+{margin-left:-120px !important}.mY-nv-120\@sm\+{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@sm\+{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (min-width: 0){.m-120\@xs\+{margin:120px !important}.mT-120\@xs\+{margin-top:120px !important}.mR-120\@xs\+{margin-right:120px !important}.mB-120\@xs\+{margin-bottom:120px !important}.mL-120\@xs\+{margin-left:120px !important}.mY-120\@xs\+{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@xs\+{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@xs\+{margin:-120px !important}.mT-nv-120\@xs\+{margin-top:-120px !important}.mR-nv-120\@xs\+{margin-right:-120px !important}.mB-nv-120\@xs\+{margin-bottom:-120px !important}.mL-nv-120\@xs\+{margin-left:-120px !important}.mY-nv-120\@xs\+{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@xs\+{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (max-width: 1439px){.m-120\@xl-{margin:120px !important}.mT-120\@xl-{margin-top:120px !important}.mR-120\@xl-{margin-right:120px !important}.mB-120\@xl-{margin-bottom:120px !important}.mL-120\@xl-{margin-left:120px !important}.mY-120\@xl-{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@xl-{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@xl-{margin:-120px !important}.mT-nv-120\@xl-{margin-top:-120px !important}.mR-nv-120\@xl-{margin-right:-120px !important}.mB-nv-120\@xl-{margin-bottom:-120px !important}.mL-nv-120\@xl-{margin-left:-120px !important}.mY-nv-120\@xl-{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@xl-{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (max-width: 1199px){.m-120\@lg-{margin:120px !important}.mT-120\@lg-{margin-top:120px !important}.mR-120\@lg-{margin-right:120px !important}.mB-120\@lg-{margin-bottom:120px !important}.mL-120\@lg-{margin-left:120px !important}.mY-120\@lg-{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@lg-{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@lg-{margin:-120px !important}.mT-nv-120\@lg-{margin-top:-120px !important}.mR-nv-120\@lg-{margin-right:-120px !important}.mB-nv-120\@lg-{margin-bottom:-120px !important}.mL-nv-120\@lg-{margin-left:-120px !important}.mY-nv-120\@lg-{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@lg-{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (max-width: 991px){.m-120\@md-{margin:120px !important}.mT-120\@md-{margin-top:120px !important}.mR-120\@md-{margin-right:120px !important}.mB-120\@md-{margin-bottom:120px !important}.mL-120\@md-{margin-left:120px !important}.mY-120\@md-{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@md-{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@md-{margin:-120px !important}.mT-nv-120\@md-{margin-top:-120px !important}.mR-nv-120\@md-{margin-right:-120px !important}.mB-nv-120\@md-{margin-bottom:-120px !important}.mL-nv-120\@md-{margin-left:-120px !important}.mY-nv-120\@md-{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@md-{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (max-width: 767px){.m-120\@sm-{margin:120px !important}.mT-120\@sm-{margin-top:120px !important}.mR-120\@sm-{margin-right:120px !important}.mB-120\@sm-{margin-bottom:120px !important}.mL-120\@sm-{margin-left:120px !important}.mY-120\@sm-{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@sm-{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@sm-{margin:-120px !important}.mT-nv-120\@sm-{margin-top:-120px !important}.mR-nv-120\@sm-{margin-right:-120px !important}.mB-nv-120\@sm-{margin-bottom:-120px !important}.mL-nv-120\@sm-{margin-left:-120px !important}.mY-nv-120\@sm-{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@sm-{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-120\@lg{margin:120px !important}.mT-120\@lg{margin-top:120px !important}.mR-120\@lg{margin-right:120px !important}.mB-120\@lg{margin-bottom:120px !important}.mL-120\@lg{margin-left:120px !important}.mY-120\@lg{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@lg{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@lg{margin:-120px !important}.mT-nv-120\@lg{margin-top:-120px !important}.mR-nv-120\@lg{margin-right:-120px !important}.mB-nv-120\@lg{margin-bottom:-120px !important}.mL-nv-120\@lg{margin-left:-120px !important}.mY-nv-120\@lg{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@lg{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-120\@md{margin:120px !important}.mT-120\@md{margin-top:120px !important}.mR-120\@md{margin-right:120px !important}.mB-120\@md{margin-bottom:120px !important}.mL-120\@md{margin-left:120px !important}.mY-120\@md{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@md{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@md{margin:-120px !important}.mT-nv-120\@md{margin-top:-120px !important}.mR-nv-120\@md{margin-right:-120px !important}.mB-nv-120\@md{margin-bottom:-120px !important}.mL-nv-120\@md{margin-left:-120px !important}.mY-nv-120\@md{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@md{margin-left:-120px !important;margin-right:-120px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-120\@sm{margin:120px !important}.mT-120\@sm{margin-top:120px !important}.mR-120\@sm{margin-right:120px !important}.mB-120\@sm{margin-bottom:120px !important}.mL-120\@sm{margin-left:120px !important}.mY-120\@sm{margin-top:120px !important;margin-bottom:120px !important}.mX-120\@sm{margin-left:120px !important;margin-right:120px !important}.m-nv-120\@sm{margin:-120px !important}.mT-nv-120\@sm{margin-top:-120px !important}.mR-nv-120\@sm{margin-right:-120px !important}.mB-nv-120\@sm{margin-bottom:-120px !important}.mL-nv-120\@sm{margin-left:-120px !important}.mY-nv-120\@sm{margin-top:-120px !important;margin-bottom:-120px !important}.mX-nv-120\@sm{margin-left:-120px !important;margin-right:-120px !important}}.m-130{margin:130px !important}.mT-130{margin-top:130px !important}.mR-130{margin-right:130px !important}.mB-130{margin-bottom:130px !important}.mL-130{margin-left:130px !important}.mY-130{margin-top:130px !important;margin-bottom:130px !important}.mX-130{margin-left:130px !important;margin-right:130px !important}.m-nv-130{margin:-130px !important}.mT-nv-130{margin-top:-130px !important}.mR-nv-130{margin-right:-130px !important}.mB-nv-130{margin-bottom:-130px !important}.mL-nv-130{margin-left:-130px !important}.mY-nv-130{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130{margin-left:-130px !important;margin-right:-130px !important}@media screen and (min-width: 1440px){.m-130\@xl\+{margin:130px !important}.mT-130\@xl\+{margin-top:130px !important}.mR-130\@xl\+{margin-right:130px !important}.mB-130\@xl\+{margin-bottom:130px !important}.mL-130\@xl\+{margin-left:130px !important}.mY-130\@xl\+{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@xl\+{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@xl\+{margin:-130px !important}.mT-nv-130\@xl\+{margin-top:-130px !important}.mR-nv-130\@xl\+{margin-right:-130px !important}.mB-nv-130\@xl\+{margin-bottom:-130px !important}.mL-nv-130\@xl\+{margin-left:-130px !important}.mY-nv-130\@xl\+{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@xl\+{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (min-width: 1200px){.m-130\@lg\+{margin:130px !important}.mT-130\@lg\+{margin-top:130px !important}.mR-130\@lg\+{margin-right:130px !important}.mB-130\@lg\+{margin-bottom:130px !important}.mL-130\@lg\+{margin-left:130px !important}.mY-130\@lg\+{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@lg\+{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@lg\+{margin:-130px !important}.mT-nv-130\@lg\+{margin-top:-130px !important}.mR-nv-130\@lg\+{margin-right:-130px !important}.mB-nv-130\@lg\+{margin-bottom:-130px !important}.mL-nv-130\@lg\+{margin-left:-130px !important}.mY-nv-130\@lg\+{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@lg\+{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (min-width: 992px){.m-130\@md\+{margin:130px !important}.mT-130\@md\+{margin-top:130px !important}.mR-130\@md\+{margin-right:130px !important}.mB-130\@md\+{margin-bottom:130px !important}.mL-130\@md\+{margin-left:130px !important}.mY-130\@md\+{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@md\+{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@md\+{margin:-130px !important}.mT-nv-130\@md\+{margin-top:-130px !important}.mR-nv-130\@md\+{margin-right:-130px !important}.mB-nv-130\@md\+{margin-bottom:-130px !important}.mL-nv-130\@md\+{margin-left:-130px !important}.mY-nv-130\@md\+{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@md\+{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (min-width: 768px){.m-130\@sm\+{margin:130px !important}.mT-130\@sm\+{margin-top:130px !important}.mR-130\@sm\+{margin-right:130px !important}.mB-130\@sm\+{margin-bottom:130px !important}.mL-130\@sm\+{margin-left:130px !important}.mY-130\@sm\+{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@sm\+{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@sm\+{margin:-130px !important}.mT-nv-130\@sm\+{margin-top:-130px !important}.mR-nv-130\@sm\+{margin-right:-130px !important}.mB-nv-130\@sm\+{margin-bottom:-130px !important}.mL-nv-130\@sm\+{margin-left:-130px !important}.mY-nv-130\@sm\+{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@sm\+{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (min-width: 0){.m-130\@xs\+{margin:130px !important}.mT-130\@xs\+{margin-top:130px !important}.mR-130\@xs\+{margin-right:130px !important}.mB-130\@xs\+{margin-bottom:130px !important}.mL-130\@xs\+{margin-left:130px !important}.mY-130\@xs\+{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@xs\+{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@xs\+{margin:-130px !important}.mT-nv-130\@xs\+{margin-top:-130px !important}.mR-nv-130\@xs\+{margin-right:-130px !important}.mB-nv-130\@xs\+{margin-bottom:-130px !important}.mL-nv-130\@xs\+{margin-left:-130px !important}.mY-nv-130\@xs\+{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@xs\+{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (max-width: 1439px){.m-130\@xl-{margin:130px !important}.mT-130\@xl-{margin-top:130px !important}.mR-130\@xl-{margin-right:130px !important}.mB-130\@xl-{margin-bottom:130px !important}.mL-130\@xl-{margin-left:130px !important}.mY-130\@xl-{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@xl-{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@xl-{margin:-130px !important}.mT-nv-130\@xl-{margin-top:-130px !important}.mR-nv-130\@xl-{margin-right:-130px !important}.mB-nv-130\@xl-{margin-bottom:-130px !important}.mL-nv-130\@xl-{margin-left:-130px !important}.mY-nv-130\@xl-{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@xl-{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (max-width: 1199px){.m-130\@lg-{margin:130px !important}.mT-130\@lg-{margin-top:130px !important}.mR-130\@lg-{margin-right:130px !important}.mB-130\@lg-{margin-bottom:130px !important}.mL-130\@lg-{margin-left:130px !important}.mY-130\@lg-{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@lg-{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@lg-{margin:-130px !important}.mT-nv-130\@lg-{margin-top:-130px !important}.mR-nv-130\@lg-{margin-right:-130px !important}.mB-nv-130\@lg-{margin-bottom:-130px !important}.mL-nv-130\@lg-{margin-left:-130px !important}.mY-nv-130\@lg-{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@lg-{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (max-width: 991px){.m-130\@md-{margin:130px !important}.mT-130\@md-{margin-top:130px !important}.mR-130\@md-{margin-right:130px !important}.mB-130\@md-{margin-bottom:130px !important}.mL-130\@md-{margin-left:130px !important}.mY-130\@md-{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@md-{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@md-{margin:-130px !important}.mT-nv-130\@md-{margin-top:-130px !important}.mR-nv-130\@md-{margin-right:-130px !important}.mB-nv-130\@md-{margin-bottom:-130px !important}.mL-nv-130\@md-{margin-left:-130px !important}.mY-nv-130\@md-{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@md-{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (max-width: 767px){.m-130\@sm-{margin:130px !important}.mT-130\@sm-{margin-top:130px !important}.mR-130\@sm-{margin-right:130px !important}.mB-130\@sm-{margin-bottom:130px !important}.mL-130\@sm-{margin-left:130px !important}.mY-130\@sm-{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@sm-{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@sm-{margin:-130px !important}.mT-nv-130\@sm-{margin-top:-130px !important}.mR-nv-130\@sm-{margin-right:-130px !important}.mB-nv-130\@sm-{margin-bottom:-130px !important}.mL-nv-130\@sm-{margin-left:-130px !important}.mY-nv-130\@sm-{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@sm-{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-130\@lg{margin:130px !important}.mT-130\@lg{margin-top:130px !important}.mR-130\@lg{margin-right:130px !important}.mB-130\@lg{margin-bottom:130px !important}.mL-130\@lg{margin-left:130px !important}.mY-130\@lg{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@lg{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@lg{margin:-130px !important}.mT-nv-130\@lg{margin-top:-130px !important}.mR-nv-130\@lg{margin-right:-130px !important}.mB-nv-130\@lg{margin-bottom:-130px !important}.mL-nv-130\@lg{margin-left:-130px !important}.mY-nv-130\@lg{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@lg{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-130\@md{margin:130px !important}.mT-130\@md{margin-top:130px !important}.mR-130\@md{margin-right:130px !important}.mB-130\@md{margin-bottom:130px !important}.mL-130\@md{margin-left:130px !important}.mY-130\@md{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@md{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@md{margin:-130px !important}.mT-nv-130\@md{margin-top:-130px !important}.mR-nv-130\@md{margin-right:-130px !important}.mB-nv-130\@md{margin-bottom:-130px !important}.mL-nv-130\@md{margin-left:-130px !important}.mY-nv-130\@md{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@md{margin-left:-130px !important;margin-right:-130px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-130\@sm{margin:130px !important}.mT-130\@sm{margin-top:130px !important}.mR-130\@sm{margin-right:130px !important}.mB-130\@sm{margin-bottom:130px !important}.mL-130\@sm{margin-left:130px !important}.mY-130\@sm{margin-top:130px !important;margin-bottom:130px !important}.mX-130\@sm{margin-left:130px !important;margin-right:130px !important}.m-nv-130\@sm{margin:-130px !important}.mT-nv-130\@sm{margin-top:-130px !important}.mR-nv-130\@sm{margin-right:-130px !important}.mB-nv-130\@sm{margin-bottom:-130px !important}.mL-nv-130\@sm{margin-left:-130px !important}.mY-nv-130\@sm{margin-top:-130px !important;margin-bottom:-130px !important}.mX-nv-130\@sm{margin-left:-130px !important;margin-right:-130px !important}}.m-140{margin:140px !important}.mT-140{margin-top:140px !important}.mR-140{margin-right:140px !important}.mB-140{margin-bottom:140px !important}.mL-140{margin-left:140px !important}.mY-140{margin-top:140px !important;margin-bottom:140px !important}.mX-140{margin-left:140px !important;margin-right:140px !important}.m-nv-140{margin:-140px !important}.mT-nv-140{margin-top:-140px !important}.mR-nv-140{margin-right:-140px !important}.mB-nv-140{margin-bottom:-140px !important}.mL-nv-140{margin-left:-140px !important}.mY-nv-140{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140{margin-left:-140px !important;margin-right:-140px !important}@media screen and (min-width: 1440px){.m-140\@xl\+{margin:140px !important}.mT-140\@xl\+{margin-top:140px !important}.mR-140\@xl\+{margin-right:140px !important}.mB-140\@xl\+{margin-bottom:140px !important}.mL-140\@xl\+{margin-left:140px !important}.mY-140\@xl\+{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@xl\+{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@xl\+{margin:-140px !important}.mT-nv-140\@xl\+{margin-top:-140px !important}.mR-nv-140\@xl\+{margin-right:-140px !important}.mB-nv-140\@xl\+{margin-bottom:-140px !important}.mL-nv-140\@xl\+{margin-left:-140px !important}.mY-nv-140\@xl\+{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@xl\+{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (min-width: 1200px){.m-140\@lg\+{margin:140px !important}.mT-140\@lg\+{margin-top:140px !important}.mR-140\@lg\+{margin-right:140px !important}.mB-140\@lg\+{margin-bottom:140px !important}.mL-140\@lg\+{margin-left:140px !important}.mY-140\@lg\+{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@lg\+{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@lg\+{margin:-140px !important}.mT-nv-140\@lg\+{margin-top:-140px !important}.mR-nv-140\@lg\+{margin-right:-140px !important}.mB-nv-140\@lg\+{margin-bottom:-140px !important}.mL-nv-140\@lg\+{margin-left:-140px !important}.mY-nv-140\@lg\+{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@lg\+{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (min-width: 992px){.m-140\@md\+{margin:140px !important}.mT-140\@md\+{margin-top:140px !important}.mR-140\@md\+{margin-right:140px !important}.mB-140\@md\+{margin-bottom:140px !important}.mL-140\@md\+{margin-left:140px !important}.mY-140\@md\+{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@md\+{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@md\+{margin:-140px !important}.mT-nv-140\@md\+{margin-top:-140px !important}.mR-nv-140\@md\+{margin-right:-140px !important}.mB-nv-140\@md\+{margin-bottom:-140px !important}.mL-nv-140\@md\+{margin-left:-140px !important}.mY-nv-140\@md\+{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@md\+{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (min-width: 768px){.m-140\@sm\+{margin:140px !important}.mT-140\@sm\+{margin-top:140px !important}.mR-140\@sm\+{margin-right:140px !important}.mB-140\@sm\+{margin-bottom:140px !important}.mL-140\@sm\+{margin-left:140px !important}.mY-140\@sm\+{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@sm\+{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@sm\+{margin:-140px !important}.mT-nv-140\@sm\+{margin-top:-140px !important}.mR-nv-140\@sm\+{margin-right:-140px !important}.mB-nv-140\@sm\+{margin-bottom:-140px !important}.mL-nv-140\@sm\+{margin-left:-140px !important}.mY-nv-140\@sm\+{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@sm\+{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (min-width: 0){.m-140\@xs\+{margin:140px !important}.mT-140\@xs\+{margin-top:140px !important}.mR-140\@xs\+{margin-right:140px !important}.mB-140\@xs\+{margin-bottom:140px !important}.mL-140\@xs\+{margin-left:140px !important}.mY-140\@xs\+{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@xs\+{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@xs\+{margin:-140px !important}.mT-nv-140\@xs\+{margin-top:-140px !important}.mR-nv-140\@xs\+{margin-right:-140px !important}.mB-nv-140\@xs\+{margin-bottom:-140px !important}.mL-nv-140\@xs\+{margin-left:-140px !important}.mY-nv-140\@xs\+{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@xs\+{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (max-width: 1439px){.m-140\@xl-{margin:140px !important}.mT-140\@xl-{margin-top:140px !important}.mR-140\@xl-{margin-right:140px !important}.mB-140\@xl-{margin-bottom:140px !important}.mL-140\@xl-{margin-left:140px !important}.mY-140\@xl-{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@xl-{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@xl-{margin:-140px !important}.mT-nv-140\@xl-{margin-top:-140px !important}.mR-nv-140\@xl-{margin-right:-140px !important}.mB-nv-140\@xl-{margin-bottom:-140px !important}.mL-nv-140\@xl-{margin-left:-140px !important}.mY-nv-140\@xl-{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@xl-{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (max-width: 1199px){.m-140\@lg-{margin:140px !important}.mT-140\@lg-{margin-top:140px !important}.mR-140\@lg-{margin-right:140px !important}.mB-140\@lg-{margin-bottom:140px !important}.mL-140\@lg-{margin-left:140px !important}.mY-140\@lg-{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@lg-{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@lg-{margin:-140px !important}.mT-nv-140\@lg-{margin-top:-140px !important}.mR-nv-140\@lg-{margin-right:-140px !important}.mB-nv-140\@lg-{margin-bottom:-140px !important}.mL-nv-140\@lg-{margin-left:-140px !important}.mY-nv-140\@lg-{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@lg-{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (max-width: 991px){.m-140\@md-{margin:140px !important}.mT-140\@md-{margin-top:140px !important}.mR-140\@md-{margin-right:140px !important}.mB-140\@md-{margin-bottom:140px !important}.mL-140\@md-{margin-left:140px !important}.mY-140\@md-{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@md-{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@md-{margin:-140px !important}.mT-nv-140\@md-{margin-top:-140px !important}.mR-nv-140\@md-{margin-right:-140px !important}.mB-nv-140\@md-{margin-bottom:-140px !important}.mL-nv-140\@md-{margin-left:-140px !important}.mY-nv-140\@md-{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@md-{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (max-width: 767px){.m-140\@sm-{margin:140px !important}.mT-140\@sm-{margin-top:140px !important}.mR-140\@sm-{margin-right:140px !important}.mB-140\@sm-{margin-bottom:140px !important}.mL-140\@sm-{margin-left:140px !important}.mY-140\@sm-{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@sm-{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@sm-{margin:-140px !important}.mT-nv-140\@sm-{margin-top:-140px !important}.mR-nv-140\@sm-{margin-right:-140px !important}.mB-nv-140\@sm-{margin-bottom:-140px !important}.mL-nv-140\@sm-{margin-left:-140px !important}.mY-nv-140\@sm-{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@sm-{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-140\@lg{margin:140px !important}.mT-140\@lg{margin-top:140px !important}.mR-140\@lg{margin-right:140px !important}.mB-140\@lg{margin-bottom:140px !important}.mL-140\@lg{margin-left:140px !important}.mY-140\@lg{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@lg{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@lg{margin:-140px !important}.mT-nv-140\@lg{margin-top:-140px !important}.mR-nv-140\@lg{margin-right:-140px !important}.mB-nv-140\@lg{margin-bottom:-140px !important}.mL-nv-140\@lg{margin-left:-140px !important}.mY-nv-140\@lg{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@lg{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-140\@md{margin:140px !important}.mT-140\@md{margin-top:140px !important}.mR-140\@md{margin-right:140px !important}.mB-140\@md{margin-bottom:140px !important}.mL-140\@md{margin-left:140px !important}.mY-140\@md{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@md{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@md{margin:-140px !important}.mT-nv-140\@md{margin-top:-140px !important}.mR-nv-140\@md{margin-right:-140px !important}.mB-nv-140\@md{margin-bottom:-140px !important}.mL-nv-140\@md{margin-left:-140px !important}.mY-nv-140\@md{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@md{margin-left:-140px !important;margin-right:-140px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-140\@sm{margin:140px !important}.mT-140\@sm{margin-top:140px !important}.mR-140\@sm{margin-right:140px !important}.mB-140\@sm{margin-bottom:140px !important}.mL-140\@sm{margin-left:140px !important}.mY-140\@sm{margin-top:140px !important;margin-bottom:140px !important}.mX-140\@sm{margin-left:140px !important;margin-right:140px !important}.m-nv-140\@sm{margin:-140px !important}.mT-nv-140\@sm{margin-top:-140px !important}.mR-nv-140\@sm{margin-right:-140px !important}.mB-nv-140\@sm{margin-bottom:-140px !important}.mL-nv-140\@sm{margin-left:-140px !important}.mY-nv-140\@sm{margin-top:-140px !important;margin-bottom:-140px !important}.mX-nv-140\@sm{margin-left:-140px !important;margin-right:-140px !important}}.m-150{margin:150px !important}.mT-150{margin-top:150px !important}.mR-150{margin-right:150px !important}.mB-150{margin-bottom:150px !important}.mL-150{margin-left:150px !important}.mY-150{margin-top:150px !important;margin-bottom:150px !important}.mX-150{margin-left:150px !important;margin-right:150px !important}.m-nv-150{margin:-150px !important}.mT-nv-150{margin-top:-150px !important}.mR-nv-150{margin-right:-150px !important}.mB-nv-150{margin-bottom:-150px !important}.mL-nv-150{margin-left:-150px !important}.mY-nv-150{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150{margin-left:-150px !important;margin-right:-150px !important}@media screen and (min-width: 1440px){.m-150\@xl\+{margin:150px !important}.mT-150\@xl\+{margin-top:150px !important}.mR-150\@xl\+{margin-right:150px !important}.mB-150\@xl\+{margin-bottom:150px !important}.mL-150\@xl\+{margin-left:150px !important}.mY-150\@xl\+{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@xl\+{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@xl\+{margin:-150px !important}.mT-nv-150\@xl\+{margin-top:-150px !important}.mR-nv-150\@xl\+{margin-right:-150px !important}.mB-nv-150\@xl\+{margin-bottom:-150px !important}.mL-nv-150\@xl\+{margin-left:-150px !important}.mY-nv-150\@xl\+{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@xl\+{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (min-width: 1200px){.m-150\@lg\+{margin:150px !important}.mT-150\@lg\+{margin-top:150px !important}.mR-150\@lg\+{margin-right:150px !important}.mB-150\@lg\+{margin-bottom:150px !important}.mL-150\@lg\+{margin-left:150px !important}.mY-150\@lg\+{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@lg\+{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@lg\+{margin:-150px !important}.mT-nv-150\@lg\+{margin-top:-150px !important}.mR-nv-150\@lg\+{margin-right:-150px !important}.mB-nv-150\@lg\+{margin-bottom:-150px !important}.mL-nv-150\@lg\+{margin-left:-150px !important}.mY-nv-150\@lg\+{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@lg\+{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (min-width: 992px){.m-150\@md\+{margin:150px !important}.mT-150\@md\+{margin-top:150px !important}.mR-150\@md\+{margin-right:150px !important}.mB-150\@md\+{margin-bottom:150px !important}.mL-150\@md\+{margin-left:150px !important}.mY-150\@md\+{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@md\+{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@md\+{margin:-150px !important}.mT-nv-150\@md\+{margin-top:-150px !important}.mR-nv-150\@md\+{margin-right:-150px !important}.mB-nv-150\@md\+{margin-bottom:-150px !important}.mL-nv-150\@md\+{margin-left:-150px !important}.mY-nv-150\@md\+{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@md\+{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (min-width: 768px){.m-150\@sm\+{margin:150px !important}.mT-150\@sm\+{margin-top:150px !important}.mR-150\@sm\+{margin-right:150px !important}.mB-150\@sm\+{margin-bottom:150px !important}.mL-150\@sm\+{margin-left:150px !important}.mY-150\@sm\+{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@sm\+{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@sm\+{margin:-150px !important}.mT-nv-150\@sm\+{margin-top:-150px !important}.mR-nv-150\@sm\+{margin-right:-150px !important}.mB-nv-150\@sm\+{margin-bottom:-150px !important}.mL-nv-150\@sm\+{margin-left:-150px !important}.mY-nv-150\@sm\+{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@sm\+{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (min-width: 0){.m-150\@xs\+{margin:150px !important}.mT-150\@xs\+{margin-top:150px !important}.mR-150\@xs\+{margin-right:150px !important}.mB-150\@xs\+{margin-bottom:150px !important}.mL-150\@xs\+{margin-left:150px !important}.mY-150\@xs\+{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@xs\+{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@xs\+{margin:-150px !important}.mT-nv-150\@xs\+{margin-top:-150px !important}.mR-nv-150\@xs\+{margin-right:-150px !important}.mB-nv-150\@xs\+{margin-bottom:-150px !important}.mL-nv-150\@xs\+{margin-left:-150px !important}.mY-nv-150\@xs\+{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@xs\+{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (max-width: 1439px){.m-150\@xl-{margin:150px !important}.mT-150\@xl-{margin-top:150px !important}.mR-150\@xl-{margin-right:150px !important}.mB-150\@xl-{margin-bottom:150px !important}.mL-150\@xl-{margin-left:150px !important}.mY-150\@xl-{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@xl-{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@xl-{margin:-150px !important}.mT-nv-150\@xl-{margin-top:-150px !important}.mR-nv-150\@xl-{margin-right:-150px !important}.mB-nv-150\@xl-{margin-bottom:-150px !important}.mL-nv-150\@xl-{margin-left:-150px !important}.mY-nv-150\@xl-{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@xl-{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (max-width: 1199px){.m-150\@lg-{margin:150px !important}.mT-150\@lg-{margin-top:150px !important}.mR-150\@lg-{margin-right:150px !important}.mB-150\@lg-{margin-bottom:150px !important}.mL-150\@lg-{margin-left:150px !important}.mY-150\@lg-{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@lg-{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@lg-{margin:-150px !important}.mT-nv-150\@lg-{margin-top:-150px !important}.mR-nv-150\@lg-{margin-right:-150px !important}.mB-nv-150\@lg-{margin-bottom:-150px !important}.mL-nv-150\@lg-{margin-left:-150px !important}.mY-nv-150\@lg-{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@lg-{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (max-width: 991px){.m-150\@md-{margin:150px !important}.mT-150\@md-{margin-top:150px !important}.mR-150\@md-{margin-right:150px !important}.mB-150\@md-{margin-bottom:150px !important}.mL-150\@md-{margin-left:150px !important}.mY-150\@md-{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@md-{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@md-{margin:-150px !important}.mT-nv-150\@md-{margin-top:-150px !important}.mR-nv-150\@md-{margin-right:-150px !important}.mB-nv-150\@md-{margin-bottom:-150px !important}.mL-nv-150\@md-{margin-left:-150px !important}.mY-nv-150\@md-{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@md-{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (max-width: 767px){.m-150\@sm-{margin:150px !important}.mT-150\@sm-{margin-top:150px !important}.mR-150\@sm-{margin-right:150px !important}.mB-150\@sm-{margin-bottom:150px !important}.mL-150\@sm-{margin-left:150px !important}.mY-150\@sm-{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@sm-{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@sm-{margin:-150px !important}.mT-nv-150\@sm-{margin-top:-150px !important}.mR-nv-150\@sm-{margin-right:-150px !important}.mB-nv-150\@sm-{margin-bottom:-150px !important}.mL-nv-150\@sm-{margin-left:-150px !important}.mY-nv-150\@sm-{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@sm-{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-150\@lg{margin:150px !important}.mT-150\@lg{margin-top:150px !important}.mR-150\@lg{margin-right:150px !important}.mB-150\@lg{margin-bottom:150px !important}.mL-150\@lg{margin-left:150px !important}.mY-150\@lg{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@lg{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@lg{margin:-150px !important}.mT-nv-150\@lg{margin-top:-150px !important}.mR-nv-150\@lg{margin-right:-150px !important}.mB-nv-150\@lg{margin-bottom:-150px !important}.mL-nv-150\@lg{margin-left:-150px !important}.mY-nv-150\@lg{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@lg{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-150\@md{margin:150px !important}.mT-150\@md{margin-top:150px !important}.mR-150\@md{margin-right:150px !important}.mB-150\@md{margin-bottom:150px !important}.mL-150\@md{margin-left:150px !important}.mY-150\@md{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@md{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@md{margin:-150px !important}.mT-nv-150\@md{margin-top:-150px !important}.mR-nv-150\@md{margin-right:-150px !important}.mB-nv-150\@md{margin-bottom:-150px !important}.mL-nv-150\@md{margin-left:-150px !important}.mY-nv-150\@md{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@md{margin-left:-150px !important;margin-right:-150px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-150\@sm{margin:150px !important}.mT-150\@sm{margin-top:150px !important}.mR-150\@sm{margin-right:150px !important}.mB-150\@sm{margin-bottom:150px !important}.mL-150\@sm{margin-left:150px !important}.mY-150\@sm{margin-top:150px !important;margin-bottom:150px !important}.mX-150\@sm{margin-left:150px !important;margin-right:150px !important}.m-nv-150\@sm{margin:-150px !important}.mT-nv-150\@sm{margin-top:-150px !important}.mR-nv-150\@sm{margin-right:-150px !important}.mB-nv-150\@sm{margin-bottom:-150px !important}.mL-nv-150\@sm{margin-left:-150px !important}.mY-nv-150\@sm{margin-top:-150px !important;margin-bottom:-150px !important}.mX-nv-150\@sm{margin-left:-150px !important;margin-right:-150px !important}}.m-160{margin:160px !important}.mT-160{margin-top:160px !important}.mR-160{margin-right:160px !important}.mB-160{margin-bottom:160px !important}.mL-160{margin-left:160px !important}.mY-160{margin-top:160px !important;margin-bottom:160px !important}.mX-160{margin-left:160px !important;margin-right:160px !important}.m-nv-160{margin:-160px !important}.mT-nv-160{margin-top:-160px !important}.mR-nv-160{margin-right:-160px !important}.mB-nv-160{margin-bottom:-160px !important}.mL-nv-160{margin-left:-160px !important}.mY-nv-160{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160{margin-left:-160px !important;margin-right:-160px !important}@media screen and (min-width: 1440px){.m-160\@xl\+{margin:160px !important}.mT-160\@xl\+{margin-top:160px !important}.mR-160\@xl\+{margin-right:160px !important}.mB-160\@xl\+{margin-bottom:160px !important}.mL-160\@xl\+{margin-left:160px !important}.mY-160\@xl\+{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@xl\+{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@xl\+{margin:-160px !important}.mT-nv-160\@xl\+{margin-top:-160px !important}.mR-nv-160\@xl\+{margin-right:-160px !important}.mB-nv-160\@xl\+{margin-bottom:-160px !important}.mL-nv-160\@xl\+{margin-left:-160px !important}.mY-nv-160\@xl\+{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@xl\+{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (min-width: 1200px){.m-160\@lg\+{margin:160px !important}.mT-160\@lg\+{margin-top:160px !important}.mR-160\@lg\+{margin-right:160px !important}.mB-160\@lg\+{margin-bottom:160px !important}.mL-160\@lg\+{margin-left:160px !important}.mY-160\@lg\+{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@lg\+{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@lg\+{margin:-160px !important}.mT-nv-160\@lg\+{margin-top:-160px !important}.mR-nv-160\@lg\+{margin-right:-160px !important}.mB-nv-160\@lg\+{margin-bottom:-160px !important}.mL-nv-160\@lg\+{margin-left:-160px !important}.mY-nv-160\@lg\+{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@lg\+{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (min-width: 992px){.m-160\@md\+{margin:160px !important}.mT-160\@md\+{margin-top:160px !important}.mR-160\@md\+{margin-right:160px !important}.mB-160\@md\+{margin-bottom:160px !important}.mL-160\@md\+{margin-left:160px !important}.mY-160\@md\+{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@md\+{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@md\+{margin:-160px !important}.mT-nv-160\@md\+{margin-top:-160px !important}.mR-nv-160\@md\+{margin-right:-160px !important}.mB-nv-160\@md\+{margin-bottom:-160px !important}.mL-nv-160\@md\+{margin-left:-160px !important}.mY-nv-160\@md\+{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@md\+{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (min-width: 768px){.m-160\@sm\+{margin:160px !important}.mT-160\@sm\+{margin-top:160px !important}.mR-160\@sm\+{margin-right:160px !important}.mB-160\@sm\+{margin-bottom:160px !important}.mL-160\@sm\+{margin-left:160px !important}.mY-160\@sm\+{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@sm\+{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@sm\+{margin:-160px !important}.mT-nv-160\@sm\+{margin-top:-160px !important}.mR-nv-160\@sm\+{margin-right:-160px !important}.mB-nv-160\@sm\+{margin-bottom:-160px !important}.mL-nv-160\@sm\+{margin-left:-160px !important}.mY-nv-160\@sm\+{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@sm\+{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (min-width: 0){.m-160\@xs\+{margin:160px !important}.mT-160\@xs\+{margin-top:160px !important}.mR-160\@xs\+{margin-right:160px !important}.mB-160\@xs\+{margin-bottom:160px !important}.mL-160\@xs\+{margin-left:160px !important}.mY-160\@xs\+{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@xs\+{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@xs\+{margin:-160px !important}.mT-nv-160\@xs\+{margin-top:-160px !important}.mR-nv-160\@xs\+{margin-right:-160px !important}.mB-nv-160\@xs\+{margin-bottom:-160px !important}.mL-nv-160\@xs\+{margin-left:-160px !important}.mY-nv-160\@xs\+{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@xs\+{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (max-width: 1439px){.m-160\@xl-{margin:160px !important}.mT-160\@xl-{margin-top:160px !important}.mR-160\@xl-{margin-right:160px !important}.mB-160\@xl-{margin-bottom:160px !important}.mL-160\@xl-{margin-left:160px !important}.mY-160\@xl-{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@xl-{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@xl-{margin:-160px !important}.mT-nv-160\@xl-{margin-top:-160px !important}.mR-nv-160\@xl-{margin-right:-160px !important}.mB-nv-160\@xl-{margin-bottom:-160px !important}.mL-nv-160\@xl-{margin-left:-160px !important}.mY-nv-160\@xl-{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@xl-{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (max-width: 1199px){.m-160\@lg-{margin:160px !important}.mT-160\@lg-{margin-top:160px !important}.mR-160\@lg-{margin-right:160px !important}.mB-160\@lg-{margin-bottom:160px !important}.mL-160\@lg-{margin-left:160px !important}.mY-160\@lg-{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@lg-{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@lg-{margin:-160px !important}.mT-nv-160\@lg-{margin-top:-160px !important}.mR-nv-160\@lg-{margin-right:-160px !important}.mB-nv-160\@lg-{margin-bottom:-160px !important}.mL-nv-160\@lg-{margin-left:-160px !important}.mY-nv-160\@lg-{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@lg-{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (max-width: 991px){.m-160\@md-{margin:160px !important}.mT-160\@md-{margin-top:160px !important}.mR-160\@md-{margin-right:160px !important}.mB-160\@md-{margin-bottom:160px !important}.mL-160\@md-{margin-left:160px !important}.mY-160\@md-{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@md-{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@md-{margin:-160px !important}.mT-nv-160\@md-{margin-top:-160px !important}.mR-nv-160\@md-{margin-right:-160px !important}.mB-nv-160\@md-{margin-bottom:-160px !important}.mL-nv-160\@md-{margin-left:-160px !important}.mY-nv-160\@md-{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@md-{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (max-width: 767px){.m-160\@sm-{margin:160px !important}.mT-160\@sm-{margin-top:160px !important}.mR-160\@sm-{margin-right:160px !important}.mB-160\@sm-{margin-bottom:160px !important}.mL-160\@sm-{margin-left:160px !important}.mY-160\@sm-{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@sm-{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@sm-{margin:-160px !important}.mT-nv-160\@sm-{margin-top:-160px !important}.mR-nv-160\@sm-{margin-right:-160px !important}.mB-nv-160\@sm-{margin-bottom:-160px !important}.mL-nv-160\@sm-{margin-left:-160px !important}.mY-nv-160\@sm-{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@sm-{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-160\@lg{margin:160px !important}.mT-160\@lg{margin-top:160px !important}.mR-160\@lg{margin-right:160px !important}.mB-160\@lg{margin-bottom:160px !important}.mL-160\@lg{margin-left:160px !important}.mY-160\@lg{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@lg{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@lg{margin:-160px !important}.mT-nv-160\@lg{margin-top:-160px !important}.mR-nv-160\@lg{margin-right:-160px !important}.mB-nv-160\@lg{margin-bottom:-160px !important}.mL-nv-160\@lg{margin-left:-160px !important}.mY-nv-160\@lg{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@lg{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-160\@md{margin:160px !important}.mT-160\@md{margin-top:160px !important}.mR-160\@md{margin-right:160px !important}.mB-160\@md{margin-bottom:160px !important}.mL-160\@md{margin-left:160px !important}.mY-160\@md{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@md{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@md{margin:-160px !important}.mT-nv-160\@md{margin-top:-160px !important}.mR-nv-160\@md{margin-right:-160px !important}.mB-nv-160\@md{margin-bottom:-160px !important}.mL-nv-160\@md{margin-left:-160px !important}.mY-nv-160\@md{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@md{margin-left:-160px !important;margin-right:-160px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-160\@sm{margin:160px !important}.mT-160\@sm{margin-top:160px !important}.mR-160\@sm{margin-right:160px !important}.mB-160\@sm{margin-bottom:160px !important}.mL-160\@sm{margin-left:160px !important}.mY-160\@sm{margin-top:160px !important;margin-bottom:160px !important}.mX-160\@sm{margin-left:160px !important;margin-right:160px !important}.m-nv-160\@sm{margin:-160px !important}.mT-nv-160\@sm{margin-top:-160px !important}.mR-nv-160\@sm{margin-right:-160px !important}.mB-nv-160\@sm{margin-bottom:-160px !important}.mL-nv-160\@sm{margin-left:-160px !important}.mY-nv-160\@sm{margin-top:-160px !important;margin-bottom:-160px !important}.mX-nv-160\@sm{margin-left:-160px !important;margin-right:-160px !important}}.m-a{margin:auto !important}.mX-a{margin-left:auto !important;margin-right:auto !important}.mT-a{margin-top:auto !important}.mR-a{margin-right:auto !important}.mB-a{margin-bottom:auto !important}.mL-a{margin-left:auto !important}@media screen and (min-width: 1440px){.m-a\@xl\+{margin:auto !important}.mX-a\@xl\+{margin-left:auto !important;margin-right:auto !important}.mT-a\@xl\+{margin-top:auto !important}.mR-a\@xl\+{margin-right:auto !important}.mB-a\@xl\+{margin-bottom:auto !important}.mL-a\@xl\+{margin-left:auto !important}}@media screen and (min-width: 1200px){.m-a\@lg\+{margin:auto !important}.mX-a\@lg\+{margin-left:auto !important;margin-right:auto !important}.mT-a\@lg\+{margin-top:auto !important}.mR-a\@lg\+{margin-right:auto !important}.mB-a\@lg\+{margin-bottom:auto !important}.mL-a\@lg\+{margin-left:auto !important}}@media screen and (min-width: 992px){.m-a\@md\+{margin:auto !important}.mX-a\@md\+{margin-left:auto !important;margin-right:auto !important}.mT-a\@md\+{margin-top:auto !important}.mR-a\@md\+{margin-right:auto !important}.mB-a\@md\+{margin-bottom:auto !important}.mL-a\@md\+{margin-left:auto !important}}@media screen and (min-width: 768px){.m-a\@sm\+{margin:auto !important}.mX-a\@sm\+{margin-left:auto !important;margin-right:auto !important}.mT-a\@sm\+{margin-top:auto !important}.mR-a\@sm\+{margin-right:auto !important}.mB-a\@sm\+{margin-bottom:auto !important}.mL-a\@sm\+{margin-left:auto !important}}@media screen and (min-width: 0){.m-a\@xs\+{margin:auto !important}.mX-a\@xs\+{margin-left:auto !important;margin-right:auto !important}.mT-a\@xs\+{margin-top:auto !important}.mR-a\@xs\+{margin-right:auto !important}.mB-a\@xs\+{margin-bottom:auto !important}.mL-a\@xs\+{margin-left:auto !important}}@media screen and (max-width: 1439px){.m-a\@xl-{margin:auto !important}.mX-a\@xl-{margin-left:auto !important;margin-right:auto !important}.mT-a\@xl-{margin-top:auto !important}.mR-a\@xl-{margin-right:auto !important}.mB-a\@xl-{margin-bottom:auto !important}.mL-a\@xl-{margin-left:auto !important}}@media screen and (max-width: 1199px){.m-a\@lg-{margin:auto !important}.mX-a\@lg-{margin-left:auto !important;margin-right:auto !important}.mT-a\@lg-{margin-top:auto !important}.mR-a\@lg-{margin-right:auto !important}.mB-a\@lg-{margin-bottom:auto !important}.mL-a\@lg-{margin-left:auto !important}}@media screen and (max-width: 991px){.m-a\@md-{margin:auto !important}.mX-a\@md-{margin-left:auto !important;margin-right:auto !important}.mT-a\@md-{margin-top:auto !important}.mR-a\@md-{margin-right:auto !important}.mB-a\@md-{margin-bottom:auto !important}.mL-a\@md-{margin-left:auto !important}}@media screen and (max-width: 767px){.m-a\@sm-{margin:auto !important}.mX-a\@sm-{margin-left:auto !important;margin-right:auto !important}.mT-a\@sm-{margin-top:auto !important}.mR-a\@sm-{margin-right:auto !important}.mB-a\@sm-{margin-bottom:auto !important}.mL-a\@sm-{margin-left:auto !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.m-a\@lg{margin:auto !important}.mX-a\@lg{margin-left:auto !important;margin-right:auto !important}.mT-a\@lg{margin-top:auto !important}.mR-a\@lg{margin-right:auto !important}.mB-a\@lg{margin-bottom:auto !important}.mL-a\@lg{margin-left:auto !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.m-a\@md{margin:auto !important}.mX-a\@md{margin-left:auto !important;margin-right:auto !important}.mT-a\@md{margin-top:auto !important}.mR-a\@md{margin-right:auto !important}.mB-a\@md{margin-bottom:auto !important}.mL-a\@md{margin-left:auto !important}}@media screen and (min-width: 767px)and (max-width: 991px){.m-a\@sm{margin:auto !important}.mX-a\@sm{margin-left:auto !important;margin-right:auto !important}.mT-a\@sm{margin-top:auto !important}.mR-a\@sm{margin-right:auto !important}.mB-a\@sm{margin-bottom:auto !important}.mL-a\@sm{margin-left:auto !important}}.bgsz-cv{background-size:cover}.bgsz-ct{background-size:contain}.bgsz-full{background-size:100% 100%}.bgpX-c{background-position-x:center}.bgpX-t{background-position-x:top}.bgpX-r{background-position-x:right}.bgpX-l{background-position-x:left}.bgpX-b{background-position-x:bottom}.bgpY-c{background-position-y:center}.bgpY-t{background-position-y:top}.bgpY-r{background-position-y:right}.bgpY-l{background-position-y:left}.bgpY-b{background-position-y:bottom}.bgr-n{background-repeat:no-repeat}.bgr-y{background-repeat:repeat-y}.bgr-x{background-repeat:repeat-x}.of-ct{object-fit:contain}.of-cv{object-fit:cover}.of-f{object-fit:fill}.of-n{object-fit:none}.of-sd{object-fit:scale-down}.rsz-v{resize:vertical}.rsz-h{resize:horizontal}.op-0{opacity:0}.op-10p{opacity:.1}.op-20p{opacity:.2}.op-30p{opacity:.3}.op-40p{opacity:.4}.op-50p{opacity:.5}.op-60p{opacity:.6}.op-70p{opacity:.7}.op-80p{opacity:.8}.op-90p{opacity:.9}.op-100p{opacity:1}.cur-na{cursor:not-allowed}.cur-p{cursor:pointer}.cur-a{cursor:auto}.vis-v{visibility:visible}.vis-h{visibility:hidden}.p-0{padding:0px !important}.pT-0{padding-top:0px !important}.pR-0{padding-right:0px !important}.pB-0{padding-bottom:0px !important}.pL-0{padding-left:0px !important}.pY-0{padding-top:0px !important;padding-bottom:0px !important}.pX-0{padding-left:0px !important;padding-right:0px !important}@media screen and (min-width: 1440px){.p-0\@xl\+{padding:0px !important}.pT-0\@xl\+{padding-top:0px !important}.pR-0\@xl\+{padding-right:0px !important}.pB-0\@xl\+{padding-bottom:0px !important}.pL-0\@xl\+{padding-left:0px !important}.pY-0\@xl\+{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@xl\+{padding-left:0px !important;padding-right:0px !important}}@media screen and (min-width: 1200px){.p-0\@lg\+{padding:0px !important}.pT-0\@lg\+{padding-top:0px !important}.pR-0\@lg\+{padding-right:0px !important}.pB-0\@lg\+{padding-bottom:0px !important}.pL-0\@lg\+{padding-left:0px !important}.pY-0\@lg\+{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@lg\+{padding-left:0px !important;padding-right:0px !important}}@media screen and (min-width: 992px){.p-0\@md\+{padding:0px !important}.pT-0\@md\+{padding-top:0px !important}.pR-0\@md\+{padding-right:0px !important}.pB-0\@md\+{padding-bottom:0px !important}.pL-0\@md\+{padding-left:0px !important}.pY-0\@md\+{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@md\+{padding-left:0px !important;padding-right:0px !important}}@media screen and (min-width: 768px){.p-0\@sm\+{padding:0px !important}.pT-0\@sm\+{padding-top:0px !important}.pR-0\@sm\+{padding-right:0px !important}.pB-0\@sm\+{padding-bottom:0px !important}.pL-0\@sm\+{padding-left:0px !important}.pY-0\@sm\+{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@sm\+{padding-left:0px !important;padding-right:0px !important}}@media screen and (min-width: 0){.p-0\@xs\+{padding:0px !important}.pT-0\@xs\+{padding-top:0px !important}.pR-0\@xs\+{padding-right:0px !important}.pB-0\@xs\+{padding-bottom:0px !important}.pL-0\@xs\+{padding-left:0px !important}.pY-0\@xs\+{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@xs\+{padding-left:0px !important;padding-right:0px !important}}@media screen and (max-width: 1439px){.p-0\@xl-{padding:0px !important}.pT-0\@xl-{padding-top:0px !important}.pR-0\@xl-{padding-right:0px !important}.pB-0\@xl-{padding-bottom:0px !important}.pL-0\@xl-{padding-left:0px !important}.pY-0\@xl-{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@xl-{padding-left:0px !important;padding-right:0px !important}}@media screen and (max-width: 1199px){.p-0\@lg-{padding:0px !important}.pT-0\@lg-{padding-top:0px !important}.pR-0\@lg-{padding-right:0px !important}.pB-0\@lg-{padding-bottom:0px !important}.pL-0\@lg-{padding-left:0px !important}.pY-0\@lg-{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@lg-{padding-left:0px !important;padding-right:0px !important}}@media screen and (max-width: 991px){.p-0\@md-{padding:0px !important}.pT-0\@md-{padding-top:0px !important}.pR-0\@md-{padding-right:0px !important}.pB-0\@md-{padding-bottom:0px !important}.pL-0\@md-{padding-left:0px !important}.pY-0\@md-{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@md-{padding-left:0px !important;padding-right:0px !important}}@media screen and (max-width: 767px){.p-0\@sm-{padding:0px !important}.pT-0\@sm-{padding-top:0px !important}.pR-0\@sm-{padding-right:0px !important}.pB-0\@sm-{padding-bottom:0px !important}.pL-0\@sm-{padding-left:0px !important}.pY-0\@sm-{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@sm-{padding-left:0px !important;padding-right:0px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-0\@lg{padding:0px !important}.pT-0\@lg{padding-top:0px !important}.pR-0\@lg{padding-right:0px !important}.pB-0\@lg{padding-bottom:0px !important}.pL-0\@lg{padding-left:0px !important}.pY-0\@lg{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@lg{padding-left:0px !important;padding-right:0px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-0\@md{padding:0px !important}.pT-0\@md{padding-top:0px !important}.pR-0\@md{padding-right:0px !important}.pB-0\@md{padding-bottom:0px !important}.pL-0\@md{padding-left:0px !important}.pY-0\@md{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@md{padding-left:0px !important;padding-right:0px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-0\@sm{padding:0px !important}.pT-0\@sm{padding-top:0px !important}.pR-0\@sm{padding-right:0px !important}.pB-0\@sm{padding-bottom:0px !important}.pL-0\@sm{padding-left:0px !important}.pY-0\@sm{padding-top:0px !important;padding-bottom:0px !important}.pX-0\@sm{padding-left:0px !important;padding-right:0px !important}}.p-1{padding:1px !important}.pT-1{padding-top:1px !important}.pR-1{padding-right:1px !important}.pB-1{padding-bottom:1px !important}.pL-1{padding-left:1px !important}.pY-1{padding-top:1px !important;padding-bottom:1px !important}.pX-1{padding-left:1px !important;padding-right:1px !important}@media screen and (min-width: 1440px){.p-1\@xl\+{padding:1px !important}.pT-1\@xl\+{padding-top:1px !important}.pR-1\@xl\+{padding-right:1px !important}.pB-1\@xl\+{padding-bottom:1px !important}.pL-1\@xl\+{padding-left:1px !important}.pY-1\@xl\+{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@xl\+{padding-left:1px !important;padding-right:1px !important}}@media screen and (min-width: 1200px){.p-1\@lg\+{padding:1px !important}.pT-1\@lg\+{padding-top:1px !important}.pR-1\@lg\+{padding-right:1px !important}.pB-1\@lg\+{padding-bottom:1px !important}.pL-1\@lg\+{padding-left:1px !important}.pY-1\@lg\+{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@lg\+{padding-left:1px !important;padding-right:1px !important}}@media screen and (min-width: 992px){.p-1\@md\+{padding:1px !important}.pT-1\@md\+{padding-top:1px !important}.pR-1\@md\+{padding-right:1px !important}.pB-1\@md\+{padding-bottom:1px !important}.pL-1\@md\+{padding-left:1px !important}.pY-1\@md\+{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@md\+{padding-left:1px !important;padding-right:1px !important}}@media screen and (min-width: 768px){.p-1\@sm\+{padding:1px !important}.pT-1\@sm\+{padding-top:1px !important}.pR-1\@sm\+{padding-right:1px !important}.pB-1\@sm\+{padding-bottom:1px !important}.pL-1\@sm\+{padding-left:1px !important}.pY-1\@sm\+{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@sm\+{padding-left:1px !important;padding-right:1px !important}}@media screen and (min-width: 0){.p-1\@xs\+{padding:1px !important}.pT-1\@xs\+{padding-top:1px !important}.pR-1\@xs\+{padding-right:1px !important}.pB-1\@xs\+{padding-bottom:1px !important}.pL-1\@xs\+{padding-left:1px !important}.pY-1\@xs\+{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@xs\+{padding-left:1px !important;padding-right:1px !important}}@media screen and (max-width: 1439px){.p-1\@xl-{padding:1px !important}.pT-1\@xl-{padding-top:1px !important}.pR-1\@xl-{padding-right:1px !important}.pB-1\@xl-{padding-bottom:1px !important}.pL-1\@xl-{padding-left:1px !important}.pY-1\@xl-{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@xl-{padding-left:1px !important;padding-right:1px !important}}@media screen and (max-width: 1199px){.p-1\@lg-{padding:1px !important}.pT-1\@lg-{padding-top:1px !important}.pR-1\@lg-{padding-right:1px !important}.pB-1\@lg-{padding-bottom:1px !important}.pL-1\@lg-{padding-left:1px !important}.pY-1\@lg-{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@lg-{padding-left:1px !important;padding-right:1px !important}}@media screen and (max-width: 991px){.p-1\@md-{padding:1px !important}.pT-1\@md-{padding-top:1px !important}.pR-1\@md-{padding-right:1px !important}.pB-1\@md-{padding-bottom:1px !important}.pL-1\@md-{padding-left:1px !important}.pY-1\@md-{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@md-{padding-left:1px !important;padding-right:1px !important}}@media screen and (max-width: 767px){.p-1\@sm-{padding:1px !important}.pT-1\@sm-{padding-top:1px !important}.pR-1\@sm-{padding-right:1px !important}.pB-1\@sm-{padding-bottom:1px !important}.pL-1\@sm-{padding-left:1px !important}.pY-1\@sm-{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@sm-{padding-left:1px !important;padding-right:1px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-1\@lg{padding:1px !important}.pT-1\@lg{padding-top:1px !important}.pR-1\@lg{padding-right:1px !important}.pB-1\@lg{padding-bottom:1px !important}.pL-1\@lg{padding-left:1px !important}.pY-1\@lg{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@lg{padding-left:1px !important;padding-right:1px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-1\@md{padding:1px !important}.pT-1\@md{padding-top:1px !important}.pR-1\@md{padding-right:1px !important}.pB-1\@md{padding-bottom:1px !important}.pL-1\@md{padding-left:1px !important}.pY-1\@md{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@md{padding-left:1px !important;padding-right:1px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-1\@sm{padding:1px !important}.pT-1\@sm{padding-top:1px !important}.pR-1\@sm{padding-right:1px !important}.pB-1\@sm{padding-bottom:1px !important}.pL-1\@sm{padding-left:1px !important}.pY-1\@sm{padding-top:1px !important;padding-bottom:1px !important}.pX-1\@sm{padding-left:1px !important;padding-right:1px !important}}.p-2{padding:2px !important}.pT-2{padding-top:2px !important}.pR-2{padding-right:2px !important}.pB-2{padding-bottom:2px !important}.pL-2{padding-left:2px !important}.pY-2{padding-top:2px !important;padding-bottom:2px !important}.pX-2{padding-left:2px !important;padding-right:2px !important}@media screen and (min-width: 1440px){.p-2\@xl\+{padding:2px !important}.pT-2\@xl\+{padding-top:2px !important}.pR-2\@xl\+{padding-right:2px !important}.pB-2\@xl\+{padding-bottom:2px !important}.pL-2\@xl\+{padding-left:2px !important}.pY-2\@xl\+{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@xl\+{padding-left:2px !important;padding-right:2px !important}}@media screen and (min-width: 1200px){.p-2\@lg\+{padding:2px !important}.pT-2\@lg\+{padding-top:2px !important}.pR-2\@lg\+{padding-right:2px !important}.pB-2\@lg\+{padding-bottom:2px !important}.pL-2\@lg\+{padding-left:2px !important}.pY-2\@lg\+{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@lg\+{padding-left:2px !important;padding-right:2px !important}}@media screen and (min-width: 992px){.p-2\@md\+{padding:2px !important}.pT-2\@md\+{padding-top:2px !important}.pR-2\@md\+{padding-right:2px !important}.pB-2\@md\+{padding-bottom:2px !important}.pL-2\@md\+{padding-left:2px !important}.pY-2\@md\+{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@md\+{padding-left:2px !important;padding-right:2px !important}}@media screen and (min-width: 768px){.p-2\@sm\+{padding:2px !important}.pT-2\@sm\+{padding-top:2px !important}.pR-2\@sm\+{padding-right:2px !important}.pB-2\@sm\+{padding-bottom:2px !important}.pL-2\@sm\+{padding-left:2px !important}.pY-2\@sm\+{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@sm\+{padding-left:2px !important;padding-right:2px !important}}@media screen and (min-width: 0){.p-2\@xs\+{padding:2px !important}.pT-2\@xs\+{padding-top:2px !important}.pR-2\@xs\+{padding-right:2px !important}.pB-2\@xs\+{padding-bottom:2px !important}.pL-2\@xs\+{padding-left:2px !important}.pY-2\@xs\+{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@xs\+{padding-left:2px !important;padding-right:2px !important}}@media screen and (max-width: 1439px){.p-2\@xl-{padding:2px !important}.pT-2\@xl-{padding-top:2px !important}.pR-2\@xl-{padding-right:2px !important}.pB-2\@xl-{padding-bottom:2px !important}.pL-2\@xl-{padding-left:2px !important}.pY-2\@xl-{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@xl-{padding-left:2px !important;padding-right:2px !important}}@media screen and (max-width: 1199px){.p-2\@lg-{padding:2px !important}.pT-2\@lg-{padding-top:2px !important}.pR-2\@lg-{padding-right:2px !important}.pB-2\@lg-{padding-bottom:2px !important}.pL-2\@lg-{padding-left:2px !important}.pY-2\@lg-{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@lg-{padding-left:2px !important;padding-right:2px !important}}@media screen and (max-width: 991px){.p-2\@md-{padding:2px !important}.pT-2\@md-{padding-top:2px !important}.pR-2\@md-{padding-right:2px !important}.pB-2\@md-{padding-bottom:2px !important}.pL-2\@md-{padding-left:2px !important}.pY-2\@md-{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@md-{padding-left:2px !important;padding-right:2px !important}}@media screen and (max-width: 767px){.p-2\@sm-{padding:2px !important}.pT-2\@sm-{padding-top:2px !important}.pR-2\@sm-{padding-right:2px !important}.pB-2\@sm-{padding-bottom:2px !important}.pL-2\@sm-{padding-left:2px !important}.pY-2\@sm-{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@sm-{padding-left:2px !important;padding-right:2px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-2\@lg{padding:2px !important}.pT-2\@lg{padding-top:2px !important}.pR-2\@lg{padding-right:2px !important}.pB-2\@lg{padding-bottom:2px !important}.pL-2\@lg{padding-left:2px !important}.pY-2\@lg{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@lg{padding-left:2px !important;padding-right:2px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-2\@md{padding:2px !important}.pT-2\@md{padding-top:2px !important}.pR-2\@md{padding-right:2px !important}.pB-2\@md{padding-bottom:2px !important}.pL-2\@md{padding-left:2px !important}.pY-2\@md{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@md{padding-left:2px !important;padding-right:2px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-2\@sm{padding:2px !important}.pT-2\@sm{padding-top:2px !important}.pR-2\@sm{padding-right:2px !important}.pB-2\@sm{padding-bottom:2px !important}.pL-2\@sm{padding-left:2px !important}.pY-2\@sm{padding-top:2px !important;padding-bottom:2px !important}.pX-2\@sm{padding-left:2px !important;padding-right:2px !important}}.p-3{padding:3px !important}.pT-3{padding-top:3px !important}.pR-3{padding-right:3px !important}.pB-3{padding-bottom:3px !important}.pL-3{padding-left:3px !important}.pY-3{padding-top:3px !important;padding-bottom:3px !important}.pX-3{padding-left:3px !important;padding-right:3px !important}@media screen and (min-width: 1440px){.p-3\@xl\+{padding:3px !important}.pT-3\@xl\+{padding-top:3px !important}.pR-3\@xl\+{padding-right:3px !important}.pB-3\@xl\+{padding-bottom:3px !important}.pL-3\@xl\+{padding-left:3px !important}.pY-3\@xl\+{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@xl\+{padding-left:3px !important;padding-right:3px !important}}@media screen and (min-width: 1200px){.p-3\@lg\+{padding:3px !important}.pT-3\@lg\+{padding-top:3px !important}.pR-3\@lg\+{padding-right:3px !important}.pB-3\@lg\+{padding-bottom:3px !important}.pL-3\@lg\+{padding-left:3px !important}.pY-3\@lg\+{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@lg\+{padding-left:3px !important;padding-right:3px !important}}@media screen and (min-width: 992px){.p-3\@md\+{padding:3px !important}.pT-3\@md\+{padding-top:3px !important}.pR-3\@md\+{padding-right:3px !important}.pB-3\@md\+{padding-bottom:3px !important}.pL-3\@md\+{padding-left:3px !important}.pY-3\@md\+{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@md\+{padding-left:3px !important;padding-right:3px !important}}@media screen and (min-width: 768px){.p-3\@sm\+{padding:3px !important}.pT-3\@sm\+{padding-top:3px !important}.pR-3\@sm\+{padding-right:3px !important}.pB-3\@sm\+{padding-bottom:3px !important}.pL-3\@sm\+{padding-left:3px !important}.pY-3\@sm\+{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@sm\+{padding-left:3px !important;padding-right:3px !important}}@media screen and (min-width: 0){.p-3\@xs\+{padding:3px !important}.pT-3\@xs\+{padding-top:3px !important}.pR-3\@xs\+{padding-right:3px !important}.pB-3\@xs\+{padding-bottom:3px !important}.pL-3\@xs\+{padding-left:3px !important}.pY-3\@xs\+{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@xs\+{padding-left:3px !important;padding-right:3px !important}}@media screen and (max-width: 1439px){.p-3\@xl-{padding:3px !important}.pT-3\@xl-{padding-top:3px !important}.pR-3\@xl-{padding-right:3px !important}.pB-3\@xl-{padding-bottom:3px !important}.pL-3\@xl-{padding-left:3px !important}.pY-3\@xl-{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@xl-{padding-left:3px !important;padding-right:3px !important}}@media screen and (max-width: 1199px){.p-3\@lg-{padding:3px !important}.pT-3\@lg-{padding-top:3px !important}.pR-3\@lg-{padding-right:3px !important}.pB-3\@lg-{padding-bottom:3px !important}.pL-3\@lg-{padding-left:3px !important}.pY-3\@lg-{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@lg-{padding-left:3px !important;padding-right:3px !important}}@media screen and (max-width: 991px){.p-3\@md-{padding:3px !important}.pT-3\@md-{padding-top:3px !important}.pR-3\@md-{padding-right:3px !important}.pB-3\@md-{padding-bottom:3px !important}.pL-3\@md-{padding-left:3px !important}.pY-3\@md-{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@md-{padding-left:3px !important;padding-right:3px !important}}@media screen and (max-width: 767px){.p-3\@sm-{padding:3px !important}.pT-3\@sm-{padding-top:3px !important}.pR-3\@sm-{padding-right:3px !important}.pB-3\@sm-{padding-bottom:3px !important}.pL-3\@sm-{padding-left:3px !important}.pY-3\@sm-{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@sm-{padding-left:3px !important;padding-right:3px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-3\@lg{padding:3px !important}.pT-3\@lg{padding-top:3px !important}.pR-3\@lg{padding-right:3px !important}.pB-3\@lg{padding-bottom:3px !important}.pL-3\@lg{padding-left:3px !important}.pY-3\@lg{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@lg{padding-left:3px !important;padding-right:3px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-3\@md{padding:3px !important}.pT-3\@md{padding-top:3px !important}.pR-3\@md{padding-right:3px !important}.pB-3\@md{padding-bottom:3px !important}.pL-3\@md{padding-left:3px !important}.pY-3\@md{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@md{padding-left:3px !important;padding-right:3px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-3\@sm{padding:3px !important}.pT-3\@sm{padding-top:3px !important}.pR-3\@sm{padding-right:3px !important}.pB-3\@sm{padding-bottom:3px !important}.pL-3\@sm{padding-left:3px !important}.pY-3\@sm{padding-top:3px !important;padding-bottom:3px !important}.pX-3\@sm{padding-left:3px !important;padding-right:3px !important}}.p-4{padding:4px !important}.pT-4{padding-top:4px !important}.pR-4{padding-right:4px !important}.pB-4{padding-bottom:4px !important}.pL-4{padding-left:4px !important}.pY-4{padding-top:4px !important;padding-bottom:4px !important}.pX-4{padding-left:4px !important;padding-right:4px !important}@media screen and (min-width: 1440px){.p-4\@xl\+{padding:4px !important}.pT-4\@xl\+{padding-top:4px !important}.pR-4\@xl\+{padding-right:4px !important}.pB-4\@xl\+{padding-bottom:4px !important}.pL-4\@xl\+{padding-left:4px !important}.pY-4\@xl\+{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@xl\+{padding-left:4px !important;padding-right:4px !important}}@media screen and (min-width: 1200px){.p-4\@lg\+{padding:4px !important}.pT-4\@lg\+{padding-top:4px !important}.pR-4\@lg\+{padding-right:4px !important}.pB-4\@lg\+{padding-bottom:4px !important}.pL-4\@lg\+{padding-left:4px !important}.pY-4\@lg\+{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@lg\+{padding-left:4px !important;padding-right:4px !important}}@media screen and (min-width: 992px){.p-4\@md\+{padding:4px !important}.pT-4\@md\+{padding-top:4px !important}.pR-4\@md\+{padding-right:4px !important}.pB-4\@md\+{padding-bottom:4px !important}.pL-4\@md\+{padding-left:4px !important}.pY-4\@md\+{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@md\+{padding-left:4px !important;padding-right:4px !important}}@media screen and (min-width: 768px){.p-4\@sm\+{padding:4px !important}.pT-4\@sm\+{padding-top:4px !important}.pR-4\@sm\+{padding-right:4px !important}.pB-4\@sm\+{padding-bottom:4px !important}.pL-4\@sm\+{padding-left:4px !important}.pY-4\@sm\+{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@sm\+{padding-left:4px !important;padding-right:4px !important}}@media screen and (min-width: 0){.p-4\@xs\+{padding:4px !important}.pT-4\@xs\+{padding-top:4px !important}.pR-4\@xs\+{padding-right:4px !important}.pB-4\@xs\+{padding-bottom:4px !important}.pL-4\@xs\+{padding-left:4px !important}.pY-4\@xs\+{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@xs\+{padding-left:4px !important;padding-right:4px !important}}@media screen and (max-width: 1439px){.p-4\@xl-{padding:4px !important}.pT-4\@xl-{padding-top:4px !important}.pR-4\@xl-{padding-right:4px !important}.pB-4\@xl-{padding-bottom:4px !important}.pL-4\@xl-{padding-left:4px !important}.pY-4\@xl-{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@xl-{padding-left:4px !important;padding-right:4px !important}}@media screen and (max-width: 1199px){.p-4\@lg-{padding:4px !important}.pT-4\@lg-{padding-top:4px !important}.pR-4\@lg-{padding-right:4px !important}.pB-4\@lg-{padding-bottom:4px !important}.pL-4\@lg-{padding-left:4px !important}.pY-4\@lg-{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@lg-{padding-left:4px !important;padding-right:4px !important}}@media screen and (max-width: 991px){.p-4\@md-{padding:4px !important}.pT-4\@md-{padding-top:4px !important}.pR-4\@md-{padding-right:4px !important}.pB-4\@md-{padding-bottom:4px !important}.pL-4\@md-{padding-left:4px !important}.pY-4\@md-{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@md-{padding-left:4px !important;padding-right:4px !important}}@media screen and (max-width: 767px){.p-4\@sm-{padding:4px !important}.pT-4\@sm-{padding-top:4px !important}.pR-4\@sm-{padding-right:4px !important}.pB-4\@sm-{padding-bottom:4px !important}.pL-4\@sm-{padding-left:4px !important}.pY-4\@sm-{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@sm-{padding-left:4px !important;padding-right:4px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-4\@lg{padding:4px !important}.pT-4\@lg{padding-top:4px !important}.pR-4\@lg{padding-right:4px !important}.pB-4\@lg{padding-bottom:4px !important}.pL-4\@lg{padding-left:4px !important}.pY-4\@lg{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@lg{padding-left:4px !important;padding-right:4px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-4\@md{padding:4px !important}.pT-4\@md{padding-top:4px !important}.pR-4\@md{padding-right:4px !important}.pB-4\@md{padding-bottom:4px !important}.pL-4\@md{padding-left:4px !important}.pY-4\@md{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@md{padding-left:4px !important;padding-right:4px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-4\@sm{padding:4px !important}.pT-4\@sm{padding-top:4px !important}.pR-4\@sm{padding-right:4px !important}.pB-4\@sm{padding-bottom:4px !important}.pL-4\@sm{padding-left:4px !important}.pY-4\@sm{padding-top:4px !important;padding-bottom:4px !important}.pX-4\@sm{padding-left:4px !important;padding-right:4px !important}}.p-5{padding:5px !important}.pT-5{padding-top:5px !important}.pR-5{padding-right:5px !important}.pB-5{padding-bottom:5px !important}.pL-5{padding-left:5px !important}.pY-5{padding-top:5px !important;padding-bottom:5px !important}.pX-5{padding-left:5px !important;padding-right:5px !important}@media screen and (min-width: 1440px){.p-5\@xl\+{padding:5px !important}.pT-5\@xl\+{padding-top:5px !important}.pR-5\@xl\+{padding-right:5px !important}.pB-5\@xl\+{padding-bottom:5px !important}.pL-5\@xl\+{padding-left:5px !important}.pY-5\@xl\+{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@xl\+{padding-left:5px !important;padding-right:5px !important}}@media screen and (min-width: 1200px){.p-5\@lg\+{padding:5px !important}.pT-5\@lg\+{padding-top:5px !important}.pR-5\@lg\+{padding-right:5px !important}.pB-5\@lg\+{padding-bottom:5px !important}.pL-5\@lg\+{padding-left:5px !important}.pY-5\@lg\+{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@lg\+{padding-left:5px !important;padding-right:5px !important}}@media screen and (min-width: 992px){.p-5\@md\+{padding:5px !important}.pT-5\@md\+{padding-top:5px !important}.pR-5\@md\+{padding-right:5px !important}.pB-5\@md\+{padding-bottom:5px !important}.pL-5\@md\+{padding-left:5px !important}.pY-5\@md\+{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@md\+{padding-left:5px !important;padding-right:5px !important}}@media screen and (min-width: 768px){.p-5\@sm\+{padding:5px !important}.pT-5\@sm\+{padding-top:5px !important}.pR-5\@sm\+{padding-right:5px !important}.pB-5\@sm\+{padding-bottom:5px !important}.pL-5\@sm\+{padding-left:5px !important}.pY-5\@sm\+{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@sm\+{padding-left:5px !important;padding-right:5px !important}}@media screen and (min-width: 0){.p-5\@xs\+{padding:5px !important}.pT-5\@xs\+{padding-top:5px !important}.pR-5\@xs\+{padding-right:5px !important}.pB-5\@xs\+{padding-bottom:5px !important}.pL-5\@xs\+{padding-left:5px !important}.pY-5\@xs\+{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@xs\+{padding-left:5px !important;padding-right:5px !important}}@media screen and (max-width: 1439px){.p-5\@xl-{padding:5px !important}.pT-5\@xl-{padding-top:5px !important}.pR-5\@xl-{padding-right:5px !important}.pB-5\@xl-{padding-bottom:5px !important}.pL-5\@xl-{padding-left:5px !important}.pY-5\@xl-{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@xl-{padding-left:5px !important;padding-right:5px !important}}@media screen and (max-width: 1199px){.p-5\@lg-{padding:5px !important}.pT-5\@lg-{padding-top:5px !important}.pR-5\@lg-{padding-right:5px !important}.pB-5\@lg-{padding-bottom:5px !important}.pL-5\@lg-{padding-left:5px !important}.pY-5\@lg-{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@lg-{padding-left:5px !important;padding-right:5px !important}}@media screen and (max-width: 991px){.p-5\@md-{padding:5px !important}.pT-5\@md-{padding-top:5px !important}.pR-5\@md-{padding-right:5px !important}.pB-5\@md-{padding-bottom:5px !important}.pL-5\@md-{padding-left:5px !important}.pY-5\@md-{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@md-{padding-left:5px !important;padding-right:5px !important}}@media screen and (max-width: 767px){.p-5\@sm-{padding:5px !important}.pT-5\@sm-{padding-top:5px !important}.pR-5\@sm-{padding-right:5px !important}.pB-5\@sm-{padding-bottom:5px !important}.pL-5\@sm-{padding-left:5px !important}.pY-5\@sm-{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@sm-{padding-left:5px !important;padding-right:5px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-5\@lg{padding:5px !important}.pT-5\@lg{padding-top:5px !important}.pR-5\@lg{padding-right:5px !important}.pB-5\@lg{padding-bottom:5px !important}.pL-5\@lg{padding-left:5px !important}.pY-5\@lg{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@lg{padding-left:5px !important;padding-right:5px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-5\@md{padding:5px !important}.pT-5\@md{padding-top:5px !important}.pR-5\@md{padding-right:5px !important}.pB-5\@md{padding-bottom:5px !important}.pL-5\@md{padding-left:5px !important}.pY-5\@md{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@md{padding-left:5px !important;padding-right:5px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-5\@sm{padding:5px !important}.pT-5\@sm{padding-top:5px !important}.pR-5\@sm{padding-right:5px !important}.pB-5\@sm{padding-bottom:5px !important}.pL-5\@sm{padding-left:5px !important}.pY-5\@sm{padding-top:5px !important;padding-bottom:5px !important}.pX-5\@sm{padding-left:5px !important;padding-right:5px !important}}.p-10{padding:10px !important}.pT-10{padding-top:10px !important}.pR-10{padding-right:10px !important}.pB-10{padding-bottom:10px !important}.pL-10{padding-left:10px !important}.pY-10{padding-top:10px !important;padding-bottom:10px !important}.pX-10{padding-left:10px !important;padding-right:10px !important}@media screen and (min-width: 1440px){.p-10\@xl\+{padding:10px !important}.pT-10\@xl\+{padding-top:10px !important}.pR-10\@xl\+{padding-right:10px !important}.pB-10\@xl\+{padding-bottom:10px !important}.pL-10\@xl\+{padding-left:10px !important}.pY-10\@xl\+{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@xl\+{padding-left:10px !important;padding-right:10px !important}}@media screen and (min-width: 1200px){.p-10\@lg\+{padding:10px !important}.pT-10\@lg\+{padding-top:10px !important}.pR-10\@lg\+{padding-right:10px !important}.pB-10\@lg\+{padding-bottom:10px !important}.pL-10\@lg\+{padding-left:10px !important}.pY-10\@lg\+{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@lg\+{padding-left:10px !important;padding-right:10px !important}}@media screen and (min-width: 992px){.p-10\@md\+{padding:10px !important}.pT-10\@md\+{padding-top:10px !important}.pR-10\@md\+{padding-right:10px !important}.pB-10\@md\+{padding-bottom:10px !important}.pL-10\@md\+{padding-left:10px !important}.pY-10\@md\+{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@md\+{padding-left:10px !important;padding-right:10px !important}}@media screen and (min-width: 768px){.p-10\@sm\+{padding:10px !important}.pT-10\@sm\+{padding-top:10px !important}.pR-10\@sm\+{padding-right:10px !important}.pB-10\@sm\+{padding-bottom:10px !important}.pL-10\@sm\+{padding-left:10px !important}.pY-10\@sm\+{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@sm\+{padding-left:10px !important;padding-right:10px !important}}@media screen and (min-width: 0){.p-10\@xs\+{padding:10px !important}.pT-10\@xs\+{padding-top:10px !important}.pR-10\@xs\+{padding-right:10px !important}.pB-10\@xs\+{padding-bottom:10px !important}.pL-10\@xs\+{padding-left:10px !important}.pY-10\@xs\+{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@xs\+{padding-left:10px !important;padding-right:10px !important}}@media screen and (max-width: 1439px){.p-10\@xl-{padding:10px !important}.pT-10\@xl-{padding-top:10px !important}.pR-10\@xl-{padding-right:10px !important}.pB-10\@xl-{padding-bottom:10px !important}.pL-10\@xl-{padding-left:10px !important}.pY-10\@xl-{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@xl-{padding-left:10px !important;padding-right:10px !important}}@media screen and (max-width: 1199px){.p-10\@lg-{padding:10px !important}.pT-10\@lg-{padding-top:10px !important}.pR-10\@lg-{padding-right:10px !important}.pB-10\@lg-{padding-bottom:10px !important}.pL-10\@lg-{padding-left:10px !important}.pY-10\@lg-{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@lg-{padding-left:10px !important;padding-right:10px !important}}@media screen and (max-width: 991px){.p-10\@md-{padding:10px !important}.pT-10\@md-{padding-top:10px !important}.pR-10\@md-{padding-right:10px !important}.pB-10\@md-{padding-bottom:10px !important}.pL-10\@md-{padding-left:10px !important}.pY-10\@md-{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@md-{padding-left:10px !important;padding-right:10px !important}}@media screen and (max-width: 767px){.p-10\@sm-{padding:10px !important}.pT-10\@sm-{padding-top:10px !important}.pR-10\@sm-{padding-right:10px !important}.pB-10\@sm-{padding-bottom:10px !important}.pL-10\@sm-{padding-left:10px !important}.pY-10\@sm-{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@sm-{padding-left:10px !important;padding-right:10px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-10\@lg{padding:10px !important}.pT-10\@lg{padding-top:10px !important}.pR-10\@lg{padding-right:10px !important}.pB-10\@lg{padding-bottom:10px !important}.pL-10\@lg{padding-left:10px !important}.pY-10\@lg{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@lg{padding-left:10px !important;padding-right:10px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-10\@md{padding:10px !important}.pT-10\@md{padding-top:10px !important}.pR-10\@md{padding-right:10px !important}.pB-10\@md{padding-bottom:10px !important}.pL-10\@md{padding-left:10px !important}.pY-10\@md{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@md{padding-left:10px !important;padding-right:10px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-10\@sm{padding:10px !important}.pT-10\@sm{padding-top:10px !important}.pR-10\@sm{padding-right:10px !important}.pB-10\@sm{padding-bottom:10px !important}.pL-10\@sm{padding-left:10px !important}.pY-10\@sm{padding-top:10px !important;padding-bottom:10px !important}.pX-10\@sm{padding-left:10px !important;padding-right:10px !important}}.p-15{padding:15px !important}.pT-15{padding-top:15px !important}.pR-15{padding-right:15px !important}.pB-15{padding-bottom:15px !important}.pL-15{padding-left:15px !important}.pY-15{padding-top:15px !important;padding-bottom:15px !important}.pX-15{padding-left:15px !important;padding-right:15px !important}@media screen and (min-width: 1440px){.p-15\@xl\+{padding:15px !important}.pT-15\@xl\+{padding-top:15px !important}.pR-15\@xl\+{padding-right:15px !important}.pB-15\@xl\+{padding-bottom:15px !important}.pL-15\@xl\+{padding-left:15px !important}.pY-15\@xl\+{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@xl\+{padding-left:15px !important;padding-right:15px !important}}@media screen and (min-width: 1200px){.p-15\@lg\+{padding:15px !important}.pT-15\@lg\+{padding-top:15px !important}.pR-15\@lg\+{padding-right:15px !important}.pB-15\@lg\+{padding-bottom:15px !important}.pL-15\@lg\+{padding-left:15px !important}.pY-15\@lg\+{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@lg\+{padding-left:15px !important;padding-right:15px !important}}@media screen and (min-width: 992px){.p-15\@md\+{padding:15px !important}.pT-15\@md\+{padding-top:15px !important}.pR-15\@md\+{padding-right:15px !important}.pB-15\@md\+{padding-bottom:15px !important}.pL-15\@md\+{padding-left:15px !important}.pY-15\@md\+{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@md\+{padding-left:15px !important;padding-right:15px !important}}@media screen and (min-width: 768px){.p-15\@sm\+{padding:15px !important}.pT-15\@sm\+{padding-top:15px !important}.pR-15\@sm\+{padding-right:15px !important}.pB-15\@sm\+{padding-bottom:15px !important}.pL-15\@sm\+{padding-left:15px !important}.pY-15\@sm\+{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@sm\+{padding-left:15px !important;padding-right:15px !important}}@media screen and (min-width: 0){.p-15\@xs\+{padding:15px !important}.pT-15\@xs\+{padding-top:15px !important}.pR-15\@xs\+{padding-right:15px !important}.pB-15\@xs\+{padding-bottom:15px !important}.pL-15\@xs\+{padding-left:15px !important}.pY-15\@xs\+{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@xs\+{padding-left:15px !important;padding-right:15px !important}}@media screen and (max-width: 1439px){.p-15\@xl-{padding:15px !important}.pT-15\@xl-{padding-top:15px !important}.pR-15\@xl-{padding-right:15px !important}.pB-15\@xl-{padding-bottom:15px !important}.pL-15\@xl-{padding-left:15px !important}.pY-15\@xl-{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@xl-{padding-left:15px !important;padding-right:15px !important}}@media screen and (max-width: 1199px){.p-15\@lg-{padding:15px !important}.pT-15\@lg-{padding-top:15px !important}.pR-15\@lg-{padding-right:15px !important}.pB-15\@lg-{padding-bottom:15px !important}.pL-15\@lg-{padding-left:15px !important}.pY-15\@lg-{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@lg-{padding-left:15px !important;padding-right:15px !important}}@media screen and (max-width: 991px){.p-15\@md-{padding:15px !important}.pT-15\@md-{padding-top:15px !important}.pR-15\@md-{padding-right:15px !important}.pB-15\@md-{padding-bottom:15px !important}.pL-15\@md-{padding-left:15px !important}.pY-15\@md-{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@md-{padding-left:15px !important;padding-right:15px !important}}@media screen and (max-width: 767px){.p-15\@sm-{padding:15px !important}.pT-15\@sm-{padding-top:15px !important}.pR-15\@sm-{padding-right:15px !important}.pB-15\@sm-{padding-bottom:15px !important}.pL-15\@sm-{padding-left:15px !important}.pY-15\@sm-{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@sm-{padding-left:15px !important;padding-right:15px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-15\@lg{padding:15px !important}.pT-15\@lg{padding-top:15px !important}.pR-15\@lg{padding-right:15px !important}.pB-15\@lg{padding-bottom:15px !important}.pL-15\@lg{padding-left:15px !important}.pY-15\@lg{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@lg{padding-left:15px !important;padding-right:15px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-15\@md{padding:15px !important}.pT-15\@md{padding-top:15px !important}.pR-15\@md{padding-right:15px !important}.pB-15\@md{padding-bottom:15px !important}.pL-15\@md{padding-left:15px !important}.pY-15\@md{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@md{padding-left:15px !important;padding-right:15px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-15\@sm{padding:15px !important}.pT-15\@sm{padding-top:15px !important}.pR-15\@sm{padding-right:15px !important}.pB-15\@sm{padding-bottom:15px !important}.pL-15\@sm{padding-left:15px !important}.pY-15\@sm{padding-top:15px !important;padding-bottom:15px !important}.pX-15\@sm{padding-left:15px !important;padding-right:15px !important}}.p-20{padding:20px !important}.pT-20{padding-top:20px !important}.pR-20{padding-right:20px !important}.pB-20{padding-bottom:20px !important}.pL-20{padding-left:20px !important}.pY-20{padding-top:20px !important;padding-bottom:20px !important}.pX-20{padding-left:20px !important;padding-right:20px !important}@media screen and (min-width: 1440px){.p-20\@xl\+{padding:20px !important}.pT-20\@xl\+{padding-top:20px !important}.pR-20\@xl\+{padding-right:20px !important}.pB-20\@xl\+{padding-bottom:20px !important}.pL-20\@xl\+{padding-left:20px !important}.pY-20\@xl\+{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@xl\+{padding-left:20px !important;padding-right:20px !important}}@media screen and (min-width: 1200px){.p-20\@lg\+{padding:20px !important}.pT-20\@lg\+{padding-top:20px !important}.pR-20\@lg\+{padding-right:20px !important}.pB-20\@lg\+{padding-bottom:20px !important}.pL-20\@lg\+{padding-left:20px !important}.pY-20\@lg\+{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@lg\+{padding-left:20px !important;padding-right:20px !important}}@media screen and (min-width: 992px){.p-20\@md\+{padding:20px !important}.pT-20\@md\+{padding-top:20px !important}.pR-20\@md\+{padding-right:20px !important}.pB-20\@md\+{padding-bottom:20px !important}.pL-20\@md\+{padding-left:20px !important}.pY-20\@md\+{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@md\+{padding-left:20px !important;padding-right:20px !important}}@media screen and (min-width: 768px){.p-20\@sm\+{padding:20px !important}.pT-20\@sm\+{padding-top:20px !important}.pR-20\@sm\+{padding-right:20px !important}.pB-20\@sm\+{padding-bottom:20px !important}.pL-20\@sm\+{padding-left:20px !important}.pY-20\@sm\+{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@sm\+{padding-left:20px !important;padding-right:20px !important}}@media screen and (min-width: 0){.p-20\@xs\+{padding:20px !important}.pT-20\@xs\+{padding-top:20px !important}.pR-20\@xs\+{padding-right:20px !important}.pB-20\@xs\+{padding-bottom:20px !important}.pL-20\@xs\+{padding-left:20px !important}.pY-20\@xs\+{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@xs\+{padding-left:20px !important;padding-right:20px !important}}@media screen and (max-width: 1439px){.p-20\@xl-{padding:20px !important}.pT-20\@xl-{padding-top:20px !important}.pR-20\@xl-{padding-right:20px !important}.pB-20\@xl-{padding-bottom:20px !important}.pL-20\@xl-{padding-left:20px !important}.pY-20\@xl-{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@xl-{padding-left:20px !important;padding-right:20px !important}}@media screen and (max-width: 1199px){.p-20\@lg-{padding:20px !important}.pT-20\@lg-{padding-top:20px !important}.pR-20\@lg-{padding-right:20px !important}.pB-20\@lg-{padding-bottom:20px !important}.pL-20\@lg-{padding-left:20px !important}.pY-20\@lg-{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@lg-{padding-left:20px !important;padding-right:20px !important}}@media screen and (max-width: 991px){.p-20\@md-{padding:20px !important}.pT-20\@md-{padding-top:20px !important}.pR-20\@md-{padding-right:20px !important}.pB-20\@md-{padding-bottom:20px !important}.pL-20\@md-{padding-left:20px !important}.pY-20\@md-{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@md-{padding-left:20px !important;padding-right:20px !important}}@media screen and (max-width: 767px){.p-20\@sm-{padding:20px !important}.pT-20\@sm-{padding-top:20px !important}.pR-20\@sm-{padding-right:20px !important}.pB-20\@sm-{padding-bottom:20px !important}.pL-20\@sm-{padding-left:20px !important}.pY-20\@sm-{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@sm-{padding-left:20px !important;padding-right:20px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-20\@lg{padding:20px !important}.pT-20\@lg{padding-top:20px !important}.pR-20\@lg{padding-right:20px !important}.pB-20\@lg{padding-bottom:20px !important}.pL-20\@lg{padding-left:20px !important}.pY-20\@lg{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@lg{padding-left:20px !important;padding-right:20px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-20\@md{padding:20px !important}.pT-20\@md{padding-top:20px !important}.pR-20\@md{padding-right:20px !important}.pB-20\@md{padding-bottom:20px !important}.pL-20\@md{padding-left:20px !important}.pY-20\@md{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@md{padding-left:20px !important;padding-right:20px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-20\@sm{padding:20px !important}.pT-20\@sm{padding-top:20px !important}.pR-20\@sm{padding-right:20px !important}.pB-20\@sm{padding-bottom:20px !important}.pL-20\@sm{padding-left:20px !important}.pY-20\@sm{padding-top:20px !important;padding-bottom:20px !important}.pX-20\@sm{padding-left:20px !important;padding-right:20px !important}}.p-25{padding:25px !important}.pT-25{padding-top:25px !important}.pR-25{padding-right:25px !important}.pB-25{padding-bottom:25px !important}.pL-25{padding-left:25px !important}.pY-25{padding-top:25px !important;padding-bottom:25px !important}.pX-25{padding-left:25px !important;padding-right:25px !important}@media screen and (min-width: 1440px){.p-25\@xl\+{padding:25px !important}.pT-25\@xl\+{padding-top:25px !important}.pR-25\@xl\+{padding-right:25px !important}.pB-25\@xl\+{padding-bottom:25px !important}.pL-25\@xl\+{padding-left:25px !important}.pY-25\@xl\+{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@xl\+{padding-left:25px !important;padding-right:25px !important}}@media screen and (min-width: 1200px){.p-25\@lg\+{padding:25px !important}.pT-25\@lg\+{padding-top:25px !important}.pR-25\@lg\+{padding-right:25px !important}.pB-25\@lg\+{padding-bottom:25px !important}.pL-25\@lg\+{padding-left:25px !important}.pY-25\@lg\+{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@lg\+{padding-left:25px !important;padding-right:25px !important}}@media screen and (min-width: 992px){.p-25\@md\+{padding:25px !important}.pT-25\@md\+{padding-top:25px !important}.pR-25\@md\+{padding-right:25px !important}.pB-25\@md\+{padding-bottom:25px !important}.pL-25\@md\+{padding-left:25px !important}.pY-25\@md\+{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@md\+{padding-left:25px !important;padding-right:25px !important}}@media screen and (min-width: 768px){.p-25\@sm\+{padding:25px !important}.pT-25\@sm\+{padding-top:25px !important}.pR-25\@sm\+{padding-right:25px !important}.pB-25\@sm\+{padding-bottom:25px !important}.pL-25\@sm\+{padding-left:25px !important}.pY-25\@sm\+{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@sm\+{padding-left:25px !important;padding-right:25px !important}}@media screen and (min-width: 0){.p-25\@xs\+{padding:25px !important}.pT-25\@xs\+{padding-top:25px !important}.pR-25\@xs\+{padding-right:25px !important}.pB-25\@xs\+{padding-bottom:25px !important}.pL-25\@xs\+{padding-left:25px !important}.pY-25\@xs\+{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@xs\+{padding-left:25px !important;padding-right:25px !important}}@media screen and (max-width: 1439px){.p-25\@xl-{padding:25px !important}.pT-25\@xl-{padding-top:25px !important}.pR-25\@xl-{padding-right:25px !important}.pB-25\@xl-{padding-bottom:25px !important}.pL-25\@xl-{padding-left:25px !important}.pY-25\@xl-{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@xl-{padding-left:25px !important;padding-right:25px !important}}@media screen and (max-width: 1199px){.p-25\@lg-{padding:25px !important}.pT-25\@lg-{padding-top:25px !important}.pR-25\@lg-{padding-right:25px !important}.pB-25\@lg-{padding-bottom:25px !important}.pL-25\@lg-{padding-left:25px !important}.pY-25\@lg-{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@lg-{padding-left:25px !important;padding-right:25px !important}}@media screen and (max-width: 991px){.p-25\@md-{padding:25px !important}.pT-25\@md-{padding-top:25px !important}.pR-25\@md-{padding-right:25px !important}.pB-25\@md-{padding-bottom:25px !important}.pL-25\@md-{padding-left:25px !important}.pY-25\@md-{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@md-{padding-left:25px !important;padding-right:25px !important}}@media screen and (max-width: 767px){.p-25\@sm-{padding:25px !important}.pT-25\@sm-{padding-top:25px !important}.pR-25\@sm-{padding-right:25px !important}.pB-25\@sm-{padding-bottom:25px !important}.pL-25\@sm-{padding-left:25px !important}.pY-25\@sm-{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@sm-{padding-left:25px !important;padding-right:25px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-25\@lg{padding:25px !important}.pT-25\@lg{padding-top:25px !important}.pR-25\@lg{padding-right:25px !important}.pB-25\@lg{padding-bottom:25px !important}.pL-25\@lg{padding-left:25px !important}.pY-25\@lg{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@lg{padding-left:25px !important;padding-right:25px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-25\@md{padding:25px !important}.pT-25\@md{padding-top:25px !important}.pR-25\@md{padding-right:25px !important}.pB-25\@md{padding-bottom:25px !important}.pL-25\@md{padding-left:25px !important}.pY-25\@md{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@md{padding-left:25px !important;padding-right:25px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-25\@sm{padding:25px !important}.pT-25\@sm{padding-top:25px !important}.pR-25\@sm{padding-right:25px !important}.pB-25\@sm{padding-bottom:25px !important}.pL-25\@sm{padding-left:25px !important}.pY-25\@sm{padding-top:25px !important;padding-bottom:25px !important}.pX-25\@sm{padding-left:25px !important;padding-right:25px !important}}.p-30{padding:30px !important}.pT-30{padding-top:30px !important}.pR-30{padding-right:30px !important}.pB-30{padding-bottom:30px !important}.pL-30{padding-left:30px !important}.pY-30{padding-top:30px !important;padding-bottom:30px !important}.pX-30{padding-left:30px !important;padding-right:30px !important}@media screen and (min-width: 1440px){.p-30\@xl\+{padding:30px !important}.pT-30\@xl\+{padding-top:30px !important}.pR-30\@xl\+{padding-right:30px !important}.pB-30\@xl\+{padding-bottom:30px !important}.pL-30\@xl\+{padding-left:30px !important}.pY-30\@xl\+{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@xl\+{padding-left:30px !important;padding-right:30px !important}}@media screen and (min-width: 1200px){.p-30\@lg\+{padding:30px !important}.pT-30\@lg\+{padding-top:30px !important}.pR-30\@lg\+{padding-right:30px !important}.pB-30\@lg\+{padding-bottom:30px !important}.pL-30\@lg\+{padding-left:30px !important}.pY-30\@lg\+{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@lg\+{padding-left:30px !important;padding-right:30px !important}}@media screen and (min-width: 992px){.p-30\@md\+{padding:30px !important}.pT-30\@md\+{padding-top:30px !important}.pR-30\@md\+{padding-right:30px !important}.pB-30\@md\+{padding-bottom:30px !important}.pL-30\@md\+{padding-left:30px !important}.pY-30\@md\+{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@md\+{padding-left:30px !important;padding-right:30px !important}}@media screen and (min-width: 768px){.p-30\@sm\+{padding:30px !important}.pT-30\@sm\+{padding-top:30px !important}.pR-30\@sm\+{padding-right:30px !important}.pB-30\@sm\+{padding-bottom:30px !important}.pL-30\@sm\+{padding-left:30px !important}.pY-30\@sm\+{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@sm\+{padding-left:30px !important;padding-right:30px !important}}@media screen and (min-width: 0){.p-30\@xs\+{padding:30px !important}.pT-30\@xs\+{padding-top:30px !important}.pR-30\@xs\+{padding-right:30px !important}.pB-30\@xs\+{padding-bottom:30px !important}.pL-30\@xs\+{padding-left:30px !important}.pY-30\@xs\+{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@xs\+{padding-left:30px !important;padding-right:30px !important}}@media screen and (max-width: 1439px){.p-30\@xl-{padding:30px !important}.pT-30\@xl-{padding-top:30px !important}.pR-30\@xl-{padding-right:30px !important}.pB-30\@xl-{padding-bottom:30px !important}.pL-30\@xl-{padding-left:30px !important}.pY-30\@xl-{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@xl-{padding-left:30px !important;padding-right:30px !important}}@media screen and (max-width: 1199px){.p-30\@lg-{padding:30px !important}.pT-30\@lg-{padding-top:30px !important}.pR-30\@lg-{padding-right:30px !important}.pB-30\@lg-{padding-bottom:30px !important}.pL-30\@lg-{padding-left:30px !important}.pY-30\@lg-{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@lg-{padding-left:30px !important;padding-right:30px !important}}@media screen and (max-width: 991px){.p-30\@md-{padding:30px !important}.pT-30\@md-{padding-top:30px !important}.pR-30\@md-{padding-right:30px !important}.pB-30\@md-{padding-bottom:30px !important}.pL-30\@md-{padding-left:30px !important}.pY-30\@md-{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@md-{padding-left:30px !important;padding-right:30px !important}}@media screen and (max-width: 767px){.p-30\@sm-{padding:30px !important}.pT-30\@sm-{padding-top:30px !important}.pR-30\@sm-{padding-right:30px !important}.pB-30\@sm-{padding-bottom:30px !important}.pL-30\@sm-{padding-left:30px !important}.pY-30\@sm-{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@sm-{padding-left:30px !important;padding-right:30px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-30\@lg{padding:30px !important}.pT-30\@lg{padding-top:30px !important}.pR-30\@lg{padding-right:30px !important}.pB-30\@lg{padding-bottom:30px !important}.pL-30\@lg{padding-left:30px !important}.pY-30\@lg{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@lg{padding-left:30px !important;padding-right:30px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-30\@md{padding:30px !important}.pT-30\@md{padding-top:30px !important}.pR-30\@md{padding-right:30px !important}.pB-30\@md{padding-bottom:30px !important}.pL-30\@md{padding-left:30px !important}.pY-30\@md{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@md{padding-left:30px !important;padding-right:30px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-30\@sm{padding:30px !important}.pT-30\@sm{padding-top:30px !important}.pR-30\@sm{padding-right:30px !important}.pB-30\@sm{padding-bottom:30px !important}.pL-30\@sm{padding-left:30px !important}.pY-30\@sm{padding-top:30px !important;padding-bottom:30px !important}.pX-30\@sm{padding-left:30px !important;padding-right:30px !important}}.p-35{padding:35px !important}.pT-35{padding-top:35px !important}.pR-35{padding-right:35px !important}.pB-35{padding-bottom:35px !important}.pL-35{padding-left:35px !important}.pY-35{padding-top:35px !important;padding-bottom:35px !important}.pX-35{padding-left:35px !important;padding-right:35px !important}@media screen and (min-width: 1440px){.p-35\@xl\+{padding:35px !important}.pT-35\@xl\+{padding-top:35px !important}.pR-35\@xl\+{padding-right:35px !important}.pB-35\@xl\+{padding-bottom:35px !important}.pL-35\@xl\+{padding-left:35px !important}.pY-35\@xl\+{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@xl\+{padding-left:35px !important;padding-right:35px !important}}@media screen and (min-width: 1200px){.p-35\@lg\+{padding:35px !important}.pT-35\@lg\+{padding-top:35px !important}.pR-35\@lg\+{padding-right:35px !important}.pB-35\@lg\+{padding-bottom:35px !important}.pL-35\@lg\+{padding-left:35px !important}.pY-35\@lg\+{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@lg\+{padding-left:35px !important;padding-right:35px !important}}@media screen and (min-width: 992px){.p-35\@md\+{padding:35px !important}.pT-35\@md\+{padding-top:35px !important}.pR-35\@md\+{padding-right:35px !important}.pB-35\@md\+{padding-bottom:35px !important}.pL-35\@md\+{padding-left:35px !important}.pY-35\@md\+{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@md\+{padding-left:35px !important;padding-right:35px !important}}@media screen and (min-width: 768px){.p-35\@sm\+{padding:35px !important}.pT-35\@sm\+{padding-top:35px !important}.pR-35\@sm\+{padding-right:35px !important}.pB-35\@sm\+{padding-bottom:35px !important}.pL-35\@sm\+{padding-left:35px !important}.pY-35\@sm\+{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@sm\+{padding-left:35px !important;padding-right:35px !important}}@media screen and (min-width: 0){.p-35\@xs\+{padding:35px !important}.pT-35\@xs\+{padding-top:35px !important}.pR-35\@xs\+{padding-right:35px !important}.pB-35\@xs\+{padding-bottom:35px !important}.pL-35\@xs\+{padding-left:35px !important}.pY-35\@xs\+{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@xs\+{padding-left:35px !important;padding-right:35px !important}}@media screen and (max-width: 1439px){.p-35\@xl-{padding:35px !important}.pT-35\@xl-{padding-top:35px !important}.pR-35\@xl-{padding-right:35px !important}.pB-35\@xl-{padding-bottom:35px !important}.pL-35\@xl-{padding-left:35px !important}.pY-35\@xl-{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@xl-{padding-left:35px !important;padding-right:35px !important}}@media screen and (max-width: 1199px){.p-35\@lg-{padding:35px !important}.pT-35\@lg-{padding-top:35px !important}.pR-35\@lg-{padding-right:35px !important}.pB-35\@lg-{padding-bottom:35px !important}.pL-35\@lg-{padding-left:35px !important}.pY-35\@lg-{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@lg-{padding-left:35px !important;padding-right:35px !important}}@media screen and (max-width: 991px){.p-35\@md-{padding:35px !important}.pT-35\@md-{padding-top:35px !important}.pR-35\@md-{padding-right:35px !important}.pB-35\@md-{padding-bottom:35px !important}.pL-35\@md-{padding-left:35px !important}.pY-35\@md-{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@md-{padding-left:35px !important;padding-right:35px !important}}@media screen and (max-width: 767px){.p-35\@sm-{padding:35px !important}.pT-35\@sm-{padding-top:35px !important}.pR-35\@sm-{padding-right:35px !important}.pB-35\@sm-{padding-bottom:35px !important}.pL-35\@sm-{padding-left:35px !important}.pY-35\@sm-{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@sm-{padding-left:35px !important;padding-right:35px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-35\@lg{padding:35px !important}.pT-35\@lg{padding-top:35px !important}.pR-35\@lg{padding-right:35px !important}.pB-35\@lg{padding-bottom:35px !important}.pL-35\@lg{padding-left:35px !important}.pY-35\@lg{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@lg{padding-left:35px !important;padding-right:35px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-35\@md{padding:35px !important}.pT-35\@md{padding-top:35px !important}.pR-35\@md{padding-right:35px !important}.pB-35\@md{padding-bottom:35px !important}.pL-35\@md{padding-left:35px !important}.pY-35\@md{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@md{padding-left:35px !important;padding-right:35px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-35\@sm{padding:35px !important}.pT-35\@sm{padding-top:35px !important}.pR-35\@sm{padding-right:35px !important}.pB-35\@sm{padding-bottom:35px !important}.pL-35\@sm{padding-left:35px !important}.pY-35\@sm{padding-top:35px !important;padding-bottom:35px !important}.pX-35\@sm{padding-left:35px !important;padding-right:35px !important}}.p-40{padding:40px !important}.pT-40{padding-top:40px !important}.pR-40{padding-right:40px !important}.pB-40{padding-bottom:40px !important}.pL-40{padding-left:40px !important}.pY-40{padding-top:40px !important;padding-bottom:40px !important}.pX-40{padding-left:40px !important;padding-right:40px !important}@media screen and (min-width: 1440px){.p-40\@xl\+{padding:40px !important}.pT-40\@xl\+{padding-top:40px !important}.pR-40\@xl\+{padding-right:40px !important}.pB-40\@xl\+{padding-bottom:40px !important}.pL-40\@xl\+{padding-left:40px !important}.pY-40\@xl\+{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@xl\+{padding-left:40px !important;padding-right:40px !important}}@media screen and (min-width: 1200px){.p-40\@lg\+{padding:40px !important}.pT-40\@lg\+{padding-top:40px !important}.pR-40\@lg\+{padding-right:40px !important}.pB-40\@lg\+{padding-bottom:40px !important}.pL-40\@lg\+{padding-left:40px !important}.pY-40\@lg\+{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@lg\+{padding-left:40px !important;padding-right:40px !important}}@media screen and (min-width: 992px){.p-40\@md\+{padding:40px !important}.pT-40\@md\+{padding-top:40px !important}.pR-40\@md\+{padding-right:40px !important}.pB-40\@md\+{padding-bottom:40px !important}.pL-40\@md\+{padding-left:40px !important}.pY-40\@md\+{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@md\+{padding-left:40px !important;padding-right:40px !important}}@media screen and (min-width: 768px){.p-40\@sm\+{padding:40px !important}.pT-40\@sm\+{padding-top:40px !important}.pR-40\@sm\+{padding-right:40px !important}.pB-40\@sm\+{padding-bottom:40px !important}.pL-40\@sm\+{padding-left:40px !important}.pY-40\@sm\+{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@sm\+{padding-left:40px !important;padding-right:40px !important}}@media screen and (min-width: 0){.p-40\@xs\+{padding:40px !important}.pT-40\@xs\+{padding-top:40px !important}.pR-40\@xs\+{padding-right:40px !important}.pB-40\@xs\+{padding-bottom:40px !important}.pL-40\@xs\+{padding-left:40px !important}.pY-40\@xs\+{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@xs\+{padding-left:40px !important;padding-right:40px !important}}@media screen and (max-width: 1439px){.p-40\@xl-{padding:40px !important}.pT-40\@xl-{padding-top:40px !important}.pR-40\@xl-{padding-right:40px !important}.pB-40\@xl-{padding-bottom:40px !important}.pL-40\@xl-{padding-left:40px !important}.pY-40\@xl-{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@xl-{padding-left:40px !important;padding-right:40px !important}}@media screen and (max-width: 1199px){.p-40\@lg-{padding:40px !important}.pT-40\@lg-{padding-top:40px !important}.pR-40\@lg-{padding-right:40px !important}.pB-40\@lg-{padding-bottom:40px !important}.pL-40\@lg-{padding-left:40px !important}.pY-40\@lg-{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@lg-{padding-left:40px !important;padding-right:40px !important}}@media screen and (max-width: 991px){.p-40\@md-{padding:40px !important}.pT-40\@md-{padding-top:40px !important}.pR-40\@md-{padding-right:40px !important}.pB-40\@md-{padding-bottom:40px !important}.pL-40\@md-{padding-left:40px !important}.pY-40\@md-{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@md-{padding-left:40px !important;padding-right:40px !important}}@media screen and (max-width: 767px){.p-40\@sm-{padding:40px !important}.pT-40\@sm-{padding-top:40px !important}.pR-40\@sm-{padding-right:40px !important}.pB-40\@sm-{padding-bottom:40px !important}.pL-40\@sm-{padding-left:40px !important}.pY-40\@sm-{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@sm-{padding-left:40px !important;padding-right:40px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-40\@lg{padding:40px !important}.pT-40\@lg{padding-top:40px !important}.pR-40\@lg{padding-right:40px !important}.pB-40\@lg{padding-bottom:40px !important}.pL-40\@lg{padding-left:40px !important}.pY-40\@lg{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@lg{padding-left:40px !important;padding-right:40px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-40\@md{padding:40px !important}.pT-40\@md{padding-top:40px !important}.pR-40\@md{padding-right:40px !important}.pB-40\@md{padding-bottom:40px !important}.pL-40\@md{padding-left:40px !important}.pY-40\@md{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@md{padding-left:40px !important;padding-right:40px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-40\@sm{padding:40px !important}.pT-40\@sm{padding-top:40px !important}.pR-40\@sm{padding-right:40px !important}.pB-40\@sm{padding-bottom:40px !important}.pL-40\@sm{padding-left:40px !important}.pY-40\@sm{padding-top:40px !important;padding-bottom:40px !important}.pX-40\@sm{padding-left:40px !important;padding-right:40px !important}}.p-50{padding:50px !important}.pT-50{padding-top:50px !important}.pR-50{padding-right:50px !important}.pB-50{padding-bottom:50px !important}.pL-50{padding-left:50px !important}.pY-50{padding-top:50px !important;padding-bottom:50px !important}.pX-50{padding-left:50px !important;padding-right:50px !important}@media screen and (min-width: 1440px){.p-50\@xl\+{padding:50px !important}.pT-50\@xl\+{padding-top:50px !important}.pR-50\@xl\+{padding-right:50px !important}.pB-50\@xl\+{padding-bottom:50px !important}.pL-50\@xl\+{padding-left:50px !important}.pY-50\@xl\+{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@xl\+{padding-left:50px !important;padding-right:50px !important}}@media screen and (min-width: 1200px){.p-50\@lg\+{padding:50px !important}.pT-50\@lg\+{padding-top:50px !important}.pR-50\@lg\+{padding-right:50px !important}.pB-50\@lg\+{padding-bottom:50px !important}.pL-50\@lg\+{padding-left:50px !important}.pY-50\@lg\+{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@lg\+{padding-left:50px !important;padding-right:50px !important}}@media screen and (min-width: 992px){.p-50\@md\+{padding:50px !important}.pT-50\@md\+{padding-top:50px !important}.pR-50\@md\+{padding-right:50px !important}.pB-50\@md\+{padding-bottom:50px !important}.pL-50\@md\+{padding-left:50px !important}.pY-50\@md\+{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@md\+{padding-left:50px !important;padding-right:50px !important}}@media screen and (min-width: 768px){.p-50\@sm\+{padding:50px !important}.pT-50\@sm\+{padding-top:50px !important}.pR-50\@sm\+{padding-right:50px !important}.pB-50\@sm\+{padding-bottom:50px !important}.pL-50\@sm\+{padding-left:50px !important}.pY-50\@sm\+{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@sm\+{padding-left:50px !important;padding-right:50px !important}}@media screen and (min-width: 0){.p-50\@xs\+{padding:50px !important}.pT-50\@xs\+{padding-top:50px !important}.pR-50\@xs\+{padding-right:50px !important}.pB-50\@xs\+{padding-bottom:50px !important}.pL-50\@xs\+{padding-left:50px !important}.pY-50\@xs\+{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@xs\+{padding-left:50px !important;padding-right:50px !important}}@media screen and (max-width: 1439px){.p-50\@xl-{padding:50px !important}.pT-50\@xl-{padding-top:50px !important}.pR-50\@xl-{padding-right:50px !important}.pB-50\@xl-{padding-bottom:50px !important}.pL-50\@xl-{padding-left:50px !important}.pY-50\@xl-{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@xl-{padding-left:50px !important;padding-right:50px !important}}@media screen and (max-width: 1199px){.p-50\@lg-{padding:50px !important}.pT-50\@lg-{padding-top:50px !important}.pR-50\@lg-{padding-right:50px !important}.pB-50\@lg-{padding-bottom:50px !important}.pL-50\@lg-{padding-left:50px !important}.pY-50\@lg-{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@lg-{padding-left:50px !important;padding-right:50px !important}}@media screen and (max-width: 991px){.p-50\@md-{padding:50px !important}.pT-50\@md-{padding-top:50px !important}.pR-50\@md-{padding-right:50px !important}.pB-50\@md-{padding-bottom:50px !important}.pL-50\@md-{padding-left:50px !important}.pY-50\@md-{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@md-{padding-left:50px !important;padding-right:50px !important}}@media screen and (max-width: 767px){.p-50\@sm-{padding:50px !important}.pT-50\@sm-{padding-top:50px !important}.pR-50\@sm-{padding-right:50px !important}.pB-50\@sm-{padding-bottom:50px !important}.pL-50\@sm-{padding-left:50px !important}.pY-50\@sm-{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@sm-{padding-left:50px !important;padding-right:50px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-50\@lg{padding:50px !important}.pT-50\@lg{padding-top:50px !important}.pR-50\@lg{padding-right:50px !important}.pB-50\@lg{padding-bottom:50px !important}.pL-50\@lg{padding-left:50px !important}.pY-50\@lg{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@lg{padding-left:50px !important;padding-right:50px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-50\@md{padding:50px !important}.pT-50\@md{padding-top:50px !important}.pR-50\@md{padding-right:50px !important}.pB-50\@md{padding-bottom:50px !important}.pL-50\@md{padding-left:50px !important}.pY-50\@md{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@md{padding-left:50px !important;padding-right:50px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-50\@sm{padding:50px !important}.pT-50\@sm{padding-top:50px !important}.pR-50\@sm{padding-right:50px !important}.pB-50\@sm{padding-bottom:50px !important}.pL-50\@sm{padding-left:50px !important}.pY-50\@sm{padding-top:50px !important;padding-bottom:50px !important}.pX-50\@sm{padding-left:50px !important;padding-right:50px !important}}.p-60{padding:60px !important}.pT-60{padding-top:60px !important}.pR-60{padding-right:60px !important}.pB-60{padding-bottom:60px !important}.pL-60{padding-left:60px !important}.pY-60{padding-top:60px !important;padding-bottom:60px !important}.pX-60{padding-left:60px !important;padding-right:60px !important}@media screen and (min-width: 1440px){.p-60\@xl\+{padding:60px !important}.pT-60\@xl\+{padding-top:60px !important}.pR-60\@xl\+{padding-right:60px !important}.pB-60\@xl\+{padding-bottom:60px !important}.pL-60\@xl\+{padding-left:60px !important}.pY-60\@xl\+{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@xl\+{padding-left:60px !important;padding-right:60px !important}}@media screen and (min-width: 1200px){.p-60\@lg\+{padding:60px !important}.pT-60\@lg\+{padding-top:60px !important}.pR-60\@lg\+{padding-right:60px !important}.pB-60\@lg\+{padding-bottom:60px !important}.pL-60\@lg\+{padding-left:60px !important}.pY-60\@lg\+{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@lg\+{padding-left:60px !important;padding-right:60px !important}}@media screen and (min-width: 992px){.p-60\@md\+{padding:60px !important}.pT-60\@md\+{padding-top:60px !important}.pR-60\@md\+{padding-right:60px !important}.pB-60\@md\+{padding-bottom:60px !important}.pL-60\@md\+{padding-left:60px !important}.pY-60\@md\+{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@md\+{padding-left:60px !important;padding-right:60px !important}}@media screen and (min-width: 768px){.p-60\@sm\+{padding:60px !important}.pT-60\@sm\+{padding-top:60px !important}.pR-60\@sm\+{padding-right:60px !important}.pB-60\@sm\+{padding-bottom:60px !important}.pL-60\@sm\+{padding-left:60px !important}.pY-60\@sm\+{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@sm\+{padding-left:60px !important;padding-right:60px !important}}@media screen and (min-width: 0){.p-60\@xs\+{padding:60px !important}.pT-60\@xs\+{padding-top:60px !important}.pR-60\@xs\+{padding-right:60px !important}.pB-60\@xs\+{padding-bottom:60px !important}.pL-60\@xs\+{padding-left:60px !important}.pY-60\@xs\+{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@xs\+{padding-left:60px !important;padding-right:60px !important}}@media screen and (max-width: 1439px){.p-60\@xl-{padding:60px !important}.pT-60\@xl-{padding-top:60px !important}.pR-60\@xl-{padding-right:60px !important}.pB-60\@xl-{padding-bottom:60px !important}.pL-60\@xl-{padding-left:60px !important}.pY-60\@xl-{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@xl-{padding-left:60px !important;padding-right:60px !important}}@media screen and (max-width: 1199px){.p-60\@lg-{padding:60px !important}.pT-60\@lg-{padding-top:60px !important}.pR-60\@lg-{padding-right:60px !important}.pB-60\@lg-{padding-bottom:60px !important}.pL-60\@lg-{padding-left:60px !important}.pY-60\@lg-{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@lg-{padding-left:60px !important;padding-right:60px !important}}@media screen and (max-width: 991px){.p-60\@md-{padding:60px !important}.pT-60\@md-{padding-top:60px !important}.pR-60\@md-{padding-right:60px !important}.pB-60\@md-{padding-bottom:60px !important}.pL-60\@md-{padding-left:60px !important}.pY-60\@md-{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@md-{padding-left:60px !important;padding-right:60px !important}}@media screen and (max-width: 767px){.p-60\@sm-{padding:60px !important}.pT-60\@sm-{padding-top:60px !important}.pR-60\@sm-{padding-right:60px !important}.pB-60\@sm-{padding-bottom:60px !important}.pL-60\@sm-{padding-left:60px !important}.pY-60\@sm-{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@sm-{padding-left:60px !important;padding-right:60px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-60\@lg{padding:60px !important}.pT-60\@lg{padding-top:60px !important}.pR-60\@lg{padding-right:60px !important}.pB-60\@lg{padding-bottom:60px !important}.pL-60\@lg{padding-left:60px !important}.pY-60\@lg{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@lg{padding-left:60px !important;padding-right:60px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-60\@md{padding:60px !important}.pT-60\@md{padding-top:60px !important}.pR-60\@md{padding-right:60px !important}.pB-60\@md{padding-bottom:60px !important}.pL-60\@md{padding-left:60px !important}.pY-60\@md{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@md{padding-left:60px !important;padding-right:60px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-60\@sm{padding:60px !important}.pT-60\@sm{padding-top:60px !important}.pR-60\@sm{padding-right:60px !important}.pB-60\@sm{padding-bottom:60px !important}.pL-60\@sm{padding-left:60px !important}.pY-60\@sm{padding-top:60px !important;padding-bottom:60px !important}.pX-60\@sm{padding-left:60px !important;padding-right:60px !important}}.p-70{padding:70px !important}.pT-70{padding-top:70px !important}.pR-70{padding-right:70px !important}.pB-70{padding-bottom:70px !important}.pL-70{padding-left:70px !important}.pY-70{padding-top:70px !important;padding-bottom:70px !important}.pX-70{padding-left:70px !important;padding-right:70px !important}@media screen and (min-width: 1440px){.p-70\@xl\+{padding:70px !important}.pT-70\@xl\+{padding-top:70px !important}.pR-70\@xl\+{padding-right:70px !important}.pB-70\@xl\+{padding-bottom:70px !important}.pL-70\@xl\+{padding-left:70px !important}.pY-70\@xl\+{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@xl\+{padding-left:70px !important;padding-right:70px !important}}@media screen and (min-width: 1200px){.p-70\@lg\+{padding:70px !important}.pT-70\@lg\+{padding-top:70px !important}.pR-70\@lg\+{padding-right:70px !important}.pB-70\@lg\+{padding-bottom:70px !important}.pL-70\@lg\+{padding-left:70px !important}.pY-70\@lg\+{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@lg\+{padding-left:70px !important;padding-right:70px !important}}@media screen and (min-width: 992px){.p-70\@md\+{padding:70px !important}.pT-70\@md\+{padding-top:70px !important}.pR-70\@md\+{padding-right:70px !important}.pB-70\@md\+{padding-bottom:70px !important}.pL-70\@md\+{padding-left:70px !important}.pY-70\@md\+{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@md\+{padding-left:70px !important;padding-right:70px !important}}@media screen and (min-width: 768px){.p-70\@sm\+{padding:70px !important}.pT-70\@sm\+{padding-top:70px !important}.pR-70\@sm\+{padding-right:70px !important}.pB-70\@sm\+{padding-bottom:70px !important}.pL-70\@sm\+{padding-left:70px !important}.pY-70\@sm\+{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@sm\+{padding-left:70px !important;padding-right:70px !important}}@media screen and (min-width: 0){.p-70\@xs\+{padding:70px !important}.pT-70\@xs\+{padding-top:70px !important}.pR-70\@xs\+{padding-right:70px !important}.pB-70\@xs\+{padding-bottom:70px !important}.pL-70\@xs\+{padding-left:70px !important}.pY-70\@xs\+{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@xs\+{padding-left:70px !important;padding-right:70px !important}}@media screen and (max-width: 1439px){.p-70\@xl-{padding:70px !important}.pT-70\@xl-{padding-top:70px !important}.pR-70\@xl-{padding-right:70px !important}.pB-70\@xl-{padding-bottom:70px !important}.pL-70\@xl-{padding-left:70px !important}.pY-70\@xl-{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@xl-{padding-left:70px !important;padding-right:70px !important}}@media screen and (max-width: 1199px){.p-70\@lg-{padding:70px !important}.pT-70\@lg-{padding-top:70px !important}.pR-70\@lg-{padding-right:70px !important}.pB-70\@lg-{padding-bottom:70px !important}.pL-70\@lg-{padding-left:70px !important}.pY-70\@lg-{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@lg-{padding-left:70px !important;padding-right:70px !important}}@media screen and (max-width: 991px){.p-70\@md-{padding:70px !important}.pT-70\@md-{padding-top:70px !important}.pR-70\@md-{padding-right:70px !important}.pB-70\@md-{padding-bottom:70px !important}.pL-70\@md-{padding-left:70px !important}.pY-70\@md-{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@md-{padding-left:70px !important;padding-right:70px !important}}@media screen and (max-width: 767px){.p-70\@sm-{padding:70px !important}.pT-70\@sm-{padding-top:70px !important}.pR-70\@sm-{padding-right:70px !important}.pB-70\@sm-{padding-bottom:70px !important}.pL-70\@sm-{padding-left:70px !important}.pY-70\@sm-{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@sm-{padding-left:70px !important;padding-right:70px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-70\@lg{padding:70px !important}.pT-70\@lg{padding-top:70px !important}.pR-70\@lg{padding-right:70px !important}.pB-70\@lg{padding-bottom:70px !important}.pL-70\@lg{padding-left:70px !important}.pY-70\@lg{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@lg{padding-left:70px !important;padding-right:70px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-70\@md{padding:70px !important}.pT-70\@md{padding-top:70px !important}.pR-70\@md{padding-right:70px !important}.pB-70\@md{padding-bottom:70px !important}.pL-70\@md{padding-left:70px !important}.pY-70\@md{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@md{padding-left:70px !important;padding-right:70px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-70\@sm{padding:70px !important}.pT-70\@sm{padding-top:70px !important}.pR-70\@sm{padding-right:70px !important}.pB-70\@sm{padding-bottom:70px !important}.pL-70\@sm{padding-left:70px !important}.pY-70\@sm{padding-top:70px !important;padding-bottom:70px !important}.pX-70\@sm{padding-left:70px !important;padding-right:70px !important}}.p-80{padding:80px !important}.pT-80{padding-top:80px !important}.pR-80{padding-right:80px !important}.pB-80{padding-bottom:80px !important}.pL-80{padding-left:80px !important}.pY-80{padding-top:80px !important;padding-bottom:80px !important}.pX-80{padding-left:80px !important;padding-right:80px !important}@media screen and (min-width: 1440px){.p-80\@xl\+{padding:80px !important}.pT-80\@xl\+{padding-top:80px !important}.pR-80\@xl\+{padding-right:80px !important}.pB-80\@xl\+{padding-bottom:80px !important}.pL-80\@xl\+{padding-left:80px !important}.pY-80\@xl\+{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@xl\+{padding-left:80px !important;padding-right:80px !important}}@media screen and (min-width: 1200px){.p-80\@lg\+{padding:80px !important}.pT-80\@lg\+{padding-top:80px !important}.pR-80\@lg\+{padding-right:80px !important}.pB-80\@lg\+{padding-bottom:80px !important}.pL-80\@lg\+{padding-left:80px !important}.pY-80\@lg\+{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@lg\+{padding-left:80px !important;padding-right:80px !important}}@media screen and (min-width: 992px){.p-80\@md\+{padding:80px !important}.pT-80\@md\+{padding-top:80px !important}.pR-80\@md\+{padding-right:80px !important}.pB-80\@md\+{padding-bottom:80px !important}.pL-80\@md\+{padding-left:80px !important}.pY-80\@md\+{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@md\+{padding-left:80px !important;padding-right:80px !important}}@media screen and (min-width: 768px){.p-80\@sm\+{padding:80px !important}.pT-80\@sm\+{padding-top:80px !important}.pR-80\@sm\+{padding-right:80px !important}.pB-80\@sm\+{padding-bottom:80px !important}.pL-80\@sm\+{padding-left:80px !important}.pY-80\@sm\+{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@sm\+{padding-left:80px !important;padding-right:80px !important}}@media screen and (min-width: 0){.p-80\@xs\+{padding:80px !important}.pT-80\@xs\+{padding-top:80px !important}.pR-80\@xs\+{padding-right:80px !important}.pB-80\@xs\+{padding-bottom:80px !important}.pL-80\@xs\+{padding-left:80px !important}.pY-80\@xs\+{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@xs\+{padding-left:80px !important;padding-right:80px !important}}@media screen and (max-width: 1439px){.p-80\@xl-{padding:80px !important}.pT-80\@xl-{padding-top:80px !important}.pR-80\@xl-{padding-right:80px !important}.pB-80\@xl-{padding-bottom:80px !important}.pL-80\@xl-{padding-left:80px !important}.pY-80\@xl-{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@xl-{padding-left:80px !important;padding-right:80px !important}}@media screen and (max-width: 1199px){.p-80\@lg-{padding:80px !important}.pT-80\@lg-{padding-top:80px !important}.pR-80\@lg-{padding-right:80px !important}.pB-80\@lg-{padding-bottom:80px !important}.pL-80\@lg-{padding-left:80px !important}.pY-80\@lg-{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@lg-{padding-left:80px !important;padding-right:80px !important}}@media screen and (max-width: 991px){.p-80\@md-{padding:80px !important}.pT-80\@md-{padding-top:80px !important}.pR-80\@md-{padding-right:80px !important}.pB-80\@md-{padding-bottom:80px !important}.pL-80\@md-{padding-left:80px !important}.pY-80\@md-{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@md-{padding-left:80px !important;padding-right:80px !important}}@media screen and (max-width: 767px){.p-80\@sm-{padding:80px !important}.pT-80\@sm-{padding-top:80px !important}.pR-80\@sm-{padding-right:80px !important}.pB-80\@sm-{padding-bottom:80px !important}.pL-80\@sm-{padding-left:80px !important}.pY-80\@sm-{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@sm-{padding-left:80px !important;padding-right:80px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-80\@lg{padding:80px !important}.pT-80\@lg{padding-top:80px !important}.pR-80\@lg{padding-right:80px !important}.pB-80\@lg{padding-bottom:80px !important}.pL-80\@lg{padding-left:80px !important}.pY-80\@lg{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@lg{padding-left:80px !important;padding-right:80px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-80\@md{padding:80px !important}.pT-80\@md{padding-top:80px !important}.pR-80\@md{padding-right:80px !important}.pB-80\@md{padding-bottom:80px !important}.pL-80\@md{padding-left:80px !important}.pY-80\@md{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@md{padding-left:80px !important;padding-right:80px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-80\@sm{padding:80px !important}.pT-80\@sm{padding-top:80px !important}.pR-80\@sm{padding-right:80px !important}.pB-80\@sm{padding-bottom:80px !important}.pL-80\@sm{padding-left:80px !important}.pY-80\@sm{padding-top:80px !important;padding-bottom:80px !important}.pX-80\@sm{padding-left:80px !important;padding-right:80px !important}}.p-90{padding:90px !important}.pT-90{padding-top:90px !important}.pR-90{padding-right:90px !important}.pB-90{padding-bottom:90px !important}.pL-90{padding-left:90px !important}.pY-90{padding-top:90px !important;padding-bottom:90px !important}.pX-90{padding-left:90px !important;padding-right:90px !important}@media screen and (min-width: 1440px){.p-90\@xl\+{padding:90px !important}.pT-90\@xl\+{padding-top:90px !important}.pR-90\@xl\+{padding-right:90px !important}.pB-90\@xl\+{padding-bottom:90px !important}.pL-90\@xl\+{padding-left:90px !important}.pY-90\@xl\+{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@xl\+{padding-left:90px !important;padding-right:90px !important}}@media screen and (min-width: 1200px){.p-90\@lg\+{padding:90px !important}.pT-90\@lg\+{padding-top:90px !important}.pR-90\@lg\+{padding-right:90px !important}.pB-90\@lg\+{padding-bottom:90px !important}.pL-90\@lg\+{padding-left:90px !important}.pY-90\@lg\+{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@lg\+{padding-left:90px !important;padding-right:90px !important}}@media screen and (min-width: 992px){.p-90\@md\+{padding:90px !important}.pT-90\@md\+{padding-top:90px !important}.pR-90\@md\+{padding-right:90px !important}.pB-90\@md\+{padding-bottom:90px !important}.pL-90\@md\+{padding-left:90px !important}.pY-90\@md\+{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@md\+{padding-left:90px !important;padding-right:90px !important}}@media screen and (min-width: 768px){.p-90\@sm\+{padding:90px !important}.pT-90\@sm\+{padding-top:90px !important}.pR-90\@sm\+{padding-right:90px !important}.pB-90\@sm\+{padding-bottom:90px !important}.pL-90\@sm\+{padding-left:90px !important}.pY-90\@sm\+{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@sm\+{padding-left:90px !important;padding-right:90px !important}}@media screen and (min-width: 0){.p-90\@xs\+{padding:90px !important}.pT-90\@xs\+{padding-top:90px !important}.pR-90\@xs\+{padding-right:90px !important}.pB-90\@xs\+{padding-bottom:90px !important}.pL-90\@xs\+{padding-left:90px !important}.pY-90\@xs\+{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@xs\+{padding-left:90px !important;padding-right:90px !important}}@media screen and (max-width: 1439px){.p-90\@xl-{padding:90px !important}.pT-90\@xl-{padding-top:90px !important}.pR-90\@xl-{padding-right:90px !important}.pB-90\@xl-{padding-bottom:90px !important}.pL-90\@xl-{padding-left:90px !important}.pY-90\@xl-{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@xl-{padding-left:90px !important;padding-right:90px !important}}@media screen and (max-width: 1199px){.p-90\@lg-{padding:90px !important}.pT-90\@lg-{padding-top:90px !important}.pR-90\@lg-{padding-right:90px !important}.pB-90\@lg-{padding-bottom:90px !important}.pL-90\@lg-{padding-left:90px !important}.pY-90\@lg-{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@lg-{padding-left:90px !important;padding-right:90px !important}}@media screen and (max-width: 991px){.p-90\@md-{padding:90px !important}.pT-90\@md-{padding-top:90px !important}.pR-90\@md-{padding-right:90px !important}.pB-90\@md-{padding-bottom:90px !important}.pL-90\@md-{padding-left:90px !important}.pY-90\@md-{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@md-{padding-left:90px !important;padding-right:90px !important}}@media screen and (max-width: 767px){.p-90\@sm-{padding:90px !important}.pT-90\@sm-{padding-top:90px !important}.pR-90\@sm-{padding-right:90px !important}.pB-90\@sm-{padding-bottom:90px !important}.pL-90\@sm-{padding-left:90px !important}.pY-90\@sm-{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@sm-{padding-left:90px !important;padding-right:90px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-90\@lg{padding:90px !important}.pT-90\@lg{padding-top:90px !important}.pR-90\@lg{padding-right:90px !important}.pB-90\@lg{padding-bottom:90px !important}.pL-90\@lg{padding-left:90px !important}.pY-90\@lg{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@lg{padding-left:90px !important;padding-right:90px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-90\@md{padding:90px !important}.pT-90\@md{padding-top:90px !important}.pR-90\@md{padding-right:90px !important}.pB-90\@md{padding-bottom:90px !important}.pL-90\@md{padding-left:90px !important}.pY-90\@md{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@md{padding-left:90px !important;padding-right:90px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-90\@sm{padding:90px !important}.pT-90\@sm{padding-top:90px !important}.pR-90\@sm{padding-right:90px !important}.pB-90\@sm{padding-bottom:90px !important}.pL-90\@sm{padding-left:90px !important}.pY-90\@sm{padding-top:90px !important;padding-bottom:90px !important}.pX-90\@sm{padding-left:90px !important;padding-right:90px !important}}.p-100{padding:100px !important}.pT-100{padding-top:100px !important}.pR-100{padding-right:100px !important}.pB-100{padding-bottom:100px !important}.pL-100{padding-left:100px !important}.pY-100{padding-top:100px !important;padding-bottom:100px !important}.pX-100{padding-left:100px !important;padding-right:100px !important}@media screen and (min-width: 1440px){.p-100\@xl\+{padding:100px !important}.pT-100\@xl\+{padding-top:100px !important}.pR-100\@xl\+{padding-right:100px !important}.pB-100\@xl\+{padding-bottom:100px !important}.pL-100\@xl\+{padding-left:100px !important}.pY-100\@xl\+{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@xl\+{padding-left:100px !important;padding-right:100px !important}}@media screen and (min-width: 1200px){.p-100\@lg\+{padding:100px !important}.pT-100\@lg\+{padding-top:100px !important}.pR-100\@lg\+{padding-right:100px !important}.pB-100\@lg\+{padding-bottom:100px !important}.pL-100\@lg\+{padding-left:100px !important}.pY-100\@lg\+{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@lg\+{padding-left:100px !important;padding-right:100px !important}}@media screen and (min-width: 992px){.p-100\@md\+{padding:100px !important}.pT-100\@md\+{padding-top:100px !important}.pR-100\@md\+{padding-right:100px !important}.pB-100\@md\+{padding-bottom:100px !important}.pL-100\@md\+{padding-left:100px !important}.pY-100\@md\+{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@md\+{padding-left:100px !important;padding-right:100px !important}}@media screen and (min-width: 768px){.p-100\@sm\+{padding:100px !important}.pT-100\@sm\+{padding-top:100px !important}.pR-100\@sm\+{padding-right:100px !important}.pB-100\@sm\+{padding-bottom:100px !important}.pL-100\@sm\+{padding-left:100px !important}.pY-100\@sm\+{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@sm\+{padding-left:100px !important;padding-right:100px !important}}@media screen and (min-width: 0){.p-100\@xs\+{padding:100px !important}.pT-100\@xs\+{padding-top:100px !important}.pR-100\@xs\+{padding-right:100px !important}.pB-100\@xs\+{padding-bottom:100px !important}.pL-100\@xs\+{padding-left:100px !important}.pY-100\@xs\+{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@xs\+{padding-left:100px !important;padding-right:100px !important}}@media screen and (max-width: 1439px){.p-100\@xl-{padding:100px !important}.pT-100\@xl-{padding-top:100px !important}.pR-100\@xl-{padding-right:100px !important}.pB-100\@xl-{padding-bottom:100px !important}.pL-100\@xl-{padding-left:100px !important}.pY-100\@xl-{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@xl-{padding-left:100px !important;padding-right:100px !important}}@media screen and (max-width: 1199px){.p-100\@lg-{padding:100px !important}.pT-100\@lg-{padding-top:100px !important}.pR-100\@lg-{padding-right:100px !important}.pB-100\@lg-{padding-bottom:100px !important}.pL-100\@lg-{padding-left:100px !important}.pY-100\@lg-{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@lg-{padding-left:100px !important;padding-right:100px !important}}@media screen and (max-width: 991px){.p-100\@md-{padding:100px !important}.pT-100\@md-{padding-top:100px !important}.pR-100\@md-{padding-right:100px !important}.pB-100\@md-{padding-bottom:100px !important}.pL-100\@md-{padding-left:100px !important}.pY-100\@md-{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@md-{padding-left:100px !important;padding-right:100px !important}}@media screen and (max-width: 767px){.p-100\@sm-{padding:100px !important}.pT-100\@sm-{padding-top:100px !important}.pR-100\@sm-{padding-right:100px !important}.pB-100\@sm-{padding-bottom:100px !important}.pL-100\@sm-{padding-left:100px !important}.pY-100\@sm-{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@sm-{padding-left:100px !important;padding-right:100px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-100\@lg{padding:100px !important}.pT-100\@lg{padding-top:100px !important}.pR-100\@lg{padding-right:100px !important}.pB-100\@lg{padding-bottom:100px !important}.pL-100\@lg{padding-left:100px !important}.pY-100\@lg{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@lg{padding-left:100px !important;padding-right:100px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-100\@md{padding:100px !important}.pT-100\@md{padding-top:100px !important}.pR-100\@md{padding-right:100px !important}.pB-100\@md{padding-bottom:100px !important}.pL-100\@md{padding-left:100px !important}.pY-100\@md{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@md{padding-left:100px !important;padding-right:100px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-100\@sm{padding:100px !important}.pT-100\@sm{padding-top:100px !important}.pR-100\@sm{padding-right:100px !important}.pB-100\@sm{padding-bottom:100px !important}.pL-100\@sm{padding-left:100px !important}.pY-100\@sm{padding-top:100px !important;padding-bottom:100px !important}.pX-100\@sm{padding-left:100px !important;padding-right:100px !important}}.p-110{padding:110px !important}.pT-110{padding-top:110px !important}.pR-110{padding-right:110px !important}.pB-110{padding-bottom:110px !important}.pL-110{padding-left:110px !important}.pY-110{padding-top:110px !important;padding-bottom:110px !important}.pX-110{padding-left:110px !important;padding-right:110px !important}@media screen and (min-width: 1440px){.p-110\@xl\+{padding:110px !important}.pT-110\@xl\+{padding-top:110px !important}.pR-110\@xl\+{padding-right:110px !important}.pB-110\@xl\+{padding-bottom:110px !important}.pL-110\@xl\+{padding-left:110px !important}.pY-110\@xl\+{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@xl\+{padding-left:110px !important;padding-right:110px !important}}@media screen and (min-width: 1200px){.p-110\@lg\+{padding:110px !important}.pT-110\@lg\+{padding-top:110px !important}.pR-110\@lg\+{padding-right:110px !important}.pB-110\@lg\+{padding-bottom:110px !important}.pL-110\@lg\+{padding-left:110px !important}.pY-110\@lg\+{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@lg\+{padding-left:110px !important;padding-right:110px !important}}@media screen and (min-width: 992px){.p-110\@md\+{padding:110px !important}.pT-110\@md\+{padding-top:110px !important}.pR-110\@md\+{padding-right:110px !important}.pB-110\@md\+{padding-bottom:110px !important}.pL-110\@md\+{padding-left:110px !important}.pY-110\@md\+{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@md\+{padding-left:110px !important;padding-right:110px !important}}@media screen and (min-width: 768px){.p-110\@sm\+{padding:110px !important}.pT-110\@sm\+{padding-top:110px !important}.pR-110\@sm\+{padding-right:110px !important}.pB-110\@sm\+{padding-bottom:110px !important}.pL-110\@sm\+{padding-left:110px !important}.pY-110\@sm\+{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@sm\+{padding-left:110px !important;padding-right:110px !important}}@media screen and (min-width: 0){.p-110\@xs\+{padding:110px !important}.pT-110\@xs\+{padding-top:110px !important}.pR-110\@xs\+{padding-right:110px !important}.pB-110\@xs\+{padding-bottom:110px !important}.pL-110\@xs\+{padding-left:110px !important}.pY-110\@xs\+{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@xs\+{padding-left:110px !important;padding-right:110px !important}}@media screen and (max-width: 1439px){.p-110\@xl-{padding:110px !important}.pT-110\@xl-{padding-top:110px !important}.pR-110\@xl-{padding-right:110px !important}.pB-110\@xl-{padding-bottom:110px !important}.pL-110\@xl-{padding-left:110px !important}.pY-110\@xl-{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@xl-{padding-left:110px !important;padding-right:110px !important}}@media screen and (max-width: 1199px){.p-110\@lg-{padding:110px !important}.pT-110\@lg-{padding-top:110px !important}.pR-110\@lg-{padding-right:110px !important}.pB-110\@lg-{padding-bottom:110px !important}.pL-110\@lg-{padding-left:110px !important}.pY-110\@lg-{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@lg-{padding-left:110px !important;padding-right:110px !important}}@media screen and (max-width: 991px){.p-110\@md-{padding:110px !important}.pT-110\@md-{padding-top:110px !important}.pR-110\@md-{padding-right:110px !important}.pB-110\@md-{padding-bottom:110px !important}.pL-110\@md-{padding-left:110px !important}.pY-110\@md-{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@md-{padding-left:110px !important;padding-right:110px !important}}@media screen and (max-width: 767px){.p-110\@sm-{padding:110px !important}.pT-110\@sm-{padding-top:110px !important}.pR-110\@sm-{padding-right:110px !important}.pB-110\@sm-{padding-bottom:110px !important}.pL-110\@sm-{padding-left:110px !important}.pY-110\@sm-{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@sm-{padding-left:110px !important;padding-right:110px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-110\@lg{padding:110px !important}.pT-110\@lg{padding-top:110px !important}.pR-110\@lg{padding-right:110px !important}.pB-110\@lg{padding-bottom:110px !important}.pL-110\@lg{padding-left:110px !important}.pY-110\@lg{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@lg{padding-left:110px !important;padding-right:110px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-110\@md{padding:110px !important}.pT-110\@md{padding-top:110px !important}.pR-110\@md{padding-right:110px !important}.pB-110\@md{padding-bottom:110px !important}.pL-110\@md{padding-left:110px !important}.pY-110\@md{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@md{padding-left:110px !important;padding-right:110px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-110\@sm{padding:110px !important}.pT-110\@sm{padding-top:110px !important}.pR-110\@sm{padding-right:110px !important}.pB-110\@sm{padding-bottom:110px !important}.pL-110\@sm{padding-left:110px !important}.pY-110\@sm{padding-top:110px !important;padding-bottom:110px !important}.pX-110\@sm{padding-left:110px !important;padding-right:110px !important}}.p-120{padding:120px !important}.pT-120{padding-top:120px !important}.pR-120{padding-right:120px !important}.pB-120{padding-bottom:120px !important}.pL-120{padding-left:120px !important}.pY-120{padding-top:120px !important;padding-bottom:120px !important}.pX-120{padding-left:120px !important;padding-right:120px !important}@media screen and (min-width: 1440px){.p-120\@xl\+{padding:120px !important}.pT-120\@xl\+{padding-top:120px !important}.pR-120\@xl\+{padding-right:120px !important}.pB-120\@xl\+{padding-bottom:120px !important}.pL-120\@xl\+{padding-left:120px !important}.pY-120\@xl\+{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@xl\+{padding-left:120px !important;padding-right:120px !important}}@media screen and (min-width: 1200px){.p-120\@lg\+{padding:120px !important}.pT-120\@lg\+{padding-top:120px !important}.pR-120\@lg\+{padding-right:120px !important}.pB-120\@lg\+{padding-bottom:120px !important}.pL-120\@lg\+{padding-left:120px !important}.pY-120\@lg\+{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@lg\+{padding-left:120px !important;padding-right:120px !important}}@media screen and (min-width: 992px){.p-120\@md\+{padding:120px !important}.pT-120\@md\+{padding-top:120px !important}.pR-120\@md\+{padding-right:120px !important}.pB-120\@md\+{padding-bottom:120px !important}.pL-120\@md\+{padding-left:120px !important}.pY-120\@md\+{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@md\+{padding-left:120px !important;padding-right:120px !important}}@media screen and (min-width: 768px){.p-120\@sm\+{padding:120px !important}.pT-120\@sm\+{padding-top:120px !important}.pR-120\@sm\+{padding-right:120px !important}.pB-120\@sm\+{padding-bottom:120px !important}.pL-120\@sm\+{padding-left:120px !important}.pY-120\@sm\+{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@sm\+{padding-left:120px !important;padding-right:120px !important}}@media screen and (min-width: 0){.p-120\@xs\+{padding:120px !important}.pT-120\@xs\+{padding-top:120px !important}.pR-120\@xs\+{padding-right:120px !important}.pB-120\@xs\+{padding-bottom:120px !important}.pL-120\@xs\+{padding-left:120px !important}.pY-120\@xs\+{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@xs\+{padding-left:120px !important;padding-right:120px !important}}@media screen and (max-width: 1439px){.p-120\@xl-{padding:120px !important}.pT-120\@xl-{padding-top:120px !important}.pR-120\@xl-{padding-right:120px !important}.pB-120\@xl-{padding-bottom:120px !important}.pL-120\@xl-{padding-left:120px !important}.pY-120\@xl-{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@xl-{padding-left:120px !important;padding-right:120px !important}}@media screen and (max-width: 1199px){.p-120\@lg-{padding:120px !important}.pT-120\@lg-{padding-top:120px !important}.pR-120\@lg-{padding-right:120px !important}.pB-120\@lg-{padding-bottom:120px !important}.pL-120\@lg-{padding-left:120px !important}.pY-120\@lg-{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@lg-{padding-left:120px !important;padding-right:120px !important}}@media screen and (max-width: 991px){.p-120\@md-{padding:120px !important}.pT-120\@md-{padding-top:120px !important}.pR-120\@md-{padding-right:120px !important}.pB-120\@md-{padding-bottom:120px !important}.pL-120\@md-{padding-left:120px !important}.pY-120\@md-{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@md-{padding-left:120px !important;padding-right:120px !important}}@media screen and (max-width: 767px){.p-120\@sm-{padding:120px !important}.pT-120\@sm-{padding-top:120px !important}.pR-120\@sm-{padding-right:120px !important}.pB-120\@sm-{padding-bottom:120px !important}.pL-120\@sm-{padding-left:120px !important}.pY-120\@sm-{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@sm-{padding-left:120px !important;padding-right:120px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-120\@lg{padding:120px !important}.pT-120\@lg{padding-top:120px !important}.pR-120\@lg{padding-right:120px !important}.pB-120\@lg{padding-bottom:120px !important}.pL-120\@lg{padding-left:120px !important}.pY-120\@lg{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@lg{padding-left:120px !important;padding-right:120px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-120\@md{padding:120px !important}.pT-120\@md{padding-top:120px !important}.pR-120\@md{padding-right:120px !important}.pB-120\@md{padding-bottom:120px !important}.pL-120\@md{padding-left:120px !important}.pY-120\@md{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@md{padding-left:120px !important;padding-right:120px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-120\@sm{padding:120px !important}.pT-120\@sm{padding-top:120px !important}.pR-120\@sm{padding-right:120px !important}.pB-120\@sm{padding-bottom:120px !important}.pL-120\@sm{padding-left:120px !important}.pY-120\@sm{padding-top:120px !important;padding-bottom:120px !important}.pX-120\@sm{padding-left:120px !important;padding-right:120px !important}}.p-130{padding:130px !important}.pT-130{padding-top:130px !important}.pR-130{padding-right:130px !important}.pB-130{padding-bottom:130px !important}.pL-130{padding-left:130px !important}.pY-130{padding-top:130px !important;padding-bottom:130px !important}.pX-130{padding-left:130px !important;padding-right:130px !important}@media screen and (min-width: 1440px){.p-130\@xl\+{padding:130px !important}.pT-130\@xl\+{padding-top:130px !important}.pR-130\@xl\+{padding-right:130px !important}.pB-130\@xl\+{padding-bottom:130px !important}.pL-130\@xl\+{padding-left:130px !important}.pY-130\@xl\+{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@xl\+{padding-left:130px !important;padding-right:130px !important}}@media screen and (min-width: 1200px){.p-130\@lg\+{padding:130px !important}.pT-130\@lg\+{padding-top:130px !important}.pR-130\@lg\+{padding-right:130px !important}.pB-130\@lg\+{padding-bottom:130px !important}.pL-130\@lg\+{padding-left:130px !important}.pY-130\@lg\+{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@lg\+{padding-left:130px !important;padding-right:130px !important}}@media screen and (min-width: 992px){.p-130\@md\+{padding:130px !important}.pT-130\@md\+{padding-top:130px !important}.pR-130\@md\+{padding-right:130px !important}.pB-130\@md\+{padding-bottom:130px !important}.pL-130\@md\+{padding-left:130px !important}.pY-130\@md\+{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@md\+{padding-left:130px !important;padding-right:130px !important}}@media screen and (min-width: 768px){.p-130\@sm\+{padding:130px !important}.pT-130\@sm\+{padding-top:130px !important}.pR-130\@sm\+{padding-right:130px !important}.pB-130\@sm\+{padding-bottom:130px !important}.pL-130\@sm\+{padding-left:130px !important}.pY-130\@sm\+{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@sm\+{padding-left:130px !important;padding-right:130px !important}}@media screen and (min-width: 0){.p-130\@xs\+{padding:130px !important}.pT-130\@xs\+{padding-top:130px !important}.pR-130\@xs\+{padding-right:130px !important}.pB-130\@xs\+{padding-bottom:130px !important}.pL-130\@xs\+{padding-left:130px !important}.pY-130\@xs\+{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@xs\+{padding-left:130px !important;padding-right:130px !important}}@media screen and (max-width: 1439px){.p-130\@xl-{padding:130px !important}.pT-130\@xl-{padding-top:130px !important}.pR-130\@xl-{padding-right:130px !important}.pB-130\@xl-{padding-bottom:130px !important}.pL-130\@xl-{padding-left:130px !important}.pY-130\@xl-{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@xl-{padding-left:130px !important;padding-right:130px !important}}@media screen and (max-width: 1199px){.p-130\@lg-{padding:130px !important}.pT-130\@lg-{padding-top:130px !important}.pR-130\@lg-{padding-right:130px !important}.pB-130\@lg-{padding-bottom:130px !important}.pL-130\@lg-{padding-left:130px !important}.pY-130\@lg-{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@lg-{padding-left:130px !important;padding-right:130px !important}}@media screen and (max-width: 991px){.p-130\@md-{padding:130px !important}.pT-130\@md-{padding-top:130px !important}.pR-130\@md-{padding-right:130px !important}.pB-130\@md-{padding-bottom:130px !important}.pL-130\@md-{padding-left:130px !important}.pY-130\@md-{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@md-{padding-left:130px !important;padding-right:130px !important}}@media screen and (max-width: 767px){.p-130\@sm-{padding:130px !important}.pT-130\@sm-{padding-top:130px !important}.pR-130\@sm-{padding-right:130px !important}.pB-130\@sm-{padding-bottom:130px !important}.pL-130\@sm-{padding-left:130px !important}.pY-130\@sm-{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@sm-{padding-left:130px !important;padding-right:130px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-130\@lg{padding:130px !important}.pT-130\@lg{padding-top:130px !important}.pR-130\@lg{padding-right:130px !important}.pB-130\@lg{padding-bottom:130px !important}.pL-130\@lg{padding-left:130px !important}.pY-130\@lg{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@lg{padding-left:130px !important;padding-right:130px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-130\@md{padding:130px !important}.pT-130\@md{padding-top:130px !important}.pR-130\@md{padding-right:130px !important}.pB-130\@md{padding-bottom:130px !important}.pL-130\@md{padding-left:130px !important}.pY-130\@md{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@md{padding-left:130px !important;padding-right:130px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-130\@sm{padding:130px !important}.pT-130\@sm{padding-top:130px !important}.pR-130\@sm{padding-right:130px !important}.pB-130\@sm{padding-bottom:130px !important}.pL-130\@sm{padding-left:130px !important}.pY-130\@sm{padding-top:130px !important;padding-bottom:130px !important}.pX-130\@sm{padding-left:130px !important;padding-right:130px !important}}.p-140{padding:140px !important}.pT-140{padding-top:140px !important}.pR-140{padding-right:140px !important}.pB-140{padding-bottom:140px !important}.pL-140{padding-left:140px !important}.pY-140{padding-top:140px !important;padding-bottom:140px !important}.pX-140{padding-left:140px !important;padding-right:140px !important}@media screen and (min-width: 1440px){.p-140\@xl\+{padding:140px !important}.pT-140\@xl\+{padding-top:140px !important}.pR-140\@xl\+{padding-right:140px !important}.pB-140\@xl\+{padding-bottom:140px !important}.pL-140\@xl\+{padding-left:140px !important}.pY-140\@xl\+{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@xl\+{padding-left:140px !important;padding-right:140px !important}}@media screen and (min-width: 1200px){.p-140\@lg\+{padding:140px !important}.pT-140\@lg\+{padding-top:140px !important}.pR-140\@lg\+{padding-right:140px !important}.pB-140\@lg\+{padding-bottom:140px !important}.pL-140\@lg\+{padding-left:140px !important}.pY-140\@lg\+{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@lg\+{padding-left:140px !important;padding-right:140px !important}}@media screen and (min-width: 992px){.p-140\@md\+{padding:140px !important}.pT-140\@md\+{padding-top:140px !important}.pR-140\@md\+{padding-right:140px !important}.pB-140\@md\+{padding-bottom:140px !important}.pL-140\@md\+{padding-left:140px !important}.pY-140\@md\+{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@md\+{padding-left:140px !important;padding-right:140px !important}}@media screen and (min-width: 768px){.p-140\@sm\+{padding:140px !important}.pT-140\@sm\+{padding-top:140px !important}.pR-140\@sm\+{padding-right:140px !important}.pB-140\@sm\+{padding-bottom:140px !important}.pL-140\@sm\+{padding-left:140px !important}.pY-140\@sm\+{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@sm\+{padding-left:140px !important;padding-right:140px !important}}@media screen and (min-width: 0){.p-140\@xs\+{padding:140px !important}.pT-140\@xs\+{padding-top:140px !important}.pR-140\@xs\+{padding-right:140px !important}.pB-140\@xs\+{padding-bottom:140px !important}.pL-140\@xs\+{padding-left:140px !important}.pY-140\@xs\+{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@xs\+{padding-left:140px !important;padding-right:140px !important}}@media screen and (max-width: 1439px){.p-140\@xl-{padding:140px !important}.pT-140\@xl-{padding-top:140px !important}.pR-140\@xl-{padding-right:140px !important}.pB-140\@xl-{padding-bottom:140px !important}.pL-140\@xl-{padding-left:140px !important}.pY-140\@xl-{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@xl-{padding-left:140px !important;padding-right:140px !important}}@media screen and (max-width: 1199px){.p-140\@lg-{padding:140px !important}.pT-140\@lg-{padding-top:140px !important}.pR-140\@lg-{padding-right:140px !important}.pB-140\@lg-{padding-bottom:140px !important}.pL-140\@lg-{padding-left:140px !important}.pY-140\@lg-{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@lg-{padding-left:140px !important;padding-right:140px !important}}@media screen and (max-width: 991px){.p-140\@md-{padding:140px !important}.pT-140\@md-{padding-top:140px !important}.pR-140\@md-{padding-right:140px !important}.pB-140\@md-{padding-bottom:140px !important}.pL-140\@md-{padding-left:140px !important}.pY-140\@md-{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@md-{padding-left:140px !important;padding-right:140px !important}}@media screen and (max-width: 767px){.p-140\@sm-{padding:140px !important}.pT-140\@sm-{padding-top:140px !important}.pR-140\@sm-{padding-right:140px !important}.pB-140\@sm-{padding-bottom:140px !important}.pL-140\@sm-{padding-left:140px !important}.pY-140\@sm-{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@sm-{padding-left:140px !important;padding-right:140px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-140\@lg{padding:140px !important}.pT-140\@lg{padding-top:140px !important}.pR-140\@lg{padding-right:140px !important}.pB-140\@lg{padding-bottom:140px !important}.pL-140\@lg{padding-left:140px !important}.pY-140\@lg{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@lg{padding-left:140px !important;padding-right:140px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-140\@md{padding:140px !important}.pT-140\@md{padding-top:140px !important}.pR-140\@md{padding-right:140px !important}.pB-140\@md{padding-bottom:140px !important}.pL-140\@md{padding-left:140px !important}.pY-140\@md{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@md{padding-left:140px !important;padding-right:140px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-140\@sm{padding:140px !important}.pT-140\@sm{padding-top:140px !important}.pR-140\@sm{padding-right:140px !important}.pB-140\@sm{padding-bottom:140px !important}.pL-140\@sm{padding-left:140px !important}.pY-140\@sm{padding-top:140px !important;padding-bottom:140px !important}.pX-140\@sm{padding-left:140px !important;padding-right:140px !important}}.p-150{padding:150px !important}.pT-150{padding-top:150px !important}.pR-150{padding-right:150px !important}.pB-150{padding-bottom:150px !important}.pL-150{padding-left:150px !important}.pY-150{padding-top:150px !important;padding-bottom:150px !important}.pX-150{padding-left:150px !important;padding-right:150px !important}@media screen and (min-width: 1440px){.p-150\@xl\+{padding:150px !important}.pT-150\@xl\+{padding-top:150px !important}.pR-150\@xl\+{padding-right:150px !important}.pB-150\@xl\+{padding-bottom:150px !important}.pL-150\@xl\+{padding-left:150px !important}.pY-150\@xl\+{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@xl\+{padding-left:150px !important;padding-right:150px !important}}@media screen and (min-width: 1200px){.p-150\@lg\+{padding:150px !important}.pT-150\@lg\+{padding-top:150px !important}.pR-150\@lg\+{padding-right:150px !important}.pB-150\@lg\+{padding-bottom:150px !important}.pL-150\@lg\+{padding-left:150px !important}.pY-150\@lg\+{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@lg\+{padding-left:150px !important;padding-right:150px !important}}@media screen and (min-width: 992px){.p-150\@md\+{padding:150px !important}.pT-150\@md\+{padding-top:150px !important}.pR-150\@md\+{padding-right:150px !important}.pB-150\@md\+{padding-bottom:150px !important}.pL-150\@md\+{padding-left:150px !important}.pY-150\@md\+{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@md\+{padding-left:150px !important;padding-right:150px !important}}@media screen and (min-width: 768px){.p-150\@sm\+{padding:150px !important}.pT-150\@sm\+{padding-top:150px !important}.pR-150\@sm\+{padding-right:150px !important}.pB-150\@sm\+{padding-bottom:150px !important}.pL-150\@sm\+{padding-left:150px !important}.pY-150\@sm\+{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@sm\+{padding-left:150px !important;padding-right:150px !important}}@media screen and (min-width: 0){.p-150\@xs\+{padding:150px !important}.pT-150\@xs\+{padding-top:150px !important}.pR-150\@xs\+{padding-right:150px !important}.pB-150\@xs\+{padding-bottom:150px !important}.pL-150\@xs\+{padding-left:150px !important}.pY-150\@xs\+{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@xs\+{padding-left:150px !important;padding-right:150px !important}}@media screen and (max-width: 1439px){.p-150\@xl-{padding:150px !important}.pT-150\@xl-{padding-top:150px !important}.pR-150\@xl-{padding-right:150px !important}.pB-150\@xl-{padding-bottom:150px !important}.pL-150\@xl-{padding-left:150px !important}.pY-150\@xl-{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@xl-{padding-left:150px !important;padding-right:150px !important}}@media screen and (max-width: 1199px){.p-150\@lg-{padding:150px !important}.pT-150\@lg-{padding-top:150px !important}.pR-150\@lg-{padding-right:150px !important}.pB-150\@lg-{padding-bottom:150px !important}.pL-150\@lg-{padding-left:150px !important}.pY-150\@lg-{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@lg-{padding-left:150px !important;padding-right:150px !important}}@media screen and (max-width: 991px){.p-150\@md-{padding:150px !important}.pT-150\@md-{padding-top:150px !important}.pR-150\@md-{padding-right:150px !important}.pB-150\@md-{padding-bottom:150px !important}.pL-150\@md-{padding-left:150px !important}.pY-150\@md-{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@md-{padding-left:150px !important;padding-right:150px !important}}@media screen and (max-width: 767px){.p-150\@sm-{padding:150px !important}.pT-150\@sm-{padding-top:150px !important}.pR-150\@sm-{padding-right:150px !important}.pB-150\@sm-{padding-bottom:150px !important}.pL-150\@sm-{padding-left:150px !important}.pY-150\@sm-{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@sm-{padding-left:150px !important;padding-right:150px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-150\@lg{padding:150px !important}.pT-150\@lg{padding-top:150px !important}.pR-150\@lg{padding-right:150px !important}.pB-150\@lg{padding-bottom:150px !important}.pL-150\@lg{padding-left:150px !important}.pY-150\@lg{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@lg{padding-left:150px !important;padding-right:150px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-150\@md{padding:150px !important}.pT-150\@md{padding-top:150px !important}.pR-150\@md{padding-right:150px !important}.pB-150\@md{padding-bottom:150px !important}.pL-150\@md{padding-left:150px !important}.pY-150\@md{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@md{padding-left:150px !important;padding-right:150px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-150\@sm{padding:150px !important}.pT-150\@sm{padding-top:150px !important}.pR-150\@sm{padding-right:150px !important}.pB-150\@sm{padding-bottom:150px !important}.pL-150\@sm{padding-left:150px !important}.pY-150\@sm{padding-top:150px !important;padding-bottom:150px !important}.pX-150\@sm{padding-left:150px !important;padding-right:150px !important}}.p-160{padding:160px !important}.pT-160{padding-top:160px !important}.pR-160{padding-right:160px !important}.pB-160{padding-bottom:160px !important}.pL-160{padding-left:160px !important}.pY-160{padding-top:160px !important;padding-bottom:160px !important}.pX-160{padding-left:160px !important;padding-right:160px !important}@media screen and (min-width: 1440px){.p-160\@xl\+{padding:160px !important}.pT-160\@xl\+{padding-top:160px !important}.pR-160\@xl\+{padding-right:160px !important}.pB-160\@xl\+{padding-bottom:160px !important}.pL-160\@xl\+{padding-left:160px !important}.pY-160\@xl\+{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@xl\+{padding-left:160px !important;padding-right:160px !important}}@media screen and (min-width: 1200px){.p-160\@lg\+{padding:160px !important}.pT-160\@lg\+{padding-top:160px !important}.pR-160\@lg\+{padding-right:160px !important}.pB-160\@lg\+{padding-bottom:160px !important}.pL-160\@lg\+{padding-left:160px !important}.pY-160\@lg\+{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@lg\+{padding-left:160px !important;padding-right:160px !important}}@media screen and (min-width: 992px){.p-160\@md\+{padding:160px !important}.pT-160\@md\+{padding-top:160px !important}.pR-160\@md\+{padding-right:160px !important}.pB-160\@md\+{padding-bottom:160px !important}.pL-160\@md\+{padding-left:160px !important}.pY-160\@md\+{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@md\+{padding-left:160px !important;padding-right:160px !important}}@media screen and (min-width: 768px){.p-160\@sm\+{padding:160px !important}.pT-160\@sm\+{padding-top:160px !important}.pR-160\@sm\+{padding-right:160px !important}.pB-160\@sm\+{padding-bottom:160px !important}.pL-160\@sm\+{padding-left:160px !important}.pY-160\@sm\+{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@sm\+{padding-left:160px !important;padding-right:160px !important}}@media screen and (min-width: 0){.p-160\@xs\+{padding:160px !important}.pT-160\@xs\+{padding-top:160px !important}.pR-160\@xs\+{padding-right:160px !important}.pB-160\@xs\+{padding-bottom:160px !important}.pL-160\@xs\+{padding-left:160px !important}.pY-160\@xs\+{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@xs\+{padding-left:160px !important;padding-right:160px !important}}@media screen and (max-width: 1439px){.p-160\@xl-{padding:160px !important}.pT-160\@xl-{padding-top:160px !important}.pR-160\@xl-{padding-right:160px !important}.pB-160\@xl-{padding-bottom:160px !important}.pL-160\@xl-{padding-left:160px !important}.pY-160\@xl-{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@xl-{padding-left:160px !important;padding-right:160px !important}}@media screen and (max-width: 1199px){.p-160\@lg-{padding:160px !important}.pT-160\@lg-{padding-top:160px !important}.pR-160\@lg-{padding-right:160px !important}.pB-160\@lg-{padding-bottom:160px !important}.pL-160\@lg-{padding-left:160px !important}.pY-160\@lg-{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@lg-{padding-left:160px !important;padding-right:160px !important}}@media screen and (max-width: 991px){.p-160\@md-{padding:160px !important}.pT-160\@md-{padding-top:160px !important}.pR-160\@md-{padding-right:160px !important}.pB-160\@md-{padding-bottom:160px !important}.pL-160\@md-{padding-left:160px !important}.pY-160\@md-{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@md-{padding-left:160px !important;padding-right:160px !important}}@media screen and (max-width: 767px){.p-160\@sm-{padding:160px !important}.pT-160\@sm-{padding-top:160px !important}.pR-160\@sm-{padding-right:160px !important}.pB-160\@sm-{padding-bottom:160px !important}.pL-160\@sm-{padding-left:160px !important}.pY-160\@sm-{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@sm-{padding-left:160px !important;padding-right:160px !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.p-160\@lg{padding:160px !important}.pT-160\@lg{padding-top:160px !important}.pR-160\@lg{padding-right:160px !important}.pB-160\@lg{padding-bottom:160px !important}.pL-160\@lg{padding-left:160px !important}.pY-160\@lg{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@lg{padding-left:160px !important;padding-right:160px !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.p-160\@md{padding:160px !important}.pT-160\@md{padding-top:160px !important}.pR-160\@md{padding-right:160px !important}.pB-160\@md{padding-bottom:160px !important}.pL-160\@md{padding-left:160px !important}.pY-160\@md{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@md{padding-left:160px !important;padding-right:160px !important}}@media screen and (min-width: 767px)and (max-width: 991px){.p-160\@sm{padding:160px !important}.pT-160\@sm{padding-top:160px !important}.pR-160\@sm{padding-right:160px !important}.pB-160\@sm{padding-bottom:160px !important}.pL-160\@sm{padding-left:160px !important}.pY-160\@sm{padding-top:160px !important;padding-bottom:160px !important}.pX-160\@sm{padding-left:160px !important;padding-right:160px !important}}.t-0{top:0px}.r-0{right:0px}.b-0{bottom:0px}.l-0{left:0px}@media screen and (min-width: 1440px){.t-0\@xl\+{top:0px}.r-0\@xl\+{right:0px}.b-0\@xl\+{bottom:0px}.l-0\@xl\+{left:0px}}@media screen and (min-width: 1200px){.t-0\@lg\+{top:0px}.r-0\@lg\+{right:0px}.b-0\@lg\+{bottom:0px}.l-0\@lg\+{left:0px}}@media screen and (min-width: 992px){.t-0\@md\+{top:0px}.r-0\@md\+{right:0px}.b-0\@md\+{bottom:0px}.l-0\@md\+{left:0px}}@media screen and (min-width: 768px){.t-0\@sm\+{top:0px}.r-0\@sm\+{right:0px}.b-0\@sm\+{bottom:0px}.l-0\@sm\+{left:0px}}@media screen and (min-width: 0){.t-0\@xs\+{top:0px}.r-0\@xs\+{right:0px}.b-0\@xs\+{bottom:0px}.l-0\@xs\+{left:0px}}@media screen and (max-width: 1439px){.t-0\@xl-{top:0px}.r-0\@xl-{right:0px}.b-0\@xl-{bottom:0px}.l-0\@xl-{left:0px}}@media screen and (max-width: 1199px){.t-0\@lg-{top:0px}.r-0\@lg-{right:0px}.b-0\@lg-{bottom:0px}.l-0\@lg-{left:0px}}@media screen and (max-width: 991px){.t-0\@md-{top:0px}.r-0\@md-{right:0px}.b-0\@md-{bottom:0px}.l-0\@md-{left:0px}}@media screen and (max-width: 767px){.t-0\@sm-{top:0px}.r-0\@sm-{right:0px}.b-0\@sm-{bottom:0px}.l-0\@sm-{left:0px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-0\@lg{top:0px}.r-0\@lg{right:0px}.b-0\@lg{bottom:0px}.l-0\@lg{left:0px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-0\@md{top:0px}.r-0\@md{right:0px}.b-0\@md{bottom:0px}.l-0\@md{left:0px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-0\@sm{top:0px}.r-0\@sm{right:0px}.b-0\@sm{bottom:0px}.l-0\@sm{left:0px}}.t-1{top:1px}.r-1{right:1px}.b-1{bottom:1px}.l-1{left:1px}@media screen and (min-width: 1440px){.t-1\@xl\+{top:1px}.r-1\@xl\+{right:1px}.b-1\@xl\+{bottom:1px}.l-1\@xl\+{left:1px}}@media screen and (min-width: 1200px){.t-1\@lg\+{top:1px}.r-1\@lg\+{right:1px}.b-1\@lg\+{bottom:1px}.l-1\@lg\+{left:1px}}@media screen and (min-width: 992px){.t-1\@md\+{top:1px}.r-1\@md\+{right:1px}.b-1\@md\+{bottom:1px}.l-1\@md\+{left:1px}}@media screen and (min-width: 768px){.t-1\@sm\+{top:1px}.r-1\@sm\+{right:1px}.b-1\@sm\+{bottom:1px}.l-1\@sm\+{left:1px}}@media screen and (min-width: 0){.t-1\@xs\+{top:1px}.r-1\@xs\+{right:1px}.b-1\@xs\+{bottom:1px}.l-1\@xs\+{left:1px}}@media screen and (max-width: 1439px){.t-1\@xl-{top:1px}.r-1\@xl-{right:1px}.b-1\@xl-{bottom:1px}.l-1\@xl-{left:1px}}@media screen and (max-width: 1199px){.t-1\@lg-{top:1px}.r-1\@lg-{right:1px}.b-1\@lg-{bottom:1px}.l-1\@lg-{left:1px}}@media screen and (max-width: 991px){.t-1\@md-{top:1px}.r-1\@md-{right:1px}.b-1\@md-{bottom:1px}.l-1\@md-{left:1px}}@media screen and (max-width: 767px){.t-1\@sm-{top:1px}.r-1\@sm-{right:1px}.b-1\@sm-{bottom:1px}.l-1\@sm-{left:1px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-1\@lg{top:1px}.r-1\@lg{right:1px}.b-1\@lg{bottom:1px}.l-1\@lg{left:1px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-1\@md{top:1px}.r-1\@md{right:1px}.b-1\@md{bottom:1px}.l-1\@md{left:1px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-1\@sm{top:1px}.r-1\@sm{right:1px}.b-1\@sm{bottom:1px}.l-1\@sm{left:1px}}.t-2{top:2px}.r-2{right:2px}.b-2{bottom:2px}.l-2{left:2px}@media screen and (min-width: 1440px){.t-2\@xl\+{top:2px}.r-2\@xl\+{right:2px}.b-2\@xl\+{bottom:2px}.l-2\@xl\+{left:2px}}@media screen and (min-width: 1200px){.t-2\@lg\+{top:2px}.r-2\@lg\+{right:2px}.b-2\@lg\+{bottom:2px}.l-2\@lg\+{left:2px}}@media screen and (min-width: 992px){.t-2\@md\+{top:2px}.r-2\@md\+{right:2px}.b-2\@md\+{bottom:2px}.l-2\@md\+{left:2px}}@media screen and (min-width: 768px){.t-2\@sm\+{top:2px}.r-2\@sm\+{right:2px}.b-2\@sm\+{bottom:2px}.l-2\@sm\+{left:2px}}@media screen and (min-width: 0){.t-2\@xs\+{top:2px}.r-2\@xs\+{right:2px}.b-2\@xs\+{bottom:2px}.l-2\@xs\+{left:2px}}@media screen and (max-width: 1439px){.t-2\@xl-{top:2px}.r-2\@xl-{right:2px}.b-2\@xl-{bottom:2px}.l-2\@xl-{left:2px}}@media screen and (max-width: 1199px){.t-2\@lg-{top:2px}.r-2\@lg-{right:2px}.b-2\@lg-{bottom:2px}.l-2\@lg-{left:2px}}@media screen and (max-width: 991px){.t-2\@md-{top:2px}.r-2\@md-{right:2px}.b-2\@md-{bottom:2px}.l-2\@md-{left:2px}}@media screen and (max-width: 767px){.t-2\@sm-{top:2px}.r-2\@sm-{right:2px}.b-2\@sm-{bottom:2px}.l-2\@sm-{left:2px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-2\@lg{top:2px}.r-2\@lg{right:2px}.b-2\@lg{bottom:2px}.l-2\@lg{left:2px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-2\@md{top:2px}.r-2\@md{right:2px}.b-2\@md{bottom:2px}.l-2\@md{left:2px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-2\@sm{top:2px}.r-2\@sm{right:2px}.b-2\@sm{bottom:2px}.l-2\@sm{left:2px}}.t-3{top:3px}.r-3{right:3px}.b-3{bottom:3px}.l-3{left:3px}@media screen and (min-width: 1440px){.t-3\@xl\+{top:3px}.r-3\@xl\+{right:3px}.b-3\@xl\+{bottom:3px}.l-3\@xl\+{left:3px}}@media screen and (min-width: 1200px){.t-3\@lg\+{top:3px}.r-3\@lg\+{right:3px}.b-3\@lg\+{bottom:3px}.l-3\@lg\+{left:3px}}@media screen and (min-width: 992px){.t-3\@md\+{top:3px}.r-3\@md\+{right:3px}.b-3\@md\+{bottom:3px}.l-3\@md\+{left:3px}}@media screen and (min-width: 768px){.t-3\@sm\+{top:3px}.r-3\@sm\+{right:3px}.b-3\@sm\+{bottom:3px}.l-3\@sm\+{left:3px}}@media screen and (min-width: 0){.t-3\@xs\+{top:3px}.r-3\@xs\+{right:3px}.b-3\@xs\+{bottom:3px}.l-3\@xs\+{left:3px}}@media screen and (max-width: 1439px){.t-3\@xl-{top:3px}.r-3\@xl-{right:3px}.b-3\@xl-{bottom:3px}.l-3\@xl-{left:3px}}@media screen and (max-width: 1199px){.t-3\@lg-{top:3px}.r-3\@lg-{right:3px}.b-3\@lg-{bottom:3px}.l-3\@lg-{left:3px}}@media screen and (max-width: 991px){.t-3\@md-{top:3px}.r-3\@md-{right:3px}.b-3\@md-{bottom:3px}.l-3\@md-{left:3px}}@media screen and (max-width: 767px){.t-3\@sm-{top:3px}.r-3\@sm-{right:3px}.b-3\@sm-{bottom:3px}.l-3\@sm-{left:3px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-3\@lg{top:3px}.r-3\@lg{right:3px}.b-3\@lg{bottom:3px}.l-3\@lg{left:3px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-3\@md{top:3px}.r-3\@md{right:3px}.b-3\@md{bottom:3px}.l-3\@md{left:3px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-3\@sm{top:3px}.r-3\@sm{right:3px}.b-3\@sm{bottom:3px}.l-3\@sm{left:3px}}.t-4{top:4px}.r-4{right:4px}.b-4{bottom:4px}.l-4{left:4px}@media screen and (min-width: 1440px){.t-4\@xl\+{top:4px}.r-4\@xl\+{right:4px}.b-4\@xl\+{bottom:4px}.l-4\@xl\+{left:4px}}@media screen and (min-width: 1200px){.t-4\@lg\+{top:4px}.r-4\@lg\+{right:4px}.b-4\@lg\+{bottom:4px}.l-4\@lg\+{left:4px}}@media screen and (min-width: 992px){.t-4\@md\+{top:4px}.r-4\@md\+{right:4px}.b-4\@md\+{bottom:4px}.l-4\@md\+{left:4px}}@media screen and (min-width: 768px){.t-4\@sm\+{top:4px}.r-4\@sm\+{right:4px}.b-4\@sm\+{bottom:4px}.l-4\@sm\+{left:4px}}@media screen and (min-width: 0){.t-4\@xs\+{top:4px}.r-4\@xs\+{right:4px}.b-4\@xs\+{bottom:4px}.l-4\@xs\+{left:4px}}@media screen and (max-width: 1439px){.t-4\@xl-{top:4px}.r-4\@xl-{right:4px}.b-4\@xl-{bottom:4px}.l-4\@xl-{left:4px}}@media screen and (max-width: 1199px){.t-4\@lg-{top:4px}.r-4\@lg-{right:4px}.b-4\@lg-{bottom:4px}.l-4\@lg-{left:4px}}@media screen and (max-width: 991px){.t-4\@md-{top:4px}.r-4\@md-{right:4px}.b-4\@md-{bottom:4px}.l-4\@md-{left:4px}}@media screen and (max-width: 767px){.t-4\@sm-{top:4px}.r-4\@sm-{right:4px}.b-4\@sm-{bottom:4px}.l-4\@sm-{left:4px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-4\@lg{top:4px}.r-4\@lg{right:4px}.b-4\@lg{bottom:4px}.l-4\@lg{left:4px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-4\@md{top:4px}.r-4\@md{right:4px}.b-4\@md{bottom:4px}.l-4\@md{left:4px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-4\@sm{top:4px}.r-4\@sm{right:4px}.b-4\@sm{bottom:4px}.l-4\@sm{left:4px}}.t-5{top:5px}.r-5{right:5px}.b-5{bottom:5px}.l-5{left:5px}@media screen and (min-width: 1440px){.t-5\@xl\+{top:5px}.r-5\@xl\+{right:5px}.b-5\@xl\+{bottom:5px}.l-5\@xl\+{left:5px}}@media screen and (min-width: 1200px){.t-5\@lg\+{top:5px}.r-5\@lg\+{right:5px}.b-5\@lg\+{bottom:5px}.l-5\@lg\+{left:5px}}@media screen and (min-width: 992px){.t-5\@md\+{top:5px}.r-5\@md\+{right:5px}.b-5\@md\+{bottom:5px}.l-5\@md\+{left:5px}}@media screen and (min-width: 768px){.t-5\@sm\+{top:5px}.r-5\@sm\+{right:5px}.b-5\@sm\+{bottom:5px}.l-5\@sm\+{left:5px}}@media screen and (min-width: 0){.t-5\@xs\+{top:5px}.r-5\@xs\+{right:5px}.b-5\@xs\+{bottom:5px}.l-5\@xs\+{left:5px}}@media screen and (max-width: 1439px){.t-5\@xl-{top:5px}.r-5\@xl-{right:5px}.b-5\@xl-{bottom:5px}.l-5\@xl-{left:5px}}@media screen and (max-width: 1199px){.t-5\@lg-{top:5px}.r-5\@lg-{right:5px}.b-5\@lg-{bottom:5px}.l-5\@lg-{left:5px}}@media screen and (max-width: 991px){.t-5\@md-{top:5px}.r-5\@md-{right:5px}.b-5\@md-{bottom:5px}.l-5\@md-{left:5px}}@media screen and (max-width: 767px){.t-5\@sm-{top:5px}.r-5\@sm-{right:5px}.b-5\@sm-{bottom:5px}.l-5\@sm-{left:5px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-5\@lg{top:5px}.r-5\@lg{right:5px}.b-5\@lg{bottom:5px}.l-5\@lg{left:5px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-5\@md{top:5px}.r-5\@md{right:5px}.b-5\@md{bottom:5px}.l-5\@md{left:5px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-5\@sm{top:5px}.r-5\@sm{right:5px}.b-5\@sm{bottom:5px}.l-5\@sm{left:5px}}.t-10{top:10px}.r-10{right:10px}.b-10{bottom:10px}.l-10{left:10px}@media screen and (min-width: 1440px){.t-10\@xl\+{top:10px}.r-10\@xl\+{right:10px}.b-10\@xl\+{bottom:10px}.l-10\@xl\+{left:10px}}@media screen and (min-width: 1200px){.t-10\@lg\+{top:10px}.r-10\@lg\+{right:10px}.b-10\@lg\+{bottom:10px}.l-10\@lg\+{left:10px}}@media screen and (min-width: 992px){.t-10\@md\+{top:10px}.r-10\@md\+{right:10px}.b-10\@md\+{bottom:10px}.l-10\@md\+{left:10px}}@media screen and (min-width: 768px){.t-10\@sm\+{top:10px}.r-10\@sm\+{right:10px}.b-10\@sm\+{bottom:10px}.l-10\@sm\+{left:10px}}@media screen and (min-width: 0){.t-10\@xs\+{top:10px}.r-10\@xs\+{right:10px}.b-10\@xs\+{bottom:10px}.l-10\@xs\+{left:10px}}@media screen and (max-width: 1439px){.t-10\@xl-{top:10px}.r-10\@xl-{right:10px}.b-10\@xl-{bottom:10px}.l-10\@xl-{left:10px}}@media screen and (max-width: 1199px){.t-10\@lg-{top:10px}.r-10\@lg-{right:10px}.b-10\@lg-{bottom:10px}.l-10\@lg-{left:10px}}@media screen and (max-width: 991px){.t-10\@md-{top:10px}.r-10\@md-{right:10px}.b-10\@md-{bottom:10px}.l-10\@md-{left:10px}}@media screen and (max-width: 767px){.t-10\@sm-{top:10px}.r-10\@sm-{right:10px}.b-10\@sm-{bottom:10px}.l-10\@sm-{left:10px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-10\@lg{top:10px}.r-10\@lg{right:10px}.b-10\@lg{bottom:10px}.l-10\@lg{left:10px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-10\@md{top:10px}.r-10\@md{right:10px}.b-10\@md{bottom:10px}.l-10\@md{left:10px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-10\@sm{top:10px}.r-10\@sm{right:10px}.b-10\@sm{bottom:10px}.l-10\@sm{left:10px}}.t-15{top:15px}.r-15{right:15px}.b-15{bottom:15px}.l-15{left:15px}@media screen and (min-width: 1440px){.t-15\@xl\+{top:15px}.r-15\@xl\+{right:15px}.b-15\@xl\+{bottom:15px}.l-15\@xl\+{left:15px}}@media screen and (min-width: 1200px){.t-15\@lg\+{top:15px}.r-15\@lg\+{right:15px}.b-15\@lg\+{bottom:15px}.l-15\@lg\+{left:15px}}@media screen and (min-width: 992px){.t-15\@md\+{top:15px}.r-15\@md\+{right:15px}.b-15\@md\+{bottom:15px}.l-15\@md\+{left:15px}}@media screen and (min-width: 768px){.t-15\@sm\+{top:15px}.r-15\@sm\+{right:15px}.b-15\@sm\+{bottom:15px}.l-15\@sm\+{left:15px}}@media screen and (min-width: 0){.t-15\@xs\+{top:15px}.r-15\@xs\+{right:15px}.b-15\@xs\+{bottom:15px}.l-15\@xs\+{left:15px}}@media screen and (max-width: 1439px){.t-15\@xl-{top:15px}.r-15\@xl-{right:15px}.b-15\@xl-{bottom:15px}.l-15\@xl-{left:15px}}@media screen and (max-width: 1199px){.t-15\@lg-{top:15px}.r-15\@lg-{right:15px}.b-15\@lg-{bottom:15px}.l-15\@lg-{left:15px}}@media screen and (max-width: 991px){.t-15\@md-{top:15px}.r-15\@md-{right:15px}.b-15\@md-{bottom:15px}.l-15\@md-{left:15px}}@media screen and (max-width: 767px){.t-15\@sm-{top:15px}.r-15\@sm-{right:15px}.b-15\@sm-{bottom:15px}.l-15\@sm-{left:15px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-15\@lg{top:15px}.r-15\@lg{right:15px}.b-15\@lg{bottom:15px}.l-15\@lg{left:15px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-15\@md{top:15px}.r-15\@md{right:15px}.b-15\@md{bottom:15px}.l-15\@md{left:15px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-15\@sm{top:15px}.r-15\@sm{right:15px}.b-15\@sm{bottom:15px}.l-15\@sm{left:15px}}.t-20{top:20px}.r-20{right:20px}.b-20{bottom:20px}.l-20{left:20px}@media screen and (min-width: 1440px){.t-20\@xl\+{top:20px}.r-20\@xl\+{right:20px}.b-20\@xl\+{bottom:20px}.l-20\@xl\+{left:20px}}@media screen and (min-width: 1200px){.t-20\@lg\+{top:20px}.r-20\@lg\+{right:20px}.b-20\@lg\+{bottom:20px}.l-20\@lg\+{left:20px}}@media screen and (min-width: 992px){.t-20\@md\+{top:20px}.r-20\@md\+{right:20px}.b-20\@md\+{bottom:20px}.l-20\@md\+{left:20px}}@media screen and (min-width: 768px){.t-20\@sm\+{top:20px}.r-20\@sm\+{right:20px}.b-20\@sm\+{bottom:20px}.l-20\@sm\+{left:20px}}@media screen and (min-width: 0){.t-20\@xs\+{top:20px}.r-20\@xs\+{right:20px}.b-20\@xs\+{bottom:20px}.l-20\@xs\+{left:20px}}@media screen and (max-width: 1439px){.t-20\@xl-{top:20px}.r-20\@xl-{right:20px}.b-20\@xl-{bottom:20px}.l-20\@xl-{left:20px}}@media screen and (max-width: 1199px){.t-20\@lg-{top:20px}.r-20\@lg-{right:20px}.b-20\@lg-{bottom:20px}.l-20\@lg-{left:20px}}@media screen and (max-width: 991px){.t-20\@md-{top:20px}.r-20\@md-{right:20px}.b-20\@md-{bottom:20px}.l-20\@md-{left:20px}}@media screen and (max-width: 767px){.t-20\@sm-{top:20px}.r-20\@sm-{right:20px}.b-20\@sm-{bottom:20px}.l-20\@sm-{left:20px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-20\@lg{top:20px}.r-20\@lg{right:20px}.b-20\@lg{bottom:20px}.l-20\@lg{left:20px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-20\@md{top:20px}.r-20\@md{right:20px}.b-20\@md{bottom:20px}.l-20\@md{left:20px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-20\@sm{top:20px}.r-20\@sm{right:20px}.b-20\@sm{bottom:20px}.l-20\@sm{left:20px}}.t-25{top:25px}.r-25{right:25px}.b-25{bottom:25px}.l-25{left:25px}@media screen and (min-width: 1440px){.t-25\@xl\+{top:25px}.r-25\@xl\+{right:25px}.b-25\@xl\+{bottom:25px}.l-25\@xl\+{left:25px}}@media screen and (min-width: 1200px){.t-25\@lg\+{top:25px}.r-25\@lg\+{right:25px}.b-25\@lg\+{bottom:25px}.l-25\@lg\+{left:25px}}@media screen and (min-width: 992px){.t-25\@md\+{top:25px}.r-25\@md\+{right:25px}.b-25\@md\+{bottom:25px}.l-25\@md\+{left:25px}}@media screen and (min-width: 768px){.t-25\@sm\+{top:25px}.r-25\@sm\+{right:25px}.b-25\@sm\+{bottom:25px}.l-25\@sm\+{left:25px}}@media screen and (min-width: 0){.t-25\@xs\+{top:25px}.r-25\@xs\+{right:25px}.b-25\@xs\+{bottom:25px}.l-25\@xs\+{left:25px}}@media screen and (max-width: 1439px){.t-25\@xl-{top:25px}.r-25\@xl-{right:25px}.b-25\@xl-{bottom:25px}.l-25\@xl-{left:25px}}@media screen and (max-width: 1199px){.t-25\@lg-{top:25px}.r-25\@lg-{right:25px}.b-25\@lg-{bottom:25px}.l-25\@lg-{left:25px}}@media screen and (max-width: 991px){.t-25\@md-{top:25px}.r-25\@md-{right:25px}.b-25\@md-{bottom:25px}.l-25\@md-{left:25px}}@media screen and (max-width: 767px){.t-25\@sm-{top:25px}.r-25\@sm-{right:25px}.b-25\@sm-{bottom:25px}.l-25\@sm-{left:25px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-25\@lg{top:25px}.r-25\@lg{right:25px}.b-25\@lg{bottom:25px}.l-25\@lg{left:25px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-25\@md{top:25px}.r-25\@md{right:25px}.b-25\@md{bottom:25px}.l-25\@md{left:25px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-25\@sm{top:25px}.r-25\@sm{right:25px}.b-25\@sm{bottom:25px}.l-25\@sm{left:25px}}.t-30{top:30px}.r-30{right:30px}.b-30{bottom:30px}.l-30{left:30px}@media screen and (min-width: 1440px){.t-30\@xl\+{top:30px}.r-30\@xl\+{right:30px}.b-30\@xl\+{bottom:30px}.l-30\@xl\+{left:30px}}@media screen and (min-width: 1200px){.t-30\@lg\+{top:30px}.r-30\@lg\+{right:30px}.b-30\@lg\+{bottom:30px}.l-30\@lg\+{left:30px}}@media screen and (min-width: 992px){.t-30\@md\+{top:30px}.r-30\@md\+{right:30px}.b-30\@md\+{bottom:30px}.l-30\@md\+{left:30px}}@media screen and (min-width: 768px){.t-30\@sm\+{top:30px}.r-30\@sm\+{right:30px}.b-30\@sm\+{bottom:30px}.l-30\@sm\+{left:30px}}@media screen and (min-width: 0){.t-30\@xs\+{top:30px}.r-30\@xs\+{right:30px}.b-30\@xs\+{bottom:30px}.l-30\@xs\+{left:30px}}@media screen and (max-width: 1439px){.t-30\@xl-{top:30px}.r-30\@xl-{right:30px}.b-30\@xl-{bottom:30px}.l-30\@xl-{left:30px}}@media screen and (max-width: 1199px){.t-30\@lg-{top:30px}.r-30\@lg-{right:30px}.b-30\@lg-{bottom:30px}.l-30\@lg-{left:30px}}@media screen and (max-width: 991px){.t-30\@md-{top:30px}.r-30\@md-{right:30px}.b-30\@md-{bottom:30px}.l-30\@md-{left:30px}}@media screen and (max-width: 767px){.t-30\@sm-{top:30px}.r-30\@sm-{right:30px}.b-30\@sm-{bottom:30px}.l-30\@sm-{left:30px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-30\@lg{top:30px}.r-30\@lg{right:30px}.b-30\@lg{bottom:30px}.l-30\@lg{left:30px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-30\@md{top:30px}.r-30\@md{right:30px}.b-30\@md{bottom:30px}.l-30\@md{left:30px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-30\@sm{top:30px}.r-30\@sm{right:30px}.b-30\@sm{bottom:30px}.l-30\@sm{left:30px}}.t-35{top:35px}.r-35{right:35px}.b-35{bottom:35px}.l-35{left:35px}@media screen and (min-width: 1440px){.t-35\@xl\+{top:35px}.r-35\@xl\+{right:35px}.b-35\@xl\+{bottom:35px}.l-35\@xl\+{left:35px}}@media screen and (min-width: 1200px){.t-35\@lg\+{top:35px}.r-35\@lg\+{right:35px}.b-35\@lg\+{bottom:35px}.l-35\@lg\+{left:35px}}@media screen and (min-width: 992px){.t-35\@md\+{top:35px}.r-35\@md\+{right:35px}.b-35\@md\+{bottom:35px}.l-35\@md\+{left:35px}}@media screen and (min-width: 768px){.t-35\@sm\+{top:35px}.r-35\@sm\+{right:35px}.b-35\@sm\+{bottom:35px}.l-35\@sm\+{left:35px}}@media screen and (min-width: 0){.t-35\@xs\+{top:35px}.r-35\@xs\+{right:35px}.b-35\@xs\+{bottom:35px}.l-35\@xs\+{left:35px}}@media screen and (max-width: 1439px){.t-35\@xl-{top:35px}.r-35\@xl-{right:35px}.b-35\@xl-{bottom:35px}.l-35\@xl-{left:35px}}@media screen and (max-width: 1199px){.t-35\@lg-{top:35px}.r-35\@lg-{right:35px}.b-35\@lg-{bottom:35px}.l-35\@lg-{left:35px}}@media screen and (max-width: 991px){.t-35\@md-{top:35px}.r-35\@md-{right:35px}.b-35\@md-{bottom:35px}.l-35\@md-{left:35px}}@media screen and (max-width: 767px){.t-35\@sm-{top:35px}.r-35\@sm-{right:35px}.b-35\@sm-{bottom:35px}.l-35\@sm-{left:35px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-35\@lg{top:35px}.r-35\@lg{right:35px}.b-35\@lg{bottom:35px}.l-35\@lg{left:35px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-35\@md{top:35px}.r-35\@md{right:35px}.b-35\@md{bottom:35px}.l-35\@md{left:35px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-35\@sm{top:35px}.r-35\@sm{right:35px}.b-35\@sm{bottom:35px}.l-35\@sm{left:35px}}.t-40{top:40px}.r-40{right:40px}.b-40{bottom:40px}.l-40{left:40px}@media screen and (min-width: 1440px){.t-40\@xl\+{top:40px}.r-40\@xl\+{right:40px}.b-40\@xl\+{bottom:40px}.l-40\@xl\+{left:40px}}@media screen and (min-width: 1200px){.t-40\@lg\+{top:40px}.r-40\@lg\+{right:40px}.b-40\@lg\+{bottom:40px}.l-40\@lg\+{left:40px}}@media screen and (min-width: 992px){.t-40\@md\+{top:40px}.r-40\@md\+{right:40px}.b-40\@md\+{bottom:40px}.l-40\@md\+{left:40px}}@media screen and (min-width: 768px){.t-40\@sm\+{top:40px}.r-40\@sm\+{right:40px}.b-40\@sm\+{bottom:40px}.l-40\@sm\+{left:40px}}@media screen and (min-width: 0){.t-40\@xs\+{top:40px}.r-40\@xs\+{right:40px}.b-40\@xs\+{bottom:40px}.l-40\@xs\+{left:40px}}@media screen and (max-width: 1439px){.t-40\@xl-{top:40px}.r-40\@xl-{right:40px}.b-40\@xl-{bottom:40px}.l-40\@xl-{left:40px}}@media screen and (max-width: 1199px){.t-40\@lg-{top:40px}.r-40\@lg-{right:40px}.b-40\@lg-{bottom:40px}.l-40\@lg-{left:40px}}@media screen and (max-width: 991px){.t-40\@md-{top:40px}.r-40\@md-{right:40px}.b-40\@md-{bottom:40px}.l-40\@md-{left:40px}}@media screen and (max-width: 767px){.t-40\@sm-{top:40px}.r-40\@sm-{right:40px}.b-40\@sm-{bottom:40px}.l-40\@sm-{left:40px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-40\@lg{top:40px}.r-40\@lg{right:40px}.b-40\@lg{bottom:40px}.l-40\@lg{left:40px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-40\@md{top:40px}.r-40\@md{right:40px}.b-40\@md{bottom:40px}.l-40\@md{left:40px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-40\@sm{top:40px}.r-40\@sm{right:40px}.b-40\@sm{bottom:40px}.l-40\@sm{left:40px}}.t-50{top:50px}.r-50{right:50px}.b-50{bottom:50px}.l-50{left:50px}@media screen and (min-width: 1440px){.t-50\@xl\+{top:50px}.r-50\@xl\+{right:50px}.b-50\@xl\+{bottom:50px}.l-50\@xl\+{left:50px}}@media screen and (min-width: 1200px){.t-50\@lg\+{top:50px}.r-50\@lg\+{right:50px}.b-50\@lg\+{bottom:50px}.l-50\@lg\+{left:50px}}@media screen and (min-width: 992px){.t-50\@md\+{top:50px}.r-50\@md\+{right:50px}.b-50\@md\+{bottom:50px}.l-50\@md\+{left:50px}}@media screen and (min-width: 768px){.t-50\@sm\+{top:50px}.r-50\@sm\+{right:50px}.b-50\@sm\+{bottom:50px}.l-50\@sm\+{left:50px}}@media screen and (min-width: 0){.t-50\@xs\+{top:50px}.r-50\@xs\+{right:50px}.b-50\@xs\+{bottom:50px}.l-50\@xs\+{left:50px}}@media screen and (max-width: 1439px){.t-50\@xl-{top:50px}.r-50\@xl-{right:50px}.b-50\@xl-{bottom:50px}.l-50\@xl-{left:50px}}@media screen and (max-width: 1199px){.t-50\@lg-{top:50px}.r-50\@lg-{right:50px}.b-50\@lg-{bottom:50px}.l-50\@lg-{left:50px}}@media screen and (max-width: 991px){.t-50\@md-{top:50px}.r-50\@md-{right:50px}.b-50\@md-{bottom:50px}.l-50\@md-{left:50px}}@media screen and (max-width: 767px){.t-50\@sm-{top:50px}.r-50\@sm-{right:50px}.b-50\@sm-{bottom:50px}.l-50\@sm-{left:50px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-50\@lg{top:50px}.r-50\@lg{right:50px}.b-50\@lg{bottom:50px}.l-50\@lg{left:50px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-50\@md{top:50px}.r-50\@md{right:50px}.b-50\@md{bottom:50px}.l-50\@md{left:50px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-50\@sm{top:50px}.r-50\@sm{right:50px}.b-50\@sm{bottom:50px}.l-50\@sm{left:50px}}.t-60{top:60px}.r-60{right:60px}.b-60{bottom:60px}.l-60{left:60px}@media screen and (min-width: 1440px){.t-60\@xl\+{top:60px}.r-60\@xl\+{right:60px}.b-60\@xl\+{bottom:60px}.l-60\@xl\+{left:60px}}@media screen and (min-width: 1200px){.t-60\@lg\+{top:60px}.r-60\@lg\+{right:60px}.b-60\@lg\+{bottom:60px}.l-60\@lg\+{left:60px}}@media screen and (min-width: 992px){.t-60\@md\+{top:60px}.r-60\@md\+{right:60px}.b-60\@md\+{bottom:60px}.l-60\@md\+{left:60px}}@media screen and (min-width: 768px){.t-60\@sm\+{top:60px}.r-60\@sm\+{right:60px}.b-60\@sm\+{bottom:60px}.l-60\@sm\+{left:60px}}@media screen and (min-width: 0){.t-60\@xs\+{top:60px}.r-60\@xs\+{right:60px}.b-60\@xs\+{bottom:60px}.l-60\@xs\+{left:60px}}@media screen and (max-width: 1439px){.t-60\@xl-{top:60px}.r-60\@xl-{right:60px}.b-60\@xl-{bottom:60px}.l-60\@xl-{left:60px}}@media screen and (max-width: 1199px){.t-60\@lg-{top:60px}.r-60\@lg-{right:60px}.b-60\@lg-{bottom:60px}.l-60\@lg-{left:60px}}@media screen and (max-width: 991px){.t-60\@md-{top:60px}.r-60\@md-{right:60px}.b-60\@md-{bottom:60px}.l-60\@md-{left:60px}}@media screen and (max-width: 767px){.t-60\@sm-{top:60px}.r-60\@sm-{right:60px}.b-60\@sm-{bottom:60px}.l-60\@sm-{left:60px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-60\@lg{top:60px}.r-60\@lg{right:60px}.b-60\@lg{bottom:60px}.l-60\@lg{left:60px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-60\@md{top:60px}.r-60\@md{right:60px}.b-60\@md{bottom:60px}.l-60\@md{left:60px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-60\@sm{top:60px}.r-60\@sm{right:60px}.b-60\@sm{bottom:60px}.l-60\@sm{left:60px}}.t-70{top:70px}.r-70{right:70px}.b-70{bottom:70px}.l-70{left:70px}@media screen and (min-width: 1440px){.t-70\@xl\+{top:70px}.r-70\@xl\+{right:70px}.b-70\@xl\+{bottom:70px}.l-70\@xl\+{left:70px}}@media screen and (min-width: 1200px){.t-70\@lg\+{top:70px}.r-70\@lg\+{right:70px}.b-70\@lg\+{bottom:70px}.l-70\@lg\+{left:70px}}@media screen and (min-width: 992px){.t-70\@md\+{top:70px}.r-70\@md\+{right:70px}.b-70\@md\+{bottom:70px}.l-70\@md\+{left:70px}}@media screen and (min-width: 768px){.t-70\@sm\+{top:70px}.r-70\@sm\+{right:70px}.b-70\@sm\+{bottom:70px}.l-70\@sm\+{left:70px}}@media screen and (min-width: 0){.t-70\@xs\+{top:70px}.r-70\@xs\+{right:70px}.b-70\@xs\+{bottom:70px}.l-70\@xs\+{left:70px}}@media screen and (max-width: 1439px){.t-70\@xl-{top:70px}.r-70\@xl-{right:70px}.b-70\@xl-{bottom:70px}.l-70\@xl-{left:70px}}@media screen and (max-width: 1199px){.t-70\@lg-{top:70px}.r-70\@lg-{right:70px}.b-70\@lg-{bottom:70px}.l-70\@lg-{left:70px}}@media screen and (max-width: 991px){.t-70\@md-{top:70px}.r-70\@md-{right:70px}.b-70\@md-{bottom:70px}.l-70\@md-{left:70px}}@media screen and (max-width: 767px){.t-70\@sm-{top:70px}.r-70\@sm-{right:70px}.b-70\@sm-{bottom:70px}.l-70\@sm-{left:70px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-70\@lg{top:70px}.r-70\@lg{right:70px}.b-70\@lg{bottom:70px}.l-70\@lg{left:70px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-70\@md{top:70px}.r-70\@md{right:70px}.b-70\@md{bottom:70px}.l-70\@md{left:70px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-70\@sm{top:70px}.r-70\@sm{right:70px}.b-70\@sm{bottom:70px}.l-70\@sm{left:70px}}.t-80{top:80px}.r-80{right:80px}.b-80{bottom:80px}.l-80{left:80px}@media screen and (min-width: 1440px){.t-80\@xl\+{top:80px}.r-80\@xl\+{right:80px}.b-80\@xl\+{bottom:80px}.l-80\@xl\+{left:80px}}@media screen and (min-width: 1200px){.t-80\@lg\+{top:80px}.r-80\@lg\+{right:80px}.b-80\@lg\+{bottom:80px}.l-80\@lg\+{left:80px}}@media screen and (min-width: 992px){.t-80\@md\+{top:80px}.r-80\@md\+{right:80px}.b-80\@md\+{bottom:80px}.l-80\@md\+{left:80px}}@media screen and (min-width: 768px){.t-80\@sm\+{top:80px}.r-80\@sm\+{right:80px}.b-80\@sm\+{bottom:80px}.l-80\@sm\+{left:80px}}@media screen and (min-width: 0){.t-80\@xs\+{top:80px}.r-80\@xs\+{right:80px}.b-80\@xs\+{bottom:80px}.l-80\@xs\+{left:80px}}@media screen and (max-width: 1439px){.t-80\@xl-{top:80px}.r-80\@xl-{right:80px}.b-80\@xl-{bottom:80px}.l-80\@xl-{left:80px}}@media screen and (max-width: 1199px){.t-80\@lg-{top:80px}.r-80\@lg-{right:80px}.b-80\@lg-{bottom:80px}.l-80\@lg-{left:80px}}@media screen and (max-width: 991px){.t-80\@md-{top:80px}.r-80\@md-{right:80px}.b-80\@md-{bottom:80px}.l-80\@md-{left:80px}}@media screen and (max-width: 767px){.t-80\@sm-{top:80px}.r-80\@sm-{right:80px}.b-80\@sm-{bottom:80px}.l-80\@sm-{left:80px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-80\@lg{top:80px}.r-80\@lg{right:80px}.b-80\@lg{bottom:80px}.l-80\@lg{left:80px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-80\@md{top:80px}.r-80\@md{right:80px}.b-80\@md{bottom:80px}.l-80\@md{left:80px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-80\@sm{top:80px}.r-80\@sm{right:80px}.b-80\@sm{bottom:80px}.l-80\@sm{left:80px}}.t-90{top:90px}.r-90{right:90px}.b-90{bottom:90px}.l-90{left:90px}@media screen and (min-width: 1440px){.t-90\@xl\+{top:90px}.r-90\@xl\+{right:90px}.b-90\@xl\+{bottom:90px}.l-90\@xl\+{left:90px}}@media screen and (min-width: 1200px){.t-90\@lg\+{top:90px}.r-90\@lg\+{right:90px}.b-90\@lg\+{bottom:90px}.l-90\@lg\+{left:90px}}@media screen and (min-width: 992px){.t-90\@md\+{top:90px}.r-90\@md\+{right:90px}.b-90\@md\+{bottom:90px}.l-90\@md\+{left:90px}}@media screen and (min-width: 768px){.t-90\@sm\+{top:90px}.r-90\@sm\+{right:90px}.b-90\@sm\+{bottom:90px}.l-90\@sm\+{left:90px}}@media screen and (min-width: 0){.t-90\@xs\+{top:90px}.r-90\@xs\+{right:90px}.b-90\@xs\+{bottom:90px}.l-90\@xs\+{left:90px}}@media screen and (max-width: 1439px){.t-90\@xl-{top:90px}.r-90\@xl-{right:90px}.b-90\@xl-{bottom:90px}.l-90\@xl-{left:90px}}@media screen and (max-width: 1199px){.t-90\@lg-{top:90px}.r-90\@lg-{right:90px}.b-90\@lg-{bottom:90px}.l-90\@lg-{left:90px}}@media screen and (max-width: 991px){.t-90\@md-{top:90px}.r-90\@md-{right:90px}.b-90\@md-{bottom:90px}.l-90\@md-{left:90px}}@media screen and (max-width: 767px){.t-90\@sm-{top:90px}.r-90\@sm-{right:90px}.b-90\@sm-{bottom:90px}.l-90\@sm-{left:90px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-90\@lg{top:90px}.r-90\@lg{right:90px}.b-90\@lg{bottom:90px}.l-90\@lg{left:90px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-90\@md{top:90px}.r-90\@md{right:90px}.b-90\@md{bottom:90px}.l-90\@md{left:90px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-90\@sm{top:90px}.r-90\@sm{right:90px}.b-90\@sm{bottom:90px}.l-90\@sm{left:90px}}.t-100{top:100px}.r-100{right:100px}.b-100{bottom:100px}.l-100{left:100px}@media screen and (min-width: 1440px){.t-100\@xl\+{top:100px}.r-100\@xl\+{right:100px}.b-100\@xl\+{bottom:100px}.l-100\@xl\+{left:100px}}@media screen and (min-width: 1200px){.t-100\@lg\+{top:100px}.r-100\@lg\+{right:100px}.b-100\@lg\+{bottom:100px}.l-100\@lg\+{left:100px}}@media screen and (min-width: 992px){.t-100\@md\+{top:100px}.r-100\@md\+{right:100px}.b-100\@md\+{bottom:100px}.l-100\@md\+{left:100px}}@media screen and (min-width: 768px){.t-100\@sm\+{top:100px}.r-100\@sm\+{right:100px}.b-100\@sm\+{bottom:100px}.l-100\@sm\+{left:100px}}@media screen and (min-width: 0){.t-100\@xs\+{top:100px}.r-100\@xs\+{right:100px}.b-100\@xs\+{bottom:100px}.l-100\@xs\+{left:100px}}@media screen and (max-width: 1439px){.t-100\@xl-{top:100px}.r-100\@xl-{right:100px}.b-100\@xl-{bottom:100px}.l-100\@xl-{left:100px}}@media screen and (max-width: 1199px){.t-100\@lg-{top:100px}.r-100\@lg-{right:100px}.b-100\@lg-{bottom:100px}.l-100\@lg-{left:100px}}@media screen and (max-width: 991px){.t-100\@md-{top:100px}.r-100\@md-{right:100px}.b-100\@md-{bottom:100px}.l-100\@md-{left:100px}}@media screen and (max-width: 767px){.t-100\@sm-{top:100px}.r-100\@sm-{right:100px}.b-100\@sm-{bottom:100px}.l-100\@sm-{left:100px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-100\@lg{top:100px}.r-100\@lg{right:100px}.b-100\@lg{bottom:100px}.l-100\@lg{left:100px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-100\@md{top:100px}.r-100\@md{right:100px}.b-100\@md{bottom:100px}.l-100\@md{left:100px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-100\@sm{top:100px}.r-100\@sm{right:100px}.b-100\@sm{bottom:100px}.l-100\@sm{left:100px}}.t-110{top:110px}.r-110{right:110px}.b-110{bottom:110px}.l-110{left:110px}@media screen and (min-width: 1440px){.t-110\@xl\+{top:110px}.r-110\@xl\+{right:110px}.b-110\@xl\+{bottom:110px}.l-110\@xl\+{left:110px}}@media screen and (min-width: 1200px){.t-110\@lg\+{top:110px}.r-110\@lg\+{right:110px}.b-110\@lg\+{bottom:110px}.l-110\@lg\+{left:110px}}@media screen and (min-width: 992px){.t-110\@md\+{top:110px}.r-110\@md\+{right:110px}.b-110\@md\+{bottom:110px}.l-110\@md\+{left:110px}}@media screen and (min-width: 768px){.t-110\@sm\+{top:110px}.r-110\@sm\+{right:110px}.b-110\@sm\+{bottom:110px}.l-110\@sm\+{left:110px}}@media screen and (min-width: 0){.t-110\@xs\+{top:110px}.r-110\@xs\+{right:110px}.b-110\@xs\+{bottom:110px}.l-110\@xs\+{left:110px}}@media screen and (max-width: 1439px){.t-110\@xl-{top:110px}.r-110\@xl-{right:110px}.b-110\@xl-{bottom:110px}.l-110\@xl-{left:110px}}@media screen and (max-width: 1199px){.t-110\@lg-{top:110px}.r-110\@lg-{right:110px}.b-110\@lg-{bottom:110px}.l-110\@lg-{left:110px}}@media screen and (max-width: 991px){.t-110\@md-{top:110px}.r-110\@md-{right:110px}.b-110\@md-{bottom:110px}.l-110\@md-{left:110px}}@media screen and (max-width: 767px){.t-110\@sm-{top:110px}.r-110\@sm-{right:110px}.b-110\@sm-{bottom:110px}.l-110\@sm-{left:110px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-110\@lg{top:110px}.r-110\@lg{right:110px}.b-110\@lg{bottom:110px}.l-110\@lg{left:110px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-110\@md{top:110px}.r-110\@md{right:110px}.b-110\@md{bottom:110px}.l-110\@md{left:110px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-110\@sm{top:110px}.r-110\@sm{right:110px}.b-110\@sm{bottom:110px}.l-110\@sm{left:110px}}.t-120{top:120px}.r-120{right:120px}.b-120{bottom:120px}.l-120{left:120px}@media screen and (min-width: 1440px){.t-120\@xl\+{top:120px}.r-120\@xl\+{right:120px}.b-120\@xl\+{bottom:120px}.l-120\@xl\+{left:120px}}@media screen and (min-width: 1200px){.t-120\@lg\+{top:120px}.r-120\@lg\+{right:120px}.b-120\@lg\+{bottom:120px}.l-120\@lg\+{left:120px}}@media screen and (min-width: 992px){.t-120\@md\+{top:120px}.r-120\@md\+{right:120px}.b-120\@md\+{bottom:120px}.l-120\@md\+{left:120px}}@media screen and (min-width: 768px){.t-120\@sm\+{top:120px}.r-120\@sm\+{right:120px}.b-120\@sm\+{bottom:120px}.l-120\@sm\+{left:120px}}@media screen and (min-width: 0){.t-120\@xs\+{top:120px}.r-120\@xs\+{right:120px}.b-120\@xs\+{bottom:120px}.l-120\@xs\+{left:120px}}@media screen and (max-width: 1439px){.t-120\@xl-{top:120px}.r-120\@xl-{right:120px}.b-120\@xl-{bottom:120px}.l-120\@xl-{left:120px}}@media screen and (max-width: 1199px){.t-120\@lg-{top:120px}.r-120\@lg-{right:120px}.b-120\@lg-{bottom:120px}.l-120\@lg-{left:120px}}@media screen and (max-width: 991px){.t-120\@md-{top:120px}.r-120\@md-{right:120px}.b-120\@md-{bottom:120px}.l-120\@md-{left:120px}}@media screen and (max-width: 767px){.t-120\@sm-{top:120px}.r-120\@sm-{right:120px}.b-120\@sm-{bottom:120px}.l-120\@sm-{left:120px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-120\@lg{top:120px}.r-120\@lg{right:120px}.b-120\@lg{bottom:120px}.l-120\@lg{left:120px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-120\@md{top:120px}.r-120\@md{right:120px}.b-120\@md{bottom:120px}.l-120\@md{left:120px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-120\@sm{top:120px}.r-120\@sm{right:120px}.b-120\@sm{bottom:120px}.l-120\@sm{left:120px}}.t-130{top:130px}.r-130{right:130px}.b-130{bottom:130px}.l-130{left:130px}@media screen and (min-width: 1440px){.t-130\@xl\+{top:130px}.r-130\@xl\+{right:130px}.b-130\@xl\+{bottom:130px}.l-130\@xl\+{left:130px}}@media screen and (min-width: 1200px){.t-130\@lg\+{top:130px}.r-130\@lg\+{right:130px}.b-130\@lg\+{bottom:130px}.l-130\@lg\+{left:130px}}@media screen and (min-width: 992px){.t-130\@md\+{top:130px}.r-130\@md\+{right:130px}.b-130\@md\+{bottom:130px}.l-130\@md\+{left:130px}}@media screen and (min-width: 768px){.t-130\@sm\+{top:130px}.r-130\@sm\+{right:130px}.b-130\@sm\+{bottom:130px}.l-130\@sm\+{left:130px}}@media screen and (min-width: 0){.t-130\@xs\+{top:130px}.r-130\@xs\+{right:130px}.b-130\@xs\+{bottom:130px}.l-130\@xs\+{left:130px}}@media screen and (max-width: 1439px){.t-130\@xl-{top:130px}.r-130\@xl-{right:130px}.b-130\@xl-{bottom:130px}.l-130\@xl-{left:130px}}@media screen and (max-width: 1199px){.t-130\@lg-{top:130px}.r-130\@lg-{right:130px}.b-130\@lg-{bottom:130px}.l-130\@lg-{left:130px}}@media screen and (max-width: 991px){.t-130\@md-{top:130px}.r-130\@md-{right:130px}.b-130\@md-{bottom:130px}.l-130\@md-{left:130px}}@media screen and (max-width: 767px){.t-130\@sm-{top:130px}.r-130\@sm-{right:130px}.b-130\@sm-{bottom:130px}.l-130\@sm-{left:130px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-130\@lg{top:130px}.r-130\@lg{right:130px}.b-130\@lg{bottom:130px}.l-130\@lg{left:130px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-130\@md{top:130px}.r-130\@md{right:130px}.b-130\@md{bottom:130px}.l-130\@md{left:130px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-130\@sm{top:130px}.r-130\@sm{right:130px}.b-130\@sm{bottom:130px}.l-130\@sm{left:130px}}.t-140{top:140px}.r-140{right:140px}.b-140{bottom:140px}.l-140{left:140px}@media screen and (min-width: 1440px){.t-140\@xl\+{top:140px}.r-140\@xl\+{right:140px}.b-140\@xl\+{bottom:140px}.l-140\@xl\+{left:140px}}@media screen and (min-width: 1200px){.t-140\@lg\+{top:140px}.r-140\@lg\+{right:140px}.b-140\@lg\+{bottom:140px}.l-140\@lg\+{left:140px}}@media screen and (min-width: 992px){.t-140\@md\+{top:140px}.r-140\@md\+{right:140px}.b-140\@md\+{bottom:140px}.l-140\@md\+{left:140px}}@media screen and (min-width: 768px){.t-140\@sm\+{top:140px}.r-140\@sm\+{right:140px}.b-140\@sm\+{bottom:140px}.l-140\@sm\+{left:140px}}@media screen and (min-width: 0){.t-140\@xs\+{top:140px}.r-140\@xs\+{right:140px}.b-140\@xs\+{bottom:140px}.l-140\@xs\+{left:140px}}@media screen and (max-width: 1439px){.t-140\@xl-{top:140px}.r-140\@xl-{right:140px}.b-140\@xl-{bottom:140px}.l-140\@xl-{left:140px}}@media screen and (max-width: 1199px){.t-140\@lg-{top:140px}.r-140\@lg-{right:140px}.b-140\@lg-{bottom:140px}.l-140\@lg-{left:140px}}@media screen and (max-width: 991px){.t-140\@md-{top:140px}.r-140\@md-{right:140px}.b-140\@md-{bottom:140px}.l-140\@md-{left:140px}}@media screen and (max-width: 767px){.t-140\@sm-{top:140px}.r-140\@sm-{right:140px}.b-140\@sm-{bottom:140px}.l-140\@sm-{left:140px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-140\@lg{top:140px}.r-140\@lg{right:140px}.b-140\@lg{bottom:140px}.l-140\@lg{left:140px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-140\@md{top:140px}.r-140\@md{right:140px}.b-140\@md{bottom:140px}.l-140\@md{left:140px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-140\@sm{top:140px}.r-140\@sm{right:140px}.b-140\@sm{bottom:140px}.l-140\@sm{left:140px}}.t-150{top:150px}.r-150{right:150px}.b-150{bottom:150px}.l-150{left:150px}@media screen and (min-width: 1440px){.t-150\@xl\+{top:150px}.r-150\@xl\+{right:150px}.b-150\@xl\+{bottom:150px}.l-150\@xl\+{left:150px}}@media screen and (min-width: 1200px){.t-150\@lg\+{top:150px}.r-150\@lg\+{right:150px}.b-150\@lg\+{bottom:150px}.l-150\@lg\+{left:150px}}@media screen and (min-width: 992px){.t-150\@md\+{top:150px}.r-150\@md\+{right:150px}.b-150\@md\+{bottom:150px}.l-150\@md\+{left:150px}}@media screen and (min-width: 768px){.t-150\@sm\+{top:150px}.r-150\@sm\+{right:150px}.b-150\@sm\+{bottom:150px}.l-150\@sm\+{left:150px}}@media screen and (min-width: 0){.t-150\@xs\+{top:150px}.r-150\@xs\+{right:150px}.b-150\@xs\+{bottom:150px}.l-150\@xs\+{left:150px}}@media screen and (max-width: 1439px){.t-150\@xl-{top:150px}.r-150\@xl-{right:150px}.b-150\@xl-{bottom:150px}.l-150\@xl-{left:150px}}@media screen and (max-width: 1199px){.t-150\@lg-{top:150px}.r-150\@lg-{right:150px}.b-150\@lg-{bottom:150px}.l-150\@lg-{left:150px}}@media screen and (max-width: 991px){.t-150\@md-{top:150px}.r-150\@md-{right:150px}.b-150\@md-{bottom:150px}.l-150\@md-{left:150px}}@media screen and (max-width: 767px){.t-150\@sm-{top:150px}.r-150\@sm-{right:150px}.b-150\@sm-{bottom:150px}.l-150\@sm-{left:150px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-150\@lg{top:150px}.r-150\@lg{right:150px}.b-150\@lg{bottom:150px}.l-150\@lg{left:150px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-150\@md{top:150px}.r-150\@md{right:150px}.b-150\@md{bottom:150px}.l-150\@md{left:150px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-150\@sm{top:150px}.r-150\@sm{right:150px}.b-150\@sm{bottom:150px}.l-150\@sm{left:150px}}.t-160{top:160px}.r-160{right:160px}.b-160{bottom:160px}.l-160{left:160px}@media screen and (min-width: 1440px){.t-160\@xl\+{top:160px}.r-160\@xl\+{right:160px}.b-160\@xl\+{bottom:160px}.l-160\@xl\+{left:160px}}@media screen and (min-width: 1200px){.t-160\@lg\+{top:160px}.r-160\@lg\+{right:160px}.b-160\@lg\+{bottom:160px}.l-160\@lg\+{left:160px}}@media screen and (min-width: 992px){.t-160\@md\+{top:160px}.r-160\@md\+{right:160px}.b-160\@md\+{bottom:160px}.l-160\@md\+{left:160px}}@media screen and (min-width: 768px){.t-160\@sm\+{top:160px}.r-160\@sm\+{right:160px}.b-160\@sm\+{bottom:160px}.l-160\@sm\+{left:160px}}@media screen and (min-width: 0){.t-160\@xs\+{top:160px}.r-160\@xs\+{right:160px}.b-160\@xs\+{bottom:160px}.l-160\@xs\+{left:160px}}@media screen and (max-width: 1439px){.t-160\@xl-{top:160px}.r-160\@xl-{right:160px}.b-160\@xl-{bottom:160px}.l-160\@xl-{left:160px}}@media screen and (max-width: 1199px){.t-160\@lg-{top:160px}.r-160\@lg-{right:160px}.b-160\@lg-{bottom:160px}.l-160\@lg-{left:160px}}@media screen and (max-width: 991px){.t-160\@md-{top:160px}.r-160\@md-{right:160px}.b-160\@md-{bottom:160px}.l-160\@md-{left:160px}}@media screen and (max-width: 767px){.t-160\@sm-{top:160px}.r-160\@sm-{right:160px}.b-160\@sm-{bottom:160px}.l-160\@sm-{left:160px}}@media screen and (min-width: 1199px)and (max-width: 1439px){.t-160\@lg{top:160px}.r-160\@lg{right:160px}.b-160\@lg{bottom:160px}.l-160\@lg{left:160px}}@media screen and (min-width: 991px)and (max-width: 1199px){.t-160\@md{top:160px}.r-160\@md{right:160px}.b-160\@md{bottom:160px}.l-160\@md{left:160px}}@media screen and (min-width: 767px)and (max-width: 991px){.t-160\@sm{top:160px}.r-160\@sm{right:160px}.b-160\@sm{bottom:160px}.l-160\@sm{left:160px}}.tl-50p{top:50%;left:50%}.tr-50p{top:50%;right:50%}.t-50p{top:50%}.r-50p{right:50%}.b-50p{bottom:50%}.l-50p{left:50%}@media screen and (min-width: 1440px){.tl-50p\@xl\+{top:50%;left:50%}.tr-50p\@xl\+{top:50%;right:50%}.t-50p\@xl\+{top:50%}.r-50p\@xl\+{right:50%}.b-50p\@xl\+{bottom:50%}.l-50p\@xl\+{left:50%}}@media screen and (min-width: 1200px){.tl-50p\@lg\+{top:50%;left:50%}.tr-50p\@lg\+{top:50%;right:50%}.t-50p\@lg\+{top:50%}.r-50p\@lg\+{right:50%}.b-50p\@lg\+{bottom:50%}.l-50p\@lg\+{left:50%}}@media screen and (min-width: 992px){.tl-50p\@md\+{top:50%;left:50%}.tr-50p\@md\+{top:50%;right:50%}.t-50p\@md\+{top:50%}.r-50p\@md\+{right:50%}.b-50p\@md\+{bottom:50%}.l-50p\@md\+{left:50%}}@media screen and (min-width: 768px){.tl-50p\@sm\+{top:50%;left:50%}.tr-50p\@sm\+{top:50%;right:50%}.t-50p\@sm\+{top:50%}.r-50p\@sm\+{right:50%}.b-50p\@sm\+{bottom:50%}.l-50p\@sm\+{left:50%}}@media screen and (min-width: 0){.tl-50p\@xs\+{top:50%;left:50%}.tr-50p\@xs\+{top:50%;right:50%}.t-50p\@xs\+{top:50%}.r-50p\@xs\+{right:50%}.b-50p\@xs\+{bottom:50%}.l-50p\@xs\+{left:50%}}@media screen and (max-width: 1439px){.tl-50p\@xl-{top:50%;left:50%}.tr-50p\@xl-{top:50%;right:50%}.t-50p\@xl-{top:50%}.r-50p\@xl-{right:50%}.b-50p\@xl-{bottom:50%}.l-50p\@xl-{left:50%}}@media screen and (max-width: 1199px){.tl-50p\@lg-{top:50%;left:50%}.tr-50p\@lg-{top:50%;right:50%}.t-50p\@lg-{top:50%}.r-50p\@lg-{right:50%}.b-50p\@lg-{bottom:50%}.l-50p\@lg-{left:50%}}@media screen and (max-width: 991px){.tl-50p\@md-{top:50%;left:50%}.tr-50p\@md-{top:50%;right:50%}.t-50p\@md-{top:50%}.r-50p\@md-{right:50%}.b-50p\@md-{bottom:50%}.l-50p\@md-{left:50%}}@media screen and (max-width: 767px){.tl-50p\@sm-{top:50%;left:50%}.tr-50p\@sm-{top:50%;right:50%}.t-50p\@sm-{top:50%}.r-50p\@sm-{right:50%}.b-50p\@sm-{bottom:50%}.l-50p\@sm-{left:50%}}@media screen and (min-width: 1199px)and (max-width: 1439px){.tl-50p\@lg{top:50%;left:50%}.tr-50p\@lg{top:50%;right:50%}.t-50p\@lg{top:50%}.r-50p\@lg{right:50%}.b-50p\@lg{bottom:50%}.l-50p\@lg{left:50%}}@media screen and (min-width: 991px)and (max-width: 1199px){.tl-50p\@md{top:50%;left:50%}.tr-50p\@md{top:50%;right:50%}.t-50p\@md{top:50%}.r-50p\@md{right:50%}.b-50p\@md{bottom:50%}.l-50p\@md{left:50%}}@media screen and (min-width: 767px)and (max-width: 991px){.tl-50p\@sm{top:50%;left:50%}.tr-50p\@sm{top:50%;right:50%}.t-50p\@sm{top:50%}.r-50p\@sm{right:50%}.b-50p\@sm{bottom:50%}.l-50p\@sm{left:50%}}.w-1\/4r,.sz-1\/4r{width:.25rem}.w-1\/2r,.sz-1\/2r{width:.5rem}.w-3\/4r,.sz-3\/4r{width:.75rem}.w-1r,.sz-1r{width:1rem}.w-3\/2r,.sz-3\/2r{width:1.5rem}.w-2r,.sz-2r{width:2rem}.w-5\/2r,.sz-5\/2r{width:2.5rem}.w-3r,.sz-3r{width:3rem}.w-7\/2r,.sz-7\/2r{width:3.5rem}.w-4r,.sz-4r{width:4rem}.w-9\/2r,.sz-9\/2r{width:4.5rem}.w-5r,.sz-5r{width:5rem}.w-11\/2r,.sz-11\/2r{width:5.5rem}.w-6r,.sz-6r{width:6rem}@media screen and (min-width: 1440px){.w-1\/4r\@xl\+,.sz-1\/4r\@xl\+{width:.25rem}.w-1\/2r\@xl\+,.sz-1\/2r\@xl\+{width:.5rem}.w-3\/4r\@xl\+,.sz-3\/4r\@xl\+{width:.75rem}.w-1r\@xl\+,.sz-1r\@xl\+{width:1rem}.w-3\/2r\@xl\+,.sz-3\/2r\@xl\+{width:1.5rem}.w-2r\@xl\+,.sz-2r\@xl\+{width:2rem}.w-5\/2r\@xl\+,.sz-5\/2r\@xl\+{width:2.5rem}.w-3r\@xl\+,.sz-3r\@xl\+{width:3rem}.w-7\/2r\@xl\+,.sz-7\/2r\@xl\+{width:3.5rem}.w-4r\@xl\+,.sz-4r\@xl\+{width:4rem}.w-9\/2r\@xl\+,.sz-9\/2r\@xl\+{width:4.5rem}.w-5r\@xl\+,.sz-5r\@xl\+{width:5rem}.w-11\/2r\@xl\+,.sz-11\/2r\@xl\+{width:5.5rem}.w-6r\@xl\+,.sz-6r\@xl\+{width:6rem}}@media screen and (min-width: 1200px){.w-1\/4r\@lg\+,.sz-1\/4r\@lg\+{width:.25rem}.w-1\/2r\@lg\+,.sz-1\/2r\@lg\+{width:.5rem}.w-3\/4r\@lg\+,.sz-3\/4r\@lg\+{width:.75rem}.w-1r\@lg\+,.sz-1r\@lg\+{width:1rem}.w-3\/2r\@lg\+,.sz-3\/2r\@lg\+{width:1.5rem}.w-2r\@lg\+,.sz-2r\@lg\+{width:2rem}.w-5\/2r\@lg\+,.sz-5\/2r\@lg\+{width:2.5rem}.w-3r\@lg\+,.sz-3r\@lg\+{width:3rem}.w-7\/2r\@lg\+,.sz-7\/2r\@lg\+{width:3.5rem}.w-4r\@lg\+,.sz-4r\@lg\+{width:4rem}.w-9\/2r\@lg\+,.sz-9\/2r\@lg\+{width:4.5rem}.w-5r\@lg\+,.sz-5r\@lg\+{width:5rem}.w-11\/2r\@lg\+,.sz-11\/2r\@lg\+{width:5.5rem}.w-6r\@lg\+,.sz-6r\@lg\+{width:6rem}}@media screen and (min-width: 992px){.w-1\/4r\@md\+,.sz-1\/4r\@md\+{width:.25rem}.w-1\/2r\@md\+,.sz-1\/2r\@md\+{width:.5rem}.w-3\/4r\@md\+,.sz-3\/4r\@md\+{width:.75rem}.w-1r\@md\+,.sz-1r\@md\+{width:1rem}.w-3\/2r\@md\+,.sz-3\/2r\@md\+{width:1.5rem}.w-2r\@md\+,.sz-2r\@md\+{width:2rem}.w-5\/2r\@md\+,.sz-5\/2r\@md\+{width:2.5rem}.w-3r\@md\+,.sz-3r\@md\+{width:3rem}.w-7\/2r\@md\+,.sz-7\/2r\@md\+{width:3.5rem}.w-4r\@md\+,.sz-4r\@md\+{width:4rem}.w-9\/2r\@md\+,.sz-9\/2r\@md\+{width:4.5rem}.w-5r\@md\+,.sz-5r\@md\+{width:5rem}.w-11\/2r\@md\+,.sz-11\/2r\@md\+{width:5.5rem}.w-6r\@md\+,.sz-6r\@md\+{width:6rem}}@media screen and (min-width: 768px){.w-1\/4r\@sm\+,.sz-1\/4r\@sm\+{width:.25rem}.w-1\/2r\@sm\+,.sz-1\/2r\@sm\+{width:.5rem}.w-3\/4r\@sm\+,.sz-3\/4r\@sm\+{width:.75rem}.w-1r\@sm\+,.sz-1r\@sm\+{width:1rem}.w-3\/2r\@sm\+,.sz-3\/2r\@sm\+{width:1.5rem}.w-2r\@sm\+,.sz-2r\@sm\+{width:2rem}.w-5\/2r\@sm\+,.sz-5\/2r\@sm\+{width:2.5rem}.w-3r\@sm\+,.sz-3r\@sm\+{width:3rem}.w-7\/2r\@sm\+,.sz-7\/2r\@sm\+{width:3.5rem}.w-4r\@sm\+,.sz-4r\@sm\+{width:4rem}.w-9\/2r\@sm\+,.sz-9\/2r\@sm\+{width:4.5rem}.w-5r\@sm\+,.sz-5r\@sm\+{width:5rem}.w-11\/2r\@sm\+,.sz-11\/2r\@sm\+{width:5.5rem}.w-6r\@sm\+,.sz-6r\@sm\+{width:6rem}}@media screen and (min-width: 0){.w-1\/4r\@xs\+,.sz-1\/4r\@xs\+{width:.25rem}.w-1\/2r\@xs\+,.sz-1\/2r\@xs\+{width:.5rem}.w-3\/4r\@xs\+,.sz-3\/4r\@xs\+{width:.75rem}.w-1r\@xs\+,.sz-1r\@xs\+{width:1rem}.w-3\/2r\@xs\+,.sz-3\/2r\@xs\+{width:1.5rem}.w-2r\@xs\+,.sz-2r\@xs\+{width:2rem}.w-5\/2r\@xs\+,.sz-5\/2r\@xs\+{width:2.5rem}.w-3r\@xs\+,.sz-3r\@xs\+{width:3rem}.w-7\/2r\@xs\+,.sz-7\/2r\@xs\+{width:3.5rem}.w-4r\@xs\+,.sz-4r\@xs\+{width:4rem}.w-9\/2r\@xs\+,.sz-9\/2r\@xs\+{width:4.5rem}.w-5r\@xs\+,.sz-5r\@xs\+{width:5rem}.w-11\/2r\@xs\+,.sz-11\/2r\@xs\+{width:5.5rem}.w-6r\@xs\+,.sz-6r\@xs\+{width:6rem}}@media screen and (max-width: 1439px){.w-1\/4r\@xl-,.sz-1\/4r\@xl-{width:.25rem}.w-1\/2r\@xl-,.sz-1\/2r\@xl-{width:.5rem}.w-3\/4r\@xl-,.sz-3\/4r\@xl-{width:.75rem}.w-1r\@xl-,.sz-1r\@xl-{width:1rem}.w-3\/2r\@xl-,.sz-3\/2r\@xl-{width:1.5rem}.w-2r\@xl-,.sz-2r\@xl-{width:2rem}.w-5\/2r\@xl-,.sz-5\/2r\@xl-{width:2.5rem}.w-3r\@xl-,.sz-3r\@xl-{width:3rem}.w-7\/2r\@xl-,.sz-7\/2r\@xl-{width:3.5rem}.w-4r\@xl-,.sz-4r\@xl-{width:4rem}.w-9\/2r\@xl-,.sz-9\/2r\@xl-{width:4.5rem}.w-5r\@xl-,.sz-5r\@xl-{width:5rem}.w-11\/2r\@xl-,.sz-11\/2r\@xl-{width:5.5rem}.w-6r\@xl-,.sz-6r\@xl-{width:6rem}}@media screen and (max-width: 1199px){.w-1\/4r\@lg-,.sz-1\/4r\@lg-{width:.25rem}.w-1\/2r\@lg-,.sz-1\/2r\@lg-{width:.5rem}.w-3\/4r\@lg-,.sz-3\/4r\@lg-{width:.75rem}.w-1r\@lg-,.sz-1r\@lg-{width:1rem}.w-3\/2r\@lg-,.sz-3\/2r\@lg-{width:1.5rem}.w-2r\@lg-,.sz-2r\@lg-{width:2rem}.w-5\/2r\@lg-,.sz-5\/2r\@lg-{width:2.5rem}.w-3r\@lg-,.sz-3r\@lg-{width:3rem}.w-7\/2r\@lg-,.sz-7\/2r\@lg-{width:3.5rem}.w-4r\@lg-,.sz-4r\@lg-{width:4rem}.w-9\/2r\@lg-,.sz-9\/2r\@lg-{width:4.5rem}.w-5r\@lg-,.sz-5r\@lg-{width:5rem}.w-11\/2r\@lg-,.sz-11\/2r\@lg-{width:5.5rem}.w-6r\@lg-,.sz-6r\@lg-{width:6rem}}@media screen and (max-width: 991px){.w-1\/4r\@md-,.sz-1\/4r\@md-{width:.25rem}.w-1\/2r\@md-,.sz-1\/2r\@md-{width:.5rem}.w-3\/4r\@md-,.sz-3\/4r\@md-{width:.75rem}.w-1r\@md-,.sz-1r\@md-{width:1rem}.w-3\/2r\@md-,.sz-3\/2r\@md-{width:1.5rem}.w-2r\@md-,.sz-2r\@md-{width:2rem}.w-5\/2r\@md-,.sz-5\/2r\@md-{width:2.5rem}.w-3r\@md-,.sz-3r\@md-{width:3rem}.w-7\/2r\@md-,.sz-7\/2r\@md-{width:3.5rem}.w-4r\@md-,.sz-4r\@md-{width:4rem}.w-9\/2r\@md-,.sz-9\/2r\@md-{width:4.5rem}.w-5r\@md-,.sz-5r\@md-{width:5rem}.w-11\/2r\@md-,.sz-11\/2r\@md-{width:5.5rem}.w-6r\@md-,.sz-6r\@md-{width:6rem}}@media screen and (max-width: 767px){.w-1\/4r\@sm-,.sz-1\/4r\@sm-{width:.25rem}.w-1\/2r\@sm-,.sz-1\/2r\@sm-{width:.5rem}.w-3\/4r\@sm-,.sz-3\/4r\@sm-{width:.75rem}.w-1r\@sm-,.sz-1r\@sm-{width:1rem}.w-3\/2r\@sm-,.sz-3\/2r\@sm-{width:1.5rem}.w-2r\@sm-,.sz-2r\@sm-{width:2rem}.w-5\/2r\@sm-,.sz-5\/2r\@sm-{width:2.5rem}.w-3r\@sm-,.sz-3r\@sm-{width:3rem}.w-7\/2r\@sm-,.sz-7\/2r\@sm-{width:3.5rem}.w-4r\@sm-,.sz-4r\@sm-{width:4rem}.w-9\/2r\@sm-,.sz-9\/2r\@sm-{width:4.5rem}.w-5r\@sm-,.sz-5r\@sm-{width:5rem}.w-11\/2r\@sm-,.sz-11\/2r\@sm-{width:5.5rem}.w-6r\@sm-,.sz-6r\@sm-{width:6rem}}@media screen and (min-width: 1199px)and (max-width: 1439px){.w-1\/4r\@lg,.sz-1\/4r\@lg{width:.25rem}.w-1\/2r\@lg,.sz-1\/2r\@lg{width:.5rem}.w-3\/4r\@lg,.sz-3\/4r\@lg{width:.75rem}.w-1r\@lg,.sz-1r\@lg{width:1rem}.w-3\/2r\@lg,.sz-3\/2r\@lg{width:1.5rem}.w-2r\@lg,.sz-2r\@lg{width:2rem}.w-5\/2r\@lg,.sz-5\/2r\@lg{width:2.5rem}.w-3r\@lg,.sz-3r\@lg{width:3rem}.w-7\/2r\@lg,.sz-7\/2r\@lg{width:3.5rem}.w-4r\@lg,.sz-4r\@lg{width:4rem}.w-9\/2r\@lg,.sz-9\/2r\@lg{width:4.5rem}.w-5r\@lg,.sz-5r\@lg{width:5rem}.w-11\/2r\@lg,.sz-11\/2r\@lg{width:5.5rem}.w-6r\@lg,.sz-6r\@lg{width:6rem}}@media screen and (min-width: 991px)and (max-width: 1199px){.w-1\/4r\@md,.sz-1\/4r\@md{width:.25rem}.w-1\/2r\@md,.sz-1\/2r\@md{width:.5rem}.w-3\/4r\@md,.sz-3\/4r\@md{width:.75rem}.w-1r\@md,.sz-1r\@md{width:1rem}.w-3\/2r\@md,.sz-3\/2r\@md{width:1.5rem}.w-2r\@md,.sz-2r\@md{width:2rem}.w-5\/2r\@md,.sz-5\/2r\@md{width:2.5rem}.w-3r\@md,.sz-3r\@md{width:3rem}.w-7\/2r\@md,.sz-7\/2r\@md{width:3.5rem}.w-4r\@md,.sz-4r\@md{width:4rem}.w-9\/2r\@md,.sz-9\/2r\@md{width:4.5rem}.w-5r\@md,.sz-5r\@md{width:5rem}.w-11\/2r\@md,.sz-11\/2r\@md{width:5.5rem}.w-6r\@md,.sz-6r\@md{width:6rem}}@media screen and (min-width: 767px)and (max-width: 991px){.w-1\/4r\@sm,.sz-1\/4r\@sm{width:.25rem}.w-1\/2r\@sm,.sz-1\/2r\@sm{width:.5rem}.w-3\/4r\@sm,.sz-3\/4r\@sm{width:.75rem}.w-1r\@sm,.sz-1r\@sm{width:1rem}.w-3\/2r\@sm,.sz-3\/2r\@sm{width:1.5rem}.w-2r\@sm,.sz-2r\@sm{width:2rem}.w-5\/2r\@sm,.sz-5\/2r\@sm{width:2.5rem}.w-3r\@sm,.sz-3r\@sm{width:3rem}.w-7\/2r\@sm,.sz-7\/2r\@sm{width:3.5rem}.w-4r\@sm,.sz-4r\@sm{width:4rem}.w-9\/2r\@sm,.sz-9\/2r\@sm{width:4.5rem}.w-5r\@sm,.sz-5r\@sm{width:5rem}.w-11\/2r\@sm,.sz-11\/2r\@sm{width:5.5rem}.w-6r\@sm,.sz-6r\@sm{width:6rem}}.w-0{width:0px}.w-10p{width:10%}.w-20p{width:20%}.w-30p{width:30%}.w-40p{width:40%}.w-50p{width:50%}.w-60p{width:60%}.w-70p{width:70%}.w-80p{width:80%}.w-90p{width:90%}.w-100p{width:100%}.w-1px{width:1px}.w-a{width:auto}@media screen and (min-width: 1440px){.w-0\@xl\+{width:0px}.w-10p\@xl\+{width:10%}.w-20p\@xl\+{width:20%}.w-30p\@xl\+{width:30%}.w-40p\@xl\+{width:40%}.w-50p\@xl\+{width:50%}.w-60p\@xl\+{width:60%}.w-70p\@xl\+{width:70%}.w-80p\@xl\+{width:80%}.w-90p\@xl\+{width:90%}.w-100p\@xl\+{width:100%}.w-1px\@xl\+{width:1px}.w-a\@xl\+{width:auto}}@media screen and (min-width: 1200px){.w-0\@lg\+{width:0px}.w-10p\@lg\+{width:10%}.w-20p\@lg\+{width:20%}.w-30p\@lg\+{width:30%}.w-40p\@lg\+{width:40%}.w-50p\@lg\+{width:50%}.w-60p\@lg\+{width:60%}.w-70p\@lg\+{width:70%}.w-80p\@lg\+{width:80%}.w-90p\@lg\+{width:90%}.w-100p\@lg\+{width:100%}.w-1px\@lg\+{width:1px}.w-a\@lg\+{width:auto}}@media screen and (min-width: 992px){.w-0\@md\+{width:0px}.w-10p\@md\+{width:10%}.w-20p\@md\+{width:20%}.w-30p\@md\+{width:30%}.w-40p\@md\+{width:40%}.w-50p\@md\+{width:50%}.w-60p\@md\+{width:60%}.w-70p\@md\+{width:70%}.w-80p\@md\+{width:80%}.w-90p\@md\+{width:90%}.w-100p\@md\+{width:100%}.w-1px\@md\+{width:1px}.w-a\@md\+{width:auto}}@media screen and (min-width: 768px){.w-0\@sm\+{width:0px}.w-10p\@sm\+{width:10%}.w-20p\@sm\+{width:20%}.w-30p\@sm\+{width:30%}.w-40p\@sm\+{width:40%}.w-50p\@sm\+{width:50%}.w-60p\@sm\+{width:60%}.w-70p\@sm\+{width:70%}.w-80p\@sm\+{width:80%}.w-90p\@sm\+{width:90%}.w-100p\@sm\+{width:100%}.w-1px\@sm\+{width:1px}.w-a\@sm\+{width:auto}}@media screen and (min-width: 0){.w-0\@xs\+{width:0px}.w-10p\@xs\+{width:10%}.w-20p\@xs\+{width:20%}.w-30p\@xs\+{width:30%}.w-40p\@xs\+{width:40%}.w-50p\@xs\+{width:50%}.w-60p\@xs\+{width:60%}.w-70p\@xs\+{width:70%}.w-80p\@xs\+{width:80%}.w-90p\@xs\+{width:90%}.w-100p\@xs\+{width:100%}.w-1px\@xs\+{width:1px}.w-a\@xs\+{width:auto}}@media screen and (max-width: 1439px){.w-0\@xl-{width:0px}.w-10p\@xl-{width:10%}.w-20p\@xl-{width:20%}.w-30p\@xl-{width:30%}.w-40p\@xl-{width:40%}.w-50p\@xl-{width:50%}.w-60p\@xl-{width:60%}.w-70p\@xl-{width:70%}.w-80p\@xl-{width:80%}.w-90p\@xl-{width:90%}.w-100p\@xl-{width:100%}.w-1px\@xl-{width:1px}.w-a\@xl-{width:auto}}@media screen and (max-width: 1199px){.w-0\@lg-{width:0px}.w-10p\@lg-{width:10%}.w-20p\@lg-{width:20%}.w-30p\@lg-{width:30%}.w-40p\@lg-{width:40%}.w-50p\@lg-{width:50%}.w-60p\@lg-{width:60%}.w-70p\@lg-{width:70%}.w-80p\@lg-{width:80%}.w-90p\@lg-{width:90%}.w-100p\@lg-{width:100%}.w-1px\@lg-{width:1px}.w-a\@lg-{width:auto}}@media screen and (max-width: 991px){.w-0\@md-{width:0px}.w-10p\@md-{width:10%}.w-20p\@md-{width:20%}.w-30p\@md-{width:30%}.w-40p\@md-{width:40%}.w-50p\@md-{width:50%}.w-60p\@md-{width:60%}.w-70p\@md-{width:70%}.w-80p\@md-{width:80%}.w-90p\@md-{width:90%}.w-100p\@md-{width:100%}.w-1px\@md-{width:1px}.w-a\@md-{width:auto}}@media screen and (max-width: 767px){.w-0\@sm-{width:0px}.w-10p\@sm-{width:10%}.w-20p\@sm-{width:20%}.w-30p\@sm-{width:30%}.w-40p\@sm-{width:40%}.w-50p\@sm-{width:50%}.w-60p\@sm-{width:60%}.w-70p\@sm-{width:70%}.w-80p\@sm-{width:80%}.w-90p\@sm-{width:90%}.w-100p\@sm-{width:100%}.w-1px\@sm-{width:1px}.w-a\@sm-{width:auto}}@media screen and (min-width: 1199px)and (max-width: 1439px){.w-0\@lg{width:0px}.w-10p\@lg{width:10%}.w-20p\@lg{width:20%}.w-30p\@lg{width:30%}.w-40p\@lg{width:40%}.w-50p\@lg{width:50%}.w-60p\@lg{width:60%}.w-70p\@lg{width:70%}.w-80p\@lg{width:80%}.w-90p\@lg{width:90%}.w-100p\@lg{width:100%}.w-1px\@lg{width:1px}.w-a\@lg{width:auto}}@media screen and (min-width: 991px)and (max-width: 1199px){.w-0\@md{width:0px}.w-10p\@md{width:10%}.w-20p\@md{width:20%}.w-30p\@md{width:30%}.w-40p\@md{width:40%}.w-50p\@md{width:50%}.w-60p\@md{width:60%}.w-70p\@md{width:70%}.w-80p\@md{width:80%}.w-90p\@md{width:90%}.w-100p\@md{width:100%}.w-1px\@md{width:1px}.w-a\@md{width:auto}}@media screen and (min-width: 767px)and (max-width: 991px){.w-0\@sm{width:0px}.w-10p\@sm{width:10%}.w-20p\@sm{width:20%}.w-30p\@sm{width:30%}.w-40p\@sm{width:40%}.w-50p\@sm{width:50%}.w-60p\@sm{width:60%}.w-70p\@sm{width:70%}.w-80p\@sm{width:80%}.w-90p\@sm{width:90%}.w-100p\@sm{width:100%}.w-1px\@sm{width:1px}.w-a\@sm{width:auto}}.h-1\/4r,.sz-1\/4r{height:.25rem}.h-1\/2r,.sz-1\/2r{height:.5rem}.h-3\/4r,.sz-3\/4r{height:.75rem}.h-1r,.sz-1r{height:1rem}.h-3\/2r,.sz-3\/2r{height:1.5rem}.h-2r,.sz-2r{height:2rem}.h-5\/2r,.sz-5\/2r{height:2.5rem}.h-3r,.sz-3r{height:3rem}.h-7\/2r,.sz-7\/2r{height:3.5rem}.h-4r,.sz-4r{height:4rem}.h-9\/2r,.sz-9\/2r{height:4.5rem}.h-5r,.sz-5r{height:5rem}.h-11\/2r,.sz-11\/2r{height:5.5rem}.h-6r,.sz-6r{height:6rem}@media screen and (min-width: 1440px){.h-1\/4r\@xl\+,.sz-1\/4r\@xl\+{height:.25rem}.h-1\/2r\@xl\+,.sz-1\/2r\@xl\+{height:.5rem}.h-3\/4r\@xl\+,.sz-3\/4r\@xl\+{height:.75rem}.h-1r\@xl\+,.sz-1r\@xl\+{height:1rem}.h-3\/2r\@xl\+,.sz-3\/2r\@xl\+{height:1.5rem}.h-2r\@xl\+,.sz-2r\@xl\+{height:2rem}.h-5\/2r\@xl\+,.sz-5\/2r\@xl\+{height:2.5rem}.h-3r\@xl\+,.sz-3r\@xl\+{height:3rem}.h-7\/2r\@xl\+,.sz-7\/2r\@xl\+{height:3.5rem}.h-4r\@xl\+,.sz-4r\@xl\+{height:4rem}.h-9\/2r\@xl\+,.sz-9\/2r\@xl\+{height:4.5rem}.h-5r\@xl\+,.sz-5r\@xl\+{height:5rem}.h-11\/2r\@xl\+,.sz-11\/2r\@xl\+{height:5.5rem}.h-6r\@xl\+,.sz-6r\@xl\+{height:6rem}}@media screen and (min-width: 1200px){.h-1\/4r\@lg\+,.sz-1\/4r\@lg\+{height:.25rem}.h-1\/2r\@lg\+,.sz-1\/2r\@lg\+{height:.5rem}.h-3\/4r\@lg\+,.sz-3\/4r\@lg\+{height:.75rem}.h-1r\@lg\+,.sz-1r\@lg\+{height:1rem}.h-3\/2r\@lg\+,.sz-3\/2r\@lg\+{height:1.5rem}.h-2r\@lg\+,.sz-2r\@lg\+{height:2rem}.h-5\/2r\@lg\+,.sz-5\/2r\@lg\+{height:2.5rem}.h-3r\@lg\+,.sz-3r\@lg\+{height:3rem}.h-7\/2r\@lg\+,.sz-7\/2r\@lg\+{height:3.5rem}.h-4r\@lg\+,.sz-4r\@lg\+{height:4rem}.h-9\/2r\@lg\+,.sz-9\/2r\@lg\+{height:4.5rem}.h-5r\@lg\+,.sz-5r\@lg\+{height:5rem}.h-11\/2r\@lg\+,.sz-11\/2r\@lg\+{height:5.5rem}.h-6r\@lg\+,.sz-6r\@lg\+{height:6rem}}@media screen and (min-width: 992px){.h-1\/4r\@md\+,.sz-1\/4r\@md\+{height:.25rem}.h-1\/2r\@md\+,.sz-1\/2r\@md\+{height:.5rem}.h-3\/4r\@md\+,.sz-3\/4r\@md\+{height:.75rem}.h-1r\@md\+,.sz-1r\@md\+{height:1rem}.h-3\/2r\@md\+,.sz-3\/2r\@md\+{height:1.5rem}.h-2r\@md\+,.sz-2r\@md\+{height:2rem}.h-5\/2r\@md\+,.sz-5\/2r\@md\+{height:2.5rem}.h-3r\@md\+,.sz-3r\@md\+{height:3rem}.h-7\/2r\@md\+,.sz-7\/2r\@md\+{height:3.5rem}.h-4r\@md\+,.sz-4r\@md\+{height:4rem}.h-9\/2r\@md\+,.sz-9\/2r\@md\+{height:4.5rem}.h-5r\@md\+,.sz-5r\@md\+{height:5rem}.h-11\/2r\@md\+,.sz-11\/2r\@md\+{height:5.5rem}.h-6r\@md\+,.sz-6r\@md\+{height:6rem}}@media screen and (min-width: 768px){.h-1\/4r\@sm\+,.sz-1\/4r\@sm\+{height:.25rem}.h-1\/2r\@sm\+,.sz-1\/2r\@sm\+{height:.5rem}.h-3\/4r\@sm\+,.sz-3\/4r\@sm\+{height:.75rem}.h-1r\@sm\+,.sz-1r\@sm\+{height:1rem}.h-3\/2r\@sm\+,.sz-3\/2r\@sm\+{height:1.5rem}.h-2r\@sm\+,.sz-2r\@sm\+{height:2rem}.h-5\/2r\@sm\+,.sz-5\/2r\@sm\+{height:2.5rem}.h-3r\@sm\+,.sz-3r\@sm\+{height:3rem}.h-7\/2r\@sm\+,.sz-7\/2r\@sm\+{height:3.5rem}.h-4r\@sm\+,.sz-4r\@sm\+{height:4rem}.h-9\/2r\@sm\+,.sz-9\/2r\@sm\+{height:4.5rem}.h-5r\@sm\+,.sz-5r\@sm\+{height:5rem}.h-11\/2r\@sm\+,.sz-11\/2r\@sm\+{height:5.5rem}.h-6r\@sm\+,.sz-6r\@sm\+{height:6rem}}@media screen and (min-width: 0){.h-1\/4r\@xs\+,.sz-1\/4r\@xs\+{height:.25rem}.h-1\/2r\@xs\+,.sz-1\/2r\@xs\+{height:.5rem}.h-3\/4r\@xs\+,.sz-3\/4r\@xs\+{height:.75rem}.h-1r\@xs\+,.sz-1r\@xs\+{height:1rem}.h-3\/2r\@xs\+,.sz-3\/2r\@xs\+{height:1.5rem}.h-2r\@xs\+,.sz-2r\@xs\+{height:2rem}.h-5\/2r\@xs\+,.sz-5\/2r\@xs\+{height:2.5rem}.h-3r\@xs\+,.sz-3r\@xs\+{height:3rem}.h-7\/2r\@xs\+,.sz-7\/2r\@xs\+{height:3.5rem}.h-4r\@xs\+,.sz-4r\@xs\+{height:4rem}.h-9\/2r\@xs\+,.sz-9\/2r\@xs\+{height:4.5rem}.h-5r\@xs\+,.sz-5r\@xs\+{height:5rem}.h-11\/2r\@xs\+,.sz-11\/2r\@xs\+{height:5.5rem}.h-6r\@xs\+,.sz-6r\@xs\+{height:6rem}}@media screen and (max-width: 1439px){.h-1\/4r\@xl-,.sz-1\/4r\@xl-{height:.25rem}.h-1\/2r\@xl-,.sz-1\/2r\@xl-{height:.5rem}.h-3\/4r\@xl-,.sz-3\/4r\@xl-{height:.75rem}.h-1r\@xl-,.sz-1r\@xl-{height:1rem}.h-3\/2r\@xl-,.sz-3\/2r\@xl-{height:1.5rem}.h-2r\@xl-,.sz-2r\@xl-{height:2rem}.h-5\/2r\@xl-,.sz-5\/2r\@xl-{height:2.5rem}.h-3r\@xl-,.sz-3r\@xl-{height:3rem}.h-7\/2r\@xl-,.sz-7\/2r\@xl-{height:3.5rem}.h-4r\@xl-,.sz-4r\@xl-{height:4rem}.h-9\/2r\@xl-,.sz-9\/2r\@xl-{height:4.5rem}.h-5r\@xl-,.sz-5r\@xl-{height:5rem}.h-11\/2r\@xl-,.sz-11\/2r\@xl-{height:5.5rem}.h-6r\@xl-,.sz-6r\@xl-{height:6rem}}@media screen and (max-width: 1199px){.h-1\/4r\@lg-,.sz-1\/4r\@lg-{height:.25rem}.h-1\/2r\@lg-,.sz-1\/2r\@lg-{height:.5rem}.h-3\/4r\@lg-,.sz-3\/4r\@lg-{height:.75rem}.h-1r\@lg-,.sz-1r\@lg-{height:1rem}.h-3\/2r\@lg-,.sz-3\/2r\@lg-{height:1.5rem}.h-2r\@lg-,.sz-2r\@lg-{height:2rem}.h-5\/2r\@lg-,.sz-5\/2r\@lg-{height:2.5rem}.h-3r\@lg-,.sz-3r\@lg-{height:3rem}.h-7\/2r\@lg-,.sz-7\/2r\@lg-{height:3.5rem}.h-4r\@lg-,.sz-4r\@lg-{height:4rem}.h-9\/2r\@lg-,.sz-9\/2r\@lg-{height:4.5rem}.h-5r\@lg-,.sz-5r\@lg-{height:5rem}.h-11\/2r\@lg-,.sz-11\/2r\@lg-{height:5.5rem}.h-6r\@lg-,.sz-6r\@lg-{height:6rem}}@media screen and (max-width: 991px){.h-1\/4r\@md-,.sz-1\/4r\@md-{height:.25rem}.h-1\/2r\@md-,.sz-1\/2r\@md-{height:.5rem}.h-3\/4r\@md-,.sz-3\/4r\@md-{height:.75rem}.h-1r\@md-,.sz-1r\@md-{height:1rem}.h-3\/2r\@md-,.sz-3\/2r\@md-{height:1.5rem}.h-2r\@md-,.sz-2r\@md-{height:2rem}.h-5\/2r\@md-,.sz-5\/2r\@md-{height:2.5rem}.h-3r\@md-,.sz-3r\@md-{height:3rem}.h-7\/2r\@md-,.sz-7\/2r\@md-{height:3.5rem}.h-4r\@md-,.sz-4r\@md-{height:4rem}.h-9\/2r\@md-,.sz-9\/2r\@md-{height:4.5rem}.h-5r\@md-,.sz-5r\@md-{height:5rem}.h-11\/2r\@md-,.sz-11\/2r\@md-{height:5.5rem}.h-6r\@md-,.sz-6r\@md-{height:6rem}}@media screen and (max-width: 767px){.h-1\/4r\@sm-,.sz-1\/4r\@sm-{height:.25rem}.h-1\/2r\@sm-,.sz-1\/2r\@sm-{height:.5rem}.h-3\/4r\@sm-,.sz-3\/4r\@sm-{height:.75rem}.h-1r\@sm-,.sz-1r\@sm-{height:1rem}.h-3\/2r\@sm-,.sz-3\/2r\@sm-{height:1.5rem}.h-2r\@sm-,.sz-2r\@sm-{height:2rem}.h-5\/2r\@sm-,.sz-5\/2r\@sm-{height:2.5rem}.h-3r\@sm-,.sz-3r\@sm-{height:3rem}.h-7\/2r\@sm-,.sz-7\/2r\@sm-{height:3.5rem}.h-4r\@sm-,.sz-4r\@sm-{height:4rem}.h-9\/2r\@sm-,.sz-9\/2r\@sm-{height:4.5rem}.h-5r\@sm-,.sz-5r\@sm-{height:5rem}.h-11\/2r\@sm-,.sz-11\/2r\@sm-{height:5.5rem}.h-6r\@sm-,.sz-6r\@sm-{height:6rem}}@media screen and (min-width: 1199px)and (max-width: 1439px){.h-1\/4r\@lg,.sz-1\/4r\@lg{height:.25rem}.h-1\/2r\@lg,.sz-1\/2r\@lg{height:.5rem}.h-3\/4r\@lg,.sz-3\/4r\@lg{height:.75rem}.h-1r\@lg,.sz-1r\@lg{height:1rem}.h-3\/2r\@lg,.sz-3\/2r\@lg{height:1.5rem}.h-2r\@lg,.sz-2r\@lg{height:2rem}.h-5\/2r\@lg,.sz-5\/2r\@lg{height:2.5rem}.h-3r\@lg,.sz-3r\@lg{height:3rem}.h-7\/2r\@lg,.sz-7\/2r\@lg{height:3.5rem}.h-4r\@lg,.sz-4r\@lg{height:4rem}.h-9\/2r\@lg,.sz-9\/2r\@lg{height:4.5rem}.h-5r\@lg,.sz-5r\@lg{height:5rem}.h-11\/2r\@lg,.sz-11\/2r\@lg{height:5.5rem}.h-6r\@lg,.sz-6r\@lg{height:6rem}}@media screen and (min-width: 991px)and (max-width: 1199px){.h-1\/4r\@md,.sz-1\/4r\@md{height:.25rem}.h-1\/2r\@md,.sz-1\/2r\@md{height:.5rem}.h-3\/4r\@md,.sz-3\/4r\@md{height:.75rem}.h-1r\@md,.sz-1r\@md{height:1rem}.h-3\/2r\@md,.sz-3\/2r\@md{height:1.5rem}.h-2r\@md,.sz-2r\@md{height:2rem}.h-5\/2r\@md,.sz-5\/2r\@md{height:2.5rem}.h-3r\@md,.sz-3r\@md{height:3rem}.h-7\/2r\@md,.sz-7\/2r\@md{height:3.5rem}.h-4r\@md,.sz-4r\@md{height:4rem}.h-9\/2r\@md,.sz-9\/2r\@md{height:4.5rem}.h-5r\@md,.sz-5r\@md{height:5rem}.h-11\/2r\@md,.sz-11\/2r\@md{height:5.5rem}.h-6r\@md,.sz-6r\@md{height:6rem}}@media screen and (min-width: 767px)and (max-width: 991px){.h-1\/4r\@sm,.sz-1\/4r\@sm{height:.25rem}.h-1\/2r\@sm,.sz-1\/2r\@sm{height:.5rem}.h-3\/4r\@sm,.sz-3\/4r\@sm{height:.75rem}.h-1r\@sm,.sz-1r\@sm{height:1rem}.h-3\/2r\@sm,.sz-3\/2r\@sm{height:1.5rem}.h-2r\@sm,.sz-2r\@sm{height:2rem}.h-5\/2r\@sm,.sz-5\/2r\@sm{height:2.5rem}.h-3r\@sm,.sz-3r\@sm{height:3rem}.h-7\/2r\@sm,.sz-7\/2r\@sm{height:3.5rem}.h-4r\@sm,.sz-4r\@sm{height:4rem}.h-9\/2r\@sm,.sz-9\/2r\@sm{height:4.5rem}.h-5r\@sm,.sz-5r\@sm{height:5rem}.h-11\/2r\@sm,.sz-11\/2r\@sm{height:5.5rem}.h-6r\@sm,.sz-6r\@sm{height:6rem}}.h-0{height:0}.h-auto{height:auto}.h-100p{height:100%}.h-100vh{height:100vh}@media screen and (min-width: 1440px){.h-0\@xl\+{height:0}.h-auto\@xl\+{height:auto}.h-100p\@xl\+{height:100%}.h-100vh\@xl\+{height:100vh}}@media screen and (min-width: 1200px){.h-0\@lg\+{height:0}.h-auto\@lg\+{height:auto}.h-100p\@lg\+{height:100%}.h-100vh\@lg\+{height:100vh}}@media screen and (min-width: 992px){.h-0\@md\+{height:0}.h-auto\@md\+{height:auto}.h-100p\@md\+{height:100%}.h-100vh\@md\+{height:100vh}}@media screen and (min-width: 768px){.h-0\@sm\+{height:0}.h-auto\@sm\+{height:auto}.h-100p\@sm\+{height:100%}.h-100vh\@sm\+{height:100vh}}@media screen and (min-width: 0){.h-0\@xs\+{height:0}.h-auto\@xs\+{height:auto}.h-100p\@xs\+{height:100%}.h-100vh\@xs\+{height:100vh}}@media screen and (max-width: 1439px){.h-0\@xl-{height:0}.h-auto\@xl-{height:auto}.h-100p\@xl-{height:100%}.h-100vh\@xl-{height:100vh}}@media screen and (max-width: 1199px){.h-0\@lg-{height:0}.h-auto\@lg-{height:auto}.h-100p\@lg-{height:100%}.h-100vh\@lg-{height:100vh}}@media screen and (max-width: 991px){.h-0\@md-{height:0}.h-auto\@md-{height:auto}.h-100p\@md-{height:100%}.h-100vh\@md-{height:100vh}}@media screen and (max-width: 767px){.h-0\@sm-{height:0}.h-auto\@sm-{height:auto}.h-100p\@sm-{height:100%}.h-100vh\@sm-{height:100vh}}@media screen and (min-width: 1199px)and (max-width: 1439px){.h-0\@lg{height:0}.h-auto\@lg{height:auto}.h-100p\@lg{height:100%}.h-100vh\@lg{height:100vh}}@media screen and (min-width: 991px)and (max-width: 1199px){.h-0\@md{height:0}.h-auto\@md{height:auto}.h-100p\@md{height:100%}.h-100vh\@md{height:100vh}}@media screen and (min-width: 767px)and (max-width: 991px){.h-0\@sm{height:0}.h-auto\@sm{height:auto}.h-100p\@sm{height:100%}.h-100vh\@sm{height:100vh}}.mw-100p{max-width:100%}.mh-100p{max-height:100%}@media screen and (min-width: 1440px){.mw-100p\@xl\+{max-width:100%}.mh-100p\@xl\+{max-height:100%}}@media screen and (min-width: 1200px){.mw-100p\@lg\+{max-width:100%}.mh-100p\@lg\+{max-height:100%}}@media screen and (min-width: 992px){.mw-100p\@md\+{max-width:100%}.mh-100p\@md\+{max-height:100%}}@media screen and (min-width: 768px){.mw-100p\@sm\+{max-width:100%}.mh-100p\@sm\+{max-height:100%}}@media screen and (min-width: 0){.mw-100p\@xs\+{max-width:100%}.mh-100p\@xs\+{max-height:100%}}@media screen and (max-width: 1439px){.mw-100p\@xl-{max-width:100%}.mh-100p\@xl-{max-height:100%}}@media screen and (max-width: 1199px){.mw-100p\@lg-{max-width:100%}.mh-100p\@lg-{max-height:100%}}@media screen and (max-width: 991px){.mw-100p\@md-{max-width:100%}.mh-100p\@md-{max-height:100%}}@media screen and (max-width: 767px){.mw-100p\@sm-{max-width:100%}.mh-100p\@sm-{max-height:100%}}@media screen and (min-width: 1199px)and (max-width: 1439px){.mw-100p\@lg{max-width:100%}.mh-100p\@lg{max-height:100%}}@media screen and (min-width: 991px)and (max-width: 1199px){.mw-100p\@md{max-width:100%}.mh-100p\@md{max-height:100%}}@media screen and (min-width: 767px)and (max-width: 991px){.mw-100p\@sm{max-width:100%}.mh-100p\@sm{max-height:100%}}.ta-c{text-align:center !important}.ta-l{text-align:left !important}.ta-r{text-align:right !important}@media screen and (min-width: 1440px){.ta-c\@xl\+{text-align:center !important}.ta-l\@xl\+{text-align:left !important}.ta-r\@xl\+{text-align:right !important}}@media screen and (min-width: 1200px){.ta-c\@lg\+{text-align:center !important}.ta-l\@lg\+{text-align:left !important}.ta-r\@lg\+{text-align:right !important}}@media screen and (min-width: 992px){.ta-c\@md\+{text-align:center !important}.ta-l\@md\+{text-align:left !important}.ta-r\@md\+{text-align:right !important}}@media screen and (min-width: 768px){.ta-c\@sm\+{text-align:center !important}.ta-l\@sm\+{text-align:left !important}.ta-r\@sm\+{text-align:right !important}}@media screen and (min-width: 0){.ta-c\@xs\+{text-align:center !important}.ta-l\@xs\+{text-align:left !important}.ta-r\@xs\+{text-align:right !important}}@media screen and (max-width: 1439px){.ta-c\@xl-{text-align:center !important}.ta-l\@xl-{text-align:left !important}.ta-r\@xl-{text-align:right !important}}@media screen and (max-width: 1199px){.ta-c\@lg-{text-align:center !important}.ta-l\@lg-{text-align:left !important}.ta-r\@lg-{text-align:right !important}}@media screen and (max-width: 991px){.ta-c\@md-{text-align:center !important}.ta-l\@md-{text-align:left !important}.ta-r\@md-{text-align:right !important}}@media screen and (max-width: 767px){.ta-c\@sm-{text-align:center !important}.ta-l\@sm-{text-align:left !important}.ta-r\@sm-{text-align:right !important}}@media screen and (min-width: 1199px)and (max-width: 1439px){.ta-c\@lg{text-align:center !important}.ta-l\@lg{text-align:left !important}.ta-r\@lg{text-align:right !important}}@media screen and (min-width: 991px)and (max-width: 1199px){.ta-c\@md{text-align:center !important}.ta-l\@md{text-align:left !important}.ta-r\@md{text-align:right !important}}@media screen and (min-width: 767px)and (max-width: 991px){.ta-c\@sm{text-align:center !important}.ta-l\@sm{text-align:left !important}.ta-r\@sm{text-align:right !important}}.tt-n{text-transform:none !important}.tt-u{text-transform:uppercase !important}.tt-l{text-transform:lowercase !important}.tt-c{text-transform:capitalize !important}.fs-i{font-style:italic !important}.fs-o{font-style:oblique !important}.td-n{-webkit-text-decoration:none !important;text-decoration:none !important}.td-o{-webkit-text-decoration:overline !important;text-decoration:overline !important}.td-lt{-webkit-text-decoration:line-through !important;text-decoration:line-through !important}.td-u{-webkit-text-decoration:underline !important;text-decoration:underline !important}.whs-nw{white-space:nowrap !important}.whs-p{white-space:pre !important}.whs-n{white-space:normal !important}.wob-n{word-break:normal !important}.wob-ba{word-break:break-all !important}.wob-k{word-break:keep-all !important}.wow-bw{word-wrap:break-word !important}.wow-n{word-wrap:normal !important}.tov-e{text-overflow:ellipsis !important}.fsz-xs{font-size:.75rem !important}.fsz-sm{font-size:.87rem !important}.fsz-def{font-size:1rem !important}.fsz-md{font-size:1.15rem !important}.fsz-lg{font-size:1.4rem !important}.fsz-xl{font-size:1.7rem !important}.fw-100{font-weight:100 !important}.fw-200{font-weight:200 !important}.fw-300{font-weight:300 !important}.fw-400{font-weight:400 !important}.fw-500{font-weight:500 !important}.fw-600{font-weight:600 !important}.fw-700{font-weight:700 !important}.fw-800{font-weight:800 !important}.fw-900{font-weight:900 !important}.lh-0{line-height:0 !important}.lh-1{line-height:1 !important}.lh-3\/2{line-height:1.5 !important}.bd{border:1px solid #e6ecf5 !important}.bdT{border-top:1px solid #e6ecf5 !important}.bdR{border-right:1px solid #e6ecf5 !important}.bdB{border-bottom:1px solid #e6ecf5 !important}.bdL{border-left:1px solid #e6ecf5 !important}.bdw-0{border-width:0px !important}.bdwT-0{border-top-width:0px !important}.bdwR-0{border-right-width:0px !important}.bdwB-0{border-bottom-width:0px !important}.bdwL-0{border-left-width:0px !important}.bdw-1{border-width:1px !important}.bdwT-1{border-top-width:1px !important}.bdwR-1{border-right-width:1px !important}.bdwB-1{border-bottom-width:1px !important}.bdwL-1{border-left-width:1px !important}.bdw-2{border-width:2px !important}.bdwT-2{border-top-width:2px !important}.bdwR-2{border-right-width:2px !important}.bdwB-2{border-bottom-width:2px !important}.bdwL-2{border-left-width:2px !important}.bdw-3{border-width:3px !important}.bdwT-3{border-top-width:3px !important}.bdwR-3{border-right-width:3px !important}.bdwB-3{border-bottom-width:3px !important}.bdwL-3{border-left-width:3px !important}.bdw-4{border-width:4px !important}.bdwT-4{border-top-width:4px !important}.bdwR-4{border-right-width:4px !important}.bdwB-4{border-bottom-width:4px !important}.bdwL-4{border-left-width:4px !important}.bdw-5{border-width:5px !important}.bdwT-5{border-top-width:5px !important}.bdwR-5{border-right-width:5px !important}.bdwB-5{border-bottom-width:5px !important}.bdwL-5{border-left-width:5px !important}.bdrs-0{border-radius:0px !important}.bdrsT-0{border-top-left-radius:0px !important;border-top-right-radius:0px !important}.bdrsR-0{border-top-right-radius:0px !important;border-bottom-right-radius:0px !important}.bdrsB-0{border-bottom-left-radius:0px !important;border-bottom-right-radius:0px !important}.bdrsL-0{border-top-left-radius:0px !important;border-bottom-left-radius:0px !important}.bdrs-1{border-radius:1px !important}.bdrsT-1{border-top-left-radius:1px !important;border-top-right-radius:1px !important}.bdrsR-1{border-top-right-radius:1px !important;border-bottom-right-radius:1px !important}.bdrsB-1{border-bottom-left-radius:1px !important;border-bottom-right-radius:1px !important}.bdrsL-1{border-top-left-radius:1px !important;border-bottom-left-radius:1px !important}.bdrs-2{border-radius:2px !important}.bdrsT-2{border-top-left-radius:2px !important;border-top-right-radius:2px !important}.bdrsR-2{border-top-right-radius:2px !important;border-bottom-right-radius:2px !important}.bdrsB-2{border-bottom-left-radius:2px !important;border-bottom-right-radius:2px !important}.bdrsL-2{border-top-left-radius:2px !important;border-bottom-left-radius:2px !important}.bdrs-3{border-radius:3px !important}.bdrsT-3{border-top-left-radius:3px !important;border-top-right-radius:3px !important}.bdrsR-3{border-top-right-radius:3px !important;border-bottom-right-radius:3px !important}.bdrsB-3{border-bottom-left-radius:3px !important;border-bottom-right-radius:3px !important}.bdrsL-3{border-top-left-radius:3px !important;border-bottom-left-radius:3px !important}.bdrs-4{border-radius:4px !important}.bdrsT-4{border-top-left-radius:4px !important;border-top-right-radius:4px !important}.bdrsR-4{border-top-right-radius:4px !important;border-bottom-right-radius:4px !important}.bdrsB-4{border-bottom-left-radius:4px !important;border-bottom-right-radius:4px !important}.bdrsL-4{border-top-left-radius:4px !important;border-bottom-left-radius:4px !important}.bdrs-50p{border-radius:50% !important}.bdrs-10em{border-radius:10em !important}.bds-n{border-style:none !important}.bds-s{border-style:solid !important}.bds-dt{border-style:dotted !important}.bds-ds{border-style:dashed !important}.bds-db{border-style:double !important}.bds-g{border-style:groove !important}.bds-r{border-style:ridge !important}.bds-i{border-style:inset !important}.bds-o{border-style:outset !important}.no-after::after{display:none !important}.no-before::before{display:none !important}.c-white,.cH-white:hover{color:#fff !important}.bgc-white,.bgcH-white:hover{background-color:#fff !important}.bdc-white,.bdcH-white:hover{border-color:#fff !important}.fill-white,.fillH-white:hover{fill:#fff !important}.str-white,.strH-white:hover{stroke:#fff !important}.c-red-50,.cH-red-50:hover{color:#ffebee !important}.bgc-red-50,.bgcH-red-50:hover{background-color:#ffebee !important}.bdc-red-50,.bdcH-red-50:hover{border-color:#ffebee !important}.fill-red-50,.fillH-red-50:hover{fill:#ffebee !important}.str-red-50,.strH-red-50:hover{stroke:#ffebee !important}.c-red-100,.cH-red-100:hover{color:#ffcdd2 !important}.bgc-red-100,.bgcH-red-100:hover{background-color:#ffcdd2 !important}.bdc-red-100,.bdcH-red-100:hover{border-color:#ffcdd2 !important}.fill-red-100,.fillH-red-100:hover{fill:#ffcdd2 !important}.str-red-100,.strH-red-100:hover{stroke:#ffcdd2 !important}.c-red-200,.cH-red-200:hover{color:#ef9a9a !important}.bgc-red-200,.bgcH-red-200:hover{background-color:#ef9a9a !important}.bdc-red-200,.bdcH-red-200:hover{border-color:#ef9a9a !important}.fill-red-200,.fillH-red-200:hover{fill:#ef9a9a !important}.str-red-200,.strH-red-200:hover{stroke:#ef9a9a !important}.c-red-300,.cH-red-300:hover{color:#e57373 !important}.bgc-red-300,.bgcH-red-300:hover{background-color:#e57373 !important}.bdc-red-300,.bdcH-red-300:hover{border-color:#e57373 !important}.fill-red-300,.fillH-red-300:hover{fill:#e57373 !important}.str-red-300,.strH-red-300:hover{stroke:#e57373 !important}.c-red-400,.cH-red-400:hover{color:#ef5350 !important}.bgc-red-400,.bgcH-red-400:hover{background-color:#ef5350 !important}.bdc-red-400,.bdcH-red-400:hover{border-color:#ef5350 !important}.fill-red-400,.fillH-red-400:hover{fill:#ef5350 !important}.str-red-400,.strH-red-400:hover{stroke:#ef5350 !important}.c-red-500,.cH-red-500:hover{color:#f44336 !important}.bgc-red-500,.bgcH-red-500:hover{background-color:#f44336 !important}.bdc-red-500,.bdcH-red-500:hover{border-color:#f44336 !important}.fill-red-500,.fillH-red-500:hover{fill:#f44336 !important}.str-red-500,.strH-red-500:hover{stroke:#f44336 !important}.c-red-600,.cH-red-600:hover{color:#e53935 !important}.bgc-red-600,.bgcH-red-600:hover{background-color:#e53935 !important}.bdc-red-600,.bdcH-red-600:hover{border-color:#e53935 !important}.fill-red-600,.fillH-red-600:hover{fill:#e53935 !important}.str-red-600,.strH-red-600:hover{stroke:#e53935 !important}.c-red-700,.cH-red-700:hover{color:#d32f2f !important}.bgc-red-700,.bgcH-red-700:hover{background-color:#d32f2f !important}.bdc-red-700,.bdcH-red-700:hover{border-color:#d32f2f !important}.fill-red-700,.fillH-red-700:hover{fill:#d32f2f !important}.str-red-700,.strH-red-700:hover{stroke:#d32f2f !important}.c-red-800,.cH-red-800:hover{color:#c62828 !important}.bgc-red-800,.bgcH-red-800:hover{background-color:#c62828 !important}.bdc-red-800,.bdcH-red-800:hover{border-color:#c62828 !important}.fill-red-800,.fillH-red-800:hover{fill:#c62828 !important}.str-red-800,.strH-red-800:hover{stroke:#c62828 !important}.c-red-900,.cH-red-900:hover{color:#b71c1c !important}.bgc-red-900,.bgcH-red-900:hover{background-color:#b71c1c !important}.bdc-red-900,.bdcH-red-900:hover{border-color:#b71c1c !important}.fill-red-900,.fillH-red-900:hover{fill:#b71c1c !important}.str-red-900,.strH-red-900:hover{stroke:#b71c1c !important}.c-red-a100,.cH-red-a100:hover{color:#ff8a80 !important}.bgc-red-a100,.bgcH-red-a100:hover{background-color:#ff8a80 !important}.bdc-red-a100,.bdcH-red-a100:hover{border-color:#ff8a80 !important}.fill-red-a100,.fillH-red-a100:hover{fill:#ff8a80 !important}.str-red-a100,.strH-red-a100:hover{stroke:#ff8a80 !important}.c-red-a200,.cH-red-a200:hover{color:#ff5252 !important}.bgc-red-a200,.bgcH-red-a200:hover{background-color:#ff5252 !important}.bdc-red-a200,.bdcH-red-a200:hover{border-color:#ff5252 !important}.fill-red-a200,.fillH-red-a200:hover{fill:#ff5252 !important}.str-red-a200,.strH-red-a200:hover{stroke:#ff5252 !important}.c-red-a400,.cH-red-a400:hover{color:#ff1744 !important}.bgc-red-a400,.bgcH-red-a400:hover{background-color:#ff1744 !important}.bdc-red-a400,.bdcH-red-a400:hover{border-color:#ff1744 !important}.fill-red-a400,.fillH-red-a400:hover{fill:#ff1744 !important}.str-red-a400,.strH-red-a400:hover{stroke:#ff1744 !important}.c-red-a700,.cH-red-a700:hover{color:#d50000 !important}.bgc-red-a700,.bgcH-red-a700:hover{background-color:#d50000 !important}.bdc-red-a700,.bdcH-red-a700:hover{border-color:#d50000 !important}.fill-red-a700,.fillH-red-a700:hover{fill:#d50000 !important}.str-red-a700,.strH-red-a700:hover{stroke:#d50000 !important}.c-pink-50,.cH-pink-50:hover{color:#fce4ec !important}.bgc-pink-50,.bgcH-pink-50:hover{background-color:#fce4ec !important}.bdc-pink-50,.bdcH-pink-50:hover{border-color:#fce4ec !important}.fill-pink-50,.fillH-pink-50:hover{fill:#fce4ec !important}.str-pink-50,.strH-pink-50:hover{stroke:#fce4ec !important}.c-pink-100,.cH-pink-100:hover{color:#f8bbd0 !important}.bgc-pink-100,.bgcH-pink-100:hover{background-color:#f8bbd0 !important}.bdc-pink-100,.bdcH-pink-100:hover{border-color:#f8bbd0 !important}.fill-pink-100,.fillH-pink-100:hover{fill:#f8bbd0 !important}.str-pink-100,.strH-pink-100:hover{stroke:#f8bbd0 !important}.c-pink-200,.cH-pink-200:hover{color:#f48fb1 !important}.bgc-pink-200,.bgcH-pink-200:hover{background-color:#f48fb1 !important}.bdc-pink-200,.bdcH-pink-200:hover{border-color:#f48fb1 !important}.fill-pink-200,.fillH-pink-200:hover{fill:#f48fb1 !important}.str-pink-200,.strH-pink-200:hover{stroke:#f48fb1 !important}.c-pink-300,.cH-pink-300:hover{color:#f06292 !important}.bgc-pink-300,.bgcH-pink-300:hover{background-color:#f06292 !important}.bdc-pink-300,.bdcH-pink-300:hover{border-color:#f06292 !important}.fill-pink-300,.fillH-pink-300:hover{fill:#f06292 !important}.str-pink-300,.strH-pink-300:hover{stroke:#f06292 !important}.c-pink-400,.cH-pink-400:hover{color:#ec407a !important}.bgc-pink-400,.bgcH-pink-400:hover{background-color:#ec407a !important}.bdc-pink-400,.bdcH-pink-400:hover{border-color:#ec407a !important}.fill-pink-400,.fillH-pink-400:hover{fill:#ec407a !important}.str-pink-400,.strH-pink-400:hover{stroke:#ec407a !important}.c-pink-500,.cH-pink-500:hover{color:#e91e63 !important}.bgc-pink-500,.bgcH-pink-500:hover{background-color:#e91e63 !important}.bdc-pink-500,.bdcH-pink-500:hover{border-color:#e91e63 !important}.fill-pink-500,.fillH-pink-500:hover{fill:#e91e63 !important}.str-pink-500,.strH-pink-500:hover{stroke:#e91e63 !important}.c-pink-600,.cH-pink-600:hover{color:#d81b60 !important}.bgc-pink-600,.bgcH-pink-600:hover{background-color:#d81b60 !important}.bdc-pink-600,.bdcH-pink-600:hover{border-color:#d81b60 !important}.fill-pink-600,.fillH-pink-600:hover{fill:#d81b60 !important}.str-pink-600,.strH-pink-600:hover{stroke:#d81b60 !important}.c-pink-700,.cH-pink-700:hover{color:#c2185b !important}.bgc-pink-700,.bgcH-pink-700:hover{background-color:#c2185b !important}.bdc-pink-700,.bdcH-pink-700:hover{border-color:#c2185b !important}.fill-pink-700,.fillH-pink-700:hover{fill:#c2185b !important}.str-pink-700,.strH-pink-700:hover{stroke:#c2185b !important}.c-pink-800,.cH-pink-800:hover{color:#ad1457 !important}.bgc-pink-800,.bgcH-pink-800:hover{background-color:#ad1457 !important}.bdc-pink-800,.bdcH-pink-800:hover{border-color:#ad1457 !important}.fill-pink-800,.fillH-pink-800:hover{fill:#ad1457 !important}.str-pink-800,.strH-pink-800:hover{stroke:#ad1457 !important}.c-pink-900,.cH-pink-900:hover{color:#880e4f !important}.bgc-pink-900,.bgcH-pink-900:hover{background-color:#880e4f !important}.bdc-pink-900,.bdcH-pink-900:hover{border-color:#880e4f !important}.fill-pink-900,.fillH-pink-900:hover{fill:#880e4f !important}.str-pink-900,.strH-pink-900:hover{stroke:#880e4f !important}.c-pink-a100,.cH-pink-a100:hover{color:#ff80ab !important}.bgc-pink-a100,.bgcH-pink-a100:hover{background-color:#ff80ab !important}.bdc-pink-a100,.bdcH-pink-a100:hover{border-color:#ff80ab !important}.fill-pink-a100,.fillH-pink-a100:hover{fill:#ff80ab !important}.str-pink-a100,.strH-pink-a100:hover{stroke:#ff80ab !important}.c-pink-a200,.cH-pink-a200:hover{color:#ff4081 !important}.bgc-pink-a200,.bgcH-pink-a200:hover{background-color:#ff4081 !important}.bdc-pink-a200,.bdcH-pink-a200:hover{border-color:#ff4081 !important}.fill-pink-a200,.fillH-pink-a200:hover{fill:#ff4081 !important}.str-pink-a200,.strH-pink-a200:hover{stroke:#ff4081 !important}.c-pink-a400,.cH-pink-a400:hover{color:#f50057 !important}.bgc-pink-a400,.bgcH-pink-a400:hover{background-color:#f50057 !important}.bdc-pink-a400,.bdcH-pink-a400:hover{border-color:#f50057 !important}.fill-pink-a400,.fillH-pink-a400:hover{fill:#f50057 !important}.str-pink-a400,.strH-pink-a400:hover{stroke:#f50057 !important}.c-pink-a700,.cH-pink-a700:hover{color:#c51162 !important}.bgc-pink-a700,.bgcH-pink-a700:hover{background-color:#c51162 !important}.bdc-pink-a700,.bdcH-pink-a700:hover{border-color:#c51162 !important}.fill-pink-a700,.fillH-pink-a700:hover{fill:#c51162 !important}.str-pink-a700,.strH-pink-a700:hover{stroke:#c51162 !important}.c-purple-50,.cH-purple-50:hover{color:#f3e5f5 !important}.bgc-purple-50,.bgcH-purple-50:hover{background-color:#f3e5f5 !important}.bdc-purple-50,.bdcH-purple-50:hover{border-color:#f3e5f5 !important}.fill-purple-50,.fillH-purple-50:hover{fill:#f3e5f5 !important}.str-purple-50,.strH-purple-50:hover{stroke:#f3e5f5 !important}.c-purple-100,.cH-purple-100:hover{color:#e1bee7 !important}.bgc-purple-100,.bgcH-purple-100:hover{background-color:#e1bee7 !important}.bdc-purple-100,.bdcH-purple-100:hover{border-color:#e1bee7 !important}.fill-purple-100,.fillH-purple-100:hover{fill:#e1bee7 !important}.str-purple-100,.strH-purple-100:hover{stroke:#e1bee7 !important}.c-purple-200,.cH-purple-200:hover{color:#ce93d8 !important}.bgc-purple-200,.bgcH-purple-200:hover{background-color:#ce93d8 !important}.bdc-purple-200,.bdcH-purple-200:hover{border-color:#ce93d8 !important}.fill-purple-200,.fillH-purple-200:hover{fill:#ce93d8 !important}.str-purple-200,.strH-purple-200:hover{stroke:#ce93d8 !important}.c-purple-300,.cH-purple-300:hover{color:#ba68c8 !important}.bgc-purple-300,.bgcH-purple-300:hover{background-color:#ba68c8 !important}.bdc-purple-300,.bdcH-purple-300:hover{border-color:#ba68c8 !important}.fill-purple-300,.fillH-purple-300:hover{fill:#ba68c8 !important}.str-purple-300,.strH-purple-300:hover{stroke:#ba68c8 !important}.c-purple-400,.cH-purple-400:hover{color:#ab47bc !important}.bgc-purple-400,.bgcH-purple-400:hover{background-color:#ab47bc !important}.bdc-purple-400,.bdcH-purple-400:hover{border-color:#ab47bc !important}.fill-purple-400,.fillH-purple-400:hover{fill:#ab47bc !important}.str-purple-400,.strH-purple-400:hover{stroke:#ab47bc !important}.c-purple-500,.cH-purple-500:hover{color:#9c27b0 !important}.bgc-purple-500,.bgcH-purple-500:hover{background-color:#9c27b0 !important}.bdc-purple-500,.bdcH-purple-500:hover{border-color:#9c27b0 !important}.fill-purple-500,.fillH-purple-500:hover{fill:#9c27b0 !important}.str-purple-500,.strH-purple-500:hover{stroke:#9c27b0 !important}.c-purple-600,.cH-purple-600:hover{color:#8e24aa !important}.bgc-purple-600,.bgcH-purple-600:hover{background-color:#8e24aa !important}.bdc-purple-600,.bdcH-purple-600:hover{border-color:#8e24aa !important}.fill-purple-600,.fillH-purple-600:hover{fill:#8e24aa !important}.str-purple-600,.strH-purple-600:hover{stroke:#8e24aa !important}.c-purple-700,.cH-purple-700:hover{color:#7b1fa2 !important}.bgc-purple-700,.bgcH-purple-700:hover{background-color:#7b1fa2 !important}.bdc-purple-700,.bdcH-purple-700:hover{border-color:#7b1fa2 !important}.fill-purple-700,.fillH-purple-700:hover{fill:#7b1fa2 !important}.str-purple-700,.strH-purple-700:hover{stroke:#7b1fa2 !important}.c-purple-800,.cH-purple-800:hover{color:#6a1b9a !important}.bgc-purple-800,.bgcH-purple-800:hover{background-color:#6a1b9a !important}.bdc-purple-800,.bdcH-purple-800:hover{border-color:#6a1b9a !important}.fill-purple-800,.fillH-purple-800:hover{fill:#6a1b9a !important}.str-purple-800,.strH-purple-800:hover{stroke:#6a1b9a !important}.c-purple-900,.cH-purple-900:hover{color:#4a148c !important}.bgc-purple-900,.bgcH-purple-900:hover{background-color:#4a148c !important}.bdc-purple-900,.bdcH-purple-900:hover{border-color:#4a148c !important}.fill-purple-900,.fillH-purple-900:hover{fill:#4a148c !important}.str-purple-900,.strH-purple-900:hover{stroke:#4a148c !important}.c-purple-a100,.cH-purple-a100:hover{color:#ea80fc !important}.bgc-purple-a100,.bgcH-purple-a100:hover{background-color:#ea80fc !important}.bdc-purple-a100,.bdcH-purple-a100:hover{border-color:#ea80fc !important}.fill-purple-a100,.fillH-purple-a100:hover{fill:#ea80fc !important}.str-purple-a100,.strH-purple-a100:hover{stroke:#ea80fc !important}.c-purple-a200,.cH-purple-a200:hover{color:#e040fb !important}.bgc-purple-a200,.bgcH-purple-a200:hover{background-color:#e040fb !important}.bdc-purple-a200,.bdcH-purple-a200:hover{border-color:#e040fb !important}.fill-purple-a200,.fillH-purple-a200:hover{fill:#e040fb !important}.str-purple-a200,.strH-purple-a200:hover{stroke:#e040fb !important}.c-purple-a400,.cH-purple-a400:hover{color:#d500f9 !important}.bgc-purple-a400,.bgcH-purple-a400:hover{background-color:#d500f9 !important}.bdc-purple-a400,.bdcH-purple-a400:hover{border-color:#d500f9 !important}.fill-purple-a400,.fillH-purple-a400:hover{fill:#d500f9 !important}.str-purple-a400,.strH-purple-a400:hover{stroke:#d500f9 !important}.c-purple-a700,.cH-purple-a700:hover{color:#a0f !important}.bgc-purple-a700,.bgcH-purple-a700:hover{background-color:#a0f !important}.bdc-purple-a700,.bdcH-purple-a700:hover{border-color:#a0f !important}.fill-purple-a700,.fillH-purple-a700:hover{fill:#a0f !important}.str-purple-a700,.strH-purple-a700:hover{stroke:#a0f !important}.c-deep-purple-50,.cH-deep-purple-50:hover{color:#ede7f6 !important}.bgc-deep-purple-50,.bgcH-deep-purple-50:hover{background-color:#ede7f6 !important}.bdc-deep-purple-50,.bdcH-deep-purple-50:hover{border-color:#ede7f6 !important}.fill-deep-purple-50,.fillH-deep-purple-50:hover{fill:#ede7f6 !important}.str-deep-purple-50,.strH-deep-purple-50:hover{stroke:#ede7f6 !important}.c-deep-purple-100,.cH-deep-purple-100:hover{color:#d1c4e9 !important}.bgc-deep-purple-100,.bgcH-deep-purple-100:hover{background-color:#d1c4e9 !important}.bdc-deep-purple-100,.bdcH-deep-purple-100:hover{border-color:#d1c4e9 !important}.fill-deep-purple-100,.fillH-deep-purple-100:hover{fill:#d1c4e9 !important}.str-deep-purple-100,.strH-deep-purple-100:hover{stroke:#d1c4e9 !important}.c-deep-purple-200,.cH-deep-purple-200:hover{color:#b39ddb !important}.bgc-deep-purple-200,.bgcH-deep-purple-200:hover{background-color:#b39ddb !important}.bdc-deep-purple-200,.bdcH-deep-purple-200:hover{border-color:#b39ddb !important}.fill-deep-purple-200,.fillH-deep-purple-200:hover{fill:#b39ddb !important}.str-deep-purple-200,.strH-deep-purple-200:hover{stroke:#b39ddb !important}.c-deep-purple-300,.cH-deep-purple-300:hover{color:#9575cd !important}.bgc-deep-purple-300,.bgcH-deep-purple-300:hover{background-color:#9575cd !important}.bdc-deep-purple-300,.bdcH-deep-purple-300:hover{border-color:#9575cd !important}.fill-deep-purple-300,.fillH-deep-purple-300:hover{fill:#9575cd !important}.str-deep-purple-300,.strH-deep-purple-300:hover{stroke:#9575cd !important}.c-deep-purple-400,.cH-deep-purple-400:hover{color:#7e57c2 !important}.bgc-deep-purple-400,.bgcH-deep-purple-400:hover{background-color:#7e57c2 !important}.bdc-deep-purple-400,.bdcH-deep-purple-400:hover{border-color:#7e57c2 !important}.fill-deep-purple-400,.fillH-deep-purple-400:hover{fill:#7e57c2 !important}.str-deep-purple-400,.strH-deep-purple-400:hover{stroke:#7e57c2 !important}.c-deep-purple-500,.cH-deep-purple-500:hover{color:#673ab7 !important}.bgc-deep-purple-500,.bgcH-deep-purple-500:hover{background-color:#673ab7 !important}.bdc-deep-purple-500,.bdcH-deep-purple-500:hover{border-color:#673ab7 !important}.fill-deep-purple-500,.fillH-deep-purple-500:hover{fill:#673ab7 !important}.str-deep-purple-500,.strH-deep-purple-500:hover{stroke:#673ab7 !important}.c-deep-purple-600,.cH-deep-purple-600:hover{color:#5e35b1 !important}.bgc-deep-purple-600,.bgcH-deep-purple-600:hover{background-color:#5e35b1 !important}.bdc-deep-purple-600,.bdcH-deep-purple-600:hover{border-color:#5e35b1 !important}.fill-deep-purple-600,.fillH-deep-purple-600:hover{fill:#5e35b1 !important}.str-deep-purple-600,.strH-deep-purple-600:hover{stroke:#5e35b1 !important}.c-deep-purple-700,.cH-deep-purple-700:hover{color:#512da8 !important}.bgc-deep-purple-700,.bgcH-deep-purple-700:hover{background-color:#512da8 !important}.bdc-deep-purple-700,.bdcH-deep-purple-700:hover{border-color:#512da8 !important}.fill-deep-purple-700,.fillH-deep-purple-700:hover{fill:#512da8 !important}.str-deep-purple-700,.strH-deep-purple-700:hover{stroke:#512da8 !important}.c-deep-purple-800,.cH-deep-purple-800:hover{color:#4527a0 !important}.bgc-deep-purple-800,.bgcH-deep-purple-800:hover{background-color:#4527a0 !important}.bdc-deep-purple-800,.bdcH-deep-purple-800:hover{border-color:#4527a0 !important}.fill-deep-purple-800,.fillH-deep-purple-800:hover{fill:#4527a0 !important}.str-deep-purple-800,.strH-deep-purple-800:hover{stroke:#4527a0 !important}.c-deep-purple-900,.cH-deep-purple-900:hover{color:#311b92 !important}.bgc-deep-purple-900,.bgcH-deep-purple-900:hover{background-color:#311b92 !important}.bdc-deep-purple-900,.bdcH-deep-purple-900:hover{border-color:#311b92 !important}.fill-deep-purple-900,.fillH-deep-purple-900:hover{fill:#311b92 !important}.str-deep-purple-900,.strH-deep-purple-900:hover{stroke:#311b92 !important}.c-deep-purple-a100,.cH-deep-purple-a100:hover{color:#b388ff !important}.bgc-deep-purple-a100,.bgcH-deep-purple-a100:hover{background-color:#b388ff !important}.bdc-deep-purple-a100,.bdcH-deep-purple-a100:hover{border-color:#b388ff !important}.fill-deep-purple-a100,.fillH-deep-purple-a100:hover{fill:#b388ff !important}.str-deep-purple-a100,.strH-deep-purple-a100:hover{stroke:#b388ff !important}.c-deep-purple-a200,.cH-deep-purple-a200:hover{color:#7c4dff !important}.bgc-deep-purple-a200,.bgcH-deep-purple-a200:hover{background-color:#7c4dff !important}.bdc-deep-purple-a200,.bdcH-deep-purple-a200:hover{border-color:#7c4dff !important}.fill-deep-purple-a200,.fillH-deep-purple-a200:hover{fill:#7c4dff !important}.str-deep-purple-a200,.strH-deep-purple-a200:hover{stroke:#7c4dff !important}.c-deep-purple-a400,.cH-deep-purple-a400:hover{color:#651fff !important}.bgc-deep-purple-a400,.bgcH-deep-purple-a400:hover{background-color:#651fff !important}.bdc-deep-purple-a400,.bdcH-deep-purple-a400:hover{border-color:#651fff !important}.fill-deep-purple-a400,.fillH-deep-purple-a400:hover{fill:#651fff !important}.str-deep-purple-a400,.strH-deep-purple-a400:hover{stroke:#651fff !important}.c-deep-purple-a700,.cH-deep-purple-a700:hover{color:#6200ea !important}.bgc-deep-purple-a700,.bgcH-deep-purple-a700:hover{background-color:#6200ea !important}.bdc-deep-purple-a700,.bdcH-deep-purple-a700:hover{border-color:#6200ea !important}.fill-deep-purple-a700,.fillH-deep-purple-a700:hover{fill:#6200ea !important}.str-deep-purple-a700,.strH-deep-purple-a700:hover{stroke:#6200ea !important}.c-indigo-50,.cH-indigo-50:hover{color:#e8eaf6 !important}.bgc-indigo-50,.bgcH-indigo-50:hover{background-color:#e8eaf6 !important}.bdc-indigo-50,.bdcH-indigo-50:hover{border-color:#e8eaf6 !important}.fill-indigo-50,.fillH-indigo-50:hover{fill:#e8eaf6 !important}.str-indigo-50,.strH-indigo-50:hover{stroke:#e8eaf6 !important}.c-indigo-100,.cH-indigo-100:hover{color:#c5cae9 !important}.bgc-indigo-100,.bgcH-indigo-100:hover{background-color:#c5cae9 !important}.bdc-indigo-100,.bdcH-indigo-100:hover{border-color:#c5cae9 !important}.fill-indigo-100,.fillH-indigo-100:hover{fill:#c5cae9 !important}.str-indigo-100,.strH-indigo-100:hover{stroke:#c5cae9 !important}.c-indigo-200,.cH-indigo-200:hover{color:#9fa8da !important}.bgc-indigo-200,.bgcH-indigo-200:hover{background-color:#9fa8da !important}.bdc-indigo-200,.bdcH-indigo-200:hover{border-color:#9fa8da !important}.fill-indigo-200,.fillH-indigo-200:hover{fill:#9fa8da !important}.str-indigo-200,.strH-indigo-200:hover{stroke:#9fa8da !important}.c-indigo-300,.cH-indigo-300:hover{color:#7986cb !important}.bgc-indigo-300,.bgcH-indigo-300:hover{background-color:#7986cb !important}.bdc-indigo-300,.bdcH-indigo-300:hover{border-color:#7986cb !important}.fill-indigo-300,.fillH-indigo-300:hover{fill:#7986cb !important}.str-indigo-300,.strH-indigo-300:hover{stroke:#7986cb !important}.c-indigo-400,.cH-indigo-400:hover{color:#5c6bc0 !important}.bgc-indigo-400,.bgcH-indigo-400:hover{background-color:#5c6bc0 !important}.bdc-indigo-400,.bdcH-indigo-400:hover{border-color:#5c6bc0 !important}.fill-indigo-400,.fillH-indigo-400:hover{fill:#5c6bc0 !important}.str-indigo-400,.strH-indigo-400:hover{stroke:#5c6bc0 !important}.c-indigo-500,.cH-indigo-500:hover{color:#3f51b5 !important}.bgc-indigo-500,.bgcH-indigo-500:hover{background-color:#3f51b5 !important}.bdc-indigo-500,.bdcH-indigo-500:hover{border-color:#3f51b5 !important}.fill-indigo-500,.fillH-indigo-500:hover{fill:#3f51b5 !important}.str-indigo-500,.strH-indigo-500:hover{stroke:#3f51b5 !important}.c-indigo-600,.cH-indigo-600:hover{color:#3949ab !important}.bgc-indigo-600,.bgcH-indigo-600:hover{background-color:#3949ab !important}.bdc-indigo-600,.bdcH-indigo-600:hover{border-color:#3949ab !important}.fill-indigo-600,.fillH-indigo-600:hover{fill:#3949ab !important}.str-indigo-600,.strH-indigo-600:hover{stroke:#3949ab !important}.c-indigo-700,.cH-indigo-700:hover{color:#303f9f !important}.bgc-indigo-700,.bgcH-indigo-700:hover{background-color:#303f9f !important}.bdc-indigo-700,.bdcH-indigo-700:hover{border-color:#303f9f !important}.fill-indigo-700,.fillH-indigo-700:hover{fill:#303f9f !important}.str-indigo-700,.strH-indigo-700:hover{stroke:#303f9f !important}.c-indigo-800,.cH-indigo-800:hover{color:#283593 !important}.bgc-indigo-800,.bgcH-indigo-800:hover{background-color:#283593 !important}.bdc-indigo-800,.bdcH-indigo-800:hover{border-color:#283593 !important}.fill-indigo-800,.fillH-indigo-800:hover{fill:#283593 !important}.str-indigo-800,.strH-indigo-800:hover{stroke:#283593 !important}.c-indigo-900,.cH-indigo-900:hover{color:#1a237e !important}.bgc-indigo-900,.bgcH-indigo-900:hover{background-color:#1a237e !important}.bdc-indigo-900,.bdcH-indigo-900:hover{border-color:#1a237e !important}.fill-indigo-900,.fillH-indigo-900:hover{fill:#1a237e !important}.str-indigo-900,.strH-indigo-900:hover{stroke:#1a237e !important}.c-indigo-a100,.cH-indigo-a100:hover{color:#8c9eff !important}.bgc-indigo-a100,.bgcH-indigo-a100:hover{background-color:#8c9eff !important}.bdc-indigo-a100,.bdcH-indigo-a100:hover{border-color:#8c9eff !important}.fill-indigo-a100,.fillH-indigo-a100:hover{fill:#8c9eff !important}.str-indigo-a100,.strH-indigo-a100:hover{stroke:#8c9eff !important}.c-indigo-a200,.cH-indigo-a200:hover{color:#536dfe !important}.bgc-indigo-a200,.bgcH-indigo-a200:hover{background-color:#536dfe !important}.bdc-indigo-a200,.bdcH-indigo-a200:hover{border-color:#536dfe !important}.fill-indigo-a200,.fillH-indigo-a200:hover{fill:#536dfe !important}.str-indigo-a200,.strH-indigo-a200:hover{stroke:#536dfe !important}.c-indigo-a400,.cH-indigo-a400:hover{color:#3d5afe !important}.bgc-indigo-a400,.bgcH-indigo-a400:hover{background-color:#3d5afe !important}.bdc-indigo-a400,.bdcH-indigo-a400:hover{border-color:#3d5afe !important}.fill-indigo-a400,.fillH-indigo-a400:hover{fill:#3d5afe !important}.str-indigo-a400,.strH-indigo-a400:hover{stroke:#3d5afe !important}.c-indigo-a700,.cH-indigo-a700:hover{color:#304ffe !important}.bgc-indigo-a700,.bgcH-indigo-a700:hover{background-color:#304ffe !important}.bdc-indigo-a700,.bdcH-indigo-a700:hover{border-color:#304ffe !important}.fill-indigo-a700,.fillH-indigo-a700:hover{fill:#304ffe !important}.str-indigo-a700,.strH-indigo-a700:hover{stroke:#304ffe !important}.c-blue-50,.cH-blue-50:hover{color:#e3f2fd !important}.bgc-blue-50,.bgcH-blue-50:hover{background-color:#e3f2fd !important}.bdc-blue-50,.bdcH-blue-50:hover{border-color:#e3f2fd !important}.fill-blue-50,.fillH-blue-50:hover{fill:#e3f2fd !important}.str-blue-50,.strH-blue-50:hover{stroke:#e3f2fd !important}.c-blue-100,.cH-blue-100:hover{color:#bbdefb !important}.bgc-blue-100,.bgcH-blue-100:hover{background-color:#bbdefb !important}.bdc-blue-100,.bdcH-blue-100:hover{border-color:#bbdefb !important}.fill-blue-100,.fillH-blue-100:hover{fill:#bbdefb !important}.str-blue-100,.strH-blue-100:hover{stroke:#bbdefb !important}.c-blue-200,.cH-blue-200:hover{color:#90caf9 !important}.bgc-blue-200,.bgcH-blue-200:hover{background-color:#90caf9 !important}.bdc-blue-200,.bdcH-blue-200:hover{border-color:#90caf9 !important}.fill-blue-200,.fillH-blue-200:hover{fill:#90caf9 !important}.str-blue-200,.strH-blue-200:hover{stroke:#90caf9 !important}.c-blue-300,.cH-blue-300:hover{color:#64b5f6 !important}.bgc-blue-300,.bgcH-blue-300:hover{background-color:#64b5f6 !important}.bdc-blue-300,.bdcH-blue-300:hover{border-color:#64b5f6 !important}.fill-blue-300,.fillH-blue-300:hover{fill:#64b5f6 !important}.str-blue-300,.strH-blue-300:hover{stroke:#64b5f6 !important}.c-blue-400,.cH-blue-400:hover{color:#42a5f5 !important}.bgc-blue-400,.bgcH-blue-400:hover{background-color:#42a5f5 !important}.bdc-blue-400,.bdcH-blue-400:hover{border-color:#42a5f5 !important}.fill-blue-400,.fillH-blue-400:hover{fill:#42a5f5 !important}.str-blue-400,.strH-blue-400:hover{stroke:#42a5f5 !important}.c-blue-500,.cH-blue-500:hover{color:#2196f3 !important}.bgc-blue-500,.bgcH-blue-500:hover{background-color:#2196f3 !important}.bdc-blue-500,.bdcH-blue-500:hover{border-color:#2196f3 !important}.fill-blue-500,.fillH-blue-500:hover{fill:#2196f3 !important}.str-blue-500,.strH-blue-500:hover{stroke:#2196f3 !important}.c-blue-600,.cH-blue-600:hover{color:#1e88e5 !important}.bgc-blue-600,.bgcH-blue-600:hover{background-color:#1e88e5 !important}.bdc-blue-600,.bdcH-blue-600:hover{border-color:#1e88e5 !important}.fill-blue-600,.fillH-blue-600:hover{fill:#1e88e5 !important}.str-blue-600,.strH-blue-600:hover{stroke:#1e88e5 !important}.c-blue-700,.cH-blue-700:hover{color:#1976d2 !important}.bgc-blue-700,.bgcH-blue-700:hover{background-color:#1976d2 !important}.bdc-blue-700,.bdcH-blue-700:hover{border-color:#1976d2 !important}.fill-blue-700,.fillH-blue-700:hover{fill:#1976d2 !important}.str-blue-700,.strH-blue-700:hover{stroke:#1976d2 !important}.c-blue-800,.cH-blue-800:hover{color:#1565c0 !important}.bgc-blue-800,.bgcH-blue-800:hover{background-color:#1565c0 !important}.bdc-blue-800,.bdcH-blue-800:hover{border-color:#1565c0 !important}.fill-blue-800,.fillH-blue-800:hover{fill:#1565c0 !important}.str-blue-800,.strH-blue-800:hover{stroke:#1565c0 !important}.c-blue-900,.cH-blue-900:hover{color:#0d47a1 !important}.bgc-blue-900,.bgcH-blue-900:hover{background-color:#0d47a1 !important}.bdc-blue-900,.bdcH-blue-900:hover{border-color:#0d47a1 !important}.fill-blue-900,.fillH-blue-900:hover{fill:#0d47a1 !important}.str-blue-900,.strH-blue-900:hover{stroke:#0d47a1 !important}.c-blue-a100,.cH-blue-a100:hover{color:#82b1ff !important}.bgc-blue-a100,.bgcH-blue-a100:hover{background-color:#82b1ff !important}.bdc-blue-a100,.bdcH-blue-a100:hover{border-color:#82b1ff !important}.fill-blue-a100,.fillH-blue-a100:hover{fill:#82b1ff !important}.str-blue-a100,.strH-blue-a100:hover{stroke:#82b1ff !important}.c-blue-a200,.cH-blue-a200:hover{color:#448aff !important}.bgc-blue-a200,.bgcH-blue-a200:hover{background-color:#448aff !important}.bdc-blue-a200,.bdcH-blue-a200:hover{border-color:#448aff !important}.fill-blue-a200,.fillH-blue-a200:hover{fill:#448aff !important}.str-blue-a200,.strH-blue-a200:hover{stroke:#448aff !important}.c-blue-a400,.cH-blue-a400:hover{color:#2979ff !important}.bgc-blue-a400,.bgcH-blue-a400:hover{background-color:#2979ff !important}.bdc-blue-a400,.bdcH-blue-a400:hover{border-color:#2979ff !important}.fill-blue-a400,.fillH-blue-a400:hover{fill:#2979ff !important}.str-blue-a400,.strH-blue-a400:hover{stroke:#2979ff !important}.c-blue-a700,.cH-blue-a700:hover{color:#2962ff !important}.bgc-blue-a700,.bgcH-blue-a700:hover{background-color:#2962ff !important}.bdc-blue-a700,.bdcH-blue-a700:hover{border-color:#2962ff !important}.fill-blue-a700,.fillH-blue-a700:hover{fill:#2962ff !important}.str-blue-a700,.strH-blue-a700:hover{stroke:#2962ff !important}.c-light-blue-50,.cH-light-blue-50:hover{color:#e1f5fe !important}.bgc-light-blue-50,.bgcH-light-blue-50:hover{background-color:#e1f5fe !important}.bdc-light-blue-50,.bdcH-light-blue-50:hover{border-color:#e1f5fe !important}.fill-light-blue-50,.fillH-light-blue-50:hover{fill:#e1f5fe !important}.str-light-blue-50,.strH-light-blue-50:hover{stroke:#e1f5fe !important}.c-light-blue-100,.cH-light-blue-100:hover{color:#b3e5fc !important}.bgc-light-blue-100,.bgcH-light-blue-100:hover{background-color:#b3e5fc !important}.bdc-light-blue-100,.bdcH-light-blue-100:hover{border-color:#b3e5fc !important}.fill-light-blue-100,.fillH-light-blue-100:hover{fill:#b3e5fc !important}.str-light-blue-100,.strH-light-blue-100:hover{stroke:#b3e5fc !important}.c-light-blue-200,.cH-light-blue-200:hover{color:#81d4fa !important}.bgc-light-blue-200,.bgcH-light-blue-200:hover{background-color:#81d4fa !important}.bdc-light-blue-200,.bdcH-light-blue-200:hover{border-color:#81d4fa !important}.fill-light-blue-200,.fillH-light-blue-200:hover{fill:#81d4fa !important}.str-light-blue-200,.strH-light-blue-200:hover{stroke:#81d4fa !important}.c-light-blue-300,.cH-light-blue-300:hover{color:#4fc3f7 !important}.bgc-light-blue-300,.bgcH-light-blue-300:hover{background-color:#4fc3f7 !important}.bdc-light-blue-300,.bdcH-light-blue-300:hover{border-color:#4fc3f7 !important}.fill-light-blue-300,.fillH-light-blue-300:hover{fill:#4fc3f7 !important}.str-light-blue-300,.strH-light-blue-300:hover{stroke:#4fc3f7 !important}.c-light-blue-400,.cH-light-blue-400:hover{color:#29b6f6 !important}.bgc-light-blue-400,.bgcH-light-blue-400:hover{background-color:#29b6f6 !important}.bdc-light-blue-400,.bdcH-light-blue-400:hover{border-color:#29b6f6 !important}.fill-light-blue-400,.fillH-light-blue-400:hover{fill:#29b6f6 !important}.str-light-blue-400,.strH-light-blue-400:hover{stroke:#29b6f6 !important}.c-light-blue-500,.cH-light-blue-500:hover{color:#03a9f4 !important}.bgc-light-blue-500,.bgcH-light-blue-500:hover{background-color:#03a9f4 !important}.bdc-light-blue-500,.bdcH-light-blue-500:hover{border-color:#03a9f4 !important}.fill-light-blue-500,.fillH-light-blue-500:hover{fill:#03a9f4 !important}.str-light-blue-500,.strH-light-blue-500:hover{stroke:#03a9f4 !important}.c-light-blue-600,.cH-light-blue-600:hover{color:#039be5 !important}.bgc-light-blue-600,.bgcH-light-blue-600:hover{background-color:#039be5 !important}.bdc-light-blue-600,.bdcH-light-blue-600:hover{border-color:#039be5 !important}.fill-light-blue-600,.fillH-light-blue-600:hover{fill:#039be5 !important}.str-light-blue-600,.strH-light-blue-600:hover{stroke:#039be5 !important}.c-light-blue-700,.cH-light-blue-700:hover{color:#0288d1 !important}.bgc-light-blue-700,.bgcH-light-blue-700:hover{background-color:#0288d1 !important}.bdc-light-blue-700,.bdcH-light-blue-700:hover{border-color:#0288d1 !important}.fill-light-blue-700,.fillH-light-blue-700:hover{fill:#0288d1 !important}.str-light-blue-700,.strH-light-blue-700:hover{stroke:#0288d1 !important}.c-light-blue-800,.cH-light-blue-800:hover{color:#0277bd !important}.bgc-light-blue-800,.bgcH-light-blue-800:hover{background-color:#0277bd !important}.bdc-light-blue-800,.bdcH-light-blue-800:hover{border-color:#0277bd !important}.fill-light-blue-800,.fillH-light-blue-800:hover{fill:#0277bd !important}.str-light-blue-800,.strH-light-blue-800:hover{stroke:#0277bd !important}.c-light-blue-900,.cH-light-blue-900:hover{color:#01579b !important}.bgc-light-blue-900,.bgcH-light-blue-900:hover{background-color:#01579b !important}.bdc-light-blue-900,.bdcH-light-blue-900:hover{border-color:#01579b !important}.fill-light-blue-900,.fillH-light-blue-900:hover{fill:#01579b !important}.str-light-blue-900,.strH-light-blue-900:hover{stroke:#01579b !important}.c-light-blue-a100,.cH-light-blue-a100:hover{color:#80d8ff !important}.bgc-light-blue-a100,.bgcH-light-blue-a100:hover{background-color:#80d8ff !important}.bdc-light-blue-a100,.bdcH-light-blue-a100:hover{border-color:#80d8ff !important}.fill-light-blue-a100,.fillH-light-blue-a100:hover{fill:#80d8ff !important}.str-light-blue-a100,.strH-light-blue-a100:hover{stroke:#80d8ff !important}.c-light-blue-a200,.cH-light-blue-a200:hover{color:#40c4ff !important}.bgc-light-blue-a200,.bgcH-light-blue-a200:hover{background-color:#40c4ff !important}.bdc-light-blue-a200,.bdcH-light-blue-a200:hover{border-color:#40c4ff !important}.fill-light-blue-a200,.fillH-light-blue-a200:hover{fill:#40c4ff !important}.str-light-blue-a200,.strH-light-blue-a200:hover{stroke:#40c4ff !important}.c-light-blue-a400,.cH-light-blue-a400:hover{color:#00b0ff !important}.bgc-light-blue-a400,.bgcH-light-blue-a400:hover{background-color:#00b0ff !important}.bdc-light-blue-a400,.bdcH-light-blue-a400:hover{border-color:#00b0ff !important}.fill-light-blue-a400,.fillH-light-blue-a400:hover{fill:#00b0ff !important}.str-light-blue-a400,.strH-light-blue-a400:hover{stroke:#00b0ff !important}.c-light-blue-a700,.cH-light-blue-a700:hover{color:#0091ea !important}.bgc-light-blue-a700,.bgcH-light-blue-a700:hover{background-color:#0091ea !important}.bdc-light-blue-a700,.bdcH-light-blue-a700:hover{border-color:#0091ea !important}.fill-light-blue-a700,.fillH-light-blue-a700:hover{fill:#0091ea !important}.str-light-blue-a700,.strH-light-blue-a700:hover{stroke:#0091ea !important}.c-cyan-50,.cH-cyan-50:hover{color:#e0f7fa !important}.bgc-cyan-50,.bgcH-cyan-50:hover{background-color:#e0f7fa !important}.bdc-cyan-50,.bdcH-cyan-50:hover{border-color:#e0f7fa !important}.fill-cyan-50,.fillH-cyan-50:hover{fill:#e0f7fa !important}.str-cyan-50,.strH-cyan-50:hover{stroke:#e0f7fa !important}.c-cyan-100,.cH-cyan-100:hover{color:#b2ebf2 !important}.bgc-cyan-100,.bgcH-cyan-100:hover{background-color:#b2ebf2 !important}.bdc-cyan-100,.bdcH-cyan-100:hover{border-color:#b2ebf2 !important}.fill-cyan-100,.fillH-cyan-100:hover{fill:#b2ebf2 !important}.str-cyan-100,.strH-cyan-100:hover{stroke:#b2ebf2 !important}.c-cyan-200,.cH-cyan-200:hover{color:#80deea !important}.bgc-cyan-200,.bgcH-cyan-200:hover{background-color:#80deea !important}.bdc-cyan-200,.bdcH-cyan-200:hover{border-color:#80deea !important}.fill-cyan-200,.fillH-cyan-200:hover{fill:#80deea !important}.str-cyan-200,.strH-cyan-200:hover{stroke:#80deea !important}.c-cyan-300,.cH-cyan-300:hover{color:#4dd0e1 !important}.bgc-cyan-300,.bgcH-cyan-300:hover{background-color:#4dd0e1 !important}.bdc-cyan-300,.bdcH-cyan-300:hover{border-color:#4dd0e1 !important}.fill-cyan-300,.fillH-cyan-300:hover{fill:#4dd0e1 !important}.str-cyan-300,.strH-cyan-300:hover{stroke:#4dd0e1 !important}.c-cyan-400,.cH-cyan-400:hover{color:#26c6da !important}.bgc-cyan-400,.bgcH-cyan-400:hover{background-color:#26c6da !important}.bdc-cyan-400,.bdcH-cyan-400:hover{border-color:#26c6da !important}.fill-cyan-400,.fillH-cyan-400:hover{fill:#26c6da !important}.str-cyan-400,.strH-cyan-400:hover{stroke:#26c6da !important}.c-cyan-500,.cH-cyan-500:hover{color:#00bcd4 !important}.bgc-cyan-500,.bgcH-cyan-500:hover{background-color:#00bcd4 !important}.bdc-cyan-500,.bdcH-cyan-500:hover{border-color:#00bcd4 !important}.fill-cyan-500,.fillH-cyan-500:hover{fill:#00bcd4 !important}.str-cyan-500,.strH-cyan-500:hover{stroke:#00bcd4 !important}.c-cyan-600,.cH-cyan-600:hover{color:#00acc1 !important}.bgc-cyan-600,.bgcH-cyan-600:hover{background-color:#00acc1 !important}.bdc-cyan-600,.bdcH-cyan-600:hover{border-color:#00acc1 !important}.fill-cyan-600,.fillH-cyan-600:hover{fill:#00acc1 !important}.str-cyan-600,.strH-cyan-600:hover{stroke:#00acc1 !important}.c-cyan-700,.cH-cyan-700:hover{color:#0097a7 !important}.bgc-cyan-700,.bgcH-cyan-700:hover{background-color:#0097a7 !important}.bdc-cyan-700,.bdcH-cyan-700:hover{border-color:#0097a7 !important}.fill-cyan-700,.fillH-cyan-700:hover{fill:#0097a7 !important}.str-cyan-700,.strH-cyan-700:hover{stroke:#0097a7 !important}.c-cyan-800,.cH-cyan-800:hover{color:#00838f !important}.bgc-cyan-800,.bgcH-cyan-800:hover{background-color:#00838f !important}.bdc-cyan-800,.bdcH-cyan-800:hover{border-color:#00838f !important}.fill-cyan-800,.fillH-cyan-800:hover{fill:#00838f !important}.str-cyan-800,.strH-cyan-800:hover{stroke:#00838f !important}.c-cyan-900,.cH-cyan-900:hover{color:#006064 !important}.bgc-cyan-900,.bgcH-cyan-900:hover{background-color:#006064 !important}.bdc-cyan-900,.bdcH-cyan-900:hover{border-color:#006064 !important}.fill-cyan-900,.fillH-cyan-900:hover{fill:#006064 !important}.str-cyan-900,.strH-cyan-900:hover{stroke:#006064 !important}.c-cyan-a100,.cH-cyan-a100:hover{color:#84ffff !important}.bgc-cyan-a100,.bgcH-cyan-a100:hover{background-color:#84ffff !important}.bdc-cyan-a100,.bdcH-cyan-a100:hover{border-color:#84ffff !important}.fill-cyan-a100,.fillH-cyan-a100:hover{fill:#84ffff !important}.str-cyan-a100,.strH-cyan-a100:hover{stroke:#84ffff !important}.c-cyan-a200,.cH-cyan-a200:hover{color:#18ffff !important}.bgc-cyan-a200,.bgcH-cyan-a200:hover{background-color:#18ffff !important}.bdc-cyan-a200,.bdcH-cyan-a200:hover{border-color:#18ffff !important}.fill-cyan-a200,.fillH-cyan-a200:hover{fill:#18ffff !important}.str-cyan-a200,.strH-cyan-a200:hover{stroke:#18ffff !important}.c-cyan-a400,.cH-cyan-a400:hover{color:#00e5ff !important}.bgc-cyan-a400,.bgcH-cyan-a400:hover{background-color:#00e5ff !important}.bdc-cyan-a400,.bdcH-cyan-a400:hover{border-color:#00e5ff !important}.fill-cyan-a400,.fillH-cyan-a400:hover{fill:#00e5ff !important}.str-cyan-a400,.strH-cyan-a400:hover{stroke:#00e5ff !important}.c-cyan-a700,.cH-cyan-a700:hover{color:#00b8d4 !important}.bgc-cyan-a700,.bgcH-cyan-a700:hover{background-color:#00b8d4 !important}.bdc-cyan-a700,.bdcH-cyan-a700:hover{border-color:#00b8d4 !important}.fill-cyan-a700,.fillH-cyan-a700:hover{fill:#00b8d4 !important}.str-cyan-a700,.strH-cyan-a700:hover{stroke:#00b8d4 !important}.c-teal-50,.cH-teal-50:hover{color:#e0f2f1 !important}.bgc-teal-50,.bgcH-teal-50:hover{background-color:#e0f2f1 !important}.bdc-teal-50,.bdcH-teal-50:hover{border-color:#e0f2f1 !important}.fill-teal-50,.fillH-teal-50:hover{fill:#e0f2f1 !important}.str-teal-50,.strH-teal-50:hover{stroke:#e0f2f1 !important}.c-teal-100,.cH-teal-100:hover{color:#b2dfdb !important}.bgc-teal-100,.bgcH-teal-100:hover{background-color:#b2dfdb !important}.bdc-teal-100,.bdcH-teal-100:hover{border-color:#b2dfdb !important}.fill-teal-100,.fillH-teal-100:hover{fill:#b2dfdb !important}.str-teal-100,.strH-teal-100:hover{stroke:#b2dfdb !important}.c-teal-200,.cH-teal-200:hover{color:#80cbc4 !important}.bgc-teal-200,.bgcH-teal-200:hover{background-color:#80cbc4 !important}.bdc-teal-200,.bdcH-teal-200:hover{border-color:#80cbc4 !important}.fill-teal-200,.fillH-teal-200:hover{fill:#80cbc4 !important}.str-teal-200,.strH-teal-200:hover{stroke:#80cbc4 !important}.c-teal-300,.cH-teal-300:hover{color:#4db6ac !important}.bgc-teal-300,.bgcH-teal-300:hover{background-color:#4db6ac !important}.bdc-teal-300,.bdcH-teal-300:hover{border-color:#4db6ac !important}.fill-teal-300,.fillH-teal-300:hover{fill:#4db6ac !important}.str-teal-300,.strH-teal-300:hover{stroke:#4db6ac !important}.c-teal-400,.cH-teal-400:hover{color:#26a69a !important}.bgc-teal-400,.bgcH-teal-400:hover{background-color:#26a69a !important}.bdc-teal-400,.bdcH-teal-400:hover{border-color:#26a69a !important}.fill-teal-400,.fillH-teal-400:hover{fill:#26a69a !important}.str-teal-400,.strH-teal-400:hover{stroke:#26a69a !important}.c-teal-500,.cH-teal-500:hover{color:#009688 !important}.bgc-teal-500,.bgcH-teal-500:hover{background-color:#009688 !important}.bdc-teal-500,.bdcH-teal-500:hover{border-color:#009688 !important}.fill-teal-500,.fillH-teal-500:hover{fill:#009688 !important}.str-teal-500,.strH-teal-500:hover{stroke:#009688 !important}.c-teal-600,.cH-teal-600:hover{color:#00897b !important}.bgc-teal-600,.bgcH-teal-600:hover{background-color:#00897b !important}.bdc-teal-600,.bdcH-teal-600:hover{border-color:#00897b !important}.fill-teal-600,.fillH-teal-600:hover{fill:#00897b !important}.str-teal-600,.strH-teal-600:hover{stroke:#00897b !important}.c-teal-700,.cH-teal-700:hover{color:#00796b !important}.bgc-teal-700,.bgcH-teal-700:hover{background-color:#00796b !important}.bdc-teal-700,.bdcH-teal-700:hover{border-color:#00796b !important}.fill-teal-700,.fillH-teal-700:hover{fill:#00796b !important}.str-teal-700,.strH-teal-700:hover{stroke:#00796b !important}.c-teal-800,.cH-teal-800:hover{color:#00695c !important}.bgc-teal-800,.bgcH-teal-800:hover{background-color:#00695c !important}.bdc-teal-800,.bdcH-teal-800:hover{border-color:#00695c !important}.fill-teal-800,.fillH-teal-800:hover{fill:#00695c !important}.str-teal-800,.strH-teal-800:hover{stroke:#00695c !important}.c-teal-900,.cH-teal-900:hover{color:#004d40 !important}.bgc-teal-900,.bgcH-teal-900:hover{background-color:#004d40 !important}.bdc-teal-900,.bdcH-teal-900:hover{border-color:#004d40 !important}.fill-teal-900,.fillH-teal-900:hover{fill:#004d40 !important}.str-teal-900,.strH-teal-900:hover{stroke:#004d40 !important}.c-teal-a100,.cH-teal-a100:hover{color:#a7ffeb !important}.bgc-teal-a100,.bgcH-teal-a100:hover{background-color:#a7ffeb !important}.bdc-teal-a100,.bdcH-teal-a100:hover{border-color:#a7ffeb !important}.fill-teal-a100,.fillH-teal-a100:hover{fill:#a7ffeb !important}.str-teal-a100,.strH-teal-a100:hover{stroke:#a7ffeb !important}.c-teal-a200,.cH-teal-a200:hover{color:#64ffda !important}.bgc-teal-a200,.bgcH-teal-a200:hover{background-color:#64ffda !important}.bdc-teal-a200,.bdcH-teal-a200:hover{border-color:#64ffda !important}.fill-teal-a200,.fillH-teal-a200:hover{fill:#64ffda !important}.str-teal-a200,.strH-teal-a200:hover{stroke:#64ffda !important}.c-teal-a400,.cH-teal-a400:hover{color:#1de9b6 !important}.bgc-teal-a400,.bgcH-teal-a400:hover{background-color:#1de9b6 !important}.bdc-teal-a400,.bdcH-teal-a400:hover{border-color:#1de9b6 !important}.fill-teal-a400,.fillH-teal-a400:hover{fill:#1de9b6 !important}.str-teal-a400,.strH-teal-a400:hover{stroke:#1de9b6 !important}.c-teal-a700,.cH-teal-a700:hover{color:#00bfa5 !important}.bgc-teal-a700,.bgcH-teal-a700:hover{background-color:#00bfa5 !important}.bdc-teal-a700,.bdcH-teal-a700:hover{border-color:#00bfa5 !important}.fill-teal-a700,.fillH-teal-a700:hover{fill:#00bfa5 !important}.str-teal-a700,.strH-teal-a700:hover{stroke:#00bfa5 !important}.c-green-50,.cH-green-50:hover{color:#e8f5e9 !important}.bgc-green-50,.bgcH-green-50:hover{background-color:#e8f5e9 !important}.bdc-green-50,.bdcH-green-50:hover{border-color:#e8f5e9 !important}.fill-green-50,.fillH-green-50:hover{fill:#e8f5e9 !important}.str-green-50,.strH-green-50:hover{stroke:#e8f5e9 !important}.c-green-100,.cH-green-100:hover{color:#c8e6c9 !important}.bgc-green-100,.bgcH-green-100:hover{background-color:#c8e6c9 !important}.bdc-green-100,.bdcH-green-100:hover{border-color:#c8e6c9 !important}.fill-green-100,.fillH-green-100:hover{fill:#c8e6c9 !important}.str-green-100,.strH-green-100:hover{stroke:#c8e6c9 !important}.c-green-200,.cH-green-200:hover{color:#a5d6a7 !important}.bgc-green-200,.bgcH-green-200:hover{background-color:#a5d6a7 !important}.bdc-green-200,.bdcH-green-200:hover{border-color:#a5d6a7 !important}.fill-green-200,.fillH-green-200:hover{fill:#a5d6a7 !important}.str-green-200,.strH-green-200:hover{stroke:#a5d6a7 !important}.c-green-300,.cH-green-300:hover{color:#81c784 !important}.bgc-green-300,.bgcH-green-300:hover{background-color:#81c784 !important}.bdc-green-300,.bdcH-green-300:hover{border-color:#81c784 !important}.fill-green-300,.fillH-green-300:hover{fill:#81c784 !important}.str-green-300,.strH-green-300:hover{stroke:#81c784 !important}.c-green-400,.cH-green-400:hover{color:#66bb6a !important}.bgc-green-400,.bgcH-green-400:hover{background-color:#66bb6a !important}.bdc-green-400,.bdcH-green-400:hover{border-color:#66bb6a !important}.fill-green-400,.fillH-green-400:hover{fill:#66bb6a !important}.str-green-400,.strH-green-400:hover{stroke:#66bb6a !important}.c-green-500,.cH-green-500:hover{color:#4caf50 !important}.bgc-green-500,.bgcH-green-500:hover{background-color:#4caf50 !important}.bdc-green-500,.bdcH-green-500:hover{border-color:#4caf50 !important}.fill-green-500,.fillH-green-500:hover{fill:#4caf50 !important}.str-green-500,.strH-green-500:hover{stroke:#4caf50 !important}.c-green-600,.cH-green-600:hover{color:#43a047 !important}.bgc-green-600,.bgcH-green-600:hover{background-color:#43a047 !important}.bdc-green-600,.bdcH-green-600:hover{border-color:#43a047 !important}.fill-green-600,.fillH-green-600:hover{fill:#43a047 !important}.str-green-600,.strH-green-600:hover{stroke:#43a047 !important}.c-green-700,.cH-green-700:hover{color:#388e3c !important}.bgc-green-700,.bgcH-green-700:hover{background-color:#388e3c !important}.bdc-green-700,.bdcH-green-700:hover{border-color:#388e3c !important}.fill-green-700,.fillH-green-700:hover{fill:#388e3c !important}.str-green-700,.strH-green-700:hover{stroke:#388e3c !important}.c-green-800,.cH-green-800:hover{color:#2e7d32 !important}.bgc-green-800,.bgcH-green-800:hover{background-color:#2e7d32 !important}.bdc-green-800,.bdcH-green-800:hover{border-color:#2e7d32 !important}.fill-green-800,.fillH-green-800:hover{fill:#2e7d32 !important}.str-green-800,.strH-green-800:hover{stroke:#2e7d32 !important}.c-green-900,.cH-green-900:hover{color:#1b5e20 !important}.bgc-green-900,.bgcH-green-900:hover{background-color:#1b5e20 !important}.bdc-green-900,.bdcH-green-900:hover{border-color:#1b5e20 !important}.fill-green-900,.fillH-green-900:hover{fill:#1b5e20 !important}.str-green-900,.strH-green-900:hover{stroke:#1b5e20 !important}.c-green-a100,.cH-green-a100:hover{color:#b9f6ca !important}.bgc-green-a100,.bgcH-green-a100:hover{background-color:#b9f6ca !important}.bdc-green-a100,.bdcH-green-a100:hover{border-color:#b9f6ca !important}.fill-green-a100,.fillH-green-a100:hover{fill:#b9f6ca !important}.str-green-a100,.strH-green-a100:hover{stroke:#b9f6ca !important}.c-green-a200,.cH-green-a200:hover{color:#69f0ae !important}.bgc-green-a200,.bgcH-green-a200:hover{background-color:#69f0ae !important}.bdc-green-a200,.bdcH-green-a200:hover{border-color:#69f0ae !important}.fill-green-a200,.fillH-green-a200:hover{fill:#69f0ae !important}.str-green-a200,.strH-green-a200:hover{stroke:#69f0ae !important}.c-green-a400,.cH-green-a400:hover{color:#00e676 !important}.bgc-green-a400,.bgcH-green-a400:hover{background-color:#00e676 !important}.bdc-green-a400,.bdcH-green-a400:hover{border-color:#00e676 !important}.fill-green-a400,.fillH-green-a400:hover{fill:#00e676 !important}.str-green-a400,.strH-green-a400:hover{stroke:#00e676 !important}.c-green-a700,.cH-green-a700:hover{color:#00c853 !important}.bgc-green-a700,.bgcH-green-a700:hover{background-color:#00c853 !important}.bdc-green-a700,.bdcH-green-a700:hover{border-color:#00c853 !important}.fill-green-a700,.fillH-green-a700:hover{fill:#00c853 !important}.str-green-a700,.strH-green-a700:hover{stroke:#00c853 !important}.c-light-green-50,.cH-light-green-50:hover{color:#f1f8e9 !important}.bgc-light-green-50,.bgcH-light-green-50:hover{background-color:#f1f8e9 !important}.bdc-light-green-50,.bdcH-light-green-50:hover{border-color:#f1f8e9 !important}.fill-light-green-50,.fillH-light-green-50:hover{fill:#f1f8e9 !important}.str-light-green-50,.strH-light-green-50:hover{stroke:#f1f8e9 !important}.c-light-green-100,.cH-light-green-100:hover{color:#dcedc8 !important}.bgc-light-green-100,.bgcH-light-green-100:hover{background-color:#dcedc8 !important}.bdc-light-green-100,.bdcH-light-green-100:hover{border-color:#dcedc8 !important}.fill-light-green-100,.fillH-light-green-100:hover{fill:#dcedc8 !important}.str-light-green-100,.strH-light-green-100:hover{stroke:#dcedc8 !important}.c-light-green-200,.cH-light-green-200:hover{color:#c5e1a5 !important}.bgc-light-green-200,.bgcH-light-green-200:hover{background-color:#c5e1a5 !important}.bdc-light-green-200,.bdcH-light-green-200:hover{border-color:#c5e1a5 !important}.fill-light-green-200,.fillH-light-green-200:hover{fill:#c5e1a5 !important}.str-light-green-200,.strH-light-green-200:hover{stroke:#c5e1a5 !important}.c-light-green-300,.cH-light-green-300:hover{color:#aed581 !important}.bgc-light-green-300,.bgcH-light-green-300:hover{background-color:#aed581 !important}.bdc-light-green-300,.bdcH-light-green-300:hover{border-color:#aed581 !important}.fill-light-green-300,.fillH-light-green-300:hover{fill:#aed581 !important}.str-light-green-300,.strH-light-green-300:hover{stroke:#aed581 !important}.c-light-green-400,.cH-light-green-400:hover{color:#9ccc65 !important}.bgc-light-green-400,.bgcH-light-green-400:hover{background-color:#9ccc65 !important}.bdc-light-green-400,.bdcH-light-green-400:hover{border-color:#9ccc65 !important}.fill-light-green-400,.fillH-light-green-400:hover{fill:#9ccc65 !important}.str-light-green-400,.strH-light-green-400:hover{stroke:#9ccc65 !important}.c-light-green-500,.cH-light-green-500:hover{color:#8bc34a !important}.bgc-light-green-500,.bgcH-light-green-500:hover{background-color:#8bc34a !important}.bdc-light-green-500,.bdcH-light-green-500:hover{border-color:#8bc34a !important}.fill-light-green-500,.fillH-light-green-500:hover{fill:#8bc34a !important}.str-light-green-500,.strH-light-green-500:hover{stroke:#8bc34a !important}.c-light-green-600,.cH-light-green-600:hover{color:#7cb342 !important}.bgc-light-green-600,.bgcH-light-green-600:hover{background-color:#7cb342 !important}.bdc-light-green-600,.bdcH-light-green-600:hover{border-color:#7cb342 !important}.fill-light-green-600,.fillH-light-green-600:hover{fill:#7cb342 !important}.str-light-green-600,.strH-light-green-600:hover{stroke:#7cb342 !important}.c-light-green-700,.cH-light-green-700:hover{color:#689f38 !important}.bgc-light-green-700,.bgcH-light-green-700:hover{background-color:#689f38 !important}.bdc-light-green-700,.bdcH-light-green-700:hover{border-color:#689f38 !important}.fill-light-green-700,.fillH-light-green-700:hover{fill:#689f38 !important}.str-light-green-700,.strH-light-green-700:hover{stroke:#689f38 !important}.c-light-green-800,.cH-light-green-800:hover{color:#558b2f !important}.bgc-light-green-800,.bgcH-light-green-800:hover{background-color:#558b2f !important}.bdc-light-green-800,.bdcH-light-green-800:hover{border-color:#558b2f !important}.fill-light-green-800,.fillH-light-green-800:hover{fill:#558b2f !important}.str-light-green-800,.strH-light-green-800:hover{stroke:#558b2f !important}.c-light-green-900,.cH-light-green-900:hover{color:#33691e !important}.bgc-light-green-900,.bgcH-light-green-900:hover{background-color:#33691e !important}.bdc-light-green-900,.bdcH-light-green-900:hover{border-color:#33691e !important}.fill-light-green-900,.fillH-light-green-900:hover{fill:#33691e !important}.str-light-green-900,.strH-light-green-900:hover{stroke:#33691e !important}.c-light-green-a100,.cH-light-green-a100:hover{color:#ccff90 !important}.bgc-light-green-a100,.bgcH-light-green-a100:hover{background-color:#ccff90 !important}.bdc-light-green-a100,.bdcH-light-green-a100:hover{border-color:#ccff90 !important}.fill-light-green-a100,.fillH-light-green-a100:hover{fill:#ccff90 !important}.str-light-green-a100,.strH-light-green-a100:hover{stroke:#ccff90 !important}.c-light-green-a200,.cH-light-green-a200:hover{color:#b2ff59 !important}.bgc-light-green-a200,.bgcH-light-green-a200:hover{background-color:#b2ff59 !important}.bdc-light-green-a200,.bdcH-light-green-a200:hover{border-color:#b2ff59 !important}.fill-light-green-a200,.fillH-light-green-a200:hover{fill:#b2ff59 !important}.str-light-green-a200,.strH-light-green-a200:hover{stroke:#b2ff59 !important}.c-light-green-a400,.cH-light-green-a400:hover{color:#76ff03 !important}.bgc-light-green-a400,.bgcH-light-green-a400:hover{background-color:#76ff03 !important}.bdc-light-green-a400,.bdcH-light-green-a400:hover{border-color:#76ff03 !important}.fill-light-green-a400,.fillH-light-green-a400:hover{fill:#76ff03 !important}.str-light-green-a400,.strH-light-green-a400:hover{stroke:#76ff03 !important}.c-light-green-a700,.cH-light-green-a700:hover{color:#64dd17 !important}.bgc-light-green-a700,.bgcH-light-green-a700:hover{background-color:#64dd17 !important}.bdc-light-green-a700,.bdcH-light-green-a700:hover{border-color:#64dd17 !important}.fill-light-green-a700,.fillH-light-green-a700:hover{fill:#64dd17 !important}.str-light-green-a700,.strH-light-green-a700:hover{stroke:#64dd17 !important}.c-lime-50,.cH-lime-50:hover{color:#f9fbe7 !important}.bgc-lime-50,.bgcH-lime-50:hover{background-color:#f9fbe7 !important}.bdc-lime-50,.bdcH-lime-50:hover{border-color:#f9fbe7 !important}.fill-lime-50,.fillH-lime-50:hover{fill:#f9fbe7 !important}.str-lime-50,.strH-lime-50:hover{stroke:#f9fbe7 !important}.c-lime-100,.cH-lime-100:hover{color:#f0f4c3 !important}.bgc-lime-100,.bgcH-lime-100:hover{background-color:#f0f4c3 !important}.bdc-lime-100,.bdcH-lime-100:hover{border-color:#f0f4c3 !important}.fill-lime-100,.fillH-lime-100:hover{fill:#f0f4c3 !important}.str-lime-100,.strH-lime-100:hover{stroke:#f0f4c3 !important}.c-lime-200,.cH-lime-200:hover{color:#e6ee9c !important}.bgc-lime-200,.bgcH-lime-200:hover{background-color:#e6ee9c !important}.bdc-lime-200,.bdcH-lime-200:hover{border-color:#e6ee9c !important}.fill-lime-200,.fillH-lime-200:hover{fill:#e6ee9c !important}.str-lime-200,.strH-lime-200:hover{stroke:#e6ee9c !important}.c-lime-300,.cH-lime-300:hover{color:#dce775 !important}.bgc-lime-300,.bgcH-lime-300:hover{background-color:#dce775 !important}.bdc-lime-300,.bdcH-lime-300:hover{border-color:#dce775 !important}.fill-lime-300,.fillH-lime-300:hover{fill:#dce775 !important}.str-lime-300,.strH-lime-300:hover{stroke:#dce775 !important}.c-lime-400,.cH-lime-400:hover{color:#d4e157 !important}.bgc-lime-400,.bgcH-lime-400:hover{background-color:#d4e157 !important}.bdc-lime-400,.bdcH-lime-400:hover{border-color:#d4e157 !important}.fill-lime-400,.fillH-lime-400:hover{fill:#d4e157 !important}.str-lime-400,.strH-lime-400:hover{stroke:#d4e157 !important}.c-lime-500,.cH-lime-500:hover{color:#cddc39 !important}.bgc-lime-500,.bgcH-lime-500:hover{background-color:#cddc39 !important}.bdc-lime-500,.bdcH-lime-500:hover{border-color:#cddc39 !important}.fill-lime-500,.fillH-lime-500:hover{fill:#cddc39 !important}.str-lime-500,.strH-lime-500:hover{stroke:#cddc39 !important}.c-lime-600,.cH-lime-600:hover{color:#c0ca33 !important}.bgc-lime-600,.bgcH-lime-600:hover{background-color:#c0ca33 !important}.bdc-lime-600,.bdcH-lime-600:hover{border-color:#c0ca33 !important}.fill-lime-600,.fillH-lime-600:hover{fill:#c0ca33 !important}.str-lime-600,.strH-lime-600:hover{stroke:#c0ca33 !important}.c-lime-700,.cH-lime-700:hover{color:#afb42b !important}.bgc-lime-700,.bgcH-lime-700:hover{background-color:#afb42b !important}.bdc-lime-700,.bdcH-lime-700:hover{border-color:#afb42b !important}.fill-lime-700,.fillH-lime-700:hover{fill:#afb42b !important}.str-lime-700,.strH-lime-700:hover{stroke:#afb42b !important}.c-lime-800,.cH-lime-800:hover{color:#9e9d24 !important}.bgc-lime-800,.bgcH-lime-800:hover{background-color:#9e9d24 !important}.bdc-lime-800,.bdcH-lime-800:hover{border-color:#9e9d24 !important}.fill-lime-800,.fillH-lime-800:hover{fill:#9e9d24 !important}.str-lime-800,.strH-lime-800:hover{stroke:#9e9d24 !important}.c-lime-900,.cH-lime-900:hover{color:#827717 !important}.bgc-lime-900,.bgcH-lime-900:hover{background-color:#827717 !important}.bdc-lime-900,.bdcH-lime-900:hover{border-color:#827717 !important}.fill-lime-900,.fillH-lime-900:hover{fill:#827717 !important}.str-lime-900,.strH-lime-900:hover{stroke:#827717 !important}.c-lime-a100,.cH-lime-a100:hover{color:#f4ff81 !important}.bgc-lime-a100,.bgcH-lime-a100:hover{background-color:#f4ff81 !important}.bdc-lime-a100,.bdcH-lime-a100:hover{border-color:#f4ff81 !important}.fill-lime-a100,.fillH-lime-a100:hover{fill:#f4ff81 !important}.str-lime-a100,.strH-lime-a100:hover{stroke:#f4ff81 !important}.c-lime-a200,.cH-lime-a200:hover{color:#eeff41 !important}.bgc-lime-a200,.bgcH-lime-a200:hover{background-color:#eeff41 !important}.bdc-lime-a200,.bdcH-lime-a200:hover{border-color:#eeff41 !important}.fill-lime-a200,.fillH-lime-a200:hover{fill:#eeff41 !important}.str-lime-a200,.strH-lime-a200:hover{stroke:#eeff41 !important}.c-lime-a400,.cH-lime-a400:hover{color:#c6ff00 !important}.bgc-lime-a400,.bgcH-lime-a400:hover{background-color:#c6ff00 !important}.bdc-lime-a400,.bdcH-lime-a400:hover{border-color:#c6ff00 !important}.fill-lime-a400,.fillH-lime-a400:hover{fill:#c6ff00 !important}.str-lime-a400,.strH-lime-a400:hover{stroke:#c6ff00 !important}.c-lime-a700,.cH-lime-a700:hover{color:#aeea00 !important}.bgc-lime-a700,.bgcH-lime-a700:hover{background-color:#aeea00 !important}.bdc-lime-a700,.bdcH-lime-a700:hover{border-color:#aeea00 !important}.fill-lime-a700,.fillH-lime-a700:hover{fill:#aeea00 !important}.str-lime-a700,.strH-lime-a700:hover{stroke:#aeea00 !important}.c-yellow-50,.cH-yellow-50:hover{color:#fffde7 !important}.bgc-yellow-50,.bgcH-yellow-50:hover{background-color:#fffde7 !important}.bdc-yellow-50,.bdcH-yellow-50:hover{border-color:#fffde7 !important}.fill-yellow-50,.fillH-yellow-50:hover{fill:#fffde7 !important}.str-yellow-50,.strH-yellow-50:hover{stroke:#fffde7 !important}.c-yellow-100,.cH-yellow-100:hover{color:#fff9c4 !important}.bgc-yellow-100,.bgcH-yellow-100:hover{background-color:#fff9c4 !important}.bdc-yellow-100,.bdcH-yellow-100:hover{border-color:#fff9c4 !important}.fill-yellow-100,.fillH-yellow-100:hover{fill:#fff9c4 !important}.str-yellow-100,.strH-yellow-100:hover{stroke:#fff9c4 !important}.c-yellow-200,.cH-yellow-200:hover{color:#fff59d !important}.bgc-yellow-200,.bgcH-yellow-200:hover{background-color:#fff59d !important}.bdc-yellow-200,.bdcH-yellow-200:hover{border-color:#fff59d !important}.fill-yellow-200,.fillH-yellow-200:hover{fill:#fff59d !important}.str-yellow-200,.strH-yellow-200:hover{stroke:#fff59d !important}.c-yellow-300,.cH-yellow-300:hover{color:#fff176 !important}.bgc-yellow-300,.bgcH-yellow-300:hover{background-color:#fff176 !important}.bdc-yellow-300,.bdcH-yellow-300:hover{border-color:#fff176 !important}.fill-yellow-300,.fillH-yellow-300:hover{fill:#fff176 !important}.str-yellow-300,.strH-yellow-300:hover{stroke:#fff176 !important}.c-yellow-400,.cH-yellow-400:hover{color:#ffee58 !important}.bgc-yellow-400,.bgcH-yellow-400:hover{background-color:#ffee58 !important}.bdc-yellow-400,.bdcH-yellow-400:hover{border-color:#ffee58 !important}.fill-yellow-400,.fillH-yellow-400:hover{fill:#ffee58 !important}.str-yellow-400,.strH-yellow-400:hover{stroke:#ffee58 !important}.c-yellow-500,.cH-yellow-500:hover{color:#ffeb3b !important}.bgc-yellow-500,.bgcH-yellow-500:hover{background-color:#ffeb3b !important}.bdc-yellow-500,.bdcH-yellow-500:hover{border-color:#ffeb3b !important}.fill-yellow-500,.fillH-yellow-500:hover{fill:#ffeb3b !important}.str-yellow-500,.strH-yellow-500:hover{stroke:#ffeb3b !important}.c-yellow-600,.cH-yellow-600:hover{color:#fdd835 !important}.bgc-yellow-600,.bgcH-yellow-600:hover{background-color:#fdd835 !important}.bdc-yellow-600,.bdcH-yellow-600:hover{border-color:#fdd835 !important}.fill-yellow-600,.fillH-yellow-600:hover{fill:#fdd835 !important}.str-yellow-600,.strH-yellow-600:hover{stroke:#fdd835 !important}.c-yellow-700,.cH-yellow-700:hover{color:#fbc02d !important}.bgc-yellow-700,.bgcH-yellow-700:hover{background-color:#fbc02d !important}.bdc-yellow-700,.bdcH-yellow-700:hover{border-color:#fbc02d !important}.fill-yellow-700,.fillH-yellow-700:hover{fill:#fbc02d !important}.str-yellow-700,.strH-yellow-700:hover{stroke:#fbc02d !important}.c-yellow-800,.cH-yellow-800:hover{color:#f9a825 !important}.bgc-yellow-800,.bgcH-yellow-800:hover{background-color:#f9a825 !important}.bdc-yellow-800,.bdcH-yellow-800:hover{border-color:#f9a825 !important}.fill-yellow-800,.fillH-yellow-800:hover{fill:#f9a825 !important}.str-yellow-800,.strH-yellow-800:hover{stroke:#f9a825 !important}.c-yellow-900,.cH-yellow-900:hover{color:#f57f17 !important}.bgc-yellow-900,.bgcH-yellow-900:hover{background-color:#f57f17 !important}.bdc-yellow-900,.bdcH-yellow-900:hover{border-color:#f57f17 !important}.fill-yellow-900,.fillH-yellow-900:hover{fill:#f57f17 !important}.str-yellow-900,.strH-yellow-900:hover{stroke:#f57f17 !important}.c-yellow-a100,.cH-yellow-a100:hover{color:#ffff8d !important}.bgc-yellow-a100,.bgcH-yellow-a100:hover{background-color:#ffff8d !important}.bdc-yellow-a100,.bdcH-yellow-a100:hover{border-color:#ffff8d !important}.fill-yellow-a100,.fillH-yellow-a100:hover{fill:#ffff8d !important}.str-yellow-a100,.strH-yellow-a100:hover{stroke:#ffff8d !important}.c-yellow-a200,.cH-yellow-a200:hover{color:#ff0 !important}.bgc-yellow-a200,.bgcH-yellow-a200:hover{background-color:#ff0 !important}.bdc-yellow-a200,.bdcH-yellow-a200:hover{border-color:#ff0 !important}.fill-yellow-a200,.fillH-yellow-a200:hover{fill:#ff0 !important}.str-yellow-a200,.strH-yellow-a200:hover{stroke:#ff0 !important}.c-yellow-a400,.cH-yellow-a400:hover{color:#ffea00 !important}.bgc-yellow-a400,.bgcH-yellow-a400:hover{background-color:#ffea00 !important}.bdc-yellow-a400,.bdcH-yellow-a400:hover{border-color:#ffea00 !important}.fill-yellow-a400,.fillH-yellow-a400:hover{fill:#ffea00 !important}.str-yellow-a400,.strH-yellow-a400:hover{stroke:#ffea00 !important}.c-yellow-a700,.cH-yellow-a700:hover{color:#ffd600 !important}.bgc-yellow-a700,.bgcH-yellow-a700:hover{background-color:#ffd600 !important}.bdc-yellow-a700,.bdcH-yellow-a700:hover{border-color:#ffd600 !important}.fill-yellow-a700,.fillH-yellow-a700:hover{fill:#ffd600 !important}.str-yellow-a700,.strH-yellow-a700:hover{stroke:#ffd600 !important}.c-amber-50,.cH-amber-50:hover{color:#fff8e1 !important}.bgc-amber-50,.bgcH-amber-50:hover{background-color:#fff8e1 !important}.bdc-amber-50,.bdcH-amber-50:hover{border-color:#fff8e1 !important}.fill-amber-50,.fillH-amber-50:hover{fill:#fff8e1 !important}.str-amber-50,.strH-amber-50:hover{stroke:#fff8e1 !important}.c-amber-100,.cH-amber-100:hover{color:#ffecb3 !important}.bgc-amber-100,.bgcH-amber-100:hover{background-color:#ffecb3 !important}.bdc-amber-100,.bdcH-amber-100:hover{border-color:#ffecb3 !important}.fill-amber-100,.fillH-amber-100:hover{fill:#ffecb3 !important}.str-amber-100,.strH-amber-100:hover{stroke:#ffecb3 !important}.c-amber-200,.cH-amber-200:hover{color:#ffe082 !important}.bgc-amber-200,.bgcH-amber-200:hover{background-color:#ffe082 !important}.bdc-amber-200,.bdcH-amber-200:hover{border-color:#ffe082 !important}.fill-amber-200,.fillH-amber-200:hover{fill:#ffe082 !important}.str-amber-200,.strH-amber-200:hover{stroke:#ffe082 !important}.c-amber-300,.cH-amber-300:hover{color:#ffd54f !important}.bgc-amber-300,.bgcH-amber-300:hover{background-color:#ffd54f !important}.bdc-amber-300,.bdcH-amber-300:hover{border-color:#ffd54f !important}.fill-amber-300,.fillH-amber-300:hover{fill:#ffd54f !important}.str-amber-300,.strH-amber-300:hover{stroke:#ffd54f !important}.c-amber-400,.cH-amber-400:hover{color:#ffca28 !important}.bgc-amber-400,.bgcH-amber-400:hover{background-color:#ffca28 !important}.bdc-amber-400,.bdcH-amber-400:hover{border-color:#ffca28 !important}.fill-amber-400,.fillH-amber-400:hover{fill:#ffca28 !important}.str-amber-400,.strH-amber-400:hover{stroke:#ffca28 !important}.c-amber-500,.cH-amber-500:hover{color:#ffc107 !important}.bgc-amber-500,.bgcH-amber-500:hover{background-color:#ffc107 !important}.bdc-amber-500,.bdcH-amber-500:hover{border-color:#ffc107 !important}.fill-amber-500,.fillH-amber-500:hover{fill:#ffc107 !important}.str-amber-500,.strH-amber-500:hover{stroke:#ffc107 !important}.c-amber-600,.cH-amber-600:hover{color:#ffb300 !important}.bgc-amber-600,.bgcH-amber-600:hover{background-color:#ffb300 !important}.bdc-amber-600,.bdcH-amber-600:hover{border-color:#ffb300 !important}.fill-amber-600,.fillH-amber-600:hover{fill:#ffb300 !important}.str-amber-600,.strH-amber-600:hover{stroke:#ffb300 !important}.c-amber-700,.cH-amber-700:hover{color:#ffa000 !important}.bgc-amber-700,.bgcH-amber-700:hover{background-color:#ffa000 !important}.bdc-amber-700,.bdcH-amber-700:hover{border-color:#ffa000 !important}.fill-amber-700,.fillH-amber-700:hover{fill:#ffa000 !important}.str-amber-700,.strH-amber-700:hover{stroke:#ffa000 !important}.c-amber-800,.cH-amber-800:hover{color:#ff8f00 !important}.bgc-amber-800,.bgcH-amber-800:hover{background-color:#ff8f00 !important}.bdc-amber-800,.bdcH-amber-800:hover{border-color:#ff8f00 !important}.fill-amber-800,.fillH-amber-800:hover{fill:#ff8f00 !important}.str-amber-800,.strH-amber-800:hover{stroke:#ff8f00 !important}.c-amber-900,.cH-amber-900:hover{color:#ff6f00 !important}.bgc-amber-900,.bgcH-amber-900:hover{background-color:#ff6f00 !important}.bdc-amber-900,.bdcH-amber-900:hover{border-color:#ff6f00 !important}.fill-amber-900,.fillH-amber-900:hover{fill:#ff6f00 !important}.str-amber-900,.strH-amber-900:hover{stroke:#ff6f00 !important}.c-amber-a100,.cH-amber-a100:hover{color:#ffe57f !important}.bgc-amber-a100,.bgcH-amber-a100:hover{background-color:#ffe57f !important}.bdc-amber-a100,.bdcH-amber-a100:hover{border-color:#ffe57f !important}.fill-amber-a100,.fillH-amber-a100:hover{fill:#ffe57f !important}.str-amber-a100,.strH-amber-a100:hover{stroke:#ffe57f !important}.c-amber-a200,.cH-amber-a200:hover{color:#ffd740 !important}.bgc-amber-a200,.bgcH-amber-a200:hover{background-color:#ffd740 !important}.bdc-amber-a200,.bdcH-amber-a200:hover{border-color:#ffd740 !important}.fill-amber-a200,.fillH-amber-a200:hover{fill:#ffd740 !important}.str-amber-a200,.strH-amber-a200:hover{stroke:#ffd740 !important}.c-amber-a400,.cH-amber-a400:hover{color:#ffc400 !important}.bgc-amber-a400,.bgcH-amber-a400:hover{background-color:#ffc400 !important}.bdc-amber-a400,.bdcH-amber-a400:hover{border-color:#ffc400 !important}.fill-amber-a400,.fillH-amber-a400:hover{fill:#ffc400 !important}.str-amber-a400,.strH-amber-a400:hover{stroke:#ffc400 !important}.c-amber-a700,.cH-amber-a700:hover{color:#ffab00 !important}.bgc-amber-a700,.bgcH-amber-a700:hover{background-color:#ffab00 !important}.bdc-amber-a700,.bdcH-amber-a700:hover{border-color:#ffab00 !important}.fill-amber-a700,.fillH-amber-a700:hover{fill:#ffab00 !important}.str-amber-a700,.strH-amber-a700:hover{stroke:#ffab00 !important}.c-orange-50,.cH-orange-50:hover{color:#fff3e0 !important}.bgc-orange-50,.bgcH-orange-50:hover{background-color:#fff3e0 !important}.bdc-orange-50,.bdcH-orange-50:hover{border-color:#fff3e0 !important}.fill-orange-50,.fillH-orange-50:hover{fill:#fff3e0 !important}.str-orange-50,.strH-orange-50:hover{stroke:#fff3e0 !important}.c-orange-100,.cH-orange-100:hover{color:#ffe0b2 !important}.bgc-orange-100,.bgcH-orange-100:hover{background-color:#ffe0b2 !important}.bdc-orange-100,.bdcH-orange-100:hover{border-color:#ffe0b2 !important}.fill-orange-100,.fillH-orange-100:hover{fill:#ffe0b2 !important}.str-orange-100,.strH-orange-100:hover{stroke:#ffe0b2 !important}.c-orange-200,.cH-orange-200:hover{color:#ffcc80 !important}.bgc-orange-200,.bgcH-orange-200:hover{background-color:#ffcc80 !important}.bdc-orange-200,.bdcH-orange-200:hover{border-color:#ffcc80 !important}.fill-orange-200,.fillH-orange-200:hover{fill:#ffcc80 !important}.str-orange-200,.strH-orange-200:hover{stroke:#ffcc80 !important}.c-orange-300,.cH-orange-300:hover{color:#ffb74d !important}.bgc-orange-300,.bgcH-orange-300:hover{background-color:#ffb74d !important}.bdc-orange-300,.bdcH-orange-300:hover{border-color:#ffb74d !important}.fill-orange-300,.fillH-orange-300:hover{fill:#ffb74d !important}.str-orange-300,.strH-orange-300:hover{stroke:#ffb74d !important}.c-orange-400,.cH-orange-400:hover{color:#ffa726 !important}.bgc-orange-400,.bgcH-orange-400:hover{background-color:#ffa726 !important}.bdc-orange-400,.bdcH-orange-400:hover{border-color:#ffa726 !important}.fill-orange-400,.fillH-orange-400:hover{fill:#ffa726 !important}.str-orange-400,.strH-orange-400:hover{stroke:#ffa726 !important}.c-orange-500,.cH-orange-500:hover{color:#ff9800 !important}.bgc-orange-500,.bgcH-orange-500:hover{background-color:#ff9800 !important}.bdc-orange-500,.bdcH-orange-500:hover{border-color:#ff9800 !important}.fill-orange-500,.fillH-orange-500:hover{fill:#ff9800 !important}.str-orange-500,.strH-orange-500:hover{stroke:#ff9800 !important}.c-orange-600,.cH-orange-600:hover{color:#fb8c00 !important}.bgc-orange-600,.bgcH-orange-600:hover{background-color:#fb8c00 !important}.bdc-orange-600,.bdcH-orange-600:hover{border-color:#fb8c00 !important}.fill-orange-600,.fillH-orange-600:hover{fill:#fb8c00 !important}.str-orange-600,.strH-orange-600:hover{stroke:#fb8c00 !important}.c-orange-700,.cH-orange-700:hover{color:#f57c00 !important}.bgc-orange-700,.bgcH-orange-700:hover{background-color:#f57c00 !important}.bdc-orange-700,.bdcH-orange-700:hover{border-color:#f57c00 !important}.fill-orange-700,.fillH-orange-700:hover{fill:#f57c00 !important}.str-orange-700,.strH-orange-700:hover{stroke:#f57c00 !important}.c-orange-800,.cH-orange-800:hover{color:#ef6c00 !important}.bgc-orange-800,.bgcH-orange-800:hover{background-color:#ef6c00 !important}.bdc-orange-800,.bdcH-orange-800:hover{border-color:#ef6c00 !important}.fill-orange-800,.fillH-orange-800:hover{fill:#ef6c00 !important}.str-orange-800,.strH-orange-800:hover{stroke:#ef6c00 !important}.c-orange-900,.cH-orange-900:hover{color:#e65100 !important}.bgc-orange-900,.bgcH-orange-900:hover{background-color:#e65100 !important}.bdc-orange-900,.bdcH-orange-900:hover{border-color:#e65100 !important}.fill-orange-900,.fillH-orange-900:hover{fill:#e65100 !important}.str-orange-900,.strH-orange-900:hover{stroke:#e65100 !important}.c-orange-a100,.cH-orange-a100:hover{color:#ffd180 !important}.bgc-orange-a100,.bgcH-orange-a100:hover{background-color:#ffd180 !important}.bdc-orange-a100,.bdcH-orange-a100:hover{border-color:#ffd180 !important}.fill-orange-a100,.fillH-orange-a100:hover{fill:#ffd180 !important}.str-orange-a100,.strH-orange-a100:hover{stroke:#ffd180 !important}.c-orange-a200,.cH-orange-a200:hover{color:#ffab40 !important}.bgc-orange-a200,.bgcH-orange-a200:hover{background-color:#ffab40 !important}.bdc-orange-a200,.bdcH-orange-a200:hover{border-color:#ffab40 !important}.fill-orange-a200,.fillH-orange-a200:hover{fill:#ffab40 !important}.str-orange-a200,.strH-orange-a200:hover{stroke:#ffab40 !important}.c-orange-a400,.cH-orange-a400:hover{color:#ff9100 !important}.bgc-orange-a400,.bgcH-orange-a400:hover{background-color:#ff9100 !important}.bdc-orange-a400,.bdcH-orange-a400:hover{border-color:#ff9100 !important}.fill-orange-a400,.fillH-orange-a400:hover{fill:#ff9100 !important}.str-orange-a400,.strH-orange-a400:hover{stroke:#ff9100 !important}.c-orange-a700,.cH-orange-a700:hover{color:#ff6d00 !important}.bgc-orange-a700,.bgcH-orange-a700:hover{background-color:#ff6d00 !important}.bdc-orange-a700,.bdcH-orange-a700:hover{border-color:#ff6d00 !important}.fill-orange-a700,.fillH-orange-a700:hover{fill:#ff6d00 !important}.str-orange-a700,.strH-orange-a700:hover{stroke:#ff6d00 !important}.c-deep-orange-50,.cH-deep-orange-50:hover{color:#fbe9e7 !important}.bgc-deep-orange-50,.bgcH-deep-orange-50:hover{background-color:#fbe9e7 !important}.bdc-deep-orange-50,.bdcH-deep-orange-50:hover{border-color:#fbe9e7 !important}.fill-deep-orange-50,.fillH-deep-orange-50:hover{fill:#fbe9e7 !important}.str-deep-orange-50,.strH-deep-orange-50:hover{stroke:#fbe9e7 !important}.c-deep-orange-100,.cH-deep-orange-100:hover{color:#ffccbc !important}.bgc-deep-orange-100,.bgcH-deep-orange-100:hover{background-color:#ffccbc !important}.bdc-deep-orange-100,.bdcH-deep-orange-100:hover{border-color:#ffccbc !important}.fill-deep-orange-100,.fillH-deep-orange-100:hover{fill:#ffccbc !important}.str-deep-orange-100,.strH-deep-orange-100:hover{stroke:#ffccbc !important}.c-deep-orange-200,.cH-deep-orange-200:hover{color:#ffab91 !important}.bgc-deep-orange-200,.bgcH-deep-orange-200:hover{background-color:#ffab91 !important}.bdc-deep-orange-200,.bdcH-deep-orange-200:hover{border-color:#ffab91 !important}.fill-deep-orange-200,.fillH-deep-orange-200:hover{fill:#ffab91 !important}.str-deep-orange-200,.strH-deep-orange-200:hover{stroke:#ffab91 !important}.c-deep-orange-300,.cH-deep-orange-300:hover{color:#ff8a65 !important}.bgc-deep-orange-300,.bgcH-deep-orange-300:hover{background-color:#ff8a65 !important}.bdc-deep-orange-300,.bdcH-deep-orange-300:hover{border-color:#ff8a65 !important}.fill-deep-orange-300,.fillH-deep-orange-300:hover{fill:#ff8a65 !important}.str-deep-orange-300,.strH-deep-orange-300:hover{stroke:#ff8a65 !important}.c-deep-orange-400,.cH-deep-orange-400:hover{color:#ff7043 !important}.bgc-deep-orange-400,.bgcH-deep-orange-400:hover{background-color:#ff7043 !important}.bdc-deep-orange-400,.bdcH-deep-orange-400:hover{border-color:#ff7043 !important}.fill-deep-orange-400,.fillH-deep-orange-400:hover{fill:#ff7043 !important}.str-deep-orange-400,.strH-deep-orange-400:hover{stroke:#ff7043 !important}.c-deep-orange-500,.cH-deep-orange-500:hover{color:#ff5722 !important}.bgc-deep-orange-500,.bgcH-deep-orange-500:hover{background-color:#ff5722 !important}.bdc-deep-orange-500,.bdcH-deep-orange-500:hover{border-color:#ff5722 !important}.fill-deep-orange-500,.fillH-deep-orange-500:hover{fill:#ff5722 !important}.str-deep-orange-500,.strH-deep-orange-500:hover{stroke:#ff5722 !important}.c-deep-orange-600,.cH-deep-orange-600:hover{color:#f4511e !important}.bgc-deep-orange-600,.bgcH-deep-orange-600:hover{background-color:#f4511e !important}.bdc-deep-orange-600,.bdcH-deep-orange-600:hover{border-color:#f4511e !important}.fill-deep-orange-600,.fillH-deep-orange-600:hover{fill:#f4511e !important}.str-deep-orange-600,.strH-deep-orange-600:hover{stroke:#f4511e !important}.c-deep-orange-700,.cH-deep-orange-700:hover{color:#e64a19 !important}.bgc-deep-orange-700,.bgcH-deep-orange-700:hover{background-color:#e64a19 !important}.bdc-deep-orange-700,.bdcH-deep-orange-700:hover{border-color:#e64a19 !important}.fill-deep-orange-700,.fillH-deep-orange-700:hover{fill:#e64a19 !important}.str-deep-orange-700,.strH-deep-orange-700:hover{stroke:#e64a19 !important}.c-deep-orange-800,.cH-deep-orange-800:hover{color:#d84315 !important}.bgc-deep-orange-800,.bgcH-deep-orange-800:hover{background-color:#d84315 !important}.bdc-deep-orange-800,.bdcH-deep-orange-800:hover{border-color:#d84315 !important}.fill-deep-orange-800,.fillH-deep-orange-800:hover{fill:#d84315 !important}.str-deep-orange-800,.strH-deep-orange-800:hover{stroke:#d84315 !important}.c-deep-orange-900,.cH-deep-orange-900:hover{color:#bf360c !important}.bgc-deep-orange-900,.bgcH-deep-orange-900:hover{background-color:#bf360c !important}.bdc-deep-orange-900,.bdcH-deep-orange-900:hover{border-color:#bf360c !important}.fill-deep-orange-900,.fillH-deep-orange-900:hover{fill:#bf360c !important}.str-deep-orange-900,.strH-deep-orange-900:hover{stroke:#bf360c !important}.c-deep-orange-a100,.cH-deep-orange-a100:hover{color:#ff9e80 !important}.bgc-deep-orange-a100,.bgcH-deep-orange-a100:hover{background-color:#ff9e80 !important}.bdc-deep-orange-a100,.bdcH-deep-orange-a100:hover{border-color:#ff9e80 !important}.fill-deep-orange-a100,.fillH-deep-orange-a100:hover{fill:#ff9e80 !important}.str-deep-orange-a100,.strH-deep-orange-a100:hover{stroke:#ff9e80 !important}.c-deep-orange-a200,.cH-deep-orange-a200:hover{color:#ff6e40 !important}.bgc-deep-orange-a200,.bgcH-deep-orange-a200:hover{background-color:#ff6e40 !important}.bdc-deep-orange-a200,.bdcH-deep-orange-a200:hover{border-color:#ff6e40 !important}.fill-deep-orange-a200,.fillH-deep-orange-a200:hover{fill:#ff6e40 !important}.str-deep-orange-a200,.strH-deep-orange-a200:hover{stroke:#ff6e40 !important}.c-deep-orange-a400,.cH-deep-orange-a400:hover{color:#ff3d00 !important}.bgc-deep-orange-a400,.bgcH-deep-orange-a400:hover{background-color:#ff3d00 !important}.bdc-deep-orange-a400,.bdcH-deep-orange-a400:hover{border-color:#ff3d00 !important}.fill-deep-orange-a400,.fillH-deep-orange-a400:hover{fill:#ff3d00 !important}.str-deep-orange-a400,.strH-deep-orange-a400:hover{stroke:#ff3d00 !important}.c-deep-orange-a700,.cH-deep-orange-a700:hover{color:#dd2c00 !important}.bgc-deep-orange-a700,.bgcH-deep-orange-a700:hover{background-color:#dd2c00 !important}.bdc-deep-orange-a700,.bdcH-deep-orange-a700:hover{border-color:#dd2c00 !important}.fill-deep-orange-a700,.fillH-deep-orange-a700:hover{fill:#dd2c00 !important}.str-deep-orange-a700,.strH-deep-orange-a700:hover{stroke:#dd2c00 !important}.c-brown-50,.cH-brown-50:hover{color:#efebe9 !important}.bgc-brown-50,.bgcH-brown-50:hover{background-color:#efebe9 !important}.bdc-brown-50,.bdcH-brown-50:hover{border-color:#efebe9 !important}.fill-brown-50,.fillH-brown-50:hover{fill:#efebe9 !important}.str-brown-50,.strH-brown-50:hover{stroke:#efebe9 !important}.c-brown-100,.cH-brown-100:hover{color:#d7ccc8 !important}.bgc-brown-100,.bgcH-brown-100:hover{background-color:#d7ccc8 !important}.bdc-brown-100,.bdcH-brown-100:hover{border-color:#d7ccc8 !important}.fill-brown-100,.fillH-brown-100:hover{fill:#d7ccc8 !important}.str-brown-100,.strH-brown-100:hover{stroke:#d7ccc8 !important}.c-brown-200,.cH-brown-200:hover{color:#bcaaa4 !important}.bgc-brown-200,.bgcH-brown-200:hover{background-color:#bcaaa4 !important}.bdc-brown-200,.bdcH-brown-200:hover{border-color:#bcaaa4 !important}.fill-brown-200,.fillH-brown-200:hover{fill:#bcaaa4 !important}.str-brown-200,.strH-brown-200:hover{stroke:#bcaaa4 !important}.c-brown-300,.cH-brown-300:hover{color:#a1887f !important}.bgc-brown-300,.bgcH-brown-300:hover{background-color:#a1887f !important}.bdc-brown-300,.bdcH-brown-300:hover{border-color:#a1887f !important}.fill-brown-300,.fillH-brown-300:hover{fill:#a1887f !important}.str-brown-300,.strH-brown-300:hover{stroke:#a1887f !important}.c-brown-400,.cH-brown-400:hover{color:#8d6e63 !important}.bgc-brown-400,.bgcH-brown-400:hover{background-color:#8d6e63 !important}.bdc-brown-400,.bdcH-brown-400:hover{border-color:#8d6e63 !important}.fill-brown-400,.fillH-brown-400:hover{fill:#8d6e63 !important}.str-brown-400,.strH-brown-400:hover{stroke:#8d6e63 !important}.c-brown-500,.cH-brown-500:hover{color:#795548 !important}.bgc-brown-500,.bgcH-brown-500:hover{background-color:#795548 !important}.bdc-brown-500,.bdcH-brown-500:hover{border-color:#795548 !important}.fill-brown-500,.fillH-brown-500:hover{fill:#795548 !important}.str-brown-500,.strH-brown-500:hover{stroke:#795548 !important}.c-brown-600,.cH-brown-600:hover{color:#6d4c41 !important}.bgc-brown-600,.bgcH-brown-600:hover{background-color:#6d4c41 !important}.bdc-brown-600,.bdcH-brown-600:hover{border-color:#6d4c41 !important}.fill-brown-600,.fillH-brown-600:hover{fill:#6d4c41 !important}.str-brown-600,.strH-brown-600:hover{stroke:#6d4c41 !important}.c-brown-700,.cH-brown-700:hover{color:#5d4037 !important}.bgc-brown-700,.bgcH-brown-700:hover{background-color:#5d4037 !important}.bdc-brown-700,.bdcH-brown-700:hover{border-color:#5d4037 !important}.fill-brown-700,.fillH-brown-700:hover{fill:#5d4037 !important}.str-brown-700,.strH-brown-700:hover{stroke:#5d4037 !important}.c-brown-800,.cH-brown-800:hover{color:#4e342e !important}.bgc-brown-800,.bgcH-brown-800:hover{background-color:#4e342e !important}.bdc-brown-800,.bdcH-brown-800:hover{border-color:#4e342e !important}.fill-brown-800,.fillH-brown-800:hover{fill:#4e342e !important}.str-brown-800,.strH-brown-800:hover{stroke:#4e342e !important}.c-brown-900,.cH-brown-900:hover{color:#3e2723 !important}.bgc-brown-900,.bgcH-brown-900:hover{background-color:#3e2723 !important}.bdc-brown-900,.bdcH-brown-900:hover{border-color:#3e2723 !important}.fill-brown-900,.fillH-brown-900:hover{fill:#3e2723 !important}.str-brown-900,.strH-brown-900:hover{stroke:#3e2723 !important}.c-grey-50,.cH-grey-50:hover{color:#fafafa !important}.bgc-grey-50,.bgcH-grey-50:hover{background-color:#fafafa !important}.bdc-grey-50,.bdcH-grey-50:hover{border-color:#fafafa !important}.fill-grey-50,.fillH-grey-50:hover{fill:#fafafa !important}.str-grey-50,.strH-grey-50:hover{stroke:#fafafa !important}.c-grey-100,.cH-grey-100:hover{color:#f5f5f5 !important}.bgc-grey-100,.bgcH-grey-100:hover{background-color:#f5f5f5 !important}.bdc-grey-100,.bdcH-grey-100:hover{border-color:#f5f5f5 !important}.fill-grey-100,.fillH-grey-100:hover{fill:#f5f5f5 !important}.str-grey-100,.strH-grey-100:hover{stroke:#f5f5f5 !important}.c-grey-200,.cH-grey-200:hover{color:#eee !important}.bgc-grey-200,.bgcH-grey-200:hover{background-color:#eee !important}.bdc-grey-200,.bdcH-grey-200:hover{border-color:#eee !important}.fill-grey-200,.fillH-grey-200:hover{fill:#eee !important}.str-grey-200,.strH-grey-200:hover{stroke:#eee !important}.c-grey-300,.cH-grey-300:hover{color:#e0e0e0 !important}.bgc-grey-300,.bgcH-grey-300:hover{background-color:#e0e0e0 !important}.bdc-grey-300,.bdcH-grey-300:hover{border-color:#e0e0e0 !important}.fill-grey-300,.fillH-grey-300:hover{fill:#e0e0e0 !important}.str-grey-300,.strH-grey-300:hover{stroke:#e0e0e0 !important}.c-grey-400,.cH-grey-400:hover{color:#bdbdbd !important}.bgc-grey-400,.bgcH-grey-400:hover{background-color:#bdbdbd !important}.bdc-grey-400,.bdcH-grey-400:hover{border-color:#bdbdbd !important}.fill-grey-400,.fillH-grey-400:hover{fill:#bdbdbd !important}.str-grey-400,.strH-grey-400:hover{stroke:#bdbdbd !important}.c-grey-500,.cH-grey-500:hover{color:#9e9e9e !important}.bgc-grey-500,.bgcH-grey-500:hover{background-color:#9e9e9e !important}.bdc-grey-500,.bdcH-grey-500:hover{border-color:#9e9e9e !important}.fill-grey-500,.fillH-grey-500:hover{fill:#9e9e9e !important}.str-grey-500,.strH-grey-500:hover{stroke:#9e9e9e !important}.c-grey-600,.cH-grey-600:hover{color:#757575 !important}.bgc-grey-600,.bgcH-grey-600:hover{background-color:#757575 !important}.bdc-grey-600,.bdcH-grey-600:hover{border-color:#757575 !important}.fill-grey-600,.fillH-grey-600:hover{fill:#757575 !important}.str-grey-600,.strH-grey-600:hover{stroke:#757575 !important}.c-grey-700,.cH-grey-700:hover{color:#616161 !important}.bgc-grey-700,.bgcH-grey-700:hover{background-color:#616161 !important}.bdc-grey-700,.bdcH-grey-700:hover{border-color:#616161 !important}.fill-grey-700,.fillH-grey-700:hover{fill:#616161 !important}.str-grey-700,.strH-grey-700:hover{stroke:#616161 !important}.c-grey-800,.cH-grey-800:hover{color:#424242 !important}.bgc-grey-800,.bgcH-grey-800:hover{background-color:#424242 !important}.bdc-grey-800,.bdcH-grey-800:hover{border-color:#424242 !important}.fill-grey-800,.fillH-grey-800:hover{fill:#424242 !important}.str-grey-800,.strH-grey-800:hover{stroke:#424242 !important}.c-grey-900,.cH-grey-900:hover{color:#212121 !important}.bgc-grey-900,.bgcH-grey-900:hover{background-color:#212121 !important}.bdc-grey-900,.bdcH-grey-900:hover{border-color:#212121 !important}.fill-grey-900,.fillH-grey-900:hover{fill:#212121 !important}.str-grey-900,.strH-grey-900:hover{stroke:#212121 !important}.c-blue-grey-50,.cH-blue-grey-50:hover{color:#eceff1 !important}.bgc-blue-grey-50,.bgcH-blue-grey-50:hover{background-color:#eceff1 !important}.bdc-blue-grey-50,.bdcH-blue-grey-50:hover{border-color:#eceff1 !important}.fill-blue-grey-50,.fillH-blue-grey-50:hover{fill:#eceff1 !important}.str-blue-grey-50,.strH-blue-grey-50:hover{stroke:#eceff1 !important}.c-blue-grey-100,.cH-blue-grey-100:hover{color:#cfd8dc !important}.bgc-blue-grey-100,.bgcH-blue-grey-100:hover{background-color:#cfd8dc !important}.bdc-blue-grey-100,.bdcH-blue-grey-100:hover{border-color:#cfd8dc !important}.fill-blue-grey-100,.fillH-blue-grey-100:hover{fill:#cfd8dc !important}.str-blue-grey-100,.strH-blue-grey-100:hover{stroke:#cfd8dc !important}.c-blue-grey-200,.cH-blue-grey-200:hover{color:#b0bec5 !important}.bgc-blue-grey-200,.bgcH-blue-grey-200:hover{background-color:#b0bec5 !important}.bdc-blue-grey-200,.bdcH-blue-grey-200:hover{border-color:#b0bec5 !important}.fill-blue-grey-200,.fillH-blue-grey-200:hover{fill:#b0bec5 !important}.str-blue-grey-200,.strH-blue-grey-200:hover{stroke:#b0bec5 !important}.c-blue-grey-300,.cH-blue-grey-300:hover{color:#90a4ae !important}.bgc-blue-grey-300,.bgcH-blue-grey-300:hover{background-color:#90a4ae !important}.bdc-blue-grey-300,.bdcH-blue-grey-300:hover{border-color:#90a4ae !important}.fill-blue-grey-300,.fillH-blue-grey-300:hover{fill:#90a4ae !important}.str-blue-grey-300,.strH-blue-grey-300:hover{stroke:#90a4ae !important}.c-blue-grey-400,.cH-blue-grey-400:hover{color:#78909c !important}.bgc-blue-grey-400,.bgcH-blue-grey-400:hover{background-color:#78909c !important}.bdc-blue-grey-400,.bdcH-blue-grey-400:hover{border-color:#78909c !important}.fill-blue-grey-400,.fillH-blue-grey-400:hover{fill:#78909c !important}.str-blue-grey-400,.strH-blue-grey-400:hover{stroke:#78909c !important}.c-blue-grey-500,.cH-blue-grey-500:hover{color:#607d8b !important}.bgc-blue-grey-500,.bgcH-blue-grey-500:hover{background-color:#607d8b !important}.bdc-blue-grey-500,.bdcH-blue-grey-500:hover{border-color:#607d8b !important}.fill-blue-grey-500,.fillH-blue-grey-500:hover{fill:#607d8b !important}.str-blue-grey-500,.strH-blue-grey-500:hover{stroke:#607d8b !important}.c-blue-grey-600,.cH-blue-grey-600:hover{color:#546e7a !important}.bgc-blue-grey-600,.bgcH-blue-grey-600:hover{background-color:#546e7a !important}.bdc-blue-grey-600,.bdcH-blue-grey-600:hover{border-color:#546e7a !important}.fill-blue-grey-600,.fillH-blue-grey-600:hover{fill:#546e7a !important}.str-blue-grey-600,.strH-blue-grey-600:hover{stroke:#546e7a !important}.c-blue-grey-700,.cH-blue-grey-700:hover{color:#455a64 !important}.bgc-blue-grey-700,.bgcH-blue-grey-700:hover{background-color:#455a64 !important}.bdc-blue-grey-700,.bdcH-blue-grey-700:hover{border-color:#455a64 !important}.fill-blue-grey-700,.fillH-blue-grey-700:hover{fill:#455a64 !important}.str-blue-grey-700,.strH-blue-grey-700:hover{stroke:#455a64 !important}.c-blue-grey-800,.cH-blue-grey-800:hover{color:#37474f !important}.bgc-blue-grey-800,.bgcH-blue-grey-800:hover{background-color:#37474f !important}.bdc-blue-grey-800,.bdcH-blue-grey-800:hover{border-color:#37474f !important}.fill-blue-grey-800,.fillH-blue-grey-800:hover{fill:#37474f !important}.str-blue-grey-800,.strH-blue-grey-800:hover{stroke:#37474f !important}.c-blue-grey-900,.cH-blue-grey-900:hover{color:#263238 !important}.bgc-blue-grey-900,.bgcH-blue-grey-900:hover{background-color:#263238 !important}.bdc-blue-grey-900,.bdcH-blue-grey-900:hover{border-color:#263238 !important}.fill-blue-grey-900,.fillH-blue-grey-900:hover{fill:#263238 !important}.str-blue-grey-900,.strH-blue-grey-900:hover{stroke:#263238 !important}.c-grey-100,.cH-grey-100:hover{color:#f9fafb !important}.bgc-grey-100,.bgcH-grey-100:hover{background-color:#f9fafb !important}.bdc-grey-100,.bdcH-grey-100:hover{border-color:#f9fafb !important}.fill-grey-100,.fillH-grey-100:hover{fill:#f9fafb !important}.str-grey-100,.strH-grey-100:hover{stroke:#f9fafb !important}.c-grey-200,.cH-grey-200:hover{color:#f2f3f5 !important}.bgc-grey-200,.bgcH-grey-200:hover{background-color:#f2f3f5 !important}.bdc-grey-200,.bdcH-grey-200:hover{border-color:#f2f3f5 !important}.fill-grey-200,.fillH-grey-200:hover{fill:#f2f3f5 !important}.str-grey-200,.strH-grey-200:hover{stroke:#f2f3f5 !important}.c-grey-300,.cH-grey-300:hover{color:#e6eaf0 !important}.bgc-grey-300,.bgcH-grey-300:hover{background-color:#e6eaf0 !important}.bdc-grey-300,.bdcH-grey-300:hover{border-color:#e6eaf0 !important}.fill-grey-300,.fillH-grey-300:hover{fill:#e6eaf0 !important}.str-grey-300,.strH-grey-300:hover{stroke:#e6eaf0 !important}.c-grey-400,.cH-grey-400:hover{color:#d3d9e3 !important}.bgc-grey-400,.bgcH-grey-400:hover{background-color:#d3d9e3 !important}.bdc-grey-400,.bdcH-grey-400:hover{border-color:#d3d9e3 !important}.fill-grey-400,.fillH-grey-400:hover{fill:#d3d9e3 !important}.str-grey-400,.strH-grey-400:hover{stroke:#d3d9e3 !important}.c-grey-500,.cH-grey-500:hover{color:#b9c2d0 !important}.bgc-grey-500,.bgcH-grey-500:hover{background-color:#b9c2d0 !important}.bdc-grey-500,.bdcH-grey-500:hover{border-color:#b9c2d0 !important}.fill-grey-500,.fillH-grey-500:hover{fill:#b9c2d0 !important}.str-grey-500,.strH-grey-500:hover{stroke:#b9c2d0 !important}.c-grey-600,.cH-grey-600:hover{color:#7c8695 !important}.bgc-grey-600,.bgcH-grey-600:hover{background-color:#7c8695 !important}.bdc-grey-600,.bdcH-grey-600:hover{border-color:#7c8695 !important}.fill-grey-600,.fillH-grey-600:hover{fill:#7c8695 !important}.str-grey-600,.strH-grey-600:hover{stroke:#7c8695 !important}.c-grey-700,.cH-grey-700:hover{color:#72777a !important}.bgc-grey-700,.bgcH-grey-700:hover{background-color:#72777a !important}.bdc-grey-700,.bdcH-grey-700:hover{border-color:#72777a !important}.fill-grey-700,.fillH-grey-700:hover{fill:#72777a !important}.str-grey-700,.strH-grey-700:hover{stroke:#72777a !important}.c-grey-800,.cH-grey-800:hover{color:#565a5c !important}.bgc-grey-800,.bgcH-grey-800:hover{background-color:#565a5c !important}.bdc-grey-800,.bdcH-grey-800:hover{border-color:#565a5c !important}.fill-grey-800,.fillH-grey-800:hover{fill:#565a5c !important}.str-grey-800,.strH-grey-800:hover{stroke:#565a5c !important}.c-grey-900,.cH-grey-900:hover{color:#313435 !important}.bgc-grey-900,.bgcH-grey-900:hover{background-color:#313435 !important}.bdc-grey-900,.bdcH-grey-900:hover{border-color:#313435 !important}.fill-grey-900,.fillH-grey-900:hover{fill:#313435 !important}.str-grey-900,.strH-grey-900:hover{stroke:#313435 !important}.ps{overflow:hidden !important;overflow-anchor:none;-ms-overflow-style:none;touch-action:auto;-ms-touch-action:auto}.ps__rail-x{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;height:15px;bottom:0px;position:absolute}.ps__rail-y{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;width:15px;right:0;position:absolute}.ps--active-x>.ps__rail-x,.ps--active-y>.ps__rail-y{display:block;background-color:transparent}.ps:hover>.ps__rail-x,.ps:hover>.ps__rail-y,.ps--focus>.ps__rail-x,.ps--focus>.ps__rail-y,.ps--scrolling-x>.ps__rail-x,.ps--scrolling-y>.ps__rail-y{opacity:.6}.ps .ps__rail-x:hover,.ps .ps__rail-y:hover,.ps .ps__rail-x:focus,.ps .ps__rail-y:focus,.ps .ps__rail-x.ps--clicking,.ps .ps__rail-y.ps--clicking{background-color:#eee;opacity:.9}.ps__thumb-x{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,height .2s ease-in-out;-webkit-transition:background-color .2s linear,height .2s ease-in-out;height:6px;bottom:2px;position:absolute}.ps__thumb-y{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,width .2s ease-in-out;-webkit-transition:background-color .2s linear,width .2s ease-in-out;width:6px;right:2px;position:absolute}.ps__rail-x:hover>.ps__thumb-x,.ps__rail-x:focus>.ps__thumb-x,.ps__rail-x.ps--clicking .ps__thumb-x{background-color:#999;height:11px}.ps__rail-y:hover>.ps__thumb-y,.ps__rail-y:focus>.ps__thumb-y,.ps__rail-y.ps--clicking .ps__thumb-y{background-color:#999;width:11px}@supports(-ms-overflow-style: none){.ps{overflow:auto !important}}@media screen and (-ms-high-contrast: active),(-ms-high-contrast: none){.ps{overflow:auto !important}}@font-face{font-family:"themify";src:url(9bad94440d49256265a5.eot?-fvbane);src:url(9bad94440d49256265a5.eot?#iefix-fvbane) format("embedded-opentype"),url(29b39089170885ae2967.woff?-fvbane) format("woff"),url(eda8b94308c6f538f04a.ttf?-fvbane) format("truetype"),url(assets/themify.svg#themify) format("svg");font-weight:normal;font-style:normal}[class^=ti-],[class*=" ti-"]{font-family:"themify";speak:none;font-style:normal;font-weight:normal;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ti-wand:before{content:""}.ti-volume:before{content:""}.ti-user:before{content:""}.ti-unlock:before{content:""}.ti-unlink:before{content:""}.ti-trash:before{content:""}.ti-thought:before{content:""}.ti-target:before{content:""}.ti-tag:before{content:""}.ti-tablet:before{content:""}.ti-star:before{content:""}.ti-spray:before{content:""}.ti-signal:before{content:""}.ti-shopping-cart:before{content:""}.ti-shopping-cart-full:before{content:""}.ti-settings:before{content:""}.ti-search:before{content:""}.ti-zoom-in:before{content:""}.ti-zoom-out:before{content:""}.ti-cut:before{content:""}.ti-ruler:before{content:""}.ti-ruler-pencil:before{content:""}.ti-ruler-alt:before{content:""}.ti-bookmark:before{content:""}.ti-bookmark-alt:before{content:""}.ti-reload:before{content:""}.ti-plus:before{content:""}.ti-pin:before{content:""}.ti-pencil:before{content:""}.ti-pencil-alt:before{content:""}.ti-paint-roller:before{content:""}.ti-paint-bucket:before{content:""}.ti-na:before{content:""}.ti-mobile:before{content:""}.ti-minus:before{content:""}.ti-medall:before{content:""}.ti-medall-alt:before{content:""}.ti-marker:before{content:""}.ti-marker-alt:before{content:""}.ti-arrow-up:before{content:""}.ti-arrow-right:before{content:""}.ti-arrow-left:before{content:""}.ti-arrow-down:before{content:""}.ti-lock:before{content:""}.ti-location-arrow:before{content:""}.ti-link:before{content:""}.ti-layout:before{content:""}.ti-layers:before{content:""}.ti-layers-alt:before{content:""}.ti-key:before{content:""}.ti-import:before{content:""}.ti-image:before{content:""}.ti-heart:before{content:""}.ti-heart-broken:before{content:""}.ti-hand-stop:before{content:""}.ti-hand-open:before{content:""}.ti-hand-drag:before{content:""}.ti-folder:before{content:""}.ti-flag:before{content:""}.ti-flag-alt:before{content:""}.ti-flag-alt-2:before{content:""}.ti-eye:before{content:""}.ti-export:before{content:""}.ti-exchange-vertical:before{content:""}.ti-desktop:before{content:""}.ti-cup:before{content:""}.ti-crown:before{content:""}.ti-comments:before{content:""}.ti-comment:before{content:""}.ti-comment-alt:before{content:""}.ti-close:before{content:""}.ti-clip:before{content:""}.ti-angle-up:before{content:""}.ti-angle-right:before{content:""}.ti-angle-left:before{content:""}.ti-angle-down:before{content:""}.ti-check:before{content:""}.ti-check-box:before{content:""}.ti-camera:before{content:""}.ti-announcement:before{content:""}.ti-brush:before{content:""}.ti-briefcase:before{content:""}.ti-bolt:before{content:""}.ti-bolt-alt:before{content:""}.ti-blackboard:before{content:""}.ti-bag:before{content:""}.ti-move:before{content:""}.ti-arrows-vertical:before{content:""}.ti-arrows-horizontal:before{content:""}.ti-fullscreen:before{content:""}.ti-arrow-top-right:before{content:""}.ti-arrow-top-left:before{content:""}.ti-arrow-circle-up:before{content:""}.ti-arrow-circle-right:before{content:""}.ti-arrow-circle-left:before{content:""}.ti-arrow-circle-down:before{content:""}.ti-angle-double-up:before{content:""}.ti-angle-double-right:before{content:""}.ti-angle-double-left:before{content:""}.ti-angle-double-down:before{content:""}.ti-zip:before{content:""}.ti-world:before{content:""}.ti-wheelchair:before{content:""}.ti-view-list:before{content:""}.ti-view-list-alt:before{content:""}.ti-view-grid:before{content:""}.ti-uppercase:before{content:""}.ti-upload:before{content:""}.ti-underline:before{content:""}.ti-truck:before{content:""}.ti-timer:before{content:""}.ti-ticket:before{content:""}.ti-thumb-up:before{content:""}.ti-thumb-down:before{content:""}.ti-text:before{content:""}.ti-stats-up:before{content:""}.ti-stats-down:before{content:""}.ti-split-v:before{content:""}.ti-split-h:before{content:""}.ti-smallcap:before{content:""}.ti-shine:before{content:""}.ti-shift-right:before{content:""}.ti-shift-left:before{content:""}.ti-shield:before{content:""}.ti-notepad:before{content:""}.ti-server:before{content:""}.ti-quote-right:before{content:""}.ti-quote-left:before{content:""}.ti-pulse:before{content:""}.ti-printer:before{content:""}.ti-power-off:before{content:""}.ti-plug:before{content:""}.ti-pie-chart:before{content:""}.ti-paragraph:before{content:""}.ti-panel:before{content:""}.ti-package:before{content:""}.ti-music:before{content:""}.ti-music-alt:before{content:""}.ti-mouse:before{content:""}.ti-mouse-alt:before{content:""}.ti-money:before{content:""}.ti-microphone:before{content:""}.ti-menu:before{content:""}.ti-menu-alt:before{content:""}.ti-map:before{content:""}.ti-map-alt:before{content:""}.ti-loop:before{content:""}.ti-location-pin:before{content:""}.ti-list:before{content:""}.ti-light-bulb:before{content:""}.ti-Italic:before{content:""}.ti-info:before{content:""}.ti-infinite:before{content:""}.ti-id-badge:before{content:""}.ti-hummer:before{content:""}.ti-home:before{content:""}.ti-help:before{content:""}.ti-headphone:before{content:""}.ti-harddrives:before{content:""}.ti-harddrive:before{content:""}.ti-gift:before{content:""}.ti-game:before{content:""}.ti-filter:before{content:""}.ti-files:before{content:""}.ti-file:before{content:""}.ti-eraser:before{content:""}.ti-envelope:before{content:""}.ti-download:before{content:""}.ti-direction:before{content:""}.ti-direction-alt:before{content:""}.ti-dashboard:before{content:""}.ti-control-stop:before{content:""}.ti-control-shuffle:before{content:""}.ti-control-play:before{content:""}.ti-control-pause:before{content:""}.ti-control-forward:before{content:""}.ti-control-backward:before{content:""}.ti-cloud:before{content:""}.ti-cloud-up:before{content:""}.ti-cloud-down:before{content:""}.ti-clipboard:before{content:""}.ti-car:before{content:""}.ti-calendar:before{content:""}.ti-book:before{content:""}.ti-bell:before{content:""}.ti-basketball:before{content:""}.ti-bar-chart:before{content:""}.ti-bar-chart-alt:before{content:""}.ti-back-right:before{content:""}.ti-back-left:before{content:""}.ti-arrows-corner:before{content:""}.ti-archive:before{content:""}.ti-anchor:before{content:""}.ti-align-right:before{content:""}.ti-align-left:before{content:""}.ti-align-justify:before{content:""}.ti-align-center:before{content:""}.ti-alert:before{content:""}.ti-alarm-clock:before{content:""}.ti-agenda:before{content:""}.ti-write:before{content:""}.ti-window:before{content:""}.ti-widgetized:before{content:""}.ti-widget:before{content:""}.ti-widget-alt:before{content:""}.ti-wallet:before{content:""}.ti-video-clapper:before{content:""}.ti-video-camera:before{content:""}.ti-vector:before{content:""}.ti-themify-logo:before{content:""}.ti-themify-favicon:before{content:""}.ti-themify-favicon-alt:before{content:""}.ti-support:before{content:""}.ti-stamp:before{content:""}.ti-split-v-alt:before{content:""}.ti-slice:before{content:""}.ti-shortcode:before{content:""}.ti-shift-right-alt:before{content:""}.ti-shift-left-alt:before{content:""}.ti-ruler-alt-2:before{content:""}.ti-receipt:before{content:""}.ti-pin2:before{content:""}.ti-pin-alt:before{content:""}.ti-pencil-alt2:before{content:""}.ti-palette:before{content:""}.ti-more:before{content:""}.ti-more-alt:before{content:""}.ti-microphone-alt:before{content:""}.ti-magnet:before{content:""}.ti-line-double:before{content:""}.ti-line-dotted:before{content:""}.ti-line-dashed:before{content:""}.ti-layout-width-full:before{content:""}.ti-layout-width-default:before{content:""}.ti-layout-width-default-alt:before{content:""}.ti-layout-tab:before{content:""}.ti-layout-tab-window:before{content:""}.ti-layout-tab-v:before{content:""}.ti-layout-tab-min:before{content:""}.ti-layout-slider:before{content:""}.ti-layout-slider-alt:before{content:""}.ti-layout-sidebar-right:before{content:""}.ti-layout-sidebar-none:before{content:""}.ti-layout-sidebar-left:before{content:""}.ti-layout-placeholder:before{content:""}.ti-layout-menu:before{content:""}.ti-layout-menu-v:before{content:""}.ti-layout-menu-separated:before{content:""}.ti-layout-menu-full:before{content:""}.ti-layout-media-right-alt:before{content:""}.ti-layout-media-right:before{content:""}.ti-layout-media-overlay:before{content:""}.ti-layout-media-overlay-alt:before{content:""}.ti-layout-media-overlay-alt-2:before{content:""}.ti-layout-media-left-alt:before{content:""}.ti-layout-media-left:before{content:""}.ti-layout-media-center-alt:before{content:""}.ti-layout-media-center:before{content:""}.ti-layout-list-thumb:before{content:""}.ti-layout-list-thumb-alt:before{content:""}.ti-layout-list-post:before{content:""}.ti-layout-list-large-image:before{content:""}.ti-layout-line-solid:before{content:""}.ti-layout-grid4:before{content:""}.ti-layout-grid3:before{content:""}.ti-layout-grid2:before{content:""}.ti-layout-grid2-thumb:before{content:""}.ti-layout-cta-right:before{content:""}.ti-layout-cta-left:before{content:""}.ti-layout-cta-center:before{content:""}.ti-layout-cta-btn-right:before{content:""}.ti-layout-cta-btn-left:before{content:""}.ti-layout-column4:before{content:""}.ti-layout-column3:before{content:""}.ti-layout-column2:before{content:""}.ti-layout-accordion-separated:before{content:""}.ti-layout-accordion-merged:before{content:""}.ti-layout-accordion-list:before{content:""}.ti-ink-pen:before{content:""}.ti-info-alt:before{content:""}.ti-help-alt:before{content:""}.ti-headphone-alt:before{content:""}.ti-hand-point-up:before{content:""}.ti-hand-point-right:before{content:""}.ti-hand-point-left:before{content:""}.ti-hand-point-down:before{content:""}.ti-gallery:before{content:""}.ti-face-smile:before{content:""}.ti-face-sad:before{content:""}.ti-credit-card:before{content:""}.ti-control-skip-forward:before{content:""}.ti-control-skip-backward:before{content:""}.ti-control-record:before{content:""}.ti-control-eject:before{content:""}.ti-comments-smiley:before{content:""}.ti-brush-alt:before{content:""}.ti-youtube:before{content:""}.ti-vimeo:before{content:""}.ti-twitter:before{content:""}.ti-time:before{content:""}.ti-tumblr:before{content:""}.ti-skype:before{content:""}.ti-share:before{content:""}.ti-share-alt:before{content:""}.ti-rocket:before{content:""}.ti-pinterest:before{content:""}.ti-new-window:before{content:""}.ti-microsoft:before{content:""}.ti-list-ol:before{content:""}.ti-linkedin:before{content:""}.ti-layout-sidebar-2:before{content:""}.ti-layout-grid4-alt:before{content:""}.ti-layout-grid3-alt:before{content:""}.ti-layout-grid2-alt:before{content:""}.ti-layout-column4-alt:before{content:""}.ti-layout-column3-alt:before{content:""}.ti-layout-column2-alt:before{content:""}.ti-instagram:before{content:""}.ti-google:before{content:""}.ti-github:before{content:""}.ti-flickr:before{content:""}.ti-facebook:before{content:""}.ti-dropbox:before{content:""}.ti-dribbble:before{content:""}.ti-apple:before{content:""}.ti-android:before{content:""}.ti-save:before{content:""}.ti-save-alt:before{content:""}.ti-yahoo:before{content:""}.ti-wordpress:before{content:""}.ti-vimeo-alt:before{content:""}.ti-twitter-alt:before{content:""}.ti-tumblr-alt:before{content:""}.ti-trello:before{content:""}.ti-stack-overflow:before{content:""}.ti-soundcloud:before{content:""}.ti-sharethis:before{content:""}.ti-sharethis-alt:before{content:""}.ti-reddit:before{content:""}.ti-pinterest-alt:before{content:""}.ti-microsoft-alt:before{content:""}.ti-linux:before{content:""}.ti-jsfiddle:before{content:""}.ti-joomla:before{content:""}.ti-html5:before{content:""}.ti-flickr-alt:before{content:""}.ti-email:before{content:""}.ti-drupal:before{content:""}.ti-dropbox-alt:before{content:""}.ti-css3:before{content:""}.ti-rss:before{content:""}.ti-rss-alt:before{content:""}/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:"FontAwesome";src:url(8b43027f47b20503057d.eot?v=4.7.0);src:url(8b43027f47b20503057d.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(20fd1704ea223900efa9.woff2?v=4.7.0) format("woff2"),url(f691f37e57f04c152e23.woff?v=4.7.0) format("woff"),url(1e59d2330b4c6deb84b3.ttf?v=4.7.0) format("truetype"),url(assets/fontawesome-webfont.svg#fontawesomeregular) format("svg");font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-remove:before,.fa-close:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-gear:before,.fa-cog:before{content:""}.fa-trash-o:before{content:""}.fa-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-rotate-right:before,.fa-repeat:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before{content:""}.fa-check-circle:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-warning:before,.fa-exclamation-triangle:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-gears:before,.fa-cogs:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before{content:""}.fa-arrow-circle-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-save:before,.fa-floppy-o:before{content:""}.fa-square:before{content:""}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-unsorted:before,.fa-sort:before{content:""}.fa-sort-down:before,.fa-sort-desc:before{content:""}.fa-sort-up:before,.fa-sort-asc:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-legal:before,.fa-gavel:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-flash:before,.fa-bolt:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-paste:before,.fa-clipboard:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-unlink:before,.fa-chain-broken:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:""}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:""}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:""}.fa-euro:before,.fa-eur:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-rupee:before,.fa-inr:before{content:""}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:""}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:""}.fa-won:before,.fa-krw:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-turkish-lira:before,.fa-try:before{content:""}.fa-plus-square-o:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-institution:before,.fa-bank:before,.fa-university:before{content:""}.fa-mortar-board:before,.fa-graduation-cap:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:""}.fa-file-zip-o:before,.fa-file-archive-o:before{content:""}.fa-file-sound-o:before,.fa-file-audio-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:""}.fa-ge:before,.fa-empire:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-send:before,.fa-paper-plane:before{content:""}.fa-send-o:before,.fa-paper-plane-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-hotel:before,.fa-bed:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-yc:before,.fa-y-combinator:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-tv:before,.fa-television:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:""}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-signing:before,.fa-sign-language:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-vcard:before,.fa-address-card:before{content:""}.fa-vcard-o:before,.fa-address-card-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.ps__rail-y{right:0 !important;left:auto !important}#jqstooltip{width:auto !important;height:auto !important;padding:5px 10px !important;border-radius:2px !important}table.dataTable{background:var(--c-bkg-card);color:var(--c-text-base)}table.dataTable.no-footer{border-bottom:1px solid var(--c-border);margin-bottom:20px}table.dataTable thead th{background:var(--c-bkg-card);color:var(--c-text-base);border-color:var(--c-border)}table.dataTable tbody td{background:var(--c-bkg-card);color:var(--c-text-base);border-color:var(--c-border)}table.dataTable tbody tr:nth-child(even) td{background:color-mix(in srgb, var(--c-bkg-card) 95%, var(--c-border))}table.dataTable tbody tr:hover td{background:color-mix(in srgb, var(--c-bkg-card) 90%, var(--c-border)) !important}.sorting_asc:focus{outline:none}.dataTables_wrapper{overflow:hidden;padding-bottom:5px}.dataTables_wrapper .dataTables_length{color:var(--c-text-base);float:left}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_length{text-align:left}}.dataTables_wrapper .dataTables_length select{border:1px solid var(--c-border);border-radius:2px;box-shadow:none;height:35px;font-size:14px;padding:5px;margin-left:5px;margin-right:5px;color:var(--c-text-base);background:var(--c-bkg-card);transition:all .2s ease-in}.dataTables_wrapper .dataTables_filter{color:var(--c-text-base);float:right}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_filter{text-align:left}}.dataTables_wrapper .dataTables_filter input{border:1px solid var(--c-border);border-radius:2px;box-shadow:none;height:35px;font-size:14px;margin-left:15px;padding:5px;color:var(--c-text-base);background:var(--c-bkg-card);transition:all .2s ease-in}.dataTables_wrapper .dataTables_filter input::-moz-placeholder{color:var(--c-text-muted)}.dataTables_wrapper .dataTables_filter input::placeholder{color:var(--c-text-muted)}.dataTables_wrapper .dataTables_info{color:var(--c-text-base);float:left}.dataTables_wrapper .dataTables_processing{color:var(--c-text-base)}.dataTables_wrapper .dataTables_paginate{color:var(--c-text-base);float:right}.dataTables_wrapper .dataTables_paginate .paginate_button{color:var(--c-text-base) !important;padding:6px 12px;border-radius:2px;margin-right:10px;transition:all .2s ease-in-out;-webkit-text-decoration:none;text-decoration:none;background:var(--c-bkg-card);border:1px solid var(--c-border)}.dataTables_wrapper .dataTables_paginate .paginate_button.next,.dataTables_wrapper .dataTables_paginate .paginate_button.previous,.dataTables_wrapper .dataTables_paginate .paginate_button.first,.dataTables_wrapper .dataTables_paginate .paginate_button.last{border-radius:2px;-webkit-text-decoration:none;text-decoration:none}.dataTables_wrapper .dataTables_paginate .paginate_button.next:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.next:focus,.dataTables_wrapper .dataTables_paginate .paginate_button.previous:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.previous:focus,.dataTables_wrapper .dataTables_paginate .paginate_button.first:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.first:focus,.dataTables_wrapper .dataTables_paginate .paginate_button.last:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.last:focus{color:#fff !important;background:var(--c-primary)}.dataTables_wrapper .dataTables_paginate .paginate_button.next.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.previous.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.first.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.last.disabled{opacity:.4;pointer-events:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:#fff !important;background:var(--c-primary);border-color:var(--c-primary)}.dataTables_wrapper .dataTables_paginate .paginate_button.current{color:#fff !important;background:var(--c-primary);border-color:var(--c-primary)}.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#fff !important;background:var(--c-primary)}.dataTables_wrapper .status{width:5px;height:5px}.fc{background-color:var(--c-bkg-card) !important;border:1px solid var(--c-border) !important;color:var(--c-text-base) !important}.fc table{background-color:var(--c-bkg-card) !important;border-color:var(--c-border) !important}.fc th{text-align:center;padding:15px;background-color:var(--c-bkg-card) !important;color:var(--c-text-base) !important;font-size:12px;text-transform:uppercase;border-right-width:0;border-left-width:0;border-color:var(--c-border) !important}.fc td{background-color:var(--c-bkg-card) !important;border-color:var(--c-border) !important;color:var(--c-text-base) !important}.fc button{background-color:var(--c-bkg-card) !important;background-image:none;height:37px;padding:0 15px;color:var(--c-text-base) !important;border-color:var(--c-border) !important}.fc button.fc-state-default{border-color:var(--c-border) !important;box-shadow:none;background-color:var(--c-bkg-card) !important;color:var(--c-text-base) !important}.fc button.fc-state-active{box-shadow:none;background-color:var(--c-primary) !important;color:#fff !important;border-color:var(--c-primary) !important}.fc button:hover{background-color:color-mix(in srgb, var(--c-bkg-card) 85%, var(--c-border)) !important;border-color:var(--c-border) !important;color:var(--c-text-base) !important}.fc .fc-head{background-color:var(--c-bkg-card) !important;border-color:var(--c-border) !important}.fc .fc-head-container{background-color:var(--c-bkg-card) !important;border-color:var(--c-border) !important}.fc .fc-body{background-color:var(--c-bkg-card) !important;border-color:var(--c-border) !important}.fc .fc-day{background-color:var(--c-bkg-card) !important;border-color:var(--c-border) !important}.fc .fc-day:hover{background-color:color-mix(in srgb, var(--c-bkg-card) 90%, var(--c-border)) !important}.fc .fc-week{background-color:var(--c-bkg-card) !important;border-color:var(--c-border) !important}.fc .fc-widget-header,.fc .fc-widget-content{border-color:var(--c-border) !important;background-color:var(--c-bkg-card) !important}.fc-toolbar{padding:20px 20px 0;background-color:var(--c-bkg-card) !important}.fc-view,.fc-view>table{background-color:var(--c-bkg-card) !important;border-color:var(--c-border) !important}.fc-basic-view td.fc-day-number,.fc-basic-view td.fc-week-number span{padding:7px 15px;color:var(--c-text-base) !important}.fc-unthemed{background-color:var(--c-bkg-card) !important}.fc-unthemed .fc-content,.fc-unthemed .fc-divider,.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed th,.fc-unthemed thead{border-color:var(--c-border) !important;background-color:var(--c-bkg-card) !important}.fc-unthemed .fc-today{background-color:color-mix(in srgb, var(--c-primary) 10%, var(--c-bkg-card)) !important}.fc-unthemed .fc-popover{background:var(--c-bkg-card) !important;color:var(--c-text-base) !important;border-color:var(--c-border) !important}.fc-unthemed .fc-other-month .fc-day-number{color:var(--c-text-muted) !important}.fc-unthemed .fc-sun,.fc-unthemed .fc-sat{background-color:color-mix(in srgb, var(--c-bkg-card) 95%, var(--c-border)) !important}.fc-basic-view{background-color:var(--c-bkg-card) !important}.fc-basic-view .fc-day-number{color:var(--c-text-base) !important}.fc-basic-view .fc-day-number.fc-today{background-color:var(--c-primary) !important;color:#fff !important;display:inline-block;float:right;border-radius:50%;padding:6px 8px;line-height:1;margin:4px 4px 0 0}.fc-basic-view .fc-day-header{background-color:var(--c-bkg-card) !important;color:var(--c-text-base) !important;border-color:var(--c-border) !important}.fc-event-container .fc-event{border-radius:3px;border:0;background-color:var(--c-primary) !important;color:#fff !important;font-size:12px;line-height:2.5;padding:0 15px}.fc-event-container .fc-event:hover{background-color:var(--c-primary-hover) !important;opacity:.9}.fc-event-container .fc-day-grid-event{margin:1px 5px 5px}.fc *{border-color:var(--c-border) !important}.fc .fc-grid,.fc .fc-grid table,.fc .fc-grid tr,.fc .fc-grid td,.fc .fc-grid th{border-color:var(--c-border) !important;background-color:var(--c-bkg-card) !important}.datepicker{border-radius:0;padding:25px;box-shadow:none;border:1px solid #e6ecf5}.datepicker table tr th,.datepicker table tr td{border-radius:0;width:40px;height:35px}.datepicker table tr td{transition:all .2s ease-in-out}.datepicker table tr td span{border-radius:0}.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.active:hover,.datepicker table tr td span.active:hover.active:hover,.datepicker table tr td.active:active,.datepicker table tr td.active.highlighted:active,.datepicker table tr td.active.active,.datepicker table tr td.active.highlighted.active,.datepicker table tr td.active:active:hover,.datepicker table tr td.active.highlighted:active:hover,.datepicker table tr td.active.active:hover,.datepicker table tr td.active.highlighted.active:hover,.datepicker table tr td.active:active:focus,.datepicker table tr td.active.highlighted:active:focus,.datepicker table tr td.active.active:focus,.datepicker table tr td.active.highlighted.active:focus,.datepicker table tr td.active:active.focus,.datepicker table tr td.active.highlighted:active.focus,.datepicker table tr td.active.active.focus,.datepicker table tr td.active.highlighted.active.focus{color:#fff;background-color:#7774e7;border-color:rgba(0,0,0,0)}.datepicker table tr td span:hover,.datepicker table tr td span.focused{background:#7774e7;color:#fff}.datepicker table tr td.day:hover,.datepicker table tr td.focused{background:#7774e7;color:#fff;cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .prev:hover,.datepicker .next:hover,.datepicker tfoot tr th:hover{background:#7774e7;color:#fff;cursor:pointer}.datepicker-inline{width:330px}.daterangepicker{border-radius:0;padding:30px;box-shadow:none;border:1px solid #e6ecf5}.daterangepicker .input-mini{border-radius:0;margin-bottom:20px;height:40px;padding:0 6px 0 35px}.daterangepicker .input-mini.active{border-radius:0;border-color:rgb(109.1897233202,194.347826087,245.8102766798)}.daterangepicker .daterangepicker_input i{position:absolute;left:10px;top:13px}.daterangepicker td,.daterangepicker th{border-radius:0;width:40px;height:35px}.daterangepicker td.available:hover,.daterangepicker th.available:hover{background:#7774e7;color:#fff}.daterangepicker td.in-range{background-color:rgba(0,0,0,0);color:#7774e7}.daterangepicker td.active{background-color:#7774e7;border-color:rgba(0,0,0,0);color:#fff}.daterangepicker td.active:hover{background-color:#7774e7;border-color:rgba(0,0,0,0);color:#fff}.daterangepicker td.start-date{border-radius:0}.daterangepicker td.start-date.end-date{border-radius:0}.daterangepicker td.end-date{border-radius:0}.daterangepicker select.hourselect,.daterangepicker select.minuteselect,.daterangepicker select.secondselect,.daterangepicker select.ampmselect{border:1px solid #e6ecf5;min-height:30px}.daterangepicker .calendar-time i{top:8px;left:35px}@media screen and (min-width: 768px){.daterangepicker .calendar{margin-right:20px !important}}@media(max-width: 480px){.theme-toggle .form-check-label{display:none !important}.theme-toggle{padding:0 6px !important;height:60px !important;justify-content:center !important;min-height:60px !important}.theme-toggle .form-check{height:100% !important}.theme-toggle .form-check .form-check-label{font-size:11px !important;font-weight:500 !important}.theme-toggle .form-check .form-check-label i{font-size:14px !important}.theme-toggle .form-check .form-check-input{margin:0 6px !important;width:38px !important;height:22px !important;border-radius:11px !important;border-width:2px !important}.d-none-xs{display:none !important}.fs-xs{font-size:10px !important}.p-xs{padding:5px !important}.m-xs{margin:5px !important}}@media(max-width: 767px){.dropdown-menu.show{position:fixed !important;top:65px !important;left:5px !important;right:5px !important;width:auto !important;transform:none !important;z-index:1050;max-height:calc(100vh - 85px);overflow-y:auto}.notifications .dropdown-menu .scrollable{max-height:300px;overflow-y:auto}}@media(max-width: 991px){.header .nav-right>li>a{padding:0 6px !important}.header .nav-left>li>a{padding:0 8px !important}}@media(max-width: 480px){.header .nav-right>li>a{padding:0 4px !important;font-size:14px !important}.header .nav-left>li>a{padding:0 6px !important}.search-box:not(.active){display:none !important}}@media(max-width: 767px){.mobile-compact{padding:5px !important;margin:2px !important}}@media(max-width: 767px){.mobile-hidden{display:none !important}}.mobile-only{display:none !important}@media(max-width: 767px){.mobile-only{display:block !important}}@media(max-width: 767px){.mobile-no-scroll{overflow-x:hidden !important}}@media screen and (min-width: 768px){.header{margin-top:0 !important;top:0 !important}.page-container{padding-top:61px !important}.main-content{margin-top:0 !important;padding-top:20px !important}.theme-toggle{display:flex !important;align-items:center !important;height:65px !important;padding:0 15px !important}.theme-toggle .form-check{margin:0 !important;display:flex !important;align-items:center !important}.theme-toggle .form-check .form-check-label{color:var(--c-text-muted) !important;font-size:11px !important;font-weight:500 !important;text-transform:uppercase !important;letter-spacing:.5px !important;display:inline !important}.theme-toggle .form-check .form-check-label i{font-size:12px !important}.theme-toggle .form-check .form-check-input{width:2.5rem !important;height:1.25rem !important;background-color:var(--c-border) !important;border:1px solid var(--c-border) !important;cursor:pointer !important;margin:0 8px !important}.theme-toggle .form-check .form-check-input:checked{background-color:var(--c-primary) !important;border-color:var(--c-primary) !important}.theme-toggle .form-check .form-check-input:focus{box-shadow:0 0 0 .2rem color-mix(in srgb, var(--c-primary) 25%, transparent) !important;border-color:var(--c-primary) !important}}@media screen and (max-width: 767px){.header{position:fixed !important;top:0 !important;left:0 !important;right:0 !important;z-index:1000 !important;width:100% !important;height:auto !important;min-height:60px !important;padding:0 !important;margin:0 !important;margin-top:0 !important}.header .header-container{display:flex !important;align-items:center !important;justify-content:space-between !important;flex-wrap:nowrap !important;padding:8px 8px !important;height:auto !important;min-height:60px !important;max-height:60px !important;overflow:visible !important;gap:12px !important}.header .nav-left{display:flex !important;align-items:center !important;flex:1 1 auto !important;margin:0 !important;padding:0 !important;float:none !important;max-width:65% !important;gap:4px !important;justify-content:flex-start !important}.header .nav-left::before{content:"A" !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;width:32px !important;height:32px !important;background:#007bff !important;color:#fff !important;border-radius:6px !important;font-weight:bold !important;font-size:18px !important;flex-shrink:0 !important;order:-1 !important;margin-right:6px !important}.header .nav-left>li{display:inline-flex !important;align-items:center !important;margin:0 !important;float:none !important}.header .nav-left>li>a{padding:8px 6px !important;margin:0 !important;min-height:auto !important;line-height:1 !important;display:flex !important;align-items:center !important;border-radius:4px !important}.header .nav-left>li>a i{font-size:20px !important;margin:0 !important}.header .nav-left>li>a:hover{background:rgba(0,0,0,.05) !important}.header .nav-left>li:first-child>a{padding:8px 6px !important}.header .nav-left>li:first-child>a i{font-size:22px !important}.header .nav-left>li.search-box>a{padding:8px 6px !important}.header .nav-left>li.search-box>a i{font-size:20px !important}.header .nav-left .search-input{display:none !important;position:fixed !important;top:60px !important;left:0 !important;right:0 !important;background:var(--c-bkg-card) !important;border-bottom:1px solid var(--c-border) !important;padding:15px 20px !important;z-index:9999 !important;box-shadow:0 2px 8px rgba(0,0,0,.1) !important}.header .nav-left .search-input.active{display:block !important}.header .nav-left .search-input input{width:100% !important;padding:12px 16px !important;font-size:16px !important;border:1px solid var(--c-border) !important;border-radius:8px !important;background:var(--c-bkg-body) !important;color:var(--c-text-base) !important;margin:0 !important;outline:none !important}.header .nav-left .search-input input::-moz-placeholder{color:var(--c-text-muted) !important}.header .nav-left .search-input input::placeholder{color:var(--c-text-muted) !important}.header .nav-left .search-input input:focus{outline:none !important;border-color:var(--c-primary) !important;box-shadow:0 0 0 2px rgba(0,123,255,.25) !important}.header .nav-right{display:flex !important;align-items:center !important;flex:0 0 auto !important;margin:0 !important;padding:0 !important;float:none !important;flex-wrap:nowrap !important;gap:4px !important;justify-content:flex-end !important;height:60px !important}.header .nav-right>li{display:flex !important;align-items:center !important;justify-content:center !important;margin:0 !important;padding:0 !important;float:none !important;flex:0 0 auto !important;position:relative !important;height:60px !important;min-height:60px !important}.header .nav-right>li>a{padding:0 !important;margin:0 !important;width:44px !important;height:44px !important;line-height:1 !important;display:flex !important;align-items:center !important;justify-content:center !important;position:relative !important;border-radius:50% !important;background:rgba(0,0,0,0) !important;transition:all .2s ease !important}.header .nav-right>li>a i{font-size:20px !important;margin:0 !important;display:block !important;line-height:1 !important;text-align:center !important}.header .nav-right>li>a span:not(.counter){display:none !important}.header .nav-right>li>a .peer:last-child{display:none !important}.header .nav-right>li>a:hover{background:var(--c-grey-100) !important;transform:scale(1.05) !important;transition:all .2s ease !important}.header .nav-right>li:last-child>a .peer:first-child{margin-right:0 !important;display:flex !important;align-items:center !important;justify-content:center !important}.header .nav-right>li:last-child>a .peer img{width:36px !important;height:36px !important;max-width:36px !important;max-height:36px !important;border-radius:50% !important;object-fit:cover !important}.header .nav-right>li{position:relative !important}.header .nav-right>li .counter{position:absolute !important;top:10px !important;right:10px !important;z-index:10 !important}.header .nav-right .theme-toggle{padding:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;height:60px !important;min-height:60px !important;width:44px !important}.header .nav-right .theme-toggle .form-check{margin:0 !important;padding:0 !important;align-items:center !important;justify-content:center !important;display:flex !important;height:44px !important;width:44px !important;border-radius:50% !important;position:relative !important}.header .nav-right .theme-toggle .form-check .form-check-label{display:none !important}.header .nav-right .theme-toggle .form-check .form-check-input{width:28px !important;height:16px !important;margin:0 !important;flex-shrink:0 !important;border-radius:8px !important;border-width:1px !important;position:absolute !important;top:50% !important;left:50% !important;transform:translate(-50%, -50%) !important}.header .nav-right .theme-toggle .form-check:hover{background:var(--c-grey-100) !important;transform:scale(1.05) !important;transition:all .2s ease !important}.header .nav-right .dropdown-menu{position:fixed !important;top:60px !important;left:0 !important;right:0 !important;bottom:0 !important;width:100vw !important;height:calc(100vh - 60px) !important;max-width:none !important;min-width:auto !important;transform:none !important;border-radius:0 !important;z-index:9999 !important;overflow-y:auto !important;border:none !important;margin:0 !important;padding:0 !important}.header .nav-right .dropdown-menu::before{content:"✕ Close" !important;position:sticky !important;top:0 !important;display:block !important;background:var(--c-primary) !important;color:#fff !important;text-align:center !important;padding:15px !important;cursor:pointer !important;font-weight:bold !important;z-index:10000 !important;font-size:16px !important}.header .nav-right .dropdown-menu .peers{padding:15px 20px !important;flex-wrap:wrap !important;align-items:flex-start !important}.header .nav-right .dropdown-menu .peers .peer{max-width:100% !important}.header .nav-right .dropdown-menu .peers .peer img{width:40px !important;height:40px !important;margin-right:12px !important;flex-shrink:0 !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed{flex:1 !important;min-width:0 !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>span{display:block !important;margin-bottom:4px !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>span .fw-500{font-size:14px !important;font-weight:600 !important;margin:0 !important;color:var(--c-text-base) !important;display:inline !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>span .c-grey-600{font-size:13px !important;color:var(--c-text-muted) !important;line-height:1.4 !important;display:inline !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>p{margin:0 !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>p small{font-size:12px !important;color:var(--c-text-muted) !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>div{display:block !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>div .peers{display:inline !important;margin:0 !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>div .peers .peer:first-child p{font-size:14px !important;font-weight:600 !important;margin:0 !important;color:var(--c-text-base) !important;display:inline !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>div .peers .peer:first-child::after{content:" sent you a message" !important;font-size:13px !important;color:var(--c-text-muted) !important;font-weight:normal !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>div .peers .peer:last-child{display:block !important;margin-top:2px !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>div .peers .peer:last-child small{font-size:12px !important;color:var(--c-text-muted) !important;display:block !important}.header .nav-right .dropdown-menu .peers .peer.peer-greed>div>.c-grey-600,.header .nav-right .dropdown-menu .peers .peer.peer-greed>div .c-grey-600.fsz-sm{display:none !important}.header .nav-right .dropdown-menu .pX-20{padding-left:20px !important;padding-right:20px !important}.header .nav-right .dropdown-menu .pX-20 .fw-600{font-size:16px !important;font-weight:600 !important}.header .nav-right .dropdown-menu .ta-c{padding:15px 20px !important}.header .nav-right .dropdown-menu .ta-c a{font-size:14px !important;font-weight:500 !important}}@media screen and (max-width: 479px){.header .header-container{padding:8px 5px !important;gap:8px !important}.header .nav-left{max-width:60% !important;gap:2px !important}.header .nav-left::before{width:28px !important;height:28px !important;font-size:16px !important;margin-right:4px !important}.header .nav-left>li>a{padding:8px 4px !important}.header .nav-left>li>a i{font-size:18px !important}.header .nav-right{gap:1px !important}.header .nav-right>li>a{padding:8px 4px !important}.header .nav-right>li>a i{font-size:18px !important}.header .nav-right .theme-toggle .form-check-input{width:28px !important;height:16px !important}.header .nav-left .search-input{padding:12px 15px !important}.header .nav-left .search-input input{padding:10px 12px !important;font-size:16px !important}}html,body{height:100% !important;margin:0 !important;padding:0 !important;overflow-x:hidden !important}.page-container{display:flex !important;flex-direction:column !important;min-height:100vh !important;margin:0 !important;padding-top:60px !important}.main-content{flex:1 0 auto !important;padding:20px 10px 40px !important;margin:0 !important;min-height:0 !important;overflow-x:hidden !important}footer{flex:0 0 auto !important;margin-top:auto !important;padding:15px 10px !important;background:var(--c-bkg-card) !important;border-top:1px solid var(--c-border) !important;text-align:center !important;font-size:11px !important;line-height:1.3 !important;z-index:10 !important;position:relative !important;width:100% !important;clear:both !important}footer.lh-0{line-height:1.3 !important}@media screen and (max-width: 767px){.page-container{padding-left:0 !important;min-height:100vh !important;position:relative !important}.main-content{padding:15px 8px 60px !important;margin-bottom:0 !important;width:100% !important;box-sizing:border-box !important}footer{position:relative !important;width:100% !important;padding:15px 10px !important;font-size:11px !important;line-height:1.4 !important;background:var(--c-bkg-card) !important;border-top:1px solid var(--c-border) !important;margin-top:auto !important;box-sizing:border-box !important}footer.lh-0{line-height:1.4 !important}footer.p-30{padding:15px 10px !important}footer.fsz-sm{font-size:11px !important}footer span{display:block !important;word-wrap:break-word !important;max-width:100% !important;text-align:center !important;line-height:1.4 !important;-webkit-hyphens:auto !important;hyphens:auto !important;word-break:break-word !important}footer span a{color:var(--c-primary) !important;-webkit-text-decoration:none !important;text-decoration:none !important;display:inline !important}footer span a:hover{-webkit-text-decoration:underline !important;text-decoration:underline !important}}@media screen and (max-width: 479px){.main-content{padding:10px 8px 50px !important}footer{padding:12px 8px !important;font-size:10px !important;line-height:1.5 !important}footer.lh-0{line-height:1.5 !important}footer.p-30{padding:12px 8px !important}footer.fsz-sm{font-size:10px !important}footer span{display:block !important;margin:0 !important;padding:0 !important;text-align:center !important;word-spacing:normal !important;letter-spacing:normal !important}footer span a{display:inline !important;white-space:nowrap !important}}@media screen and (max-width: 360px){footer{font-size:9px !important;padding:10px 5px !important}footer.lh-0{line-height:1.6 !important}footer.p-30{padding:10px 5px !important}footer.fsz-sm{font-size:9px !important}footer span{line-height:1.6 !important;word-break:break-word !important;overflow-wrap:break-word !important}footer span a{font-weight:bold !important;color:var(--c-primary) !important}}body.mobile-menu-open{overflow:hidden !important;position:fixed !important;width:100% !important}@media screen and (max-width: 767px){.dropdown-menu.show{position:fixed !important}.row{margin-left:0 !important;margin-right:0 !important}[class*=col-]{padding-left:5px !important;padding-right:5px !important}.d-none-mobile{display:none !important}*{max-width:100% !important;box-sizing:border-box !important}}body{background:var(--c-bkg-body);color:var(--c-text-base)}.sidebar{background:var(--c-bkg-sidebar)}.bgc-white{background:var(--c-bkg-card) !important}.header{background:var(--c-bkg-card);border-bottom:1px solid var(--c-border)}.header .dropdown-menu{background:var(--c-bkg-card);border:1px solid var(--c-border)}.header .nav-left>li>a,.header .nav-right>li>a{color:var(--c-text-base)}.header .nav-left>li>a:hover,.header .nav-left>li>a:focus,.header .nav-right>li>a:hover,.header .nav-right>li>a:focus{color:var(--c-primary)}.header .notifications .counter{background:var(--c-danger);color:#fff}.header .theme-toggle{display:flex;align-items:center;height:65px;padding:0 15px}.header .theme-toggle .form-check{margin:0}.header .theme-toggle .form-check .form-check-label{color:var(--c-text-muted);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.header .theme-toggle .form-check .form-check-label i{font-size:12px}.header .theme-toggle .form-check .form-check-input{width:2.5rem;height:1.25rem;background-color:var(--c-border);border:1px solid var(--c-border);cursor:pointer}.header .theme-toggle .form-check .form-check-input:checked{background-color:var(--c-primary);border-color:var(--c-primary)}.header .theme-toggle .form-check .form-check-input:focus{box-shadow:0 0 0 .2rem color-mix(in srgb, var(--c-primary) 25%, transparent);border-color:var(--c-primary)}@media(max-width: 991px){.header .theme-toggle{padding:0 6px;height:65px}.header .theme-toggle .form-check .form-check-label{font-size:10px}.header .theme-toggle .form-check .form-check-label:first-child{margin-right:4px}.header .theme-toggle .form-check .form-check-label:last-child{margin-left:4px}.header .theme-toggle .form-check .form-check-input{width:2rem;height:1rem}}@media(max-width: 480px){.header .theme-toggle{padding:0 4px}.header .theme-toggle .form-check{flex-direction:column;align-items:center;text-align:center}.header .theme-toggle .form-check .form-check-label{font-size:8px;margin:1px 0;white-space:nowrap}.header .theme-toggle .form-check .form-check-label i{margin:0 2px}.header .theme-toggle .form-check .form-check-input{width:1.5rem;height:.8rem;margin:2px 0}}@media(max-width: 767px){.header .nav-right .dropdown-menu{position:fixed !important;top:65px !important;left:5px !important;right:5px !important;width:auto !important;max-width:none !important;min-width:auto !important;transform:none !important;z-index:1050;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);max-height:calc(100vh - 85px);overflow-y:auto}.header .nav-right .notifications .dropdown-menu{max-height:calc(100vh - 85px);overflow-y:auto}}@media(max-width: 480px){.header .search-input.active{position:absolute;top:65px;left:0;right:0;background:var(--c-bkg-card);border-top:1px solid var(--c-border);padding:10px;z-index:999}.header .search-input.active input{margin-top:0;width:100%;padding:10px;border:1px solid var(--c-border);border-radius:4px;background:var(--c-bkg-card);color:var(--c-text-base)}.header .search-input.active input::-moz-placeholder{color:var(--c-text-muted)}.header .search-input.active input::placeholder{color:var(--c-text-muted)}}.table{background:var(--c-bkg-card);color:var(--c-text-base)}.table thead th{background:var(--c-bkg-card);color:var(--c-text-base);border-color:var(--c-border)}.table tbody td,.table tbody th{border-color:var(--c-border);color:var(--c-text-base);background:var(--c-bkg-card)}.table tbody tr:nth-child(even) td,.table tbody tr:nth-child(even) th{background:color-mix(in srgb, var(--c-bkg-card) 95%, var(--c-border))}.table tfoot th{background:var(--c-bkg-card);color:var(--c-text-base);border-color:var(--c-border)}.table.table-striped tbody tr:nth-child(odd) td,.table.table-striped tbody tr:nth-child(odd) th{background:var(--c-bkg-card)}.table.table-striped tbody tr:nth-child(even) td,.table.table-striped tbody tr:nth-child(even) th{background:color-mix(in srgb, var(--c-bkg-card) 95%, var(--c-border))}.table.table-hover tbody tr:hover td,.table.table-hover tbody tr:hover th{background:color-mix(in srgb, var(--c-bkg-card) 90%, var(--c-border)) !important;color:var(--c-text-base)}.table.table-bordered{border:1px solid var(--c-border)}.table.table-bordered th,.table.table-bordered td{border:1px solid var(--c-border)}.table .table-dark{background:color-mix(in srgb, var(--c-bkg-card) 80%, #000)}.table .table-dark th{background:color-mix(in srgb, var(--c-bkg-card) 80%, #000);color:var(--c-text-base);border-color:var(--c-border)}.table .table-light{background:var(--c-bkg-card)}.table .table-light th{background:var(--c-bkg-card);color:var(--c-text-base);border-color:var(--c-border)}.form-control,.form-select{background:var(--c-bkg-card);color:var(--c-text-base);border:1px solid var(--c-border)}.form-control:focus,.form-select:focus{border-color:var(--c-primary);box-shadow:0 0 0 .1rem rgba(75,124,243,.25)}input::-moz-placeholder{color:var(--c-text-muted)}input::placeholder{color:var(--c-text-muted)}.card,.bgc-white.bd,.bgc-white.bdT,.bgc-white.bdB{background:var(--c-bkg-card);border-color:var(--c-border) !important;color:var(--c-text-base)}.alert{color:var(--c-text-base);border-color:var(--c-border);background:color-mix(in srgb, var(--c-bkg-card) 85%, var(--c-border))}.alert.alert-primary{background:color-mix(in srgb, var(--c-primary) 20%, var(--c-bkg-card));border-color:var(--c-primary);color:var(--c-primary)}.modal-content{background:var(--c-bkg-card);color:var(--c-text-base);border:1px solid var(--c-border)}.logo-text{color:var(--c-text-base)}.logo-auth{max-width:60px !important;max-height:60px !important;width:auto;height:auto}.bd,.bdT,.bdB,.bdL,.bdR{border-color:var(--c-border) !important}.sidebar-logo{border-color:var(--c-border) !important}.bgc-grey-100{background:color-mix(in srgb, var(--c-bkg-body) 90%, #000) !important}.sales-report-header{background-color:var(--c-primary) !important;color:#fff !important}.sales-report-header h5,.sales-report-header h3,.sales-report-header p{color:#fff !important}[data-theme=dark] .bgcH-grey-100:hover{background:color-mix(in srgb, var(--c-bkg-card) 85%, var(--c-border)) !important}.sidebar,.sidebar-menu{border-right:1px solid var(--c-border)}[data-theme=dark] .c-grey-900{color:var(--c-text-base) !important}[data-theme=dark] .c-grey-800{color:var(--c-text-base) !important}[data-theme=dark] .c-grey-700{color:var(--c-text-muted) !important}[data-theme=dark] .c-grey-600{color:var(--c-text-muted) !important}[data-theme=dark] .text-dark{color:var(--c-text-base) !important}h1,h2,h3,h4,h5,h6{color:var(--c-text-base)}.email-app .email-side-nav{background:var(--c-bkg-card);border-color:var(--c-border)}.email-app .email-list,.email-app .email-content,.email-app .email-wrapper{background:var(--c-bkg-card) !important;color:var(--c-text-base)}.email-app .email-list-item{border-color:var(--c-border) !important}.email-app .email-list-item:hover{background:color-mix(in srgb, var(--c-bkg-card) 85%, var(--c-border)) !important}[data-theme=dark] .badge.bgc-deep-purple-50{background:#8b5cf6 !important;color:#fff !important}[data-theme=dark] .badge.c-deep-purple-700{color:#fff !important}[data-theme=dark] .badge.bgc-green-50{background:var(--c-success) !important;color:#fff !important}[data-theme=dark] .badge.c-green-700{color:#fff !important}[data-theme=dark] .badge.bgc-blue-50{background:var(--c-primary) !important;color:#fff !important}[data-theme=dark] .badge.c-blue-700{color:#fff !important}[data-theme=dark] .badge.bgc-amber-50{background:#f59e0b !important;color:#000 !important}[data-theme=dark] .badge.c-amber-700{color:#000 !important}[data-theme=dark] .badge.bgc-red-50{background:var(--c-danger) !important;color:#fff !important}[data-theme=dark] .badge.c-red-700{color:#fff !important}[data-theme=dark] .email-app .btn.bgc-white{background:var(--c-bkg-card) !important;color:var(--c-text-base) !important;border:1px solid var(--c-border) !important}[data-theme=dark] .email-app .btn.bgc-white:hover{background:color-mix(in srgb, var(--c-bkg-card) 85%, var(--c-border)) !important}.table-responsive{border:1px solid var(--c-border);border-radius:3px}.bgc-white .table{background:var(--c-bkg-card);border:none}.bgc-white .table thead th{border-top:none}.table .badge.bgc-red-50.c-red-700{background:var(--c-danger) !important;color:#fff !important}.table .badge.bgc-deep-purple-50.c-deep-purple-700{background:#8b5cf6 !important;color:#fff !important}.table .badge.bgc-pink-50.c-pink-700{background:#ec4899 !important;color:#fff !important}[data-theme=dark] #loader{background:var(--c-bkg-body) !important}[data-theme=dark] .ai-fs .pY-3.pX-10.bgc-white{background:var(--c-bkg-card) !important;border:1px solid var(--c-border)}[data-theme=dark] .ai-fe .pY-3.pX-10.bgc-white{background:var(--c-primary) !important;border:1px solid var(--c-primary);color:#fff !important}[data-theme=dark] .ai-fe .pY-3.pX-10.bgc-white small{color:hsla(0,0%,100%,.8) !important}[data-theme=dark] .ai-fe .pY-3.pX-10.bgc-white span{color:#fff !important}[data-theme=dark] .c-green-500{color:var(--c-success) !important}[data-theme=dark] .c-amber-500{color:#f59e0b !important}[data-theme=dark] .c-red-500{color:var(--c-danger) !important}[data-theme=dark] .lh-1 i{color:var(--c-text-muted)}[data-theme=dark] .bgc-grey-200{background:var(--c-bkg-body) !important}[data-theme=dark] .list-task{background:var(--c-bkg-card);border:1px solid var(--c-border)}[data-theme=dark] .list-task .list-group-item{background:var(--c-bkg-card);border-color:var(--c-border);color:var(--c-text-base)}[data-theme=dark] .list-task .list-group-item:first-child{border-top-color:var(--c-border)}[data-theme=dark] .list-task .list-group-item:last-child{border-bottom-color:var(--c-border)}[data-theme=dark] .list-task .list-group-item .form-label{color:var(--c-text-base)}[data-theme=dark] .list-task .list-group-item .checkbox input[type=checkbox]:checked+label::before{background:var(--c-primary);border-color:var(--c-primary)}[data-theme=dark] .list-task .list-group-item .checkbox input[type=checkbox]:focus+label::before{border-color:var(--c-primary);box-shadow:0 0 0 .2rem rgba(var(--c-primary-rgb), 0.25)}[data-theme=dark] .list-task .list-group-item .checkbox label::before{background:var(--c-bkg-card);border-color:var(--c-border)}[data-theme=dark] .list-task .list-group-item .badge.bg-success{background:var(--c-success) !important;color:#fff !important}[data-theme=dark] .list-task .list-group-item .badge.bg-danger{background:var(--c-danger) !important;color:#fff !important}[data-theme=dark] .list-task .list-group-item .badge.bg-warning{background:#f59e0b !important;color:#000 !important}[data-theme=dark] .list-task .list-group-item .badge.bg-info{background:var(--c-primary) !important;color:#fff !important}[data-theme=dark] .bgc-white.bd{background:var(--c-bkg-card) !important;border-color:var(--c-border) !important}[data-theme=dark] .bgc-white.bd .bdB{border-bottom-color:var(--c-border) !important}[data-theme=dark] .bgc-white.bd .peers.ai-c.jc-sb.fxw-nw{border-bottom-color:var(--c-border) !important}[data-theme=dark] .bgc-white.bd .peers.ai-c.jc-sb.fxw-nw .c-grey-900{color:var(--c-text-base) !important}[data-theme=dark] .bgc-white.bd .peers.ai-c.jc-sb.fxw-nw .c-grey-600{color:var(--c-text-muted) !important}[data-theme=dark] .bgc-white.bd .peers.ai-c.jc-sb.fxw-nw .c-grey-700{color:var(--c-text-muted) !important}[data-theme=dark] .bgc-white.bd .peers.ai-c.jc-sb.fxw-nw .c-deep-purple-500:hover.cH-blue-500{color:var(--c-primary) !important}[data-theme=dark] .bgc-white.bd .peers.ai-c.jc-sb.fxw-nw .c-red-500:hover.cH-blue-500{color:var(--c-danger) !important}[data-theme=dark] .bgc-white.bd .btn-warning{background:#f59e0b;border-color:#f59e0b;color:#000}[data-theme=dark] .bgc-white.bd .btn-warning:hover{background:#d97706;border-color:#d97706}[data-theme=dark] .modal-content{background:var(--c-bkg-card);border:1px solid var(--c-border);color:var(--c-text-base)}[data-theme=dark] .modal-content .modal-body .form-label{color:var(--c-text-base)}[data-theme=dark] .modal-content .modal-body .form-control{background:var(--c-bkg-body);border-color:var(--c-border);color:var(--c-text-base)}[data-theme=dark] .modal-content .modal-body .form-control::-moz-placeholder{color:var(--c-text-muted)}[data-theme=dark] .modal-content .modal-body .form-control::placeholder{color:var(--c-text-muted)}[data-theme=dark] .modal-content .modal-body .form-control:focus{background:var(--c-bkg-body);border-color:var(--c-primary);box-shadow:0 0 0 .2rem rgba(var(--c-primary-rgb), 0.25)}[data-theme=dark] .modal-content .modal-body .input-group-text{background:var(--c-bkg-card) !important;border-color:var(--c-border);color:var(--c-text-base)}[data-theme=dark] .modal-content .modal-body .input-group-text.bgc-white{background:var(--c-bkg-card) !important}[data-theme=dark] .modal-content .modal-body .btn-primary{background:var(--c-primary);border-color:var(--c-primary)}[data-theme=dark] .modal-content .modal-body .btn-primary:hover{background:var(--c-primary-hover);border-color:var(--c-primary-hover)}[data-theme=dark] .fc .fc-day{background:var(--c-bkg-card)}[data-theme=dark] .fc .fc-day:hover{background:color-mix(in srgb, var(--c-bkg-card) 90%, var(--c-border))}[data-theme=dark] .fc .fc-head{background:var(--c-bkg-card)}[data-theme=dark] .fc .fc-sun,[data-theme=dark] .fc .fc-sat{background:color-mix(in srgb, var(--c-bkg-card) 95%, var(--c-border))}[data-theme=dark] .fc .fc-other-month .fc-day-number{color:var(--c-text-muted) !important}[data-theme=dark] .fc .fc-event:hover{opacity:.9} -:root { - --jvm-border-color: #E5E6E7; - --jvm-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); - --jvm-tooltip-font-size: 0.9rem; - --jvm-tooltip-bg-color: #337FFA; - --jvm-tooltip-color: #FFF; - --jvm-tooltip-padding: 3px 5px; - --jvm-tooltip-shadow: var(--jvm-box-shadow); - --jvm-tooltip-radius: 3px; - --jvm-zoom-btn-bg-color: #292929; - --jvm-zoom-btn-color: #FFF; - --jvm-zoom-btn-size: 15px; - --jvm-zoom-btn-radius: 3px; - --jvm-series-container-right: 15px; - --jvm-legend-bg-color: #FFF; - --jvm-legend-radius: 0.15rem; - --jvm-legend-margin-left: 0.75rem; - --jvm-legend-padding: 0.6rem; - --jvm-legend-title-padding-bottom: 0.5rem; - --jvm-legend-title-margin-bottom: 0.575rem; - --jvm-legend-tick-margin-top: 0.575rem; - --jvm-legend-tick-sample-radius: 0; - --jvm-legend-tick-sample-height: 12px; - --jvm-legend-tick-sample-width: 30px; - --jvm-legend-tick-text-font-size: 12px; - --jvm-legend-tick-text-margin-top: 3px; -} - -image, text, .jvm-zoom-btn { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.jvm-container { - position: relative; - height: 100%; - width: 100%; -} - -.jvm-tooltip { - border-radius: var(--jvm-tooltip-radius); - background-color: var(--jvm-tooltip-bg-color); - color: var(--jvm-tooltip-color); - font-size: var(--jvm-tooltip-font-size); - box-shadow: var(--jvm-tooltip-shadow); - padding: var(--jvm-tooltip-padding); - white-space: nowrap; - position: absolute; - display: none; -} -.jvm-tooltip.active { - display: block; -} - -.jvm-zoom-btn { - background-color: var(--jvm-zoom-btn-bg-color); - color: var(--jvm-zoom-btn-color); - border-radius: var(--jvm-zoom-btn-radius); - height: var(--jvm-zoom-btn-size); - width: var(--jvm-zoom-btn-size); - box-sizing: border-box; - position: absolute; - left: 10px; - line-height: var(--jvm-zoom-btn-size); - text-align: center; - cursor: pointer; -} -.jvm-zoom-btn.jvm-zoomin { - top: var(--jvm-zoom-btn-size); -} -.jvm-zoom-btn.jvm-zoomout { - top: calc(var(--jvm-zoom-btn-size) * 2 + var(--jvm-zoom-btn-size) / 3); -} - -.jvm-series-container { - position: absolute; - right: var(--jvm-series-container-right); -} -.jvm-series-container.jvm-series-h { - bottom: 15px; -} -.jvm-series-container.jvm-series-v { - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; - gap: 0.75rem; - top: 15px; -} - -.jvm-legend { - background-color: var(--jvm-legend-bg-color); - border: 1px solid var(--jvm-border-color); - margin-left: var(--jvm-legend-margin-left); - border-radius: var(--jvm-legend-radius); - padding: var(--jvm-legend-padding); - box-shadow: var(--jvm-box-shadow); -} - -.jvm-legend-title { - line-height: 1; - border-bottom: 1px solid var(--jvm-border-color); - padding-bottom: var(--jvm-legend-title-padding-bottom); - margin-bottom: var(--jvm-legend-title-margin-bottom); - text-align: left; -} - -.jvm-legend-tick { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - min-width: 40px; -} -.jvm-legend-tick:not(:first-child) { - margin-top: var(--jvm-legend-tick-margin-top); -} - -.jvm-legend-tick-sample { - border-radius: var(--jvm-legend-tick-sample-radius); - margin-right: 0.45rem; - height: var(--jvm-legend-tick-sample-height); - width: var(--jvm-legend-tick-sample-width); -} - -.jvm-legend-tick-text { - font-size: var(--jvm-legend-tick-text-font-size); - text-align: center; - line-height: 1; -} - -.jvm-line[animation=true] { - -webkit-animation: jvm-line-animation 10s linear forwards infinite; - animation: jvm-line-animation 10s linear forwards infinite; -} -@-webkit-keyframes jvm-line-animation { - from { - stroke-dashoffset: 250; - } -} -@keyframes jvm-line-animation { - from { - stroke-dashoffset: 250; - } -} diff --git a/public/adminator-erp-theme-two-pages-split-files/vendor-chartjs.js b/public/adminator-erp-theme-two-pages-split-files/vendor-chartjs.js deleted file mode 100644 index 546bd13..0000000 --- a/public/adminator-erp-theme-two-pages-split-files/vendor-chartjs.js +++ /dev/null @@ -1,14412 +0,0 @@ -"use strict"; -(self["webpackChunk"] = self["webpackChunk"] || []).push([[311],{ - -/***/ 371 -(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - t1: () => (/* binding */ Chart), - $L: () => (/* binding */ registerables) -}); - -// UNUSED EXPORTS: Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Colors, DatasetController, Decimation, DomPlatform, DoughnutController, Element, Filler, Interaction, Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, SubTitle, Ticks, TimeScale, TimeSeriesScale, Title, Tooltip, _adapters, _detectPlatform, animator, controllers, defaults, elements, layouts, plugins, registry, scales - -// EXTERNAL MODULE: ../../node_modules/@kurkle/color/dist/color.esm.js -var color_esm = __webpack_require__(892); -;// ../../node_modules/chart.js/dist/chunks/helpers.dataset.js -/*! - * Chart.js v4.5.1 - * https://www.chartjs.org - * (c) 2025 Chart.js Contributors - * Released under the MIT License - */ - - -/** - * @namespace Chart.helpers - */ /** - * An empty function that can be used, for example, for optional callback. - */ function noop() { -/* noop */ } -/** - * Returns a unique id, sequentially generated from a global variable. - */ const uid = (()=>{ - let id = 0; - return ()=>id++; -})(); -/** - * Returns true if `value` is neither null nor undefined, else returns false. - * @param value - The value to test. - * @since 2.7.0 - */ function isNullOrUndef(value) { - return value === null || value === undefined; -} -/** - * Returns true if `value` is an array (including typed arrays), else returns false. - * @param value - The value to test. - * @function - */ function isArray(value) { - if (Array.isArray && Array.isArray(value)) { - return true; - } - const type = Object.prototype.toString.call(value); - if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') { - return true; - } - return false; -} -/** - * Returns true if `value` is an object (excluding null), else returns false. - * @param value - The value to test. - * @since 2.7.0 - */ function isObject(value) { - return value !== null && Object.prototype.toString.call(value) === '[object Object]'; -} -/** - * Returns true if `value` is a finite number, else returns false - * @param value - The value to test. - */ function isNumberFinite(value) { - return (typeof value === 'number' || value instanceof Number) && isFinite(+value); -} -/** - * Returns `value` if finite, else returns `defaultValue`. - * @param value - The value to return if defined. - * @param defaultValue - The value to return if `value` is not finite. - */ function finiteOrDefault(value, defaultValue) { - return isNumberFinite(value) ? value : defaultValue; -} -/** - * Returns `value` if defined, else returns `defaultValue`. - * @param value - The value to return if defined. - * @param defaultValue - The value to return if `value` is undefined. - */ function valueOrDefault(value, defaultValue) { - return typeof value === 'undefined' ? defaultValue : value; -} -const toPercentage = (value, dimension)=>typeof value === 'string' && value.endsWith('%') ? parseFloat(value) / 100 : +value / dimension; -const toDimension = (value, dimension)=>typeof value === 'string' && value.endsWith('%') ? parseFloat(value) / 100 * dimension : +value; -/** - * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the - * value returned by `fn`. If `fn` is not a function, this method returns undefined. - * @param fn - The function to call. - * @param args - The arguments with which `fn` should be called. - * @param [thisArg] - The value of `this` provided for the call to `fn`. - */ function callback(fn, args, thisArg) { - if (fn && typeof fn.call === 'function') { - return fn.apply(thisArg, args); - } -} -function each(loopable, fn, thisArg, reverse) { - let i, len, keys; - if (isArray(loopable)) { - len = loopable.length; - if (reverse) { - for(i = len - 1; i >= 0; i--){ - fn.call(thisArg, loopable[i], i); - } - } else { - for(i = 0; i < len; i++){ - fn.call(thisArg, loopable[i], i); - } - } - } else if (isObject(loopable)) { - keys = Object.keys(loopable); - len = keys.length; - for(i = 0; i < len; i++){ - fn.call(thisArg, loopable[keys[i]], keys[i]); - } - } -} -/** - * Returns true if the `a0` and `a1` arrays have the same content, else returns false. - * @param a0 - The array to compare - * @param a1 - The array to compare - * @private - */ function _elementsEqual(a0, a1) { - let i, ilen, v0, v1; - if (!a0 || !a1 || a0.length !== a1.length) { - return false; - } - for(i = 0, ilen = a0.length; i < ilen; ++i){ - v0 = a0[i]; - v1 = a1[i]; - if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) { - return false; - } - } - return true; -} -/** - * Returns a deep copy of `source` without keeping references on objects and arrays. - * @param source - The value to clone. - */ function clone(source) { - if (isArray(source)) { - return source.map(clone); - } - if (isObject(source)) { - const target = Object.create(null); - const keys = Object.keys(source); - const klen = keys.length; - let k = 0; - for(; k < klen; ++k){ - target[keys[k]] = clone(source[keys[k]]); - } - return target; - } - return source; -} -function isValidKey(key) { - return [ - '__proto__', - 'prototype', - 'constructor' - ].indexOf(key) === -1; -} -/** - * The default merger when Chart.helpers.merge is called without merger option. - * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback. - * @private - */ function _merger(key, target, source, options) { - if (!isValidKey(key)) { - return; - } - const tval = target[key]; - const sval = source[key]; - if (isObject(tval) && isObject(sval)) { - // eslint-disable-next-line @typescript-eslint/no-use-before-define - merge(tval, sval, options); - } else { - target[key] = clone(sval); - } -} -function merge(target, source, options) { - const sources = isArray(source) ? source : [ - source - ]; - const ilen = sources.length; - if (!isObject(target)) { - return target; - } - options = options || {}; - const merger = options.merger || _merger; - let current; - for(let i = 0; i < ilen; ++i){ - current = sources[i]; - if (!isObject(current)) { - continue; - } - const keys = Object.keys(current); - for(let k = 0, klen = keys.length; k < klen; ++k){ - merger(keys[k], target, current, options); - } - } - return target; -} -function mergeIf(target, source) { - // eslint-disable-next-line @typescript-eslint/no-use-before-define - return merge(target, source, { - merger: _mergerIf - }); -} -/** - * Merges source[key] in target[key] only if target[key] is undefined. - * @private - */ function _mergerIf(key, target, source) { - if (!isValidKey(key)) { - return; - } - const tval = target[key]; - const sval = source[key]; - if (isObject(tval) && isObject(sval)) { - mergeIf(tval, sval); - } else if (!Object.prototype.hasOwnProperty.call(target, key)) { - target[key] = clone(sval); - } -} -/** - * @private - */ function _deprecated(scope, value, previous, current) { - if (value !== undefined) { - console.warn(scope + ': "' + previous + '" is deprecated. Please use "' + current + '" instead'); - } -} -// resolveObjectKey resolver cache -const keyResolvers = { - // Chart.helpers.core resolveObjectKey should resolve empty key to root object - '': (v)=>v, - // default resolvers - x: (o)=>o.x, - y: (o)=>o.y -}; -/** - * @private - */ function _splitKey(key) { - const parts = key.split('.'); - const keys = []; - let tmp = ''; - for (const part of parts){ - tmp += part; - if (tmp.endsWith('\\')) { - tmp = tmp.slice(0, -1) + '.'; - } else { - keys.push(tmp); - tmp = ''; - } - } - return keys; -} -function _getKeyResolver(key) { - const keys = _splitKey(key); - return (obj)=>{ - for (const k of keys){ - if (k === '') { - break; - } - obj = obj && obj[k]; - } - return obj; - }; -} -function resolveObjectKey(obj, key) { - const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key)); - return resolver(obj); -} -/** - * @private - */ function _capitalize(str) { - return str.charAt(0).toUpperCase() + str.slice(1); -} -const defined = (value)=>typeof value !== 'undefined'; -const isFunction = (value)=>typeof value === 'function'; -// Adapted from https://stackoverflow.com/questions/31128855/comparing-ecma6-sets-for-equality#31129384 -const setsEqual = (a, b)=>{ - if (a.size !== b.size) { - return false; - } - for (const item of a){ - if (!b.has(item)) { - return false; - } - } - return true; -}; -/** - * @param e - The event - * @private - */ function _isClickEvent(e) { - return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu'; -} - -/** - * @alias Chart.helpers.math - * @namespace - */ const PI = Math.PI; -const TAU = 2 * PI; -const PITAU = TAU + PI; -const INFINITY = Number.POSITIVE_INFINITY; -const RAD_PER_DEG = PI / 180; -const HALF_PI = PI / 2; -const QUARTER_PI = PI / 4; -const TWO_THIRDS_PI = PI * 2 / 3; -const log10 = Math.log10; -const sign = Math.sign; -function almostEquals(x, y, epsilon) { - return Math.abs(x - y) < epsilon; -} -/** - * Implementation of the nice number algorithm used in determining where axis labels will go - */ function niceNum(range) { - const roundedRange = Math.round(range); - range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range; - const niceRange = Math.pow(10, Math.floor(log10(range))); - const fraction = range / niceRange; - const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10; - return niceFraction * niceRange; -} -/** - * Returns an array of factors sorted from 1 to sqrt(value) - * @private - */ function _factorize(value) { - const result = []; - const sqrt = Math.sqrt(value); - let i; - for(i = 1; i < sqrt; i++){ - if (value % i === 0) { - result.push(i); - result.push(value / i); - } - } - if (sqrt === (sqrt | 0)) { - result.push(sqrt); - } - result.sort((a, b)=>a - b).pop(); - return result; -} -/** - * Verifies that attempting to coerce n to string or number won't throw a TypeError. - */ function isNonPrimitive(n) { - return typeof n === 'symbol' || typeof n === 'object' && n !== null && !(Symbol.toPrimitive in n || 'toString' in n || 'valueOf' in n); -} -function isNumber(n) { - return !isNonPrimitive(n) && !isNaN(parseFloat(n)) && isFinite(n); -} -function almostWhole(x, epsilon) { - const rounded = Math.round(x); - return rounded - epsilon <= x && rounded + epsilon >= x; -} -/** - * @private - */ function _setMinAndMaxByKey(array, target, property) { - let i, ilen, value; - for(i = 0, ilen = array.length; i < ilen; i++){ - value = array[i][property]; - if (!isNaN(value)) { - target.min = Math.min(target.min, value); - target.max = Math.max(target.max, value); - } - } -} -function toRadians(degrees) { - return degrees * (PI / 180); -} -function toDegrees(radians) { - return radians * (180 / PI); -} -/** - * Returns the number of decimal places - * i.e. the number of digits after the decimal point, of the value of this Number. - * @param x - A number. - * @returns The number of decimal places. - * @private - */ function _decimalPlaces(x) { - if (!isNumberFinite(x)) { - return; - } - let e = 1; - let p = 0; - while(Math.round(x * e) / e !== x){ - e *= 10; - p++; - } - return p; -} -// Gets the angle from vertical upright to the point about a centre. -function getAngleFromPoint(centrePoint, anglePoint) { - const distanceFromXCenter = anglePoint.x - centrePoint.x; - const distanceFromYCenter = anglePoint.y - centrePoint.y; - const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter); - let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter); - if (angle < -0.5 * PI) { - angle += TAU; // make sure the returned angle is in the range of (-PI/2, 3PI/2] - } - return { - angle, - distance: radialDistanceFromCenter - }; -} -function distanceBetweenPoints(pt1, pt2) { - return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2)); -} -/** - * Shortest distance between angles, in either direction. - * @private - */ function _angleDiff(a, b) { - return (a - b + PITAU) % TAU - PI; -} -/** - * Normalize angle to be between 0 and 2*PI - * @private - */ function _normalizeAngle(a) { - return (a % TAU + TAU) % TAU; -} -/** - * @private - */ function _angleBetween(angle, start, end, sameAngleIsFullCircle) { - const a = _normalizeAngle(angle); - const s = _normalizeAngle(start); - const e = _normalizeAngle(end); - const angleToStart = _normalizeAngle(s - a); - const angleToEnd = _normalizeAngle(e - a); - const startToAngle = _normalizeAngle(a - s); - const endToAngle = _normalizeAngle(a - e); - return a === s || a === e || sameAngleIsFullCircle && s === e || angleToStart > angleToEnd && startToAngle < endToAngle; -} -/** - * Limit `value` between `min` and `max` - * @param value - * @param min - * @param max - * @private - */ function _limitValue(value, min, max) { - return Math.max(min, Math.min(max, value)); -} -/** - * @param {number} value - * @private - */ function _int16Range(value) { - return _limitValue(value, -32768, 32767); -} -/** - * @param value - * @param start - * @param end - * @param [epsilon] - * @private - */ function _isBetween(value, start, end, epsilon = 1e-6) { - return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon; -} - -function _lookup(table, value, cmp) { - cmp = cmp || ((index)=>table[index] < value); - let hi = table.length - 1; - let lo = 0; - let mid; - while(hi - lo > 1){ - mid = lo + hi >> 1; - if (cmp(mid)) { - lo = mid; - } else { - hi = mid; - } - } - return { - lo, - hi - }; -} -/** - * Binary search - * @param table - the table search. must be sorted! - * @param key - property name for the value in each entry - * @param value - value to find - * @param last - lookup last index - * @private - */ const _lookupByKey = (table, key, value, last)=>_lookup(table, value, last ? (index)=>{ - const ti = table[index][key]; - return ti < value || ti === value && table[index + 1][key] === value; - } : (index)=>table[index][key] < value); -/** - * Reverse binary search - * @param table - the table search. must be sorted! - * @param key - property name for the value in each entry - * @param value - value to find - * @private - */ const _rlookupByKey = (table, key, value)=>_lookup(table, value, (index)=>table[index][key] >= value); -/** - * Return subset of `values` between `min` and `max` inclusive. - * Values are assumed to be in sorted order. - * @param values - sorted array of values - * @param min - min value - * @param max - max value - */ function _filterBetween(values, min, max) { - let start = 0; - let end = values.length; - while(start < end && values[start] < min){ - start++; - } - while(end > start && values[end - 1] > max){ - end--; - } - return start > 0 || end < values.length ? values.slice(start, end) : values; -} -const arrayEvents = [ - 'push', - 'pop', - 'shift', - 'splice', - 'unshift' -]; -function listenArrayEvents(array, listener) { - if (array._chartjs) { - array._chartjs.listeners.push(listener); - return; - } - Object.defineProperty(array, '_chartjs', { - configurable: true, - enumerable: false, - value: { - listeners: [ - listener - ] - } - }); - arrayEvents.forEach((key)=>{ - const method = '_onData' + _capitalize(key); - const base = array[key]; - Object.defineProperty(array, key, { - configurable: true, - enumerable: false, - value (...args) { - const res = base.apply(this, args); - array._chartjs.listeners.forEach((object)=>{ - if (typeof object[method] === 'function') { - object[method](...args); - } - }); - return res; - } - }); - }); -} -function unlistenArrayEvents(array, listener) { - const stub = array._chartjs; - if (!stub) { - return; - } - const listeners = stub.listeners; - const index = listeners.indexOf(listener); - if (index !== -1) { - listeners.splice(index, 1); - } - if (listeners.length > 0) { - return; - } - arrayEvents.forEach((key)=>{ - delete array[key]; - }); - delete array._chartjs; -} -/** - * @param items - */ function _arrayUnique(items) { - const set = new Set(items); - if (set.size === items.length) { - return items; - } - return Array.from(set); -} - -function fontString(pixelSize, fontStyle, fontFamily) { - return fontStyle + ' ' + pixelSize + 'px ' + fontFamily; -} -/** -* Request animation polyfill -*/ const requestAnimFrame = function() { - if (typeof window === 'undefined') { - return function(callback) { - return callback(); - }; - } - return window.requestAnimationFrame; -}(); -/** - * Throttles calling `fn` once per animation frame - * Latest arguments are used on the actual call - */ function throttled(fn, thisArg) { - let argsToUse = []; - let ticking = false; - return function(...args) { - // Save the args for use later - argsToUse = args; - if (!ticking) { - ticking = true; - requestAnimFrame.call(window, ()=>{ - ticking = false; - fn.apply(thisArg, argsToUse); - }); - } - }; -} -/** - * Debounces calling `fn` for `delay` ms - */ function debounce(fn, delay) { - let timeout; - return function(...args) { - if (delay) { - clearTimeout(timeout); - timeout = setTimeout(fn, delay, args); - } else { - fn.apply(this, args); - } - return delay; - }; -} -/** - * Converts 'start' to 'left', 'end' to 'right' and others to 'center' - * @private - */ const _toLeftRightCenter = (align)=>align === 'start' ? 'left' : align === 'end' ? 'right' : 'center'; -/** - * Returns `start`, `end` or `(start + end) / 2` depending on `align`. Defaults to `center` - * @private - */ const _alignStartEnd = (align, start, end)=>align === 'start' ? start : align === 'end' ? end : (start + end) / 2; -/** - * Returns `left`, `right` or `(left + right) / 2` depending on `align`. Defaults to `left` - * @private - */ const _textX = (align, left, right, rtl)=>{ - const check = rtl ? 'left' : 'right'; - return align === check ? right : align === 'center' ? (left + right) / 2 : left; -}; -/** - * Return start and count of visible points. - * @private - */ function _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) { - const pointCount = points.length; - let start = 0; - let count = pointCount; - if (meta._sorted) { - const { iScale , vScale , _parsed } = meta; - const spanGaps = meta.dataset ? meta.dataset.options ? meta.dataset.options.spanGaps : null : null; - const axis = iScale.axis; - const { min , max , minDefined , maxDefined } = iScale.getUserBounds(); - if (minDefined) { - start = Math.min(// @ts-expect-error Need to type _parsed - _lookupByKey(_parsed, axis, min).lo, // @ts-expect-error Need to fix types on _lookupByKey - animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo); - if (spanGaps) { - const distanceToDefinedLo = _parsed.slice(0, start + 1).reverse().findIndex((point)=>!isNullOrUndef(point[vScale.axis])); - start -= Math.max(0, distanceToDefinedLo); - } - start = _limitValue(start, 0, pointCount - 1); - } - if (maxDefined) { - let end = Math.max(// @ts-expect-error Need to type _parsed - _lookupByKey(_parsed, iScale.axis, max, true).hi + 1, // @ts-expect-error Need to fix types on _lookupByKey - animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1); - if (spanGaps) { - const distanceToDefinedHi = _parsed.slice(end - 1).findIndex((point)=>!isNullOrUndef(point[vScale.axis])); - end += Math.max(0, distanceToDefinedHi); - } - count = _limitValue(end, start, pointCount) - start; - } else { - count = pointCount - start; - } - } - return { - start, - count - }; -} -/** - * Checks if the scale ranges have changed. - * @param {object} meta - dataset meta. - * @returns {boolean} - * @private - */ function _scaleRangesChanged(meta) { - const { xScale , yScale , _scaleRanges } = meta; - const newRanges = { - xmin: xScale.min, - xmax: xScale.max, - ymin: yScale.min, - ymax: yScale.max - }; - if (!_scaleRanges) { - meta._scaleRanges = newRanges; - return true; - } - const changed = _scaleRanges.xmin !== xScale.min || _scaleRanges.xmax !== xScale.max || _scaleRanges.ymin !== yScale.min || _scaleRanges.ymax !== yScale.max; - Object.assign(_scaleRanges, newRanges); - return changed; -} - -const atEdge = (t)=>t === 0 || t === 1; -const elasticIn = (t, s, p)=>-(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p)); -const elasticOut = (t, s, p)=>Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1; -/** - * Easing functions adapted from Robert Penner's easing equations. - * @namespace Chart.helpers.easing.effects - * @see http://www.robertpenner.com/easing/ - */ const effects = { - linear: (t)=>t, - easeInQuad: (t)=>t * t, - easeOutQuad: (t)=>-t * (t - 2), - easeInOutQuad: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t : -0.5 * (--t * (t - 2) - 1), - easeInCubic: (t)=>t * t * t, - easeOutCubic: (t)=>(t -= 1) * t * t + 1, - easeInOutCubic: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t : 0.5 * ((t -= 2) * t * t + 2), - easeInQuart: (t)=>t * t * t * t, - easeOutQuart: (t)=>-((t -= 1) * t * t * t - 1), - easeInOutQuart: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t * t : -0.5 * ((t -= 2) * t * t * t - 2), - easeInQuint: (t)=>t * t * t * t * t, - easeOutQuint: (t)=>(t -= 1) * t * t * t * t + 1, - easeInOutQuint: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t * t * t : 0.5 * ((t -= 2) * t * t * t * t + 2), - easeInSine: (t)=>-Math.cos(t * HALF_PI) + 1, - easeOutSine: (t)=>Math.sin(t * HALF_PI), - easeInOutSine: (t)=>-0.5 * (Math.cos(PI * t) - 1), - easeInExpo: (t)=>t === 0 ? 0 : Math.pow(2, 10 * (t - 1)), - easeOutExpo: (t)=>t === 1 ? 1 : -Math.pow(2, -10 * t) + 1, - easeInOutExpo: (t)=>atEdge(t) ? t : t < 0.5 ? 0.5 * Math.pow(2, 10 * (t * 2 - 1)) : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2), - easeInCirc: (t)=>t >= 1 ? t : -(Math.sqrt(1 - t * t) - 1), - easeOutCirc: (t)=>Math.sqrt(1 - (t -= 1) * t), - easeInOutCirc: (t)=>(t /= 0.5) < 1 ? -0.5 * (Math.sqrt(1 - t * t) - 1) : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1), - easeInElastic: (t)=>atEdge(t) ? t : elasticIn(t, 0.075, 0.3), - easeOutElastic: (t)=>atEdge(t) ? t : elasticOut(t, 0.075, 0.3), - easeInOutElastic (t) { - const s = 0.1125; - const p = 0.45; - return atEdge(t) ? t : t < 0.5 ? 0.5 * elasticIn(t * 2, s, p) : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p); - }, - easeInBack (t) { - const s = 1.70158; - return t * t * ((s + 1) * t - s); - }, - easeOutBack (t) { - const s = 1.70158; - return (t -= 1) * t * ((s + 1) * t + s) + 1; - }, - easeInOutBack (t) { - let s = 1.70158; - if ((t /= 0.5) < 1) { - return 0.5 * (t * t * (((s *= 1.525) + 1) * t - s)); - } - return 0.5 * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2); - }, - easeInBounce: (t)=>1 - effects.easeOutBounce(1 - t), - easeOutBounce (t) { - const m = 7.5625; - const d = 2.75; - if (t < 1 / d) { - return m * t * t; - } - if (t < 2 / d) { - return m * (t -= 1.5 / d) * t + 0.75; - } - if (t < 2.5 / d) { - return m * (t -= 2.25 / d) * t + 0.9375; - } - return m * (t -= 2.625 / d) * t + 0.984375; - }, - easeInOutBounce: (t)=>t < 0.5 ? effects.easeInBounce(t * 2) * 0.5 : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5 -}; - -function isPatternOrGradient(value) { - if (value && typeof value === 'object') { - const type = value.toString(); - return type === '[object CanvasPattern]' || type === '[object CanvasGradient]'; - } - return false; -} -function color(value) { - return isPatternOrGradient(value) ? value : new color_esm/* Color */.Q1(value); -} -function getHoverColor(value) { - return isPatternOrGradient(value) ? value : new color_esm/* Color */.Q1(value).saturate(0.5).darken(0.1).hexString(); -} - -const numbers = [ - 'x', - 'y', - 'borderWidth', - 'radius', - 'tension' -]; -const colors = [ - 'color', - 'borderColor', - 'backgroundColor' -]; -function applyAnimationsDefaults(defaults) { - defaults.set('animation', { - delay: undefined, - duration: 1000, - easing: 'easeOutQuart', - fn: undefined, - from: undefined, - loop: undefined, - to: undefined, - type: undefined - }); - defaults.describe('animation', { - _fallback: false, - _indexable: false, - _scriptable: (name)=>name !== 'onProgress' && name !== 'onComplete' && name !== 'fn' - }); - defaults.set('animations', { - colors: { - type: 'color', - properties: colors - }, - numbers: { - type: 'number', - properties: numbers - } - }); - defaults.describe('animations', { - _fallback: 'animation' - }); - defaults.set('transitions', { - active: { - animation: { - duration: 400 - } - }, - resize: { - animation: { - duration: 0 - } - }, - show: { - animations: { - colors: { - from: 'transparent' - }, - visible: { - type: 'boolean', - duration: 0 - } - } - }, - hide: { - animations: { - colors: { - to: 'transparent' - }, - visible: { - type: 'boolean', - easing: 'linear', - fn: (v)=>v | 0 - } - } - } - }); -} - -function applyLayoutsDefaults(defaults) { - defaults.set('layout', { - autoPadding: true, - padding: { - top: 0, - right: 0, - bottom: 0, - left: 0 - } - }); -} - -const intlCache = new Map(); -function getNumberFormat(locale, options) { - options = options || {}; - const cacheKey = locale + JSON.stringify(options); - let formatter = intlCache.get(cacheKey); - if (!formatter) { - formatter = new Intl.NumberFormat(locale, options); - intlCache.set(cacheKey, formatter); - } - return formatter; -} -function formatNumber(num, locale, options) { - return getNumberFormat(locale, options).format(num); -} - -const formatters = { - values (value) { - return isArray(value) ? value : '' + value; - }, - numeric (tickValue, index, ticks) { - if (tickValue === 0) { - return '0'; - } - const locale = this.chart.options.locale; - let notation; - let delta = tickValue; - if (ticks.length > 1) { - const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value)); - if (maxTick < 1e-4 || maxTick > 1e+15) { - notation = 'scientific'; - } - delta = calculateDelta(tickValue, ticks); - } - const logDelta = log10(Math.abs(delta)); - const numDecimal = isNaN(logDelta) ? 1 : Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0); - const options = { - notation, - minimumFractionDigits: numDecimal, - maximumFractionDigits: numDecimal - }; - Object.assign(options, this.options.ticks.format); - return formatNumber(tickValue, locale, options); - }, - logarithmic (tickValue, index, ticks) { - if (tickValue === 0) { - return '0'; - } - const remain = ticks[index].significand || tickValue / Math.pow(10, Math.floor(log10(tickValue))); - if ([ - 1, - 2, - 3, - 5, - 10, - 15 - ].includes(remain) || index > 0.8 * ticks.length) { - return formatters.numeric.call(this, tickValue, index, ticks); - } - return ''; - } -}; -function calculateDelta(tickValue, ticks) { - let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value; - if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) { - delta = tickValue - Math.floor(tickValue); - } - return delta; -} - var Ticks = { - formatters -}; - -function applyScaleDefaults(defaults) { - defaults.set('scale', { - display: true, - offset: false, - reverse: false, - beginAtZero: false, - bounds: 'ticks', - clip: true, - grace: 0, - grid: { - display: true, - lineWidth: 1, - drawOnChartArea: true, - drawTicks: true, - tickLength: 8, - tickWidth: (_ctx, options)=>options.lineWidth, - tickColor: (_ctx, options)=>options.color, - offset: false - }, - border: { - display: true, - dash: [], - dashOffset: 0.0, - width: 1 - }, - title: { - display: false, - text: '', - padding: { - top: 4, - bottom: 4 - } - }, - ticks: { - minRotation: 0, - maxRotation: 50, - mirror: false, - textStrokeWidth: 0, - textStrokeColor: '', - padding: 3, - display: true, - autoSkip: true, - autoSkipPadding: 3, - labelOffset: 0, - callback: Ticks.formatters.values, - minor: {}, - major: {}, - align: 'center', - crossAlign: 'near', - showLabelBackdrop: false, - backdropColor: 'rgba(255, 255, 255, 0.75)', - backdropPadding: 2 - } - }); - defaults.route('scale.ticks', 'color', '', 'color'); - defaults.route('scale.grid', 'color', '', 'borderColor'); - defaults.route('scale.border', 'color', '', 'borderColor'); - defaults.route('scale.title', 'color', '', 'color'); - defaults.describe('scale', { - _fallback: false, - _scriptable: (name)=>!name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser', - _indexable: (name)=>name !== 'borderDash' && name !== 'tickBorderDash' && name !== 'dash' - }); - defaults.describe('scales', { - _fallback: 'scale' - }); - defaults.describe('scale.ticks', { - _scriptable: (name)=>name !== 'backdropPadding' && name !== 'callback', - _indexable: (name)=>name !== 'backdropPadding' - }); -} - -const overrides = Object.create(null); -const descriptors = Object.create(null); - function getScope$1(node, key) { - if (!key) { - return node; - } - const keys = key.split('.'); - for(let i = 0, n = keys.length; i < n; ++i){ - const k = keys[i]; - node = node[k] || (node[k] = Object.create(null)); - } - return node; -} -function set(root, scope, values) { - if (typeof scope === 'string') { - return merge(getScope$1(root, scope), values); - } - return merge(getScope$1(root, ''), scope); -} - class Defaults { - constructor(_descriptors, _appliers){ - this.animation = undefined; - this.backgroundColor = 'rgba(0,0,0,0.1)'; - this.borderColor = 'rgba(0,0,0,0.1)'; - this.color = '#666'; - this.datasets = {}; - this.devicePixelRatio = (context)=>context.chart.platform.getDevicePixelRatio(); - this.elements = {}; - this.events = [ - 'mousemove', - 'mouseout', - 'click', - 'touchstart', - 'touchmove' - ]; - this.font = { - family: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif", - size: 12, - style: 'normal', - lineHeight: 1.2, - weight: null - }; - this.hover = {}; - this.hoverBackgroundColor = (ctx, options)=>getHoverColor(options.backgroundColor); - this.hoverBorderColor = (ctx, options)=>getHoverColor(options.borderColor); - this.hoverColor = (ctx, options)=>getHoverColor(options.color); - this.indexAxis = 'x'; - this.interaction = { - mode: 'nearest', - intersect: true, - includeInvisible: false - }; - this.maintainAspectRatio = true; - this.onHover = null; - this.onClick = null; - this.parsing = true; - this.plugins = {}; - this.responsive = true; - this.scale = undefined; - this.scales = {}; - this.showLine = true; - this.drawActiveElementsOnTop = true; - this.describe(_descriptors); - this.apply(_appliers); - } - set(scope, values) { - return set(this, scope, values); - } - get(scope) { - return getScope$1(this, scope); - } - describe(scope, values) { - return set(descriptors, scope, values); - } - override(scope, values) { - return set(overrides, scope, values); - } - route(scope, name, targetScope, targetName) { - const scopeObject = getScope$1(this, scope); - const targetScopeObject = getScope$1(this, targetScope); - const privateName = '_' + name; - Object.defineProperties(scopeObject, { - [privateName]: { - value: scopeObject[name], - writable: true - }, - [name]: { - enumerable: true, - get () { - const local = this[privateName]; - const target = targetScopeObject[targetName]; - if (isObject(local)) { - return Object.assign({}, target, local); - } - return valueOrDefault(local, target); - }, - set (value) { - this[privateName] = value; - } - } - }); - } - apply(appliers) { - appliers.forEach((apply)=>apply(this)); - } -} -var defaults = /* #__PURE__ */ new Defaults({ - _scriptable: (name)=>!name.startsWith('on'), - _indexable: (name)=>name !== 'events', - hover: { - _fallback: 'interaction' - }, - interaction: { - _scriptable: false, - _indexable: false - } -}, [ - applyAnimationsDefaults, - applyLayoutsDefaults, - applyScaleDefaults -]); - -/** - * Converts the given font object into a CSS font string. - * @param font - A font object. - * @return The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font - * @private - */ function toFontString(font) { - if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) { - return null; - } - return (font.style ? font.style + ' ' : '') + (font.weight ? font.weight + ' ' : '') + font.size + 'px ' + font.family; -} -/** - * @private - */ function _measureText(ctx, data, gc, longest, string) { - let textWidth = data[string]; - if (!textWidth) { - textWidth = data[string] = ctx.measureText(string).width; - gc.push(string); - } - if (textWidth > longest) { - longest = textWidth; - } - return longest; -} -/** - * @private - */ // eslint-disable-next-line complexity -function _longestText(ctx, font, arrayOfThings, cache) { - cache = cache || {}; - let data = cache.data = cache.data || {}; - let gc = cache.garbageCollect = cache.garbageCollect || []; - if (cache.font !== font) { - data = cache.data = {}; - gc = cache.garbageCollect = []; - cache.font = font; - } - ctx.save(); - ctx.font = font; - let longest = 0; - const ilen = arrayOfThings.length; - let i, j, jlen, thing, nestedThing; - for(i = 0; i < ilen; i++){ - thing = arrayOfThings[i]; - // Undefined strings and arrays should not be measured - if (thing !== undefined && thing !== null && !isArray(thing)) { - longest = _measureText(ctx, data, gc, longest, thing); - } else if (isArray(thing)) { - // if it is an array lets measure each element - // to do maybe simplify this function a bit so we can do this more recursively? - for(j = 0, jlen = thing.length; j < jlen; j++){ - nestedThing = thing[j]; - // Undefined strings and arrays should not be measured - if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) { - longest = _measureText(ctx, data, gc, longest, nestedThing); - } - } - } - } - ctx.restore(); - const gcLen = gc.length / 2; - if (gcLen > arrayOfThings.length) { - for(i = 0; i < gcLen; i++){ - delete data[gc[i]]; - } - gc.splice(0, gcLen); - } - return longest; -} -/** - * Returns the aligned pixel value to avoid anti-aliasing blur - * @param chart - The chart instance. - * @param pixel - A pixel value. - * @param width - The width of the element. - * @returns The aligned pixel value. - * @private - */ function _alignPixel(chart, pixel, width) { - const devicePixelRatio = chart.currentDevicePixelRatio; - const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0; - return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth; -} -/** - * Clears the entire canvas. - */ function clearCanvas(canvas, ctx) { - if (!ctx && !canvas) { - return; - } - ctx = ctx || canvas.getContext('2d'); - ctx.save(); - // canvas.width and canvas.height do not consider the canvas transform, - // while clearRect does - ctx.resetTransform(); - ctx.clearRect(0, 0, canvas.width, canvas.height); - ctx.restore(); -} -function drawPoint(ctx, options, x, y) { - // eslint-disable-next-line @typescript-eslint/no-use-before-define - drawPointLegend(ctx, options, x, y, null); -} -// eslint-disable-next-line complexity -function drawPointLegend(ctx, options, x, y, w) { - let type, xOffset, yOffset, size, cornerRadius, width, xOffsetW, yOffsetW; - const style = options.pointStyle; - const rotation = options.rotation; - const radius = options.radius; - let rad = (rotation || 0) * RAD_PER_DEG; - if (style && typeof style === 'object') { - type = style.toString(); - if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') { - ctx.save(); - ctx.translate(x, y); - ctx.rotate(rad); - ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height); - ctx.restore(); - return; - } - } - if (isNaN(radius) || radius <= 0) { - return; - } - ctx.beginPath(); - switch(style){ - // Default includes circle - default: - if (w) { - ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU); - } else { - ctx.arc(x, y, radius, 0, TAU); - } - ctx.closePath(); - break; - case 'triangle': - width = w ? w / 2 : radius; - ctx.moveTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius); - rad += TWO_THIRDS_PI; - ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius); - rad += TWO_THIRDS_PI; - ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius); - ctx.closePath(); - break; - case 'rectRounded': - // NOTE: the rounded rect implementation changed to use `arc` instead of - // `quadraticCurveTo` since it generates better results when rect is - // almost a circle. 0.516 (instead of 0.5) produces results with visually - // closer proportion to the previous impl and it is inscribed in the - // circle with `radius`. For more details, see the following PRs: - // https://github.com/chartjs/Chart.js/issues/5597 - // https://github.com/chartjs/Chart.js/issues/5858 - cornerRadius = radius * 0.516; - size = radius - cornerRadius; - xOffset = Math.cos(rad + QUARTER_PI) * size; - xOffsetW = Math.cos(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size); - yOffset = Math.sin(rad + QUARTER_PI) * size; - yOffsetW = Math.sin(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size); - ctx.arc(x - xOffsetW, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI); - ctx.arc(x + yOffsetW, y - xOffset, cornerRadius, rad - HALF_PI, rad); - ctx.arc(x + xOffsetW, y + yOffset, cornerRadius, rad, rad + HALF_PI); - ctx.arc(x - yOffsetW, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI); - ctx.closePath(); - break; - case 'rect': - if (!rotation) { - size = Math.SQRT1_2 * radius; - width = w ? w / 2 : size; - ctx.rect(x - width, y - size, 2 * width, 2 * size); - break; - } - rad += QUARTER_PI; - /* falls through */ case 'rectRot': - xOffsetW = Math.cos(rad) * (w ? w / 2 : radius); - xOffset = Math.cos(rad) * radius; - yOffset = Math.sin(rad) * radius; - yOffsetW = Math.sin(rad) * (w ? w / 2 : radius); - ctx.moveTo(x - xOffsetW, y - yOffset); - ctx.lineTo(x + yOffsetW, y - xOffset); - ctx.lineTo(x + xOffsetW, y + yOffset); - ctx.lineTo(x - yOffsetW, y + xOffset); - ctx.closePath(); - break; - case 'crossRot': - rad += QUARTER_PI; - /* falls through */ case 'cross': - xOffsetW = Math.cos(rad) * (w ? w / 2 : radius); - xOffset = Math.cos(rad) * radius; - yOffset = Math.sin(rad) * radius; - yOffsetW = Math.sin(rad) * (w ? w / 2 : radius); - ctx.moveTo(x - xOffsetW, y - yOffset); - ctx.lineTo(x + xOffsetW, y + yOffset); - ctx.moveTo(x + yOffsetW, y - xOffset); - ctx.lineTo(x - yOffsetW, y + xOffset); - break; - case 'star': - xOffsetW = Math.cos(rad) * (w ? w / 2 : radius); - xOffset = Math.cos(rad) * radius; - yOffset = Math.sin(rad) * radius; - yOffsetW = Math.sin(rad) * (w ? w / 2 : radius); - ctx.moveTo(x - xOffsetW, y - yOffset); - ctx.lineTo(x + xOffsetW, y + yOffset); - ctx.moveTo(x + yOffsetW, y - xOffset); - ctx.lineTo(x - yOffsetW, y + xOffset); - rad += QUARTER_PI; - xOffsetW = Math.cos(rad) * (w ? w / 2 : radius); - xOffset = Math.cos(rad) * radius; - yOffset = Math.sin(rad) * radius; - yOffsetW = Math.sin(rad) * (w ? w / 2 : radius); - ctx.moveTo(x - xOffsetW, y - yOffset); - ctx.lineTo(x + xOffsetW, y + yOffset); - ctx.moveTo(x + yOffsetW, y - xOffset); - ctx.lineTo(x - yOffsetW, y + xOffset); - break; - case 'line': - xOffset = w ? w / 2 : Math.cos(rad) * radius; - yOffset = Math.sin(rad) * radius; - ctx.moveTo(x - xOffset, y - yOffset); - ctx.lineTo(x + xOffset, y + yOffset); - break; - case 'dash': - ctx.moveTo(x, y); - ctx.lineTo(x + Math.cos(rad) * (w ? w / 2 : radius), y + Math.sin(rad) * radius); - break; - case false: - ctx.closePath(); - break; - } - ctx.fill(); - if (options.borderWidth > 0) { - ctx.stroke(); - } -} -/** - * Returns true if the point is inside the rectangle - * @param point - The point to test - * @param area - The rectangle - * @param margin - allowed margin - * @private - */ function _isPointInArea(point, area, margin) { - margin = margin || 0.5; // margin - default is to match rounded decimals - return !area || point && point.x > area.left - margin && point.x < area.right + margin && point.y > area.top - margin && point.y < area.bottom + margin; -} -function clipArea(ctx, area) { - ctx.save(); - ctx.beginPath(); - ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top); - ctx.clip(); -} -function unclipArea(ctx) { - ctx.restore(); -} -/** - * @private - */ function _steppedLineTo(ctx, previous, target, flip, mode) { - if (!previous) { - return ctx.lineTo(target.x, target.y); - } - if (mode === 'middle') { - const midpoint = (previous.x + target.x) / 2.0; - ctx.lineTo(midpoint, previous.y); - ctx.lineTo(midpoint, target.y); - } else if (mode === 'after' !== !!flip) { - ctx.lineTo(previous.x, target.y); - } else { - ctx.lineTo(target.x, previous.y); - } - ctx.lineTo(target.x, target.y); -} -/** - * @private - */ function _bezierCurveTo(ctx, previous, target, flip) { - if (!previous) { - return ctx.lineTo(target.x, target.y); - } - ctx.bezierCurveTo(flip ? previous.cp1x : previous.cp2x, flip ? previous.cp1y : previous.cp2y, flip ? target.cp2x : target.cp1x, flip ? target.cp2y : target.cp1y, target.x, target.y); -} -function setRenderOpts(ctx, opts) { - if (opts.translation) { - ctx.translate(opts.translation[0], opts.translation[1]); - } - if (!isNullOrUndef(opts.rotation)) { - ctx.rotate(opts.rotation); - } - if (opts.color) { - ctx.fillStyle = opts.color; - } - if (opts.textAlign) { - ctx.textAlign = opts.textAlign; - } - if (opts.textBaseline) { - ctx.textBaseline = opts.textBaseline; - } -} -function decorateText(ctx, x, y, line, opts) { - if (opts.strikethrough || opts.underline) { - /** - * Now that IE11 support has been dropped, we can use more - * of the TextMetrics object. The actual bounding boxes - * are unflagged in Chrome, Firefox, Edge, and Safari so they - * can be safely used. - * See https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics#Browser_compatibility - */ const metrics = ctx.measureText(line); - const left = x - metrics.actualBoundingBoxLeft; - const right = x + metrics.actualBoundingBoxRight; - const top = y - metrics.actualBoundingBoxAscent; - const bottom = y + metrics.actualBoundingBoxDescent; - const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom; - ctx.strokeStyle = ctx.fillStyle; - ctx.beginPath(); - ctx.lineWidth = opts.decorationWidth || 2; - ctx.moveTo(left, yDecoration); - ctx.lineTo(right, yDecoration); - ctx.stroke(); - } -} -function drawBackdrop(ctx, opts) { - const oldColor = ctx.fillStyle; - ctx.fillStyle = opts.color; - ctx.fillRect(opts.left, opts.top, opts.width, opts.height); - ctx.fillStyle = oldColor; -} -/** - * Render text onto the canvas - */ function renderText(ctx, text, x, y, font, opts = {}) { - const lines = isArray(text) ? text : [ - text - ]; - const stroke = opts.strokeWidth > 0 && opts.strokeColor !== ''; - let i, line; - ctx.save(); - ctx.font = font.string; - setRenderOpts(ctx, opts); - for(i = 0; i < lines.length; ++i){ - line = lines[i]; - if (opts.backdrop) { - drawBackdrop(ctx, opts.backdrop); - } - if (stroke) { - if (opts.strokeColor) { - ctx.strokeStyle = opts.strokeColor; - } - if (!isNullOrUndef(opts.strokeWidth)) { - ctx.lineWidth = opts.strokeWidth; - } - ctx.strokeText(line, x, y, opts.maxWidth); - } - ctx.fillText(line, x, y, opts.maxWidth); - decorateText(ctx, x, y, line, opts); - y += Number(font.lineHeight); - } - ctx.restore(); -} -/** - * Add a path of a rectangle with rounded corners to the current sub-path - * @param ctx - Context - * @param rect - Bounding rect - */ function addRoundedRectPath(ctx, rect) { - const { x , y , w , h , radius } = rect; - // top left arc - ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, 1.5 * PI, PI, true); - // line from top left to bottom left - ctx.lineTo(x, y + h - radius.bottomLeft); - // bottom left arc - ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true); - // line from bottom left to bottom right - ctx.lineTo(x + w - radius.bottomRight, y + h); - // bottom right arc - ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true); - // line from bottom right to top right - ctx.lineTo(x + w, y + radius.topRight); - // top right arc - ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true); - // line from top right to top left - ctx.lineTo(x + radius.topLeft, y); -} - -const LINE_HEIGHT = /^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/; -const FONT_STYLE = /^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/; -/** - * @alias Chart.helpers.options - * @namespace - */ /** - * Converts the given line height `value` in pixels for a specific font `size`. - * @param value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em'). - * @param size - The font size (in pixels) used to resolve relative `value`. - * @returns The effective line height in pixels (size * 1.2 if value is invalid). - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height - * @since 2.7.0 - */ function toLineHeight(value, size) { - const matches = ('' + value).match(LINE_HEIGHT); - if (!matches || matches[1] === 'normal') { - return size * 1.2; - } - value = +matches[2]; - switch(matches[3]){ - case 'px': - return value; - case '%': - value /= 100; - break; - } - return size * value; -} -const numberOrZero = (v)=>+v || 0; -function _readValueToProps(value, props) { - const ret = {}; - const objProps = isObject(props); - const keys = objProps ? Object.keys(props) : props; - const read = isObject(value) ? objProps ? (prop)=>valueOrDefault(value[prop], value[props[prop]]) : (prop)=>value[prop] : ()=>value; - for (const prop of keys){ - ret[prop] = numberOrZero(read(prop)); - } - return ret; -} -/** - * Converts the given value into a TRBL object. - * @param value - If a number, set the value to all TRBL component, - * else, if an object, use defined properties and sets undefined ones to 0. - * x / y are shorthands for same value for left/right and top/bottom. - * @returns The padding values (top, right, bottom, left) - * @since 3.0.0 - */ function toTRBL(value) { - return _readValueToProps(value, { - top: 'y', - right: 'x', - bottom: 'y', - left: 'x' - }); -} -/** - * Converts the given value into a TRBL corners object (similar with css border-radius). - * @param value - If a number, set the value to all TRBL corner components, - * else, if an object, use defined properties and sets undefined ones to 0. - * @returns The TRBL corner values (topLeft, topRight, bottomLeft, bottomRight) - * @since 3.0.0 - */ function toTRBLCorners(value) { - return _readValueToProps(value, [ - 'topLeft', - 'topRight', - 'bottomLeft', - 'bottomRight' - ]); -} -/** - * Converts the given value into a padding object with pre-computed width/height. - * @param value - If a number, set the value to all TRBL component, - * else, if an object, use defined properties and sets undefined ones to 0. - * x / y are shorthands for same value for left/right and top/bottom. - * @returns The padding values (top, right, bottom, left, width, height) - * @since 2.7.0 - */ function toPadding(value) { - const obj = toTRBL(value); - obj.width = obj.left + obj.right; - obj.height = obj.top + obj.bottom; - return obj; -} -/** - * Parses font options and returns the font object. - * @param options - A object that contains font options to be parsed. - * @param fallback - A object that contains fallback font options. - * @return The font object. - * @private - */ function toFont(options, fallback) { - options = options || {}; - fallback = fallback || defaults.font; - let size = valueOrDefault(options.size, fallback.size); - if (typeof size === 'string') { - size = parseInt(size, 10); - } - let style = valueOrDefault(options.style, fallback.style); - if (style && !('' + style).match(FONT_STYLE)) { - console.warn('Invalid font style specified: "' + style + '"'); - style = undefined; - } - const font = { - family: valueOrDefault(options.family, fallback.family), - lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size), - size, - style, - weight: valueOrDefault(options.weight, fallback.weight), - string: '' - }; - font.string = toFontString(font); - return font; -} -/** - * Evaluates the given `inputs` sequentially and returns the first defined value. - * @param inputs - An array of values, falling back to the last value. - * @param context - If defined and the current value is a function, the value - * is called with `context` as first argument and the result becomes the new input. - * @param index - If defined and the current value is an array, the value - * at `index` become the new input. - * @param info - object to return information about resolution in - * @param info.cacheable - Will be set to `false` if option is not cacheable. - * @since 2.7.0 - */ function resolve(inputs, context, index, info) { - let cacheable = true; - let i, ilen, value; - for(i = 0, ilen = inputs.length; i < ilen; ++i){ - value = inputs[i]; - if (value === undefined) { - continue; - } - if (context !== undefined && typeof value === 'function') { - value = value(context); - cacheable = false; - } - if (index !== undefined && isArray(value)) { - value = value[index % value.length]; - cacheable = false; - } - if (value !== undefined) { - if (info && !cacheable) { - info.cacheable = false; - } - return value; - } - } -} -/** - * @param minmax - * @param grace - * @param beginAtZero - * @private - */ function _addGrace(minmax, grace, beginAtZero) { - const { min , max } = minmax; - const change = toDimension(grace, (max - min) / 2); - const keepZero = (value, add)=>beginAtZero && value === 0 ? 0 : value + add; - return { - min: keepZero(min, -Math.abs(change)), - max: keepZero(max, change) - }; -} -function createContext(parentContext, context) { - return Object.assign(Object.create(parentContext), context); -} - -/** - * Creates a Proxy for resolving raw values for options. - * @param scopes - The option scopes to look for values, in resolution order - * @param prefixes - The prefixes for values, in resolution order. - * @param rootScopes - The root option scopes - * @param fallback - Parent scopes fallback - * @param getTarget - callback for getting the target for changed values - * @returns Proxy - * @private - */ function _createResolver(scopes, prefixes = [ - '' -], rootScopes, fallback, getTarget = ()=>scopes[0]) { - const finalRootScopes = rootScopes || scopes; - if (typeof fallback === 'undefined') { - fallback = _resolve('_fallback', scopes); - } - const cache = { - [Symbol.toStringTag]: 'Object', - _cacheable: true, - _scopes: scopes, - _rootScopes: finalRootScopes, - _fallback: fallback, - _getTarget: getTarget, - override: (scope)=>_createResolver([ - scope, - ...scopes - ], prefixes, finalRootScopes, fallback) - }; - return new Proxy(cache, { - /** - * A trap for the delete operator. - */ deleteProperty (target, prop) { - delete target[prop]; // remove from cache - delete target._keys; // remove cached keys - delete scopes[0][prop]; // remove from top level scope - return true; - }, - /** - * A trap for getting property values. - */ get (target, prop) { - return _cached(target, prop, ()=>_resolveWithPrefixes(prop, prefixes, scopes, target)); - }, - /** - * A trap for Object.getOwnPropertyDescriptor. - * Also used by Object.hasOwnProperty. - */ getOwnPropertyDescriptor (target, prop) { - return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop); - }, - /** - * A trap for Object.getPrototypeOf. - */ getPrototypeOf () { - return Reflect.getPrototypeOf(scopes[0]); - }, - /** - * A trap for the in operator. - */ has (target, prop) { - return getKeysFromAllScopes(target).includes(prop); - }, - /** - * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols. - */ ownKeys (target) { - return getKeysFromAllScopes(target); - }, - /** - * A trap for setting property values. - */ set (target, prop, value) { - const storage = target._storage || (target._storage = getTarget()); - target[prop] = storage[prop] = value; // set to top level scope + cache - delete target._keys; // remove cached keys - return true; - } - }); -} -/** - * Returns an Proxy for resolving option values with context. - * @param proxy - The Proxy returned by `_createResolver` - * @param context - Context object for scriptable/indexable options - * @param subProxy - The proxy provided for scriptable options - * @param descriptorDefaults - Defaults for descriptors - * @private - */ function _attachContext(proxy, context, subProxy, descriptorDefaults) { - const cache = { - _cacheable: false, - _proxy: proxy, - _context: context, - _subProxy: subProxy, - _stack: new Set(), - _descriptors: _descriptors(proxy, descriptorDefaults), - setContext: (ctx)=>_attachContext(proxy, ctx, subProxy, descriptorDefaults), - override: (scope)=>_attachContext(proxy.override(scope), context, subProxy, descriptorDefaults) - }; - return new Proxy(cache, { - /** - * A trap for the delete operator. - */ deleteProperty (target, prop) { - delete target[prop]; // remove from cache - delete proxy[prop]; // remove from proxy - return true; - }, - /** - * A trap for getting property values. - */ get (target, prop, receiver) { - return _cached(target, prop, ()=>_resolveWithContext(target, prop, receiver)); - }, - /** - * A trap for Object.getOwnPropertyDescriptor. - * Also used by Object.hasOwnProperty. - */ getOwnPropertyDescriptor (target, prop) { - return target._descriptors.allKeys ? Reflect.has(proxy, prop) ? { - enumerable: true, - configurable: true - } : undefined : Reflect.getOwnPropertyDescriptor(proxy, prop); - }, - /** - * A trap for Object.getPrototypeOf. - */ getPrototypeOf () { - return Reflect.getPrototypeOf(proxy); - }, - /** - * A trap for the in operator. - */ has (target, prop) { - return Reflect.has(proxy, prop); - }, - /** - * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols. - */ ownKeys () { - return Reflect.ownKeys(proxy); - }, - /** - * A trap for setting property values. - */ set (target, prop, value) { - proxy[prop] = value; // set to proxy - delete target[prop]; // remove from cache - return true; - } - }); -} -/** - * @private - */ function _descriptors(proxy, defaults = { - scriptable: true, - indexable: true -}) { - const { _scriptable =defaults.scriptable , _indexable =defaults.indexable , _allKeys =defaults.allKeys } = proxy; - return { - allKeys: _allKeys, - scriptable: _scriptable, - indexable: _indexable, - isScriptable: isFunction(_scriptable) ? _scriptable : ()=>_scriptable, - isIndexable: isFunction(_indexable) ? _indexable : ()=>_indexable - }; -} -const readKey = (prefix, name)=>prefix ? prefix + _capitalize(name) : name; -const needsSubResolver = (prop, value)=>isObject(value) && prop !== 'adapters' && (Object.getPrototypeOf(value) === null || value.constructor === Object); -function _cached(target, prop, resolve) { - if (Object.prototype.hasOwnProperty.call(target, prop) || prop === 'constructor') { - return target[prop]; - } - const value = resolve(); - // cache the resolved value - target[prop] = value; - return value; -} -function _resolveWithContext(target, prop, receiver) { - const { _proxy , _context , _subProxy , _descriptors: descriptors } = target; - let value = _proxy[prop]; // resolve from proxy - // resolve with context - if (isFunction(value) && descriptors.isScriptable(prop)) { - value = _resolveScriptable(prop, value, target, receiver); - } - if (isArray(value) && value.length) { - value = _resolveArray(prop, value, target, descriptors.isIndexable); - } - if (needsSubResolver(prop, value)) { - // if the resolved value is an object, create a sub resolver for it - value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors); - } - return value; -} -function _resolveScriptable(prop, getValue, target, receiver) { - const { _proxy , _context , _subProxy , _stack } = target; - if (_stack.has(prop)) { - throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop); - } - _stack.add(prop); - let value = getValue(_context, _subProxy || receiver); - _stack.delete(prop); - if (needsSubResolver(prop, value)) { - // When scriptable option returns an object, create a resolver on that. - value = createSubResolver(_proxy._scopes, _proxy, prop, value); - } - return value; -} -function _resolveArray(prop, value, target, isIndexable) { - const { _proxy , _context , _subProxy , _descriptors: descriptors } = target; - if (typeof _context.index !== 'undefined' && isIndexable(prop)) { - return value[_context.index % value.length]; - } else if (isObject(value[0])) { - // Array of objects, return array or resolvers - const arr = value; - const scopes = _proxy._scopes.filter((s)=>s !== arr); - value = []; - for (const item of arr){ - const resolver = createSubResolver(scopes, _proxy, prop, item); - value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors)); - } - } - return value; -} -function resolveFallback(fallback, prop, value) { - return isFunction(fallback) ? fallback(prop, value) : fallback; -} -const getScope = (key, parent)=>key === true ? parent : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined; -function addScopes(set, parentScopes, key, parentFallback, value) { - for (const parent of parentScopes){ - const scope = getScope(key, parent); - if (scope) { - set.add(scope); - const fallback = resolveFallback(scope._fallback, key, value); - if (typeof fallback !== 'undefined' && fallback !== key && fallback !== parentFallback) { - // When we reach the descriptor that defines a new _fallback, return that. - // The fallback will resume to that new scope. - return fallback; - } - } else if (scope === false && typeof parentFallback !== 'undefined' && key !== parentFallback) { - // Fallback to `false` results to `false`, when falling back to different key. - // For example `interaction` from `hover` or `plugins.tooltip` and `animation` from `animations` - return null; - } - } - return false; -} -function createSubResolver(parentScopes, resolver, prop, value) { - const rootScopes = resolver._rootScopes; - const fallback = resolveFallback(resolver._fallback, prop, value); - const allScopes = [ - ...parentScopes, - ...rootScopes - ]; - const set = new Set(); - set.add(value); - let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value); - if (key === null) { - return false; - } - if (typeof fallback !== 'undefined' && fallback !== prop) { - key = addScopesFromKey(set, allScopes, fallback, key, value); - if (key === null) { - return false; - } - } - return _createResolver(Array.from(set), [ - '' - ], rootScopes, fallback, ()=>subGetTarget(resolver, prop, value)); -} -function addScopesFromKey(set, allScopes, key, fallback, item) { - while(key){ - key = addScopes(set, allScopes, key, fallback, item); - } - return key; -} -function subGetTarget(resolver, prop, value) { - const parent = resolver._getTarget(); - if (!(prop in parent)) { - parent[prop] = {}; - } - const target = parent[prop]; - if (isArray(target) && isObject(value)) { - // For array of objects, the object is used to store updated values - return value; - } - return target || {}; -} -function _resolveWithPrefixes(prop, prefixes, scopes, proxy) { - let value; - for (const prefix of prefixes){ - value = _resolve(readKey(prefix, prop), scopes); - if (typeof value !== 'undefined') { - return needsSubResolver(prop, value) ? createSubResolver(scopes, proxy, prop, value) : value; - } - } -} -function _resolve(key, scopes) { - for (const scope of scopes){ - if (!scope) { - continue; - } - const value = scope[key]; - if (typeof value !== 'undefined') { - return value; - } - } -} -function getKeysFromAllScopes(target) { - let keys = target._keys; - if (!keys) { - keys = target._keys = resolveKeysFromAllScopes(target._scopes); - } - return keys; -} -function resolveKeysFromAllScopes(scopes) { - const set = new Set(); - for (const scope of scopes){ - for (const key of Object.keys(scope).filter((k)=>!k.startsWith('_'))){ - set.add(key); - } - } - return Array.from(set); -} -function _parseObjectDataRadialScale(meta, data, start, count) { - const { iScale } = meta; - const { key ='r' } = this._parsing; - const parsed = new Array(count); - let i, ilen, index, item; - for(i = 0, ilen = count; i < ilen; ++i){ - index = i + start; - item = data[index]; - parsed[i] = { - r: iScale.parse(resolveObjectKey(item, key), index) - }; - } - return parsed; -} - -const EPSILON = Number.EPSILON || 1e-14; -const getPoint = (points, i)=>i < points.length && !points[i].skip && points[i]; -const getValueAxis = (indexAxis)=>indexAxis === 'x' ? 'y' : 'x'; -function splineCurve(firstPoint, middlePoint, afterPoint, t) { - // Props to Rob Spencer at scaled innovation for his post on splining between points - // http://scaledinnovation.com/analytics/splines/aboutSplines.html - // This function must also respect "skipped" points - const previous = firstPoint.skip ? middlePoint : firstPoint; - const current = middlePoint; - const next = afterPoint.skip ? middlePoint : afterPoint; - const d01 = distanceBetweenPoints(current, previous); - const d12 = distanceBetweenPoints(next, current); - let s01 = d01 / (d01 + d12); - let s12 = d12 / (d01 + d12); - // If all points are the same, s01 & s02 will be inf - s01 = isNaN(s01) ? 0 : s01; - s12 = isNaN(s12) ? 0 : s12; - const fa = t * s01; // scaling factor for triangle Ta - const fb = t * s12; - return { - previous: { - x: current.x - fa * (next.x - previous.x), - y: current.y - fa * (next.y - previous.y) - }, - next: { - x: current.x + fb * (next.x - previous.x), - y: current.y + fb * (next.y - previous.y) - } - }; -} -/** - * Adjust tangents to ensure monotonic properties - */ function monotoneAdjust(points, deltaK, mK) { - const pointsLen = points.length; - let alphaK, betaK, tauK, squaredMagnitude, pointCurrent; - let pointAfter = getPoint(points, 0); - for(let i = 0; i < pointsLen - 1; ++i){ - pointCurrent = pointAfter; - pointAfter = getPoint(points, i + 1); - if (!pointCurrent || !pointAfter) { - continue; - } - if (almostEquals(deltaK[i], 0, EPSILON)) { - mK[i] = mK[i + 1] = 0; - continue; - } - alphaK = mK[i] / deltaK[i]; - betaK = mK[i + 1] / deltaK[i]; - squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2); - if (squaredMagnitude <= 9) { - continue; - } - tauK = 3 / Math.sqrt(squaredMagnitude); - mK[i] = alphaK * tauK * deltaK[i]; - mK[i + 1] = betaK * tauK * deltaK[i]; - } -} -function monotoneCompute(points, mK, indexAxis = 'x') { - const valueAxis = getValueAxis(indexAxis); - const pointsLen = points.length; - let delta, pointBefore, pointCurrent; - let pointAfter = getPoint(points, 0); - for(let i = 0; i < pointsLen; ++i){ - pointBefore = pointCurrent; - pointCurrent = pointAfter; - pointAfter = getPoint(points, i + 1); - if (!pointCurrent) { - continue; - } - const iPixel = pointCurrent[indexAxis]; - const vPixel = pointCurrent[valueAxis]; - if (pointBefore) { - delta = (iPixel - pointBefore[indexAxis]) / 3; - pointCurrent[`cp1${indexAxis}`] = iPixel - delta; - pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i]; - } - if (pointAfter) { - delta = (pointAfter[indexAxis] - iPixel) / 3; - pointCurrent[`cp2${indexAxis}`] = iPixel + delta; - pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i]; - } - } -} -/** - * This function calculates Bézier control points in a similar way than |splineCurve|, - * but preserves monotonicity of the provided data and ensures no local extremums are added - * between the dataset discrete points due to the interpolation. - * See : https://en.wikipedia.org/wiki/Monotone_cubic_interpolation - */ function splineCurveMonotone(points, indexAxis = 'x') { - const valueAxis = getValueAxis(indexAxis); - const pointsLen = points.length; - const deltaK = Array(pointsLen).fill(0); - const mK = Array(pointsLen); - // Calculate slopes (deltaK) and initialize tangents (mK) - let i, pointBefore, pointCurrent; - let pointAfter = getPoint(points, 0); - for(i = 0; i < pointsLen; ++i){ - pointBefore = pointCurrent; - pointCurrent = pointAfter; - pointAfter = getPoint(points, i + 1); - if (!pointCurrent) { - continue; - } - if (pointAfter) { - const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis]; - // In the case of two points that appear at the same x pixel, slopeDeltaX is 0 - deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0; - } - mK[i] = !pointBefore ? deltaK[i] : !pointAfter ? deltaK[i - 1] : sign(deltaK[i - 1]) !== sign(deltaK[i]) ? 0 : (deltaK[i - 1] + deltaK[i]) / 2; - } - monotoneAdjust(points, deltaK, mK); - monotoneCompute(points, mK, indexAxis); -} -function capControlPoint(pt, min, max) { - return Math.max(Math.min(pt, max), min); -} -function capBezierPoints(points, area) { - let i, ilen, point, inArea, inAreaPrev; - let inAreaNext = _isPointInArea(points[0], area); - for(i = 0, ilen = points.length; i < ilen; ++i){ - inAreaPrev = inArea; - inArea = inAreaNext; - inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area); - if (!inArea) { - continue; - } - point = points[i]; - if (inAreaPrev) { - point.cp1x = capControlPoint(point.cp1x, area.left, area.right); - point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom); - } - if (inAreaNext) { - point.cp2x = capControlPoint(point.cp2x, area.left, area.right); - point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom); - } - } -} -/** - * @private - */ function _updateBezierControlPoints(points, options, area, loop, indexAxis) { - let i, ilen, point, controlPoints; - // Only consider points that are drawn in case the spanGaps option is used - if (options.spanGaps) { - points = points.filter((pt)=>!pt.skip); - } - if (options.cubicInterpolationMode === 'monotone') { - splineCurveMonotone(points, indexAxis); - } else { - let prev = loop ? points[points.length - 1] : points[0]; - for(i = 0, ilen = points.length; i < ilen; ++i){ - point = points[i]; - controlPoints = splineCurve(prev, point, points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen], options.tension); - point.cp1x = controlPoints.previous.x; - point.cp1y = controlPoints.previous.y; - point.cp2x = controlPoints.next.x; - point.cp2y = controlPoints.next.y; - prev = point; - } - } - if (options.capBezierPoints) { - capBezierPoints(points, area); - } -} - -/** - * @private - */ function _isDomSupported() { - return typeof window !== 'undefined' && typeof document !== 'undefined'; -} -/** - * @private - */ function _getParentNode(domNode) { - let parent = domNode.parentNode; - if (parent && parent.toString() === '[object ShadowRoot]') { - parent = parent.host; - } - return parent; -} -/** - * convert max-width/max-height values that may be percentages into a number - * @private - */ function parseMaxStyle(styleValue, node, parentProperty) { - let valueInPixels; - if (typeof styleValue === 'string') { - valueInPixels = parseInt(styleValue, 10); - if (styleValue.indexOf('%') !== -1) { - // percentage * size in dimension - valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty]; - } - } else { - valueInPixels = styleValue; - } - return valueInPixels; -} -const getComputedStyle = (element)=>element.ownerDocument.defaultView.getComputedStyle(element, null); -function getStyle(el, property) { - return getComputedStyle(el).getPropertyValue(property); -} -const positions = [ - 'top', - 'right', - 'bottom', - 'left' -]; -function getPositionedStyle(styles, style, suffix) { - const result = {}; - suffix = suffix ? '-' + suffix : ''; - for(let i = 0; i < 4; i++){ - const pos = positions[i]; - result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0; - } - result.width = result.left + result.right; - result.height = result.top + result.bottom; - return result; -} -const useOffsetPos = (x, y, target)=>(x > 0 || y > 0) && (!target || !target.shadowRoot); -/** - * @param e - * @param canvas - * @returns Canvas position - */ function getCanvasPosition(e, canvas) { - const touches = e.touches; - const source = touches && touches.length ? touches[0] : e; - const { offsetX , offsetY } = source; - let box = false; - let x, y; - if (useOffsetPos(offsetX, offsetY, e.target)) { - x = offsetX; - y = offsetY; - } else { - const rect = canvas.getBoundingClientRect(); - x = source.clientX - rect.left; - y = source.clientY - rect.top; - box = true; - } - return { - x, - y, - box - }; -} -/** - * Gets an event's x, y coordinates, relative to the chart area - * @param event - * @param chart - * @returns x and y coordinates of the event - */ function getRelativePosition(event, chart) { - if ('native' in event) { - return event; - } - const { canvas , currentDevicePixelRatio } = chart; - const style = getComputedStyle(canvas); - const borderBox = style.boxSizing === 'border-box'; - const paddings = getPositionedStyle(style, 'padding'); - const borders = getPositionedStyle(style, 'border', 'width'); - const { x , y , box } = getCanvasPosition(event, canvas); - const xOffset = paddings.left + (box && borders.left); - const yOffset = paddings.top + (box && borders.top); - let { width , height } = chart; - if (borderBox) { - width -= paddings.width + borders.width; - height -= paddings.height + borders.height; - } - return { - x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio), - y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio) - }; -} -function getContainerSize(canvas, width, height) { - let maxWidth, maxHeight; - if (width === undefined || height === undefined) { - const container = canvas && _getParentNode(canvas); - if (!container) { - width = canvas.clientWidth; - height = canvas.clientHeight; - } else { - const rect = container.getBoundingClientRect(); // this is the border box of the container - const containerStyle = getComputedStyle(container); - const containerBorder = getPositionedStyle(containerStyle, 'border', 'width'); - const containerPadding = getPositionedStyle(containerStyle, 'padding'); - width = rect.width - containerPadding.width - containerBorder.width; - height = rect.height - containerPadding.height - containerBorder.height; - maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth'); - maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight'); - } - } - return { - width, - height, - maxWidth: maxWidth || INFINITY, - maxHeight: maxHeight || INFINITY - }; -} -const round1 = (v)=>Math.round(v * 10) / 10; -// eslint-disable-next-line complexity -function getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) { - const style = getComputedStyle(canvas); - const margins = getPositionedStyle(style, 'margin'); - const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY; - const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY; - const containerSize = getContainerSize(canvas, bbWidth, bbHeight); - let { width , height } = containerSize; - if (style.boxSizing === 'content-box') { - const borders = getPositionedStyle(style, 'border', 'width'); - const paddings = getPositionedStyle(style, 'padding'); - width -= paddings.width + borders.width; - height -= paddings.height + borders.height; - } - width = Math.max(0, width - margins.width); - height = Math.max(0, aspectRatio ? width / aspectRatio : height - margins.height); - width = round1(Math.min(width, maxWidth, containerSize.maxWidth)); - height = round1(Math.min(height, maxHeight, containerSize.maxHeight)); - if (width && !height) { - // https://github.com/chartjs/Chart.js/issues/4659 - // If the canvas has width, but no height, default to aspectRatio of 2 (canvas default) - height = round1(width / 2); - } - const maintainHeight = bbWidth !== undefined || bbHeight !== undefined; - if (maintainHeight && aspectRatio && containerSize.height && height > containerSize.height) { - height = containerSize.height; - width = round1(Math.floor(height * aspectRatio)); - } - return { - width, - height - }; -} -/** - * @param chart - * @param forceRatio - * @param forceStyle - * @returns True if the canvas context size or transformation has changed. - */ function retinaScale(chart, forceRatio, forceStyle) { - const pixelRatio = forceRatio || 1; - const deviceHeight = round1(chart.height * pixelRatio); - const deviceWidth = round1(chart.width * pixelRatio); - chart.height = round1(chart.height); - chart.width = round1(chart.width); - const canvas = chart.canvas; - // If no style has been set on the canvas, the render size is used as display size, - // making the chart visually bigger, so let's enforce it to the "correct" values. - // See https://github.com/chartjs/Chart.js/issues/3575 - if (canvas.style && (forceStyle || !canvas.style.height && !canvas.style.width)) { - canvas.style.height = `${chart.height}px`; - canvas.style.width = `${chart.width}px`; - } - if (chart.currentDevicePixelRatio !== pixelRatio || canvas.height !== deviceHeight || canvas.width !== deviceWidth) { - chart.currentDevicePixelRatio = pixelRatio; - canvas.height = deviceHeight; - canvas.width = deviceWidth; - chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0); - return true; - } - return false; -} -/** - * Detects support for options object argument in addEventListener. - * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support - * @private - */ const supportsEventListenerOptions = function() { - let passiveSupported = false; - try { - const options = { - get passive () { - passiveSupported = true; - return false; - } - }; - if (_isDomSupported()) { - window.addEventListener('test', null, options); - window.removeEventListener('test', null, options); - } - } catch (e) { - // continue regardless of error - } - return passiveSupported; -}(); -/** - * The "used" size is the final value of a dimension property after all calculations have - * been performed. This method uses the computed style of `element` but returns undefined - * if the computed style is not expressed in pixels. That can happen in some cases where - * `element` has a size relative to its parent and this last one is not yet displayed, - * for example because of `display: none` on a parent node. - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value - * @returns Size in pixels or undefined if unknown. - */ function readUsedSize(element, property) { - const value = getStyle(element, property); - const matches = value && value.match(/^(\d+)(\.\d+)?px$/); - return matches ? +matches[1] : undefined; -} - -/** - * @private - */ function _pointInLine(p1, p2, t, mode) { - return { - x: p1.x + t * (p2.x - p1.x), - y: p1.y + t * (p2.y - p1.y) - }; -} -/** - * @private - */ function _steppedInterpolation(p1, p2, t, mode) { - return { - x: p1.x + t * (p2.x - p1.x), - y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y : mode === 'after' ? t < 1 ? p1.y : p2.y : t > 0 ? p2.y : p1.y - }; -} -/** - * @private - */ function _bezierInterpolation(p1, p2, t, mode) { - const cp1 = { - x: p1.cp2x, - y: p1.cp2y - }; - const cp2 = { - x: p2.cp1x, - y: p2.cp1y - }; - const a = _pointInLine(p1, cp1, t); - const b = _pointInLine(cp1, cp2, t); - const c = _pointInLine(cp2, p2, t); - const d = _pointInLine(a, b, t); - const e = _pointInLine(b, c, t); - return _pointInLine(d, e, t); -} - -const getRightToLeftAdapter = function(rectX, width) { - return { - x (x) { - return rectX + rectX + width - x; - }, - setWidth (w) { - width = w; - }, - textAlign (align) { - if (align === 'center') { - return align; - } - return align === 'right' ? 'left' : 'right'; - }, - xPlus (x, value) { - return x - value; - }, - leftForLtr (x, itemWidth) { - return x - itemWidth; - } - }; -}; -const getLeftToRightAdapter = function() { - return { - x (x) { - return x; - }, - setWidth (w) {}, - textAlign (align) { - return align; - }, - xPlus (x, value) { - return x + value; - }, - leftForLtr (x, _itemWidth) { - return x; - } - }; -}; -function getRtlAdapter(rtl, rectX, width) { - return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter(); -} -function overrideTextDirection(ctx, direction) { - let style, original; - if (direction === 'ltr' || direction === 'rtl') { - style = ctx.canvas.style; - original = [ - style.getPropertyValue('direction'), - style.getPropertyPriority('direction') - ]; - style.setProperty('direction', direction, 'important'); - ctx.prevTextDirection = original; - } -} -function restoreTextDirection(ctx, original) { - if (original !== undefined) { - delete ctx.prevTextDirection; - ctx.canvas.style.setProperty('direction', original[0], original[1]); - } -} - -function propertyFn(property) { - if (property === 'angle') { - return { - between: _angleBetween, - compare: _angleDiff, - normalize: _normalizeAngle - }; - } - return { - between: _isBetween, - compare: (a, b)=>a - b, - normalize: (x)=>x - }; -} -function normalizeSegment({ start , end , count , loop , style }) { - return { - start: start % count, - end: end % count, - loop: loop && (end - start + 1) % count === 0, - style - }; -} -function getSegment(segment, points, bounds) { - const { property , start: startBound , end: endBound } = bounds; - const { between , normalize } = propertyFn(property); - const count = points.length; - let { start , end , loop } = segment; - let i, ilen; - if (loop) { - start += count; - end += count; - for(i = 0, ilen = count; i < ilen; ++i){ - if (!between(normalize(points[start % count][property]), startBound, endBound)) { - break; - } - start--; - end--; - } - start %= count; - end %= count; - } - if (end < start) { - end += count; - } - return { - start, - end, - loop, - style: segment.style - }; -} - function _boundSegment(segment, points, bounds) { - if (!bounds) { - return [ - segment - ]; - } - const { property , start: startBound , end: endBound } = bounds; - const count = points.length; - const { compare , between , normalize } = propertyFn(property); - const { start , end , loop , style } = getSegment(segment, points, bounds); - const result = []; - let inside = false; - let subStart = null; - let value, point, prevValue; - const startIsBefore = ()=>between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0; - const endIsBefore = ()=>compare(endBound, value) === 0 || between(endBound, prevValue, value); - const shouldStart = ()=>inside || startIsBefore(); - const shouldStop = ()=>!inside || endIsBefore(); - for(let i = start, prev = start; i <= end; ++i){ - point = points[i % count]; - if (point.skip) { - continue; - } - value = normalize(point[property]); - if (value === prevValue) { - continue; - } - inside = between(value, startBound, endBound); - if (subStart === null && shouldStart()) { - subStart = compare(value, startBound) === 0 ? i : prev; - } - if (subStart !== null && shouldStop()) { - result.push(normalizeSegment({ - start: subStart, - end: i, - loop, - count, - style - })); - subStart = null; - } - prev = i; - prevValue = value; - } - if (subStart !== null) { - result.push(normalizeSegment({ - start: subStart, - end, - loop, - count, - style - })); - } - return result; -} - function _boundSegments(line, bounds) { - const result = []; - const segments = line.segments; - for(let i = 0; i < segments.length; i++){ - const sub = _boundSegment(segments[i], line.points, bounds); - if (sub.length) { - result.push(...sub); - } - } - return result; -} - function findStartAndEnd(points, count, loop, spanGaps) { - let start = 0; - let end = count - 1; - if (loop && !spanGaps) { - while(start < count && !points[start].skip){ - start++; - } - } - while(start < count && points[start].skip){ - start++; - } - start %= count; - if (loop) { - end += start; - } - while(end > start && points[end % count].skip){ - end--; - } - end %= count; - return { - start, - end - }; -} - function solidSegments(points, start, max, loop) { - const count = points.length; - const result = []; - let last = start; - let prev = points[start]; - let end; - for(end = start + 1; end <= max; ++end){ - const cur = points[end % count]; - if (cur.skip || cur.stop) { - if (!prev.skip) { - loop = false; - result.push({ - start: start % count, - end: (end - 1) % count, - loop - }); - start = last = cur.stop ? end : null; - } - } else { - last = end; - if (prev.skip) { - start = end; - } - } - prev = cur; - } - if (last !== null) { - result.push({ - start: start % count, - end: last % count, - loop - }); - } - return result; -} - function _computeSegments(line, segmentOptions) { - const points = line.points; - const spanGaps = line.options.spanGaps; - const count = points.length; - if (!count) { - return []; - } - const loop = !!line._loop; - const { start , end } = findStartAndEnd(points, count, loop, spanGaps); - if (spanGaps === true) { - return splitByStyles(line, [ - { - start, - end, - loop - } - ], points, segmentOptions); - } - const max = end < start ? end + count : end; - const completeLoop = !!line._fullLoop && start === 0 && end === count - 1; - return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions); -} - function splitByStyles(line, segments, points, segmentOptions) { - if (!segmentOptions || !segmentOptions.setContext || !points) { - return segments; - } - return doSplitByStyles(line, segments, points, segmentOptions); -} - function doSplitByStyles(line, segments, points, segmentOptions) { - const chartContext = line._chart.getContext(); - const baseStyle = readStyle(line.options); - const { _datasetIndex: datasetIndex , options: { spanGaps } } = line; - const count = points.length; - const result = []; - let prevStyle = baseStyle; - let start = segments[0].start; - let i = start; - function addStyle(s, e, l, st) { - const dir = spanGaps ? -1 : 1; - if (s === e) { - return; - } - s += count; - while(points[s % count].skip){ - s -= dir; - } - while(points[e % count].skip){ - e += dir; - } - if (s % count !== e % count) { - result.push({ - start: s % count, - end: e % count, - loop: l, - style: st - }); - prevStyle = st; - start = e % count; - } - } - for (const segment of segments){ - start = spanGaps ? start : segment.start; - let prev = points[start % count]; - let style; - for(i = start + 1; i <= segment.end; i++){ - const pt = points[i % count]; - style = readStyle(segmentOptions.setContext(createContext(chartContext, { - type: 'segment', - p0: prev, - p1: pt, - p0DataIndex: (i - 1) % count, - p1DataIndex: i % count, - datasetIndex - }))); - if (styleChanged(style, prevStyle)) { - addStyle(start, i - 1, segment.loop, prevStyle); - } - prev = pt; - prevStyle = style; - } - if (start < i - 1) { - addStyle(start, i - 1, segment.loop, prevStyle); - } - } - return result; -} -function readStyle(options) { - return { - backgroundColor: options.backgroundColor, - borderCapStyle: options.borderCapStyle, - borderDash: options.borderDash, - borderDashOffset: options.borderDashOffset, - borderJoinStyle: options.borderJoinStyle, - borderWidth: options.borderWidth, - borderColor: options.borderColor - }; -} -function styleChanged(style, prevStyle) { - if (!prevStyle) { - return false; - } - const cache = []; - const replacer = function(key, value) { - if (!isPatternOrGradient(value)) { - return value; - } - if (!cache.includes(value)) { - cache.push(value); - } - return cache.indexOf(value); - }; - return JSON.stringify(style, replacer) !== JSON.stringify(prevStyle, replacer); -} - -function getSizeForArea(scale, chartArea, field) { - return scale.options.clip ? scale[field] : chartArea[field]; -} -function getDatasetArea(meta, chartArea) { - const { xScale , yScale } = meta; - if (xScale && yScale) { - return { - left: getSizeForArea(xScale, chartArea, 'left'), - right: getSizeForArea(xScale, chartArea, 'right'), - top: getSizeForArea(yScale, chartArea, 'top'), - bottom: getSizeForArea(yScale, chartArea, 'bottom') - }; - } - return chartArea; -} -function getDatasetClipArea(chart, meta) { - const clip = meta._clip; - if (clip.disabled) { - return false; - } - const area = getDatasetArea(meta, chart.chartArea); - return { - left: clip.left === false ? 0 : area.left - (clip.left === true ? 0 : clip.left), - right: clip.right === false ? chart.width : area.right + (clip.right === true ? 0 : clip.right), - top: clip.top === false ? 0 : area.top - (clip.top === true ? 0 : clip.top), - bottom: clip.bottom === false ? chart.height : area.bottom + (clip.bottom === true ? 0 : clip.bottom) - }; -} - - -//# sourceMappingURL=helpers.dataset.js.map - -;// ../../node_modules/chart.js/dist/chart.js -/*! - * Chart.js v4.5.1 - * https://www.chartjs.org - * (c) 2025 Chart.js Contributors - * Released under the MIT License - */ - - - -class Animator { - constructor(){ - this._request = null; - this._charts = new Map(); - this._running = false; - this._lastDate = undefined; - } - _notify(chart, anims, date, type) { - const callbacks = anims.listeners[type]; - const numSteps = anims.duration; - callbacks.forEach((fn)=>fn({ - chart, - initial: anims.initial, - numSteps, - currentStep: Math.min(date - anims.start, numSteps) - })); - } - _refresh() { - if (this._request) { - return; - } - this._running = true; - this._request = requestAnimFrame.call(window, ()=>{ - this._update(); - this._request = null; - if (this._running) { - this._refresh(); - } - }); - } - _update(date = Date.now()) { - let remaining = 0; - this._charts.forEach((anims, chart)=>{ - if (!anims.running || !anims.items.length) { - return; - } - const items = anims.items; - let i = items.length - 1; - let draw = false; - let item; - for(; i >= 0; --i){ - item = items[i]; - if (item._active) { - if (item._total > anims.duration) { - anims.duration = item._total; - } - item.tick(date); - draw = true; - } else { - items[i] = items[items.length - 1]; - items.pop(); - } - } - if (draw) { - chart.draw(); - this._notify(chart, anims, date, 'progress'); - } - if (!items.length) { - anims.running = false; - this._notify(chart, anims, date, 'complete'); - anims.initial = false; - } - remaining += items.length; - }); - this._lastDate = date; - if (remaining === 0) { - this._running = false; - } - } - _getAnims(chart) { - const charts = this._charts; - let anims = charts.get(chart); - if (!anims) { - anims = { - running: false, - initial: true, - items: [], - listeners: { - complete: [], - progress: [] - } - }; - charts.set(chart, anims); - } - return anims; - } - listen(chart, event, cb) { - this._getAnims(chart).listeners[event].push(cb); - } - add(chart, items) { - if (!items || !items.length) { - return; - } - this._getAnims(chart).items.push(...items); - } - has(chart) { - return this._getAnims(chart).items.length > 0; - } - start(chart) { - const anims = this._charts.get(chart); - if (!anims) { - return; - } - anims.running = true; - anims.start = Date.now(); - anims.duration = anims.items.reduce((acc, cur)=>Math.max(acc, cur._duration), 0); - this._refresh(); - } - running(chart) { - if (!this._running) { - return false; - } - const anims = this._charts.get(chart); - if (!anims || !anims.running || !anims.items.length) { - return false; - } - return true; - } - stop(chart) { - const anims = this._charts.get(chart); - if (!anims || !anims.items.length) { - return; - } - const items = anims.items; - let i = items.length - 1; - for(; i >= 0; --i){ - items[i].cancel(); - } - anims.items = []; - this._notify(chart, anims, Date.now(), 'complete'); - } - remove(chart) { - return this._charts.delete(chart); - } -} -var animator = /* #__PURE__ */ new Animator(); - -const transparent = 'transparent'; -const interpolators = { - boolean (from, to, factor) { - return factor > 0.5 ? to : from; - }, - color (from, to, factor) { - const c0 = color(from || transparent); - const c1 = c0.valid && color(to || transparent); - return c1 && c1.valid ? c1.mix(c0, factor).hexString() : to; - }, - number (from, to, factor) { - return from + (to - from) * factor; - } -}; -class Animation { - constructor(cfg, target, prop, to){ - const currentValue = target[prop]; - to = resolve([ - cfg.to, - to, - currentValue, - cfg.from - ]); - const from = resolve([ - cfg.from, - currentValue, - to - ]); - this._active = true; - this._fn = cfg.fn || interpolators[cfg.type || typeof from]; - this._easing = effects[cfg.easing] || effects.linear; - this._start = Math.floor(Date.now() + (cfg.delay || 0)); - this._duration = this._total = Math.floor(cfg.duration); - this._loop = !!cfg.loop; - this._target = target; - this._prop = prop; - this._from = from; - this._to = to; - this._promises = undefined; - } - active() { - return this._active; - } - update(cfg, to, date) { - if (this._active) { - this._notify(false); - const currentValue = this._target[this._prop]; - const elapsed = date - this._start; - const remain = this._duration - elapsed; - this._start = date; - this._duration = Math.floor(Math.max(remain, cfg.duration)); - this._total += elapsed; - this._loop = !!cfg.loop; - this._to = resolve([ - cfg.to, - to, - currentValue, - cfg.from - ]); - this._from = resolve([ - cfg.from, - currentValue, - to - ]); - } - } - cancel() { - if (this._active) { - this.tick(Date.now()); - this._active = false; - this._notify(false); - } - } - tick(date) { - const elapsed = date - this._start; - const duration = this._duration; - const prop = this._prop; - const from = this._from; - const loop = this._loop; - const to = this._to; - let factor; - this._active = from !== to && (loop || elapsed < duration); - if (!this._active) { - this._target[prop] = to; - this._notify(true); - return; - } - if (elapsed < 0) { - this._target[prop] = from; - return; - } - factor = elapsed / duration % 2; - factor = loop && factor > 1 ? 2 - factor : factor; - factor = this._easing(Math.min(1, Math.max(0, factor))); - this._target[prop] = this._fn(from, to, factor); - } - wait() { - const promises = this._promises || (this._promises = []); - return new Promise((res, rej)=>{ - promises.push({ - res, - rej - }); - }); - } - _notify(resolved) { - const method = resolved ? 'res' : 'rej'; - const promises = this._promises || []; - for(let i = 0; i < promises.length; i++){ - promises[i][method](); - } - } -} - -class Animations { - constructor(chart, config){ - this._chart = chart; - this._properties = new Map(); - this.configure(config); - } - configure(config) { - if (!isObject(config)) { - return; - } - const animationOptions = Object.keys(defaults.animation); - const animatedProps = this._properties; - Object.getOwnPropertyNames(config).forEach((key)=>{ - const cfg = config[key]; - if (!isObject(cfg)) { - return; - } - const resolved = {}; - for (const option of animationOptions){ - resolved[option] = cfg[option]; - } - (isArray(cfg.properties) && cfg.properties || [ - key - ]).forEach((prop)=>{ - if (prop === key || !animatedProps.has(prop)) { - animatedProps.set(prop, resolved); - } - }); - }); - } - _animateOptions(target, values) { - const newOptions = values.options; - const options = resolveTargetOptions(target, newOptions); - if (!options) { - return []; - } - const animations = this._createAnimations(options, newOptions); - if (newOptions.$shared) { - awaitAll(target.options.$animations, newOptions).then(()=>{ - target.options = newOptions; - }, ()=>{ - }); - } - return animations; - } - _createAnimations(target, values) { - const animatedProps = this._properties; - const animations = []; - const running = target.$animations || (target.$animations = {}); - const props = Object.keys(values); - const date = Date.now(); - let i; - for(i = props.length - 1; i >= 0; --i){ - const prop = props[i]; - if (prop.charAt(0) === '$') { - continue; - } - if (prop === 'options') { - animations.push(...this._animateOptions(target, values)); - continue; - } - const value = values[prop]; - let animation = running[prop]; - const cfg = animatedProps.get(prop); - if (animation) { - if (cfg && animation.active()) { - animation.update(cfg, value, date); - continue; - } else { - animation.cancel(); - } - } - if (!cfg || !cfg.duration) { - target[prop] = value; - continue; - } - running[prop] = animation = new Animation(cfg, target, prop, value); - animations.push(animation); - } - return animations; - } - update(target, values) { - if (this._properties.size === 0) { - Object.assign(target, values); - return; - } - const animations = this._createAnimations(target, values); - if (animations.length) { - animator.add(this._chart, animations); - return true; - } - } -} -function awaitAll(animations, properties) { - const running = []; - const keys = Object.keys(properties); - for(let i = 0; i < keys.length; i++){ - const anim = animations[keys[i]]; - if (anim && anim.active()) { - running.push(anim.wait()); - } - } - return Promise.all(running); -} -function resolveTargetOptions(target, newOptions) { - if (!newOptions) { - return; - } - let options = target.options; - if (!options) { - target.options = newOptions; - return; - } - if (options.$shared) { - target.options = options = Object.assign({}, options, { - $shared: false, - $animations: {} - }); - } - return options; -} - -function scaleClip(scale, allowedOverflow) { - const opts = scale && scale.options || {}; - const reverse = opts.reverse; - const min = opts.min === undefined ? allowedOverflow : 0; - const max = opts.max === undefined ? allowedOverflow : 0; - return { - start: reverse ? max : min, - end: reverse ? min : max - }; -} -function defaultClip(xScale, yScale, allowedOverflow) { - if (allowedOverflow === false) { - return false; - } - const x = scaleClip(xScale, allowedOverflow); - const y = scaleClip(yScale, allowedOverflow); - return { - top: y.end, - right: x.end, - bottom: y.start, - left: x.start - }; -} -function toClip(value) { - let t, r, b, l; - if (isObject(value)) { - t = value.top; - r = value.right; - b = value.bottom; - l = value.left; - } else { - t = r = b = l = value; - } - return { - top: t, - right: r, - bottom: b, - left: l, - disabled: value === false - }; -} -function getSortedDatasetIndices(chart, filterVisible) { - const keys = []; - const metasets = chart._getSortedDatasetMetas(filterVisible); - let i, ilen; - for(i = 0, ilen = metasets.length; i < ilen; ++i){ - keys.push(metasets[i].index); - } - return keys; -} -function applyStack(stack, value, dsIndex, options = {}) { - const keys = stack.keys; - const singleMode = options.mode === 'single'; - let i, ilen, datasetIndex, otherValue; - if (value === null) { - return; - } - let found = false; - for(i = 0, ilen = keys.length; i < ilen; ++i){ - datasetIndex = +keys[i]; - if (datasetIndex === dsIndex) { - found = true; - if (options.all) { - continue; - } - break; - } - otherValue = stack.values[datasetIndex]; - if (isNumberFinite(otherValue) && (singleMode || value === 0 || sign(value) === sign(otherValue))) { - value += otherValue; - } - } - if (!found && !options.all) { - return 0; - } - return value; -} -function convertObjectDataToArray(data, meta) { - const { iScale , vScale } = meta; - const iAxisKey = iScale.axis === 'x' ? 'x' : 'y'; - const vAxisKey = vScale.axis === 'x' ? 'x' : 'y'; - const keys = Object.keys(data); - const adata = new Array(keys.length); - let i, ilen, key; - for(i = 0, ilen = keys.length; i < ilen; ++i){ - key = keys[i]; - adata[i] = { - [iAxisKey]: key, - [vAxisKey]: data[key] - }; - } - return adata; -} -function isStacked(scale, meta) { - const stacked = scale && scale.options.stacked; - return stacked || stacked === undefined && meta.stack !== undefined; -} -function getStackKey(indexScale, valueScale, meta) { - return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`; -} -function getUserBounds(scale) { - const { min , max , minDefined , maxDefined } = scale.getUserBounds(); - return { - min: minDefined ? min : Number.NEGATIVE_INFINITY, - max: maxDefined ? max : Number.POSITIVE_INFINITY - }; -} -function getOrCreateStack(stacks, stackKey, indexValue) { - const subStack = stacks[stackKey] || (stacks[stackKey] = {}); - return subStack[indexValue] || (subStack[indexValue] = {}); -} -function getLastIndexInStack(stack, vScale, positive, type) { - for (const meta of vScale.getMatchingVisibleMetas(type).reverse()){ - const value = stack[meta.index]; - if (positive && value > 0 || !positive && value < 0) { - return meta.index; - } - } - return null; -} -function updateStacks(controller, parsed) { - const { chart , _cachedMeta: meta } = controller; - const stacks = chart._stacks || (chart._stacks = {}); - const { iScale , vScale , index: datasetIndex } = meta; - const iAxis = iScale.axis; - const vAxis = vScale.axis; - const key = getStackKey(iScale, vScale, meta); - const ilen = parsed.length; - let stack; - for(let i = 0; i < ilen; ++i){ - const item = parsed[i]; - const { [iAxis]: index , [vAxis]: value } = item; - const itemStacks = item._stacks || (item._stacks = {}); - stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index); - stack[datasetIndex] = value; - stack._top = getLastIndexInStack(stack, vScale, true, meta.type); - stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type); - const visualValues = stack._visualValues || (stack._visualValues = {}); - visualValues[datasetIndex] = value; - } -} -function getFirstScaleId(chart, axis) { - const scales = chart.scales; - return Object.keys(scales).filter((key)=>scales[key].axis === axis).shift(); -} -function createDatasetContext(parent, index) { - return createContext(parent, { - active: false, - dataset: undefined, - datasetIndex: index, - index, - mode: 'default', - type: 'dataset' - }); -} -function createDataContext(parent, index, element) { - return createContext(parent, { - active: false, - dataIndex: index, - parsed: undefined, - raw: undefined, - element, - index, - mode: 'default', - type: 'data' - }); -} -function clearStacks(meta, items) { - const datasetIndex = meta.controller.index; - const axis = meta.vScale && meta.vScale.axis; - if (!axis) { - return; - } - items = items || meta._parsed; - for (const parsed of items){ - const stacks = parsed._stacks; - if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) { - return; - } - delete stacks[axis][datasetIndex]; - if (stacks[axis]._visualValues !== undefined && stacks[axis]._visualValues[datasetIndex] !== undefined) { - delete stacks[axis]._visualValues[datasetIndex]; - } - } -} -const isDirectUpdateMode = (mode)=>mode === 'reset' || mode === 'none'; -const cloneIfNotShared = (cached, shared)=>shared ? cached : Object.assign({}, cached); -const createStack = (canStack, meta, chart)=>canStack && !meta.hidden && meta._stacked && { - keys: getSortedDatasetIndices(chart, true), - values: null - }; -class DatasetController { - static defaults = {}; - static datasetElementType = null; - static dataElementType = null; - constructor(chart, datasetIndex){ - this.chart = chart; - this._ctx = chart.ctx; - this.index = datasetIndex; - this._cachedDataOpts = {}; - this._cachedMeta = this.getMeta(); - this._type = this._cachedMeta.type; - this.options = undefined; - this._parsing = false; - this._data = undefined; - this._objectData = undefined; - this._sharedOptions = undefined; - this._drawStart = undefined; - this._drawCount = undefined; - this.enableOptionSharing = false; - this.supportsDecimation = false; - this.$context = undefined; - this._syncList = []; - this.datasetElementType = new.target.datasetElementType; - this.dataElementType = new.target.dataElementType; - this.initialize(); - } - initialize() { - const meta = this._cachedMeta; - this.configure(); - this.linkScales(); - meta._stacked = isStacked(meta.vScale, meta); - this.addElements(); - if (this.options.fill && !this.chart.isPluginEnabled('filler')) { - console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options"); - } - } - updateIndex(datasetIndex) { - if (this.index !== datasetIndex) { - clearStacks(this._cachedMeta); - } - this.index = datasetIndex; - } - linkScales() { - const chart = this.chart; - const meta = this._cachedMeta; - const dataset = this.getDataset(); - const chooseId = (axis, x, y, r)=>axis === 'x' ? x : axis === 'r' ? r : y; - const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x')); - const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y')); - const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r')); - const indexAxis = meta.indexAxis; - const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid); - const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid); - meta.xScale = this.getScaleForId(xid); - meta.yScale = this.getScaleForId(yid); - meta.rScale = this.getScaleForId(rid); - meta.iScale = this.getScaleForId(iid); - meta.vScale = this.getScaleForId(vid); - } - getDataset() { - return this.chart.data.datasets[this.index]; - } - getMeta() { - return this.chart.getDatasetMeta(this.index); - } - getScaleForId(scaleID) { - return this.chart.scales[scaleID]; - } - _getOtherScale(scale) { - const meta = this._cachedMeta; - return scale === meta.iScale ? meta.vScale : meta.iScale; - } - reset() { - this._update('reset'); - } - _destroy() { - const meta = this._cachedMeta; - if (this._data) { - unlistenArrayEvents(this._data, this); - } - if (meta._stacked) { - clearStacks(meta); - } - } - _dataCheck() { - const dataset = this.getDataset(); - const data = dataset.data || (dataset.data = []); - const _data = this._data; - if (isObject(data)) { - const meta = this._cachedMeta; - this._data = convertObjectDataToArray(data, meta); - } else if (_data !== data) { - if (_data) { - unlistenArrayEvents(_data, this); - const meta = this._cachedMeta; - clearStacks(meta); - meta._parsed = []; - } - if (data && Object.isExtensible(data)) { - listenArrayEvents(data, this); - } - this._syncList = []; - this._data = data; - } - } - addElements() { - const meta = this._cachedMeta; - this._dataCheck(); - if (this.datasetElementType) { - meta.dataset = new this.datasetElementType(); - } - } - buildOrUpdateElements(resetNewElements) { - const meta = this._cachedMeta; - const dataset = this.getDataset(); - let stackChanged = false; - this._dataCheck(); - const oldStacked = meta._stacked; - meta._stacked = isStacked(meta.vScale, meta); - if (meta.stack !== dataset.stack) { - stackChanged = true; - clearStacks(meta); - meta.stack = dataset.stack; - } - this._resyncElements(resetNewElements); - if (stackChanged || oldStacked !== meta._stacked) { - updateStacks(this, meta._parsed); - meta._stacked = isStacked(meta.vScale, meta); - } - } - configure() { - const config = this.chart.config; - const scopeKeys = config.datasetScopeKeys(this._type); - const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true); - this.options = config.createResolver(scopes, this.getContext()); - this._parsing = this.options.parsing; - this._cachedDataOpts = {}; - } - parse(start, count) { - const { _cachedMeta: meta , _data: data } = this; - const { iScale , _stacked } = meta; - const iAxis = iScale.axis; - let sorted = start === 0 && count === data.length ? true : meta._sorted; - let prev = start > 0 && meta._parsed[start - 1]; - let i, cur, parsed; - if (this._parsing === false) { - meta._parsed = data; - meta._sorted = true; - parsed = data; - } else { - if (isArray(data[start])) { - parsed = this.parseArrayData(meta, data, start, count); - } else if (isObject(data[start])) { - parsed = this.parseObjectData(meta, data, start, count); - } else { - parsed = this.parsePrimitiveData(meta, data, start, count); - } - const isNotInOrderComparedToPrev = ()=>cur[iAxis] === null || prev && cur[iAxis] < prev[iAxis]; - for(i = 0; i < count; ++i){ - meta._parsed[i + start] = cur = parsed[i]; - if (sorted) { - if (isNotInOrderComparedToPrev()) { - sorted = false; - } - prev = cur; - } - } - meta._sorted = sorted; - } - if (_stacked) { - updateStacks(this, parsed); - } - } - parsePrimitiveData(meta, data, start, count) { - const { iScale , vScale } = meta; - const iAxis = iScale.axis; - const vAxis = vScale.axis; - const labels = iScale.getLabels(); - const singleScale = iScale === vScale; - const parsed = new Array(count); - let i, ilen, index; - for(i = 0, ilen = count; i < ilen; ++i){ - index = i + start; - parsed[i] = { - [iAxis]: singleScale || iScale.parse(labels[index], index), - [vAxis]: vScale.parse(data[index], index) - }; - } - return parsed; - } - parseArrayData(meta, data, start, count) { - const { xScale , yScale } = meta; - const parsed = new Array(count); - let i, ilen, index, item; - for(i = 0, ilen = count; i < ilen; ++i){ - index = i + start; - item = data[index]; - parsed[i] = { - x: xScale.parse(item[0], index), - y: yScale.parse(item[1], index) - }; - } - return parsed; - } - parseObjectData(meta, data, start, count) { - const { xScale , yScale } = meta; - const { xAxisKey ='x' , yAxisKey ='y' } = this._parsing; - const parsed = new Array(count); - let i, ilen, index, item; - for(i = 0, ilen = count; i < ilen; ++i){ - index = i + start; - item = data[index]; - parsed[i] = { - x: xScale.parse(resolveObjectKey(item, xAxisKey), index), - y: yScale.parse(resolveObjectKey(item, yAxisKey), index) - }; - } - return parsed; - } - getParsed(index) { - return this._cachedMeta._parsed[index]; - } - getDataElement(index) { - return this._cachedMeta.data[index]; - } - applyStack(scale, parsed, mode) { - const chart = this.chart; - const meta = this._cachedMeta; - const value = parsed[scale.axis]; - const stack = { - keys: getSortedDatasetIndices(chart, true), - values: parsed._stacks[scale.axis]._visualValues - }; - return applyStack(stack, value, meta.index, { - mode - }); - } - updateRangeFromParsed(range, scale, parsed, stack) { - const parsedValue = parsed[scale.axis]; - let value = parsedValue === null ? NaN : parsedValue; - const values = stack && parsed._stacks[scale.axis]; - if (stack && values) { - stack.values = values; - value = applyStack(stack, parsedValue, this._cachedMeta.index); - } - range.min = Math.min(range.min, value); - range.max = Math.max(range.max, value); - } - getMinMax(scale, canStack) { - const meta = this._cachedMeta; - const _parsed = meta._parsed; - const sorted = meta._sorted && scale === meta.iScale; - const ilen = _parsed.length; - const otherScale = this._getOtherScale(scale); - const stack = createStack(canStack, meta, this.chart); - const range = { - min: Number.POSITIVE_INFINITY, - max: Number.NEGATIVE_INFINITY - }; - const { min: otherMin , max: otherMax } = getUserBounds(otherScale); - let i, parsed; - function _skip() { - parsed = _parsed[i]; - const otherValue = parsed[otherScale.axis]; - return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue; - } - for(i = 0; i < ilen; ++i){ - if (_skip()) { - continue; - } - this.updateRangeFromParsed(range, scale, parsed, stack); - if (sorted) { - break; - } - } - if (sorted) { - for(i = ilen - 1; i >= 0; --i){ - if (_skip()) { - continue; - } - this.updateRangeFromParsed(range, scale, parsed, stack); - break; - } - } - return range; - } - getAllParsedValues(scale) { - const parsed = this._cachedMeta._parsed; - const values = []; - let i, ilen, value; - for(i = 0, ilen = parsed.length; i < ilen; ++i){ - value = parsed[i][scale.axis]; - if (isNumberFinite(value)) { - values.push(value); - } - } - return values; - } - getMaxOverflow() { - return false; - } - getLabelAndValue(index) { - const meta = this._cachedMeta; - const iScale = meta.iScale; - const vScale = meta.vScale; - const parsed = this.getParsed(index); - return { - label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '', - value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : '' - }; - } - _update(mode) { - const meta = this._cachedMeta; - this.update(mode || 'default'); - meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow()))); - } - update(mode) {} - draw() { - const ctx = this._ctx; - const chart = this.chart; - const meta = this._cachedMeta; - const elements = meta.data || []; - const area = chart.chartArea; - const active = []; - const start = this._drawStart || 0; - const count = this._drawCount || elements.length - start; - const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop; - let i; - if (meta.dataset) { - meta.dataset.draw(ctx, area, start, count); - } - for(i = start; i < start + count; ++i){ - const element = elements[i]; - if (element.hidden) { - continue; - } - if (element.active && drawActiveElementsOnTop) { - active.push(element); - } else { - element.draw(ctx, area); - } - } - for(i = 0; i < active.length; ++i){ - active[i].draw(ctx, area); - } - } - getStyle(index, active) { - const mode = active ? 'active' : 'default'; - return index === undefined && this._cachedMeta.dataset ? this.resolveDatasetElementOptions(mode) : this.resolveDataElementOptions(index || 0, mode); - } - getContext(index, active, mode) { - const dataset = this.getDataset(); - let context; - if (index >= 0 && index < this._cachedMeta.data.length) { - const element = this._cachedMeta.data[index]; - context = element.$context || (element.$context = createDataContext(this.getContext(), index, element)); - context.parsed = this.getParsed(index); - context.raw = dataset.data[index]; - context.index = context.dataIndex = index; - } else { - context = this.$context || (this.$context = createDatasetContext(this.chart.getContext(), this.index)); - context.dataset = dataset; - context.index = context.datasetIndex = this.index; - } - context.active = !!active; - context.mode = mode; - return context; - } - resolveDatasetElementOptions(mode) { - return this._resolveElementOptions(this.datasetElementType.id, mode); - } - resolveDataElementOptions(index, mode) { - return this._resolveElementOptions(this.dataElementType.id, mode, index); - } - _resolveElementOptions(elementType, mode = 'default', index) { - const active = mode === 'active'; - const cache = this._cachedDataOpts; - const cacheKey = elementType + '-' + mode; - const cached = cache[cacheKey]; - const sharing = this.enableOptionSharing && defined(index); - if (cached) { - return cloneIfNotShared(cached, sharing); - } - const config = this.chart.config; - const scopeKeys = config.datasetElementScopeKeys(this._type, elementType); - const prefixes = active ? [ - `${elementType}Hover`, - 'hover', - elementType, - '' - ] : [ - elementType, - '' - ]; - const scopes = config.getOptionScopes(this.getDataset(), scopeKeys); - const names = Object.keys(defaults.elements[elementType]); - const context = ()=>this.getContext(index, active, mode); - const values = config.resolveNamedOptions(scopes, names, context, prefixes); - if (values.$shared) { - values.$shared = sharing; - cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing)); - } - return values; - } - _resolveAnimations(index, transition, active) { - const chart = this.chart; - const cache = this._cachedDataOpts; - const cacheKey = `animation-${transition}`; - const cached = cache[cacheKey]; - if (cached) { - return cached; - } - let options; - if (chart.options.animation !== false) { - const config = this.chart.config; - const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition); - const scopes = config.getOptionScopes(this.getDataset(), scopeKeys); - options = config.createResolver(scopes, this.getContext(index, active, transition)); - } - const animations = new Animations(chart, options && options.animations); - if (options && options._cacheable) { - cache[cacheKey] = Object.freeze(animations); - } - return animations; - } - getSharedOptions(options) { - if (!options.$shared) { - return; - } - return this._sharedOptions || (this._sharedOptions = Object.assign({}, options)); - } - includeOptions(mode, sharedOptions) { - return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled; - } - _getSharedOptions(start, mode) { - const firstOpts = this.resolveDataElementOptions(start, mode); - const previouslySharedOptions = this._sharedOptions; - const sharedOptions = this.getSharedOptions(firstOpts); - const includeOptions = this.includeOptions(mode, sharedOptions) || sharedOptions !== previouslySharedOptions; - this.updateSharedOptions(sharedOptions, mode, firstOpts); - return { - sharedOptions, - includeOptions - }; - } - updateElement(element, index, properties, mode) { - if (isDirectUpdateMode(mode)) { - Object.assign(element, properties); - } else { - this._resolveAnimations(index, mode).update(element, properties); - } - } - updateSharedOptions(sharedOptions, mode, newOptions) { - if (sharedOptions && !isDirectUpdateMode(mode)) { - this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions); - } - } - _setStyle(element, index, mode, active) { - element.active = active; - const options = this.getStyle(index, active); - this._resolveAnimations(index, mode, active).update(element, { - options: !active && this.getSharedOptions(options) || options - }); - } - removeHoverStyle(element, datasetIndex, index) { - this._setStyle(element, index, 'active', false); - } - setHoverStyle(element, datasetIndex, index) { - this._setStyle(element, index, 'active', true); - } - _removeDatasetHoverStyle() { - const element = this._cachedMeta.dataset; - if (element) { - this._setStyle(element, undefined, 'active', false); - } - } - _setDatasetHoverStyle() { - const element = this._cachedMeta.dataset; - if (element) { - this._setStyle(element, undefined, 'active', true); - } - } - _resyncElements(resetNewElements) { - const data = this._data; - const elements = this._cachedMeta.data; - for (const [method, arg1, arg2] of this._syncList){ - this[method](arg1, arg2); - } - this._syncList = []; - const numMeta = elements.length; - const numData = data.length; - const count = Math.min(numData, numMeta); - if (count) { - this.parse(0, count); - } - if (numData > numMeta) { - this._insertElements(numMeta, numData - numMeta, resetNewElements); - } else if (numData < numMeta) { - this._removeElements(numData, numMeta - numData); - } - } - _insertElements(start, count, resetNewElements = true) { - const meta = this._cachedMeta; - const data = meta.data; - const end = start + count; - let i; - const move = (arr)=>{ - arr.length += count; - for(i = arr.length - 1; i >= end; i--){ - arr[i] = arr[i - count]; - } - }; - move(data); - for(i = start; i < end; ++i){ - data[i] = new this.dataElementType(); - } - if (this._parsing) { - move(meta._parsed); - } - this.parse(start, count); - if (resetNewElements) { - this.updateElements(data, start, count, 'reset'); - } - } - updateElements(element, start, count, mode) {} - _removeElements(start, count) { - const meta = this._cachedMeta; - if (this._parsing) { - const removed = meta._parsed.splice(start, count); - if (meta._stacked) { - clearStacks(meta, removed); - } - } - meta.data.splice(start, count); - } - _sync(args) { - if (this._parsing) { - this._syncList.push(args); - } else { - const [method, arg1, arg2] = args; - this[method](arg1, arg2); - } - this.chart._dataChanges.push([ - this.index, - ...args - ]); - } - _onDataPush() { - const count = arguments.length; - this._sync([ - '_insertElements', - this.getDataset().data.length - count, - count - ]); - } - _onDataPop() { - this._sync([ - '_removeElements', - this._cachedMeta.data.length - 1, - 1 - ]); - } - _onDataShift() { - this._sync([ - '_removeElements', - 0, - 1 - ]); - } - _onDataSplice(start, count) { - if (count) { - this._sync([ - '_removeElements', - start, - count - ]); - } - const newCount = arguments.length - 2; - if (newCount) { - this._sync([ - '_insertElements', - start, - newCount - ]); - } - } - _onDataUnshift() { - this._sync([ - '_insertElements', - 0, - arguments.length - ]); - } -} - -function getAllScaleValues(scale, type) { - if (!scale._cache.$bar) { - const visibleMetas = scale.getMatchingVisibleMetas(type); - let values = []; - for(let i = 0, ilen = visibleMetas.length; i < ilen; i++){ - values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale)); - } - scale._cache.$bar = _arrayUnique(values.sort((a, b)=>a - b)); - } - return scale._cache.$bar; -} - function computeMinSampleSize(meta) { - const scale = meta.iScale; - const values = getAllScaleValues(scale, meta.type); - let min = scale._length; - let i, ilen, curr, prev; - const updateMinAndPrev = ()=>{ - if (curr === 32767 || curr === -32768) { - return; - } - if (defined(prev)) { - min = Math.min(min, Math.abs(curr - prev) || min); - } - prev = curr; - }; - for(i = 0, ilen = values.length; i < ilen; ++i){ - curr = scale.getPixelForValue(values[i]); - updateMinAndPrev(); - } - prev = undefined; - for(i = 0, ilen = scale.ticks.length; i < ilen; ++i){ - curr = scale.getPixelForTick(i); - updateMinAndPrev(); - } - return min; -} - function computeFitCategoryTraits(index, ruler, options, stackCount) { - const thickness = options.barThickness; - let size, ratio; - if (isNullOrUndef(thickness)) { - size = ruler.min * options.categoryPercentage; - ratio = options.barPercentage; - } else { - size = thickness * stackCount; - ratio = 1; - } - return { - chunk: size / stackCount, - ratio, - start: ruler.pixels[index] - size / 2 - }; -} - function computeFlexCategoryTraits(index, ruler, options, stackCount) { - const pixels = ruler.pixels; - const curr = pixels[index]; - let prev = index > 0 ? pixels[index - 1] : null; - let next = index < pixels.length - 1 ? pixels[index + 1] : null; - const percent = options.categoryPercentage; - if (prev === null) { - prev = curr - (next === null ? ruler.end - ruler.start : next - curr); - } - if (next === null) { - next = curr + curr - prev; - } - const start = curr - (curr - Math.min(prev, next)) / 2 * percent; - const size = Math.abs(next - prev) / 2 * percent; - return { - chunk: size / stackCount, - ratio: options.barPercentage, - start - }; -} -function parseFloatBar(entry, item, vScale, i) { - const startValue = vScale.parse(entry[0], i); - const endValue = vScale.parse(entry[1], i); - const min = Math.min(startValue, endValue); - const max = Math.max(startValue, endValue); - let barStart = min; - let barEnd = max; - if (Math.abs(min) > Math.abs(max)) { - barStart = max; - barEnd = min; - } - item[vScale.axis] = barEnd; - item._custom = { - barStart, - barEnd, - start: startValue, - end: endValue, - min, - max - }; -} -function parseValue(entry, item, vScale, i) { - if (isArray(entry)) { - parseFloatBar(entry, item, vScale, i); - } else { - item[vScale.axis] = vScale.parse(entry, i); - } - return item; -} -function parseArrayOrPrimitive(meta, data, start, count) { - const iScale = meta.iScale; - const vScale = meta.vScale; - const labels = iScale.getLabels(); - const singleScale = iScale === vScale; - const parsed = []; - let i, ilen, item, entry; - for(i = start, ilen = start + count; i < ilen; ++i){ - entry = data[i]; - item = {}; - item[iScale.axis] = singleScale || iScale.parse(labels[i], i); - parsed.push(parseValue(entry, item, vScale, i)); - } - return parsed; -} -function isFloatBar(custom) { - return custom && custom.barStart !== undefined && custom.barEnd !== undefined; -} -function barSign(size, vScale, actualBase) { - if (size !== 0) { - return sign(size); - } - return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1); -} -function borderProps(properties) { - let reverse, start, end, top, bottom; - if (properties.horizontal) { - reverse = properties.base > properties.x; - start = 'left'; - end = 'right'; - } else { - reverse = properties.base < properties.y; - start = 'bottom'; - end = 'top'; - } - if (reverse) { - top = 'end'; - bottom = 'start'; - } else { - top = 'start'; - bottom = 'end'; - } - return { - start, - end, - reverse, - top, - bottom - }; -} -function setBorderSkipped(properties, options, stack, index) { - let edge = options.borderSkipped; - const res = {}; - if (!edge) { - properties.borderSkipped = res; - return; - } - if (edge === true) { - properties.borderSkipped = { - top: true, - right: true, - bottom: true, - left: true - }; - return; - } - const { start , end , reverse , top , bottom } = borderProps(properties); - if (edge === 'middle' && stack) { - properties.enableBorderRadius = true; - if ((stack._top || 0) === index) { - edge = top; - } else if ((stack._bottom || 0) === index) { - edge = bottom; - } else { - res[parseEdge(bottom, start, end, reverse)] = true; - edge = top; - } - } - res[parseEdge(edge, start, end, reverse)] = true; - properties.borderSkipped = res; -} -function parseEdge(edge, a, b, reverse) { - if (reverse) { - edge = swap(edge, a, b); - edge = startEnd(edge, b, a); - } else { - edge = startEnd(edge, a, b); - } - return edge; -} -function swap(orig, v1, v2) { - return orig === v1 ? v2 : orig === v2 ? v1 : orig; -} -function startEnd(v, start, end) { - return v === 'start' ? start : v === 'end' ? end : v; -} -function setInflateAmount(properties, { inflateAmount }, ratio) { - properties.inflateAmount = inflateAmount === 'auto' ? ratio === 1 ? 0.33 : 0 : inflateAmount; -} -class BarController extends DatasetController { - static id = 'bar'; - static defaults = { - datasetElementType: false, - dataElementType: 'bar', - categoryPercentage: 0.8, - barPercentage: 0.9, - grouped: true, - animations: { - numbers: { - type: 'number', - properties: [ - 'x', - 'y', - 'base', - 'width', - 'height' - ] - } - } - }; - static overrides = { - scales: { - _index_: { - type: 'category', - offset: true, - grid: { - offset: true - } - }, - _value_: { - type: 'linear', - beginAtZero: true - } - } - }; - parsePrimitiveData(meta, data, start, count) { - return parseArrayOrPrimitive(meta, data, start, count); - } - parseArrayData(meta, data, start, count) { - return parseArrayOrPrimitive(meta, data, start, count); - } - parseObjectData(meta, data, start, count) { - const { iScale , vScale } = meta; - const { xAxisKey ='x' , yAxisKey ='y' } = this._parsing; - const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey; - const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey; - const parsed = []; - let i, ilen, item, obj; - for(i = start, ilen = start + count; i < ilen; ++i){ - obj = data[i]; - item = {}; - item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i); - parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i)); - } - return parsed; - } - updateRangeFromParsed(range, scale, parsed, stack) { - super.updateRangeFromParsed(range, scale, parsed, stack); - const custom = parsed._custom; - if (custom && scale === this._cachedMeta.vScale) { - range.min = Math.min(range.min, custom.min); - range.max = Math.max(range.max, custom.max); - } - } - getMaxOverflow() { - return 0; - } - getLabelAndValue(index) { - const meta = this._cachedMeta; - const { iScale , vScale } = meta; - const parsed = this.getParsed(index); - const custom = parsed._custom; - const value = isFloatBar(custom) ? '[' + custom.start + ', ' + custom.end + ']' : '' + vScale.getLabelForValue(parsed[vScale.axis]); - return { - label: '' + iScale.getLabelForValue(parsed[iScale.axis]), - value - }; - } - initialize() { - this.enableOptionSharing = true; - super.initialize(); - const meta = this._cachedMeta; - meta.stack = this.getDataset().stack; - } - update(mode) { - const meta = this._cachedMeta; - this.updateElements(meta.data, 0, meta.data.length, mode); - } - updateElements(bars, start, count, mode) { - const reset = mode === 'reset'; - const { index , _cachedMeta: { vScale } } = this; - const base = vScale.getBasePixel(); - const horizontal = vScale.isHorizontal(); - const ruler = this._getRuler(); - const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode); - for(let i = start; i < start + count; i++){ - const parsed = this.getParsed(i); - const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? { - base, - head: base - } : this._calculateBarValuePixels(i); - const ipixels = this._calculateBarIndexPixels(i, ruler); - const stack = (parsed._stacks || {})[vScale.axis]; - const properties = { - horizontal, - base: vpixels.base, - enableBorderRadius: !stack || isFloatBar(parsed._custom) || index === stack._top || index === stack._bottom, - x: horizontal ? vpixels.head : ipixels.center, - y: horizontal ? ipixels.center : vpixels.head, - height: horizontal ? ipixels.size : Math.abs(vpixels.size), - width: horizontal ? Math.abs(vpixels.size) : ipixels.size - }; - if (includeOptions) { - properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode); - } - const options = properties.options || bars[i].options; - setBorderSkipped(properties, options, stack, index); - setInflateAmount(properties, options, ruler.ratio); - this.updateElement(bars[i], i, properties, mode); - } - } - _getStacks(last, dataIndex) { - const { iScale } = this._cachedMeta; - const metasets = iScale.getMatchingVisibleMetas(this._type).filter((meta)=>meta.controller.options.grouped); - const stacked = iScale.options.stacked; - const stacks = []; - const currentParsed = this._cachedMeta.controller.getParsed(dataIndex); - const iScaleValue = currentParsed && currentParsed[iScale.axis]; - const skipNull = (meta)=>{ - const parsed = meta._parsed.find((item)=>item[iScale.axis] === iScaleValue); - const val = parsed && parsed[meta.vScale.axis]; - if (isNullOrUndef(val) || isNaN(val)) { - return true; - } - }; - for (const meta of metasets){ - if (dataIndex !== undefined && skipNull(meta)) { - continue; - } - if (stacked === false || stacks.indexOf(meta.stack) === -1 || stacked === undefined && meta.stack === undefined) { - stacks.push(meta.stack); - } - if (meta.index === last) { - break; - } - } - if (!stacks.length) { - stacks.push(undefined); - } - return stacks; - } - _getStackCount(index) { - return this._getStacks(undefined, index).length; - } - _getAxisCount() { - return this._getAxis().length; - } - getFirstScaleIdForIndexAxis() { - const scales = this.chart.scales; - const indexScaleId = this.chart.options.indexAxis; - return Object.keys(scales).filter((key)=>scales[key].axis === indexScaleId).shift(); - } - _getAxis() { - const axis = {}; - const firstScaleAxisId = this.getFirstScaleIdForIndexAxis(); - for (const dataset of this.chart.data.datasets){ - axis[valueOrDefault(this.chart.options.indexAxis === 'x' ? dataset.xAxisID : dataset.yAxisID, firstScaleAxisId)] = true; - } - return Object.keys(axis); - } - _getStackIndex(datasetIndex, name, dataIndex) { - const stacks = this._getStacks(datasetIndex, dataIndex); - const index = name !== undefined ? stacks.indexOf(name) : -1; - return index === -1 ? stacks.length - 1 : index; - } - _getRuler() { - const opts = this.options; - const meta = this._cachedMeta; - const iScale = meta.iScale; - const pixels = []; - let i, ilen; - for(i = 0, ilen = meta.data.length; i < ilen; ++i){ - pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i)); - } - const barThickness = opts.barThickness; - const min = barThickness || computeMinSampleSize(meta); - return { - min, - pixels, - start: iScale._startPixel, - end: iScale._endPixel, - stackCount: this._getStackCount(), - scale: iScale, - grouped: opts.grouped, - ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage - }; - } - _calculateBarValuePixels(index) { - const { _cachedMeta: { vScale , _stacked , index: datasetIndex } , options: { base: baseValue , minBarLength } } = this; - const actualBase = baseValue || 0; - const parsed = this.getParsed(index); - const custom = parsed._custom; - const floating = isFloatBar(custom); - let value = parsed[vScale.axis]; - let start = 0; - let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value; - let head, size; - if (length !== value) { - start = length - value; - length = value; - } - if (floating) { - value = custom.barStart; - length = custom.barEnd - custom.barStart; - if (value !== 0 && sign(value) !== sign(custom.barEnd)) { - start = 0; - } - start += value; - } - const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start; - let base = vScale.getPixelForValue(startValue); - if (this.chart.getDataVisibility(index)) { - head = vScale.getPixelForValue(start + length); - } else { - head = base; - } - size = head - base; - if (Math.abs(size) < minBarLength) { - size = barSign(size, vScale, actualBase) * minBarLength; - if (value === actualBase) { - base -= size / 2; - } - const startPixel = vScale.getPixelForDecimal(0); - const endPixel = vScale.getPixelForDecimal(1); - const min = Math.min(startPixel, endPixel); - const max = Math.max(startPixel, endPixel); - base = Math.max(Math.min(base, max), min); - head = base + size; - if (_stacked && !floating) { - parsed._stacks[vScale.axis]._visualValues[datasetIndex] = vScale.getValueForPixel(head) - vScale.getValueForPixel(base); - } - } - if (base === vScale.getPixelForValue(actualBase)) { - const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2; - base += halfGrid; - size -= halfGrid; - } - return { - size, - base, - head, - center: head + size / 2 - }; - } - _calculateBarIndexPixels(index, ruler) { - const scale = ruler.scale; - const options = this.options; - const skipNull = options.skipNull; - const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity); - let center, size; - const axisCount = this._getAxisCount(); - if (ruler.grouped) { - const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount; - const range = options.barThickness === 'flex' ? computeFlexCategoryTraits(index, ruler, options, stackCount * axisCount) : computeFitCategoryTraits(index, ruler, options, stackCount * axisCount); - const axisID = this.chart.options.indexAxis === 'x' ? this.getDataset().xAxisID : this.getDataset().yAxisID; - const axisNumber = this._getAxis().indexOf(valueOrDefault(axisID, this.getFirstScaleIdForIndexAxis())); - const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined) + axisNumber; - center = range.start + range.chunk * stackIndex + range.chunk / 2; - size = Math.min(maxBarThickness, range.chunk * range.ratio); - } else { - center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index); - size = Math.min(maxBarThickness, ruler.min * ruler.ratio); - } - return { - base: center - size / 2, - head: center + size / 2, - center, - size - }; - } - draw() { - const meta = this._cachedMeta; - const vScale = meta.vScale; - const rects = meta.data; - const ilen = rects.length; - let i = 0; - for(; i < ilen; ++i){ - if (this.getParsed(i)[vScale.axis] !== null && !rects[i].hidden) { - rects[i].draw(this._ctx); - } - } - } -} - -class BubbleController extends DatasetController { - static id = 'bubble'; - static defaults = { - datasetElementType: false, - dataElementType: 'point', - animations: { - numbers: { - type: 'number', - properties: [ - 'x', - 'y', - 'borderWidth', - 'radius' - ] - } - } - }; - static overrides = { - scales: { - x: { - type: 'linear' - }, - y: { - type: 'linear' - } - } - }; - initialize() { - this.enableOptionSharing = true; - super.initialize(); - } - parsePrimitiveData(meta, data, start, count) { - const parsed = super.parsePrimitiveData(meta, data, start, count); - for(let i = 0; i < parsed.length; i++){ - parsed[i]._custom = this.resolveDataElementOptions(i + start).radius; - } - return parsed; - } - parseArrayData(meta, data, start, count) { - const parsed = super.parseArrayData(meta, data, start, count); - for(let i = 0; i < parsed.length; i++){ - const item = data[start + i]; - parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius); - } - return parsed; - } - parseObjectData(meta, data, start, count) { - const parsed = super.parseObjectData(meta, data, start, count); - for(let i = 0; i < parsed.length; i++){ - const item = data[start + i]; - parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius); - } - return parsed; - } - getMaxOverflow() { - const data = this._cachedMeta.data; - let max = 0; - for(let i = data.length - 1; i >= 0; --i){ - max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2); - } - return max > 0 && max; - } - getLabelAndValue(index) { - const meta = this._cachedMeta; - const labels = this.chart.data.labels || []; - const { xScale , yScale } = meta; - const parsed = this.getParsed(index); - const x = xScale.getLabelForValue(parsed.x); - const y = yScale.getLabelForValue(parsed.y); - const r = parsed._custom; - return { - label: labels[index] || '', - value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')' - }; - } - update(mode) { - const points = this._cachedMeta.data; - this.updateElements(points, 0, points.length, mode); - } - updateElements(points, start, count, mode) { - const reset = mode === 'reset'; - const { iScale , vScale } = this._cachedMeta; - const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode); - const iAxis = iScale.axis; - const vAxis = vScale.axis; - for(let i = start; i < start + count; i++){ - const point = points[i]; - const parsed = !reset && this.getParsed(i); - const properties = {}; - const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]); - const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]); - properties.skip = isNaN(iPixel) || isNaN(vPixel); - if (includeOptions) { - properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode); - if (reset) { - properties.options.radius = 0; - } - } - this.updateElement(point, i, properties, mode); - } - } - resolveDataElementOptions(index, mode) { - const parsed = this.getParsed(index); - let values = super.resolveDataElementOptions(index, mode); - if (values.$shared) { - values = Object.assign({}, values, { - $shared: false - }); - } - const radius = values.radius; - if (mode !== 'active') { - values.radius = 0; - } - values.radius += valueOrDefault(parsed && parsed._custom, radius); - return values; - } -} - -function getRatioAndOffset(rotation, circumference, cutout) { - let ratioX = 1; - let ratioY = 1; - let offsetX = 0; - let offsetY = 0; - if (circumference < TAU) { - const startAngle = rotation; - const endAngle = startAngle + circumference; - const startX = Math.cos(startAngle); - const startY = Math.sin(startAngle); - const endX = Math.cos(endAngle); - const endY = Math.sin(endAngle); - const calcMax = (angle, a, b)=>_angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout); - const calcMin = (angle, a, b)=>_angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout); - const maxX = calcMax(0, startX, endX); - const maxY = calcMax(HALF_PI, startY, endY); - const minX = calcMin(PI, startX, endX); - const minY = calcMin(PI + HALF_PI, startY, endY); - ratioX = (maxX - minX) / 2; - ratioY = (maxY - minY) / 2; - offsetX = -(maxX + minX) / 2; - offsetY = -(maxY + minY) / 2; - } - return { - ratioX, - ratioY, - offsetX, - offsetY - }; -} -class DoughnutController extends DatasetController { - static id = 'doughnut'; - static defaults = { - datasetElementType: false, - dataElementType: 'arc', - animation: { - animateRotate: true, - animateScale: false - }, - animations: { - numbers: { - type: 'number', - properties: [ - 'circumference', - 'endAngle', - 'innerRadius', - 'outerRadius', - 'startAngle', - 'x', - 'y', - 'offset', - 'borderWidth', - 'spacing' - ] - } - }, - cutout: '50%', - rotation: 0, - circumference: 360, - radius: '100%', - spacing: 0, - indexAxis: 'r' - }; - static descriptors = { - _scriptable: (name)=>name !== 'spacing', - _indexable: (name)=>name !== 'spacing' && !name.startsWith('borderDash') && !name.startsWith('hoverBorderDash') - }; - static overrides = { - aspectRatio: 1, - plugins: { - legend: { - labels: { - generateLabels (chart) { - const data = chart.data; - const { labels: { pointStyle , textAlign , color , useBorderRadius , borderRadius } } = chart.legend.options; - if (data.labels.length && data.datasets.length) { - return data.labels.map((label, i)=>{ - const meta = chart.getDatasetMeta(0); - const style = meta.controller.getStyle(i); - return { - text: label, - fillStyle: style.backgroundColor, - fontColor: color, - hidden: !chart.getDataVisibility(i), - lineDash: style.borderDash, - lineDashOffset: style.borderDashOffset, - lineJoin: style.borderJoinStyle, - lineWidth: style.borderWidth, - strokeStyle: style.borderColor, - textAlign: textAlign, - pointStyle: pointStyle, - borderRadius: useBorderRadius && (borderRadius || style.borderRadius), - index: i - }; - }); - } - return []; - } - }, - onClick (e, legendItem, legend) { - legend.chart.toggleDataVisibility(legendItem.index); - legend.chart.update(); - } - } - } - }; - constructor(chart, datasetIndex){ - super(chart, datasetIndex); - this.enableOptionSharing = true; - this.innerRadius = undefined; - this.outerRadius = undefined; - this.offsetX = undefined; - this.offsetY = undefined; - } - linkScales() {} - parse(start, count) { - const data = this.getDataset().data; - const meta = this._cachedMeta; - if (this._parsing === false) { - meta._parsed = data; - } else { - let getter = (i)=>+data[i]; - if (isObject(data[start])) { - const { key ='value' } = this._parsing; - getter = (i)=>+resolveObjectKey(data[i], key); - } - let i, ilen; - for(i = start, ilen = start + count; i < ilen; ++i){ - meta._parsed[i] = getter(i); - } - } - } - _getRotation() { - return toRadians(this.options.rotation - 90); - } - _getCircumference() { - return toRadians(this.options.circumference); - } - _getRotationExtents() { - let min = TAU; - let max = -TAU; - for(let i = 0; i < this.chart.data.datasets.length; ++i){ - if (this.chart.isDatasetVisible(i) && this.chart.getDatasetMeta(i).type === this._type) { - const controller = this.chart.getDatasetMeta(i).controller; - const rotation = controller._getRotation(); - const circumference = controller._getCircumference(); - min = Math.min(min, rotation); - max = Math.max(max, rotation + circumference); - } - } - return { - rotation: min, - circumference: max - min - }; - } - update(mode) { - const chart = this.chart; - const { chartArea } = chart; - const meta = this._cachedMeta; - const arcs = meta.data; - const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing; - const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0); - const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1); - const chartWeight = this._getRingWeight(this.index); - const { circumference , rotation } = this._getRotationExtents(); - const { ratioX , ratioY , offsetX , offsetY } = getRatioAndOffset(rotation, circumference, cutout); - const maxWidth = (chartArea.width - spacing) / ratioX; - const maxHeight = (chartArea.height - spacing) / ratioY; - const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0); - const outerRadius = toDimension(this.options.radius, maxRadius); - const innerRadius = Math.max(outerRadius * cutout, 0); - const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal(); - this.offsetX = offsetX * outerRadius; - this.offsetY = offsetY * outerRadius; - meta.total = this.calculateTotal(); - this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index); - this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0); - this.updateElements(arcs, 0, arcs.length, mode); - } - _circumference(i, reset) { - const opts = this.options; - const meta = this._cachedMeta; - const circumference = this._getCircumference(); - if (reset && opts.animation.animateRotate || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) { - return 0; - } - return this.calculateCircumference(meta._parsed[i] * circumference / TAU); - } - updateElements(arcs, start, count, mode) { - const reset = mode === 'reset'; - const chart = this.chart; - const chartArea = chart.chartArea; - const opts = chart.options; - const animationOpts = opts.animation; - const centerX = (chartArea.left + chartArea.right) / 2; - const centerY = (chartArea.top + chartArea.bottom) / 2; - const animateScale = reset && animationOpts.animateScale; - const innerRadius = animateScale ? 0 : this.innerRadius; - const outerRadius = animateScale ? 0 : this.outerRadius; - const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode); - let startAngle = this._getRotation(); - let i; - for(i = 0; i < start; ++i){ - startAngle += this._circumference(i, reset); - } - for(i = start; i < start + count; ++i){ - const circumference = this._circumference(i, reset); - const arc = arcs[i]; - const properties = { - x: centerX + this.offsetX, - y: centerY + this.offsetY, - startAngle, - endAngle: startAngle + circumference, - circumference, - outerRadius, - innerRadius - }; - if (includeOptions) { - properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode); - } - startAngle += circumference; - this.updateElement(arc, i, properties, mode); - } - } - calculateTotal() { - const meta = this._cachedMeta; - const metaData = meta.data; - let total = 0; - let i; - for(i = 0; i < metaData.length; i++){ - const value = meta._parsed[i]; - if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) { - total += Math.abs(value); - } - } - return total; - } - calculateCircumference(value) { - const total = this._cachedMeta.total; - if (total > 0 && !isNaN(value)) { - return TAU * (Math.abs(value) / total); - } - return 0; - } - getLabelAndValue(index) { - const meta = this._cachedMeta; - const chart = this.chart; - const labels = chart.data.labels || []; - const value = formatNumber(meta._parsed[index], chart.options.locale); - return { - label: labels[index] || '', - value - }; - } - getMaxBorderWidth(arcs) { - let max = 0; - const chart = this.chart; - let i, ilen, meta, controller, options; - if (!arcs) { - for(i = 0, ilen = chart.data.datasets.length; i < ilen; ++i){ - if (chart.isDatasetVisible(i)) { - meta = chart.getDatasetMeta(i); - arcs = meta.data; - controller = meta.controller; - break; - } - } - } - if (!arcs) { - return 0; - } - for(i = 0, ilen = arcs.length; i < ilen; ++i){ - options = controller.resolveDataElementOptions(i); - if (options.borderAlign !== 'inner') { - max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0); - } - } - return max; - } - getMaxOffset(arcs) { - let max = 0; - for(let i = 0, ilen = arcs.length; i < ilen; ++i){ - const options = this.resolveDataElementOptions(i); - max = Math.max(max, options.offset || 0, options.hoverOffset || 0); - } - return max; - } - _getRingWeightOffset(datasetIndex) { - let ringWeightOffset = 0; - for(let i = 0; i < datasetIndex; ++i){ - if (this.chart.isDatasetVisible(i)) { - ringWeightOffset += this._getRingWeight(i); - } - } - return ringWeightOffset; - } - _getRingWeight(datasetIndex) { - return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0); - } - _getVisibleDatasetWeightTotal() { - return this._getRingWeightOffset(this.chart.data.datasets.length) || 1; - } -} - -class LineController extends DatasetController { - static id = 'line'; - static defaults = { - datasetElementType: 'line', - dataElementType: 'point', - showLine: true, - spanGaps: false - }; - static overrides = { - scales: { - _index_: { - type: 'category' - }, - _value_: { - type: 'linear' - } - } - }; - initialize() { - this.enableOptionSharing = true; - this.supportsDecimation = true; - super.initialize(); - } - update(mode) { - const meta = this._cachedMeta; - const { dataset: line , data: points = [] , _dataset } = meta; - const animationsDisabled = this.chart._animationsDisabled; - let { start , count } = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled); - this._drawStart = start; - this._drawCount = count; - if (_scaleRangesChanged(meta)) { - start = 0; - count = points.length; - } - line._chart = this.chart; - line._datasetIndex = this.index; - line._decimated = !!_dataset._decimated; - line.points = points; - const options = this.resolveDatasetElementOptions(mode); - if (!this.options.showLine) { - options.borderWidth = 0; - } - options.segment = this.options.segment; - this.updateElement(line, undefined, { - animated: !animationsDisabled, - options - }, mode); - this.updateElements(points, start, count, mode); - } - updateElements(points, start, count, mode) { - const reset = mode === 'reset'; - const { iScale , vScale , _stacked , _dataset } = this._cachedMeta; - const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode); - const iAxis = iScale.axis; - const vAxis = vScale.axis; - const { spanGaps , segment } = this.options; - const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY; - const directUpdate = this.chart._animationsDisabled || reset || mode === 'none'; - const end = start + count; - const pointsCount = points.length; - let prevParsed = start > 0 && this.getParsed(start - 1); - for(let i = 0; i < pointsCount; ++i){ - const point = points[i]; - const properties = directUpdate ? point : {}; - if (i < start || i >= end) { - properties.skip = true; - continue; - } - const parsed = this.getParsed(i); - const nullData = isNullOrUndef(parsed[vAxis]); - const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i); - const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i); - properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData; - properties.stop = i > 0 && Math.abs(parsed[iAxis] - prevParsed[iAxis]) > maxGapLength; - if (segment) { - properties.parsed = parsed; - properties.raw = _dataset.data[i]; - } - if (includeOptions) { - properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode); - } - if (!directUpdate) { - this.updateElement(point, i, properties, mode); - } - prevParsed = parsed; - } - } - getMaxOverflow() { - const meta = this._cachedMeta; - const dataset = meta.dataset; - const border = dataset.options && dataset.options.borderWidth || 0; - const data = meta.data || []; - if (!data.length) { - return border; - } - const firstPoint = data[0].size(this.resolveDataElementOptions(0)); - const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1)); - return Math.max(border, firstPoint, lastPoint) / 2; - } - draw() { - const meta = this._cachedMeta; - meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis); - super.draw(); - } -} - -class PolarAreaController extends DatasetController { - static id = 'polarArea'; - static defaults = { - dataElementType: 'arc', - animation: { - animateRotate: true, - animateScale: true - }, - animations: { - numbers: { - type: 'number', - properties: [ - 'x', - 'y', - 'startAngle', - 'endAngle', - 'innerRadius', - 'outerRadius' - ] - } - }, - indexAxis: 'r', - startAngle: 0 - }; - static overrides = { - aspectRatio: 1, - plugins: { - legend: { - labels: { - generateLabels (chart) { - const data = chart.data; - if (data.labels.length && data.datasets.length) { - const { labels: { pointStyle , color } } = chart.legend.options; - return data.labels.map((label, i)=>{ - const meta = chart.getDatasetMeta(0); - const style = meta.controller.getStyle(i); - return { - text: label, - fillStyle: style.backgroundColor, - strokeStyle: style.borderColor, - fontColor: color, - lineWidth: style.borderWidth, - pointStyle: pointStyle, - hidden: !chart.getDataVisibility(i), - index: i - }; - }); - } - return []; - } - }, - onClick (e, legendItem, legend) { - legend.chart.toggleDataVisibility(legendItem.index); - legend.chart.update(); - } - } - }, - scales: { - r: { - type: 'radialLinear', - angleLines: { - display: false - }, - beginAtZero: true, - grid: { - circular: true - }, - pointLabels: { - display: false - }, - startAngle: 0 - } - } - }; - constructor(chart, datasetIndex){ - super(chart, datasetIndex); - this.innerRadius = undefined; - this.outerRadius = undefined; - } - getLabelAndValue(index) { - const meta = this._cachedMeta; - const chart = this.chart; - const labels = chart.data.labels || []; - const value = formatNumber(meta._parsed[index].r, chart.options.locale); - return { - label: labels[index] || '', - value - }; - } - parseObjectData(meta, data, start, count) { - return _parseObjectDataRadialScale.bind(this)(meta, data, start, count); - } - update(mode) { - const arcs = this._cachedMeta.data; - this._updateRadius(); - this.updateElements(arcs, 0, arcs.length, mode); - } - getMinMax() { - const meta = this._cachedMeta; - const range = { - min: Number.POSITIVE_INFINITY, - max: Number.NEGATIVE_INFINITY - }; - meta.data.forEach((element, index)=>{ - const parsed = this.getParsed(index).r; - if (!isNaN(parsed) && this.chart.getDataVisibility(index)) { - if (parsed < range.min) { - range.min = parsed; - } - if (parsed > range.max) { - range.max = parsed; - } - } - }); - return range; - } - _updateRadius() { - const chart = this.chart; - const chartArea = chart.chartArea; - const opts = chart.options; - const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top); - const outerRadius = Math.max(minSize / 2, 0); - const innerRadius = Math.max(opts.cutoutPercentage ? outerRadius / 100 * opts.cutoutPercentage : 1, 0); - const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount(); - this.outerRadius = outerRadius - radiusLength * this.index; - this.innerRadius = this.outerRadius - radiusLength; - } - updateElements(arcs, start, count, mode) { - const reset = mode === 'reset'; - const chart = this.chart; - const opts = chart.options; - const animationOpts = opts.animation; - const scale = this._cachedMeta.rScale; - const centerX = scale.xCenter; - const centerY = scale.yCenter; - const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI; - let angle = datasetStartAngle; - let i; - const defaultAngle = 360 / this.countVisibleElements(); - for(i = 0; i < start; ++i){ - angle += this._computeAngle(i, mode, defaultAngle); - } - for(i = start; i < start + count; i++){ - const arc = arcs[i]; - let startAngle = angle; - let endAngle = angle + this._computeAngle(i, mode, defaultAngle); - let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0; - angle = endAngle; - if (reset) { - if (animationOpts.animateScale) { - outerRadius = 0; - } - if (animationOpts.animateRotate) { - startAngle = endAngle = datasetStartAngle; - } - } - const properties = { - x: centerX, - y: centerY, - innerRadius: 0, - outerRadius, - startAngle, - endAngle, - options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode) - }; - this.updateElement(arc, i, properties, mode); - } - } - countVisibleElements() { - const meta = this._cachedMeta; - let count = 0; - meta.data.forEach((element, index)=>{ - if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) { - count++; - } - }); - return count; - } - _computeAngle(index, mode, defaultAngle) { - return this.chart.getDataVisibility(index) ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle) : 0; - } -} - -class PieController extends DoughnutController { - static id = 'pie'; - static defaults = { - cutout: 0, - rotation: 0, - circumference: 360, - radius: '100%' - }; -} - -class RadarController extends DatasetController { - static id = 'radar'; - static defaults = { - datasetElementType: 'line', - dataElementType: 'point', - indexAxis: 'r', - showLine: true, - elements: { - line: { - fill: 'start' - } - } - }; - static overrides = { - aspectRatio: 1, - scales: { - r: { - type: 'radialLinear' - } - } - }; - getLabelAndValue(index) { - const vScale = this._cachedMeta.vScale; - const parsed = this.getParsed(index); - return { - label: vScale.getLabels()[index], - value: '' + vScale.getLabelForValue(parsed[vScale.axis]) - }; - } - parseObjectData(meta, data, start, count) { - return _parseObjectDataRadialScale.bind(this)(meta, data, start, count); - } - update(mode) { - const meta = this._cachedMeta; - const line = meta.dataset; - const points = meta.data || []; - const labels = meta.iScale.getLabels(); - line.points = points; - if (mode !== 'resize') { - const options = this.resolveDatasetElementOptions(mode); - if (!this.options.showLine) { - options.borderWidth = 0; - } - const properties = { - _loop: true, - _fullLoop: labels.length === points.length, - options - }; - this.updateElement(line, undefined, properties, mode); - } - this.updateElements(points, 0, points.length, mode); - } - updateElements(points, start, count, mode) { - const scale = this._cachedMeta.rScale; - const reset = mode === 'reset'; - for(let i = start; i < start + count; i++){ - const point = points[i]; - const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode); - const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r); - const x = reset ? scale.xCenter : pointPosition.x; - const y = reset ? scale.yCenter : pointPosition.y; - const properties = { - x, - y, - angle: pointPosition.angle, - skip: isNaN(x) || isNaN(y), - options - }; - this.updateElement(point, i, properties, mode); - } - } -} - -class ScatterController extends DatasetController { - static id = 'scatter'; - static defaults = { - datasetElementType: false, - dataElementType: 'point', - showLine: false, - fill: false - }; - static overrides = { - interaction: { - mode: 'point' - }, - scales: { - x: { - type: 'linear' - }, - y: { - type: 'linear' - } - } - }; - getLabelAndValue(index) { - const meta = this._cachedMeta; - const labels = this.chart.data.labels || []; - const { xScale , yScale } = meta; - const parsed = this.getParsed(index); - const x = xScale.getLabelForValue(parsed.x); - const y = yScale.getLabelForValue(parsed.y); - return { - label: labels[index] || '', - value: '(' + x + ', ' + y + ')' - }; - } - update(mode) { - const meta = this._cachedMeta; - const { data: points = [] } = meta; - const animationsDisabled = this.chart._animationsDisabled; - let { start , count } = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled); - this._drawStart = start; - this._drawCount = count; - if (_scaleRangesChanged(meta)) { - start = 0; - count = points.length; - } - if (this.options.showLine) { - if (!this.datasetElementType) { - this.addElements(); - } - const { dataset: line , _dataset } = meta; - line._chart = this.chart; - line._datasetIndex = this.index; - line._decimated = !!_dataset._decimated; - line.points = points; - const options = this.resolveDatasetElementOptions(mode); - options.segment = this.options.segment; - this.updateElement(line, undefined, { - animated: !animationsDisabled, - options - }, mode); - } else if (this.datasetElementType) { - delete meta.dataset; - this.datasetElementType = false; - } - this.updateElements(points, start, count, mode); - } - addElements() { - const { showLine } = this.options; - if (!this.datasetElementType && showLine) { - this.datasetElementType = this.chart.registry.getElement('line'); - } - super.addElements(); - } - updateElements(points, start, count, mode) { - const reset = mode === 'reset'; - const { iScale , vScale , _stacked , _dataset } = this._cachedMeta; - const firstOpts = this.resolveDataElementOptions(start, mode); - const sharedOptions = this.getSharedOptions(firstOpts); - const includeOptions = this.includeOptions(mode, sharedOptions); - const iAxis = iScale.axis; - const vAxis = vScale.axis; - const { spanGaps , segment } = this.options; - const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY; - const directUpdate = this.chart._animationsDisabled || reset || mode === 'none'; - let prevParsed = start > 0 && this.getParsed(start - 1); - for(let i = start; i < start + count; ++i){ - const point = points[i]; - const parsed = this.getParsed(i); - const properties = directUpdate ? point : {}; - const nullData = isNullOrUndef(parsed[vAxis]); - const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i); - const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i); - properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData; - properties.stop = i > 0 && Math.abs(parsed[iAxis] - prevParsed[iAxis]) > maxGapLength; - if (segment) { - properties.parsed = parsed; - properties.raw = _dataset.data[i]; - } - if (includeOptions) { - properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode); - } - if (!directUpdate) { - this.updateElement(point, i, properties, mode); - } - prevParsed = parsed; - } - this.updateSharedOptions(sharedOptions, mode, firstOpts); - } - getMaxOverflow() { - const meta = this._cachedMeta; - const data = meta.data || []; - if (!this.options.showLine) { - let max = 0; - for(let i = data.length - 1; i >= 0; --i){ - max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2); - } - return max > 0 && max; - } - const dataset = meta.dataset; - const border = dataset.options && dataset.options.borderWidth || 0; - if (!data.length) { - return border; - } - const firstPoint = data[0].size(this.resolveDataElementOptions(0)); - const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1)); - return Math.max(border, firstPoint, lastPoint) / 2; - } -} - -var controllers = /*#__PURE__*/Object.freeze({ -__proto__: null, -BarController: BarController, -BubbleController: BubbleController, -DoughnutController: DoughnutController, -LineController: LineController, -PieController: PieController, -PolarAreaController: PolarAreaController, -RadarController: RadarController, -ScatterController: ScatterController -}); - -/** - * @namespace Chart._adapters - * @since 2.8.0 - * @private - */ function chart_abstract() { - throw new Error('This method is not implemented: Check that a complete date adapter is provided.'); -} -/** - * Date adapter (current used by the time scale) - * @namespace Chart._adapters._date - * @memberof Chart._adapters - * @private - */ class DateAdapterBase { - /** - * Override default date adapter methods. - * Accepts type parameter to define options type. - * @example - * Chart._adapters._date.override<{myAdapterOption: string}>({ - * init() { - * console.log(this.options.myAdapterOption); - * } - * }) - */ static override(members) { - Object.assign(DateAdapterBase.prototype, members); - } - options; - constructor(options){ - this.options = options || {}; - } - // eslint-disable-next-line @typescript-eslint/no-empty-function - init() {} - formats() { - return chart_abstract(); - } - parse() { - return chart_abstract(); - } - format() { - return chart_abstract(); - } - add() { - return chart_abstract(); - } - diff() { - return chart_abstract(); - } - startOf() { - return chart_abstract(); - } - endOf() { - return chart_abstract(); - } -} -var adapters = { - _date: DateAdapterBase -}; - -function binarySearch(metaset, axis, value, intersect) { - const { controller , data , _sorted } = metaset; - const iScale = controller._cachedMeta.iScale; - const spanGaps = metaset.dataset ? metaset.dataset.options ? metaset.dataset.options.spanGaps : null : null; - if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) { - const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey; - if (!intersect) { - const result = lookupMethod(data, axis, value); - if (spanGaps) { - const { vScale } = controller._cachedMeta; - const { _parsed } = metaset; - const distanceToDefinedLo = _parsed.slice(0, result.lo + 1).reverse().findIndex((point)=>!isNullOrUndef(point[vScale.axis])); - result.lo -= Math.max(0, distanceToDefinedLo); - const distanceToDefinedHi = _parsed.slice(result.hi).findIndex((point)=>!isNullOrUndef(point[vScale.axis])); - result.hi += Math.max(0, distanceToDefinedHi); - } - return result; - } else if (controller._sharedOptions) { - const el = data[0]; - const range = typeof el.getRange === 'function' && el.getRange(axis); - if (range) { - const start = lookupMethod(data, axis, value - range); - const end = lookupMethod(data, axis, value + range); - return { - lo: start.lo, - hi: end.hi - }; - } - } - } - return { - lo: 0, - hi: data.length - 1 - }; -} - function evaluateInteractionItems(chart, axis, position, handler, intersect) { - const metasets = chart.getSortedVisibleDatasetMetas(); - const value = position[axis]; - for(let i = 0, ilen = metasets.length; i < ilen; ++i){ - const { index , data } = metasets[i]; - const { lo , hi } = binarySearch(metasets[i], axis, value, intersect); - for(let j = lo; j <= hi; ++j){ - const element = data[j]; - if (!element.skip) { - handler(element, index, j); - } - } - } -} - function getDistanceMetricForAxis(axis) { - const useX = axis.indexOf('x') !== -1; - const useY = axis.indexOf('y') !== -1; - return function(pt1, pt2) { - const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0; - const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0; - return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2)); - }; -} - function getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) { - const items = []; - if (!includeInvisible && !chart.isPointInArea(position)) { - return items; - } - const evaluationFunc = function(element, datasetIndex, index) { - if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) { - return; - } - if (element.inRange(position.x, position.y, useFinalPosition)) { - items.push({ - element, - datasetIndex, - index - }); - } - }; - evaluateInteractionItems(chart, axis, position, evaluationFunc, true); - return items; -} - function getNearestRadialItems(chart, position, axis, useFinalPosition) { - let items = []; - function evaluationFunc(element, datasetIndex, index) { - const { startAngle , endAngle } = element.getProps([ - 'startAngle', - 'endAngle' - ], useFinalPosition); - const { angle } = getAngleFromPoint(element, { - x: position.x, - y: position.y - }); - if (_angleBetween(angle, startAngle, endAngle)) { - items.push({ - element, - datasetIndex, - index - }); - } - } - evaluateInteractionItems(chart, axis, position, evaluationFunc); - return items; -} - function getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) { - let items = []; - const distanceMetric = getDistanceMetricForAxis(axis); - let minDistance = Number.POSITIVE_INFINITY; - function evaluationFunc(element, datasetIndex, index) { - const inRange = element.inRange(position.x, position.y, useFinalPosition); - if (intersect && !inRange) { - return; - } - const center = element.getCenterPoint(useFinalPosition); - const pointInArea = !!includeInvisible || chart.isPointInArea(center); - if (!pointInArea && !inRange) { - return; - } - const distance = distanceMetric(position, center); - if (distance < minDistance) { - items = [ - { - element, - datasetIndex, - index - } - ]; - minDistance = distance; - } else if (distance === minDistance) { - items.push({ - element, - datasetIndex, - index - }); - } - } - evaluateInteractionItems(chart, axis, position, evaluationFunc); - return items; -} - function getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) { - if (!includeInvisible && !chart.isPointInArea(position)) { - return []; - } - return axis === 'r' && !intersect ? getNearestRadialItems(chart, position, axis, useFinalPosition) : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible); -} - function getAxisItems(chart, position, axis, intersect, useFinalPosition) { - const items = []; - const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange'; - let intersectsItem = false; - evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index)=>{ - if (element[rangeMethod] && element[rangeMethod](position[axis], useFinalPosition)) { - items.push({ - element, - datasetIndex, - index - }); - intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition); - } - }); - if (intersect && !intersectsItem) { - return []; - } - return items; -} - var Interaction = { - evaluateInteractionItems, - modes: { - index (chart, e, options, useFinalPosition) { - const position = getRelativePosition(e, chart); - const axis = options.axis || 'x'; - const includeInvisible = options.includeInvisible || false; - const items = options.intersect ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible); - const elements = []; - if (!items.length) { - return []; - } - chart.getSortedVisibleDatasetMetas().forEach((meta)=>{ - const index = items[0].index; - const element = meta.data[index]; - if (element && !element.skip) { - elements.push({ - element, - datasetIndex: meta.index, - index - }); - } - }); - return elements; - }, - dataset (chart, e, options, useFinalPosition) { - const position = getRelativePosition(e, chart); - const axis = options.axis || 'xy'; - const includeInvisible = options.includeInvisible || false; - let items = options.intersect ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible); - if (items.length > 0) { - const datasetIndex = items[0].datasetIndex; - const data = chart.getDatasetMeta(datasetIndex).data; - items = []; - for(let i = 0; i < data.length; ++i){ - items.push({ - element: data[i], - datasetIndex, - index: i - }); - } - } - return items; - }, - point (chart, e, options, useFinalPosition) { - const position = getRelativePosition(e, chart); - const axis = options.axis || 'xy'; - const includeInvisible = options.includeInvisible || false; - return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible); - }, - nearest (chart, e, options, useFinalPosition) { - const position = getRelativePosition(e, chart); - const axis = options.axis || 'xy'; - const includeInvisible = options.includeInvisible || false; - return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible); - }, - x (chart, e, options, useFinalPosition) { - const position = getRelativePosition(e, chart); - return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition); - }, - y (chart, e, options, useFinalPosition) { - const position = getRelativePosition(e, chart); - return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition); - } - } -}; - -const STATIC_POSITIONS = [ - 'left', - 'top', - 'right', - 'bottom' -]; -function filterByPosition(array, position) { - return array.filter((v)=>v.pos === position); -} -function filterDynamicPositionByAxis(array, axis) { - return array.filter((v)=>STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis); -} -function sortByWeight(array, reverse) { - return array.sort((a, b)=>{ - const v0 = reverse ? b : a; - const v1 = reverse ? a : b; - return v0.weight === v1.weight ? v0.index - v1.index : v0.weight - v1.weight; - }); -} -function wrapBoxes(boxes) { - const layoutBoxes = []; - let i, ilen, box, pos, stack, stackWeight; - for(i = 0, ilen = (boxes || []).length; i < ilen; ++i){ - box = boxes[i]; - ({ position: pos , options: { stack , stackWeight =1 } } = box); - layoutBoxes.push({ - index: i, - box, - pos, - horizontal: box.isHorizontal(), - weight: box.weight, - stack: stack && pos + stack, - stackWeight - }); - } - return layoutBoxes; -} -function buildStacks(layouts) { - const stacks = {}; - for (const wrap of layouts){ - const { stack , pos , stackWeight } = wrap; - if (!stack || !STATIC_POSITIONS.includes(pos)) { - continue; - } - const _stack = stacks[stack] || (stacks[stack] = { - count: 0, - placed: 0, - weight: 0, - size: 0 - }); - _stack.count++; - _stack.weight += stackWeight; - } - return stacks; -} - function setLayoutDims(layouts, params) { - const stacks = buildStacks(layouts); - const { vBoxMaxWidth , hBoxMaxHeight } = params; - let i, ilen, layout; - for(i = 0, ilen = layouts.length; i < ilen; ++i){ - layout = layouts[i]; - const { fullSize } = layout.box; - const stack = stacks[layout.stack]; - const factor = stack && layout.stackWeight / stack.weight; - if (layout.horizontal) { - layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth; - layout.height = hBoxMaxHeight; - } else { - layout.width = vBoxMaxWidth; - layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight; - } - } - return stacks; -} -function buildLayoutBoxes(boxes) { - const layoutBoxes = wrapBoxes(boxes); - const fullSize = sortByWeight(layoutBoxes.filter((wrap)=>wrap.box.fullSize), true); - const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true); - const right = sortByWeight(filterByPosition(layoutBoxes, 'right')); - const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true); - const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom')); - const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x'); - const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y'); - return { - fullSize, - leftAndTop: left.concat(top), - rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal), - chartArea: filterByPosition(layoutBoxes, 'chartArea'), - vertical: left.concat(right).concat(centerVertical), - horizontal: top.concat(bottom).concat(centerHorizontal) - }; -} -function getCombinedMax(maxPadding, chartArea, a, b) { - return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]); -} -function updateMaxPadding(maxPadding, boxPadding) { - maxPadding.top = Math.max(maxPadding.top, boxPadding.top); - maxPadding.left = Math.max(maxPadding.left, boxPadding.left); - maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom); - maxPadding.right = Math.max(maxPadding.right, boxPadding.right); -} -function updateDims(chartArea, params, layout, stacks) { - const { pos , box } = layout; - const maxPadding = chartArea.maxPadding; - if (!isObject(pos)) { - if (layout.size) { - chartArea[pos] -= layout.size; - } - const stack = stacks[layout.stack] || { - size: 0, - count: 1 - }; - stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width); - layout.size = stack.size / stack.count; - chartArea[pos] += layout.size; - } - if (box.getPadding) { - updateMaxPadding(maxPadding, box.getPadding()); - } - const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right')); - const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom')); - const widthChanged = newWidth !== chartArea.w; - const heightChanged = newHeight !== chartArea.h; - chartArea.w = newWidth; - chartArea.h = newHeight; - return layout.horizontal ? { - same: widthChanged, - other: heightChanged - } : { - same: heightChanged, - other: widthChanged - }; -} -function handleMaxPadding(chartArea) { - const maxPadding = chartArea.maxPadding; - function updatePos(pos) { - const change = Math.max(maxPadding[pos] - chartArea[pos], 0); - chartArea[pos] += change; - return change; - } - chartArea.y += updatePos('top'); - chartArea.x += updatePos('left'); - updatePos('right'); - updatePos('bottom'); -} -function getMargins(horizontal, chartArea) { - const maxPadding = chartArea.maxPadding; - function marginForPositions(positions) { - const margin = { - left: 0, - top: 0, - right: 0, - bottom: 0 - }; - positions.forEach((pos)=>{ - margin[pos] = Math.max(chartArea[pos], maxPadding[pos]); - }); - return margin; - } - return horizontal ? marginForPositions([ - 'left', - 'right' - ]) : marginForPositions([ - 'top', - 'bottom' - ]); -} -function fitBoxes(boxes, chartArea, params, stacks) { - const refitBoxes = []; - let i, ilen, layout, box, refit, changed; - for(i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i){ - layout = boxes[i]; - box = layout.box; - box.update(layout.width || chartArea.w, layout.height || chartArea.h, getMargins(layout.horizontal, chartArea)); - const { same , other } = updateDims(chartArea, params, layout, stacks); - refit |= same && refitBoxes.length; - changed = changed || other; - if (!box.fullSize) { - refitBoxes.push(layout); - } - } - return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed; -} -function setBoxDims(box, left, top, width, height) { - box.top = top; - box.left = left; - box.right = left + width; - box.bottom = top + height; - box.width = width; - box.height = height; -} -function placeBoxes(boxes, chartArea, params, stacks) { - const userPadding = params.padding; - let { x , y } = chartArea; - for (const layout of boxes){ - const box = layout.box; - const stack = stacks[layout.stack] || { - count: 1, - placed: 0, - weight: 1 - }; - const weight = layout.stackWeight / stack.weight || 1; - if (layout.horizontal) { - const width = chartArea.w * weight; - const height = stack.size || box.height; - if (defined(stack.start)) { - y = stack.start; - } - if (box.fullSize) { - setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height); - } else { - setBoxDims(box, chartArea.left + stack.placed, y, width, height); - } - stack.start = y; - stack.placed += width; - y = box.bottom; - } else { - const height = chartArea.h * weight; - const width = stack.size || box.width; - if (defined(stack.start)) { - x = stack.start; - } - if (box.fullSize) { - setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top); - } else { - setBoxDims(box, x, chartArea.top + stack.placed, width, height); - } - stack.start = x; - stack.placed += height; - x = box.right; - } - } - chartArea.x = x; - chartArea.y = y; -} -var layouts = { - addBox (chart, item) { - if (!chart.boxes) { - chart.boxes = []; - } - item.fullSize = item.fullSize || false; - item.position = item.position || 'top'; - item.weight = item.weight || 0; - item._layers = item._layers || function() { - return [ - { - z: 0, - draw (chartArea) { - item.draw(chartArea); - } - } - ]; - }; - chart.boxes.push(item); - }, - removeBox (chart, layoutItem) { - const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1; - if (index !== -1) { - chart.boxes.splice(index, 1); - } - }, - configure (chart, item, options) { - item.fullSize = options.fullSize; - item.position = options.position; - item.weight = options.weight; - }, - update (chart, width, height, minPadding) { - if (!chart) { - return; - } - const padding = toPadding(chart.options.layout.padding); - const availableWidth = Math.max(width - padding.width, 0); - const availableHeight = Math.max(height - padding.height, 0); - const boxes = buildLayoutBoxes(chart.boxes); - const verticalBoxes = boxes.vertical; - const horizontalBoxes = boxes.horizontal; - each(chart.boxes, (box)=>{ - if (typeof box.beforeLayout === 'function') { - box.beforeLayout(); - } - }); - const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap)=>wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1; - const params = Object.freeze({ - outerWidth: width, - outerHeight: height, - padding, - availableWidth, - availableHeight, - vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount, - hBoxMaxHeight: availableHeight / 2 - }); - const maxPadding = Object.assign({}, padding); - updateMaxPadding(maxPadding, toPadding(minPadding)); - const chartArea = Object.assign({ - maxPadding, - w: availableWidth, - h: availableHeight, - x: padding.left, - y: padding.top - }, padding); - const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params); - fitBoxes(boxes.fullSize, chartArea, params, stacks); - fitBoxes(verticalBoxes, chartArea, params, stacks); - if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) { - fitBoxes(verticalBoxes, chartArea, params, stacks); - } - handleMaxPadding(chartArea); - placeBoxes(boxes.leftAndTop, chartArea, params, stacks); - chartArea.x += chartArea.w; - chartArea.y += chartArea.h; - placeBoxes(boxes.rightAndBottom, chartArea, params, stacks); - chart.chartArea = { - left: chartArea.left, - top: chartArea.top, - right: chartArea.left + chartArea.w, - bottom: chartArea.top + chartArea.h, - height: chartArea.h, - width: chartArea.w - }; - each(boxes.chartArea, (layout)=>{ - const box = layout.box; - Object.assign(box, chart.chartArea); - box.update(chartArea.w, chartArea.h, { - left: 0, - top: 0, - right: 0, - bottom: 0 - }); - }); - } -}; - -class BasePlatform { - acquireContext(canvas, aspectRatio) {} - releaseContext(context) { - return false; - } - addEventListener(chart, type, listener) {} - removeEventListener(chart, type, listener) {} - getDevicePixelRatio() { - return 1; - } - getMaximumSize(element, width, height, aspectRatio) { - width = Math.max(0, width || element.width); - height = height || element.height; - return { - width, - height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height) - }; - } - isAttached(canvas) { - return true; - } - updateConfig(config) { - } -} - -class BasicPlatform extends BasePlatform { - acquireContext(item) { - return item && item.getContext && item.getContext('2d') || null; - } - updateConfig(config) { - config.options.animation = false; - } -} - -const EXPANDO_KEY = '$chartjs'; - const EVENT_TYPES = { - touchstart: 'mousedown', - touchmove: 'mousemove', - touchend: 'mouseup', - pointerenter: 'mouseenter', - pointerdown: 'mousedown', - pointermove: 'mousemove', - pointerup: 'mouseup', - pointerleave: 'mouseout', - pointerout: 'mouseout' -}; -const isNullOrEmpty = (value)=>value === null || value === ''; - function initCanvas(canvas, aspectRatio) { - const style = canvas.style; - const renderHeight = canvas.getAttribute('height'); - const renderWidth = canvas.getAttribute('width'); - canvas[EXPANDO_KEY] = { - initial: { - height: renderHeight, - width: renderWidth, - style: { - display: style.display, - height: style.height, - width: style.width - } - } - }; - style.display = style.display || 'block'; - style.boxSizing = style.boxSizing || 'border-box'; - if (isNullOrEmpty(renderWidth)) { - const displayWidth = readUsedSize(canvas, 'width'); - if (displayWidth !== undefined) { - canvas.width = displayWidth; - } - } - if (isNullOrEmpty(renderHeight)) { - if (canvas.style.height === '') { - canvas.height = canvas.width / (aspectRatio || 2); - } else { - const displayHeight = readUsedSize(canvas, 'height'); - if (displayHeight !== undefined) { - canvas.height = displayHeight; - } - } - } - return canvas; -} -const eventListenerOptions = supportsEventListenerOptions ? { - passive: true -} : false; -function addListener(node, type, listener) { - if (node) { - node.addEventListener(type, listener, eventListenerOptions); - } -} -function removeListener(chart, type, listener) { - if (chart && chart.canvas) { - chart.canvas.removeEventListener(type, listener, eventListenerOptions); - } -} -function fromNativeEvent(event, chart) { - const type = EVENT_TYPES[event.type] || event.type; - const { x , y } = getRelativePosition(event, chart); - return { - type, - chart, - native: event, - x: x !== undefined ? x : null, - y: y !== undefined ? y : null - }; -} -function nodeListContains(nodeList, canvas) { - for (const node of nodeList){ - if (node === canvas || node.contains(canvas)) { - return true; - } - } -} -function createAttachObserver(chart, type, listener) { - const canvas = chart.canvas; - const observer = new MutationObserver((entries)=>{ - let trigger = false; - for (const entry of entries){ - trigger = trigger || nodeListContains(entry.addedNodes, canvas); - trigger = trigger && !nodeListContains(entry.removedNodes, canvas); - } - if (trigger) { - listener(); - } - }); - observer.observe(document, { - childList: true, - subtree: true - }); - return observer; -} -function createDetachObserver(chart, type, listener) { - const canvas = chart.canvas; - const observer = new MutationObserver((entries)=>{ - let trigger = false; - for (const entry of entries){ - trigger = trigger || nodeListContains(entry.removedNodes, canvas); - trigger = trigger && !nodeListContains(entry.addedNodes, canvas); - } - if (trigger) { - listener(); - } - }); - observer.observe(document, { - childList: true, - subtree: true - }); - return observer; -} -const drpListeningCharts = new Map(); -let oldDevicePixelRatio = 0; -function onWindowResize() { - const dpr = window.devicePixelRatio; - if (dpr === oldDevicePixelRatio) { - return; - } - oldDevicePixelRatio = dpr; - drpListeningCharts.forEach((resize, chart)=>{ - if (chart.currentDevicePixelRatio !== dpr) { - resize(); - } - }); -} -function listenDevicePixelRatioChanges(chart, resize) { - if (!drpListeningCharts.size) { - window.addEventListener('resize', onWindowResize); - } - drpListeningCharts.set(chart, resize); -} -function unlistenDevicePixelRatioChanges(chart) { - drpListeningCharts.delete(chart); - if (!drpListeningCharts.size) { - window.removeEventListener('resize', onWindowResize); - } -} -function createResizeObserver(chart, type, listener) { - const canvas = chart.canvas; - const container = canvas && _getParentNode(canvas); - if (!container) { - return; - } - const resize = throttled((width, height)=>{ - const w = container.clientWidth; - listener(width, height); - if (w < container.clientWidth) { - listener(); - } - }, window); - const observer = new ResizeObserver((entries)=>{ - const entry = entries[0]; - const width = entry.contentRect.width; - const height = entry.contentRect.height; - if (width === 0 && height === 0) { - return; - } - resize(width, height); - }); - observer.observe(container); - listenDevicePixelRatioChanges(chart, resize); - return observer; -} -function releaseObserver(chart, type, observer) { - if (observer) { - observer.disconnect(); - } - if (type === 'resize') { - unlistenDevicePixelRatioChanges(chart); - } -} -function createProxyAndListen(chart, type, listener) { - const canvas = chart.canvas; - const proxy = throttled((event)=>{ - if (chart.ctx !== null) { - listener(fromNativeEvent(event, chart)); - } - }, chart); - addListener(canvas, type, proxy); - return proxy; -} - class DomPlatform extends BasePlatform { - acquireContext(canvas, aspectRatio) { - const context = canvas && canvas.getContext && canvas.getContext('2d'); - if (context && context.canvas === canvas) { - initCanvas(canvas, aspectRatio); - return context; - } - return null; - } - releaseContext(context) { - const canvas = context.canvas; - if (!canvas[EXPANDO_KEY]) { - return false; - } - const initial = canvas[EXPANDO_KEY].initial; - [ - 'height', - 'width' - ].forEach((prop)=>{ - const value = initial[prop]; - if (isNullOrUndef(value)) { - canvas.removeAttribute(prop); - } else { - canvas.setAttribute(prop, value); - } - }); - const style = initial.style || {}; - Object.keys(style).forEach((key)=>{ - canvas.style[key] = style[key]; - }); - canvas.width = canvas.width; - delete canvas[EXPANDO_KEY]; - return true; - } - addEventListener(chart, type, listener) { - this.removeEventListener(chart, type); - const proxies = chart.$proxies || (chart.$proxies = {}); - const handlers = { - attach: createAttachObserver, - detach: createDetachObserver, - resize: createResizeObserver - }; - const handler = handlers[type] || createProxyAndListen; - proxies[type] = handler(chart, type, listener); - } - removeEventListener(chart, type) { - const proxies = chart.$proxies || (chart.$proxies = {}); - const proxy = proxies[type]; - if (!proxy) { - return; - } - const handlers = { - attach: releaseObserver, - detach: releaseObserver, - resize: releaseObserver - }; - const handler = handlers[type] || removeListener; - handler(chart, type, proxy); - proxies[type] = undefined; - } - getDevicePixelRatio() { - return window.devicePixelRatio; - } - getMaximumSize(canvas, width, height, aspectRatio) { - return getMaximumSize(canvas, width, height, aspectRatio); - } - isAttached(canvas) { - const container = canvas && _getParentNode(canvas); - return !!(container && container.isConnected); - } -} - -function _detectPlatform(canvas) { - if (!_isDomSupported() || typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas) { - return BasicPlatform; - } - return DomPlatform; -} - -class Element { - static defaults = {}; - static defaultRoutes = undefined; - x; - y; - active = false; - options; - $animations; - tooltipPosition(useFinalPosition) { - const { x , y } = this.getProps([ - 'x', - 'y' - ], useFinalPosition); - return { - x, - y - }; - } - hasValue() { - return isNumber(this.x) && isNumber(this.y); - } - getProps(props, final) { - const anims = this.$animations; - if (!final || !anims) { - // let's not create an object, if not needed - return this; - } - const ret = {}; - props.forEach((prop)=>{ - ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop]; - }); - return ret; - } -} - -function autoSkip(scale, ticks) { - const tickOpts = scale.options.ticks; - const determinedMaxTicks = determineMaxTicks(scale); - const ticksLimit = Math.min(tickOpts.maxTicksLimit || determinedMaxTicks, determinedMaxTicks); - const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : []; - const numMajorIndices = majorIndices.length; - const first = majorIndices[0]; - const last = majorIndices[numMajorIndices - 1]; - const newTicks = []; - if (numMajorIndices > ticksLimit) { - skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit); - return newTicks; - } - const spacing = calculateSpacing(majorIndices, ticks, ticksLimit); - if (numMajorIndices > 0) { - let i, ilen; - const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null; - skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first); - for(i = 0, ilen = numMajorIndices - 1; i < ilen; i++){ - skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]); - } - skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing); - return newTicks; - } - skip(ticks, newTicks, spacing); - return newTicks; -} -function determineMaxTicks(scale) { - const offset = scale.options.offset; - const tickLength = scale._tickSize(); - const maxScale = scale._length / tickLength + (offset ? 0 : 1); - const maxChart = scale._maxLength / tickLength; - return Math.floor(Math.min(maxScale, maxChart)); -} - function calculateSpacing(majorIndices, ticks, ticksLimit) { - const evenMajorSpacing = getEvenSpacing(majorIndices); - const spacing = ticks.length / ticksLimit; - if (!evenMajorSpacing) { - return Math.max(spacing, 1); - } - const factors = _factorize(evenMajorSpacing); - for(let i = 0, ilen = factors.length - 1; i < ilen; i++){ - const factor = factors[i]; - if (factor > spacing) { - return factor; - } - } - return Math.max(spacing, 1); -} - function getMajorIndices(ticks) { - const result = []; - let i, ilen; - for(i = 0, ilen = ticks.length; i < ilen; i++){ - if (ticks[i].major) { - result.push(i); - } - } - return result; -} - function skipMajors(ticks, newTicks, majorIndices, spacing) { - let count = 0; - let next = majorIndices[0]; - let i; - spacing = Math.ceil(spacing); - for(i = 0; i < ticks.length; i++){ - if (i === next) { - newTicks.push(ticks[i]); - count++; - next = majorIndices[count * spacing]; - } - } -} - function skip(ticks, newTicks, spacing, majorStart, majorEnd) { - const start = valueOrDefault(majorStart, 0); - const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length); - let count = 0; - let length, i, next; - spacing = Math.ceil(spacing); - if (majorEnd) { - length = majorEnd - majorStart; - spacing = length / Math.floor(length / spacing); - } - next = start; - while(next < 0){ - count++; - next = Math.round(start + count * spacing); - } - for(i = Math.max(start, 0); i < end; i++){ - if (i === next) { - newTicks.push(ticks[i]); - count++; - next = Math.round(start + count * spacing); - } - } -} - function getEvenSpacing(arr) { - const len = arr.length; - let i, diff; - if (len < 2) { - return false; - } - for(diff = arr[0], i = 1; i < len; ++i){ - if (arr[i] - arr[i - 1] !== diff) { - return false; - } - } - return diff; -} - -const reverseAlign = (align)=>align === 'left' ? 'right' : align === 'right' ? 'left' : align; -const offsetFromEdge = (scale, edge, offset)=>edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset; -const getTicksLimit = (ticksLength, maxTicksLimit)=>Math.min(maxTicksLimit || ticksLength, ticksLength); - function sample(arr, numItems) { - const result = []; - const increment = arr.length / numItems; - const len = arr.length; - let i = 0; - for(; i < len; i += increment){ - result.push(arr[Math.floor(i)]); - } - return result; -} - function getPixelForGridLine(scale, index, offsetGridLines) { - const length = scale.ticks.length; - const validIndex = Math.min(index, length - 1); - const start = scale._startPixel; - const end = scale._endPixel; - const epsilon = 1e-6; - let lineValue = scale.getPixelForTick(validIndex); - let offset; - if (offsetGridLines) { - if (length === 1) { - offset = Math.max(lineValue - start, end - lineValue); - } else if (index === 0) { - offset = (scale.getPixelForTick(1) - lineValue) / 2; - } else { - offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2; - } - lineValue += validIndex < index ? offset : -offset; - if (lineValue < start - epsilon || lineValue > end + epsilon) { - return; - } - } - return lineValue; -} - function garbageCollect(caches, length) { - each(caches, (cache)=>{ - const gc = cache.gc; - const gcLen = gc.length / 2; - let i; - if (gcLen > length) { - for(i = 0; i < gcLen; ++i){ - delete cache.data[gc[i]]; - } - gc.splice(0, gcLen); - } - }); -} - function getTickMarkLength(options) { - return options.drawTicks ? options.tickLength : 0; -} - function getTitleHeight(options, fallback) { - if (!options.display) { - return 0; - } - const font = toFont(options.font, fallback); - const padding = toPadding(options.padding); - const lines = isArray(options.text) ? options.text.length : 1; - return lines * font.lineHeight + padding.height; -} -function createScaleContext(parent, scale) { - return createContext(parent, { - scale, - type: 'scale' - }); -} -function createTickContext(parent, index, tick) { - return createContext(parent, { - tick, - index, - type: 'tick' - }); -} -function titleAlign(align, position, reverse) { - let ret = _toLeftRightCenter(align); - if (reverse && position !== 'right' || !reverse && position === 'right') { - ret = reverseAlign(ret); - } - return ret; -} -function titleArgs(scale, offset, position, align) { - const { top , left , bottom , right , chart } = scale; - const { chartArea , scales } = chart; - let rotation = 0; - let maxWidth, titleX, titleY; - const height = bottom - top; - const width = right - left; - if (scale.isHorizontal()) { - titleX = _alignStartEnd(align, left, right); - if (isObject(position)) { - const positionAxisID = Object.keys(position)[0]; - const value = position[positionAxisID]; - titleY = scales[positionAxisID].getPixelForValue(value) + height - offset; - } else if (position === 'center') { - titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset; - } else { - titleY = offsetFromEdge(scale, position, offset); - } - maxWidth = right - left; - } else { - if (isObject(position)) { - const positionAxisID = Object.keys(position)[0]; - const value = position[positionAxisID]; - titleX = scales[positionAxisID].getPixelForValue(value) - width + offset; - } else if (position === 'center') { - titleX = (chartArea.left + chartArea.right) / 2 - width + offset; - } else { - titleX = offsetFromEdge(scale, position, offset); - } - titleY = _alignStartEnd(align, bottom, top); - rotation = position === 'left' ? -HALF_PI : HALF_PI; - } - return { - titleX, - titleY, - maxWidth, - rotation - }; -} -class Scale extends Element { - constructor(cfg){ - super(); - this.id = cfg.id; - this.type = cfg.type; - this.options = undefined; - this.ctx = cfg.ctx; - this.chart = cfg.chart; - this.top = undefined; - this.bottom = undefined; - this.left = undefined; - this.right = undefined; - this.width = undefined; - this.height = undefined; - this._margins = { - left: 0, - right: 0, - top: 0, - bottom: 0 - }; - this.maxWidth = undefined; - this.maxHeight = undefined; - this.paddingTop = undefined; - this.paddingBottom = undefined; - this.paddingLeft = undefined; - this.paddingRight = undefined; - this.axis = undefined; - this.labelRotation = undefined; - this.min = undefined; - this.max = undefined; - this._range = undefined; - this.ticks = []; - this._gridLineItems = null; - this._labelItems = null; - this._labelSizes = null; - this._length = 0; - this._maxLength = 0; - this._longestTextCache = {}; - this._startPixel = undefined; - this._endPixel = undefined; - this._reversePixels = false; - this._userMax = undefined; - this._userMin = undefined; - this._suggestedMax = undefined; - this._suggestedMin = undefined; - this._ticksLength = 0; - this._borderValue = 0; - this._cache = {}; - this._dataLimitsCached = false; - this.$context = undefined; - } - init(options) { - this.options = options.setContext(this.getContext()); - this.axis = options.axis; - this._userMin = this.parse(options.min); - this._userMax = this.parse(options.max); - this._suggestedMin = this.parse(options.suggestedMin); - this._suggestedMax = this.parse(options.suggestedMax); - } - parse(raw, index) { - return raw; - } - getUserBounds() { - let { _userMin , _userMax , _suggestedMin , _suggestedMax } = this; - _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY); - _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY); - _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY); - _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY); - return { - min: finiteOrDefault(_userMin, _suggestedMin), - max: finiteOrDefault(_userMax, _suggestedMax), - minDefined: isNumberFinite(_userMin), - maxDefined: isNumberFinite(_userMax) - }; - } - getMinMax(canStack) { - let { min , max , minDefined , maxDefined } = this.getUserBounds(); - let range; - if (minDefined && maxDefined) { - return { - min, - max - }; - } - const metas = this.getMatchingVisibleMetas(); - for(let i = 0, ilen = metas.length; i < ilen; ++i){ - range = metas[i].controller.getMinMax(this, canStack); - if (!minDefined) { - min = Math.min(min, range.min); - } - if (!maxDefined) { - max = Math.max(max, range.max); - } - } - min = maxDefined && min > max ? max : min; - max = minDefined && min > max ? min : max; - return { - min: finiteOrDefault(min, finiteOrDefault(max, min)), - max: finiteOrDefault(max, finiteOrDefault(min, max)) - }; - } - getPadding() { - return { - left: this.paddingLeft || 0, - top: this.paddingTop || 0, - right: this.paddingRight || 0, - bottom: this.paddingBottom || 0 - }; - } - getTicks() { - return this.ticks; - } - getLabels() { - const data = this.chart.data; - return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || []; - } - getLabelItems(chartArea = this.chart.chartArea) { - const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea)); - return items; - } - beforeLayout() { - this._cache = {}; - this._dataLimitsCached = false; - } - beforeUpdate() { - callback(this.options.beforeUpdate, [ - this - ]); - } - update(maxWidth, maxHeight, margins) { - const { beginAtZero , grace , ticks: tickOpts } = this.options; - const sampleSize = tickOpts.sampleSize; - this.beforeUpdate(); - this.maxWidth = maxWidth; - this.maxHeight = maxHeight; - this._margins = margins = Object.assign({ - left: 0, - right: 0, - top: 0, - bottom: 0 - }, margins); - this.ticks = null; - this._labelSizes = null; - this._gridLineItems = null; - this._labelItems = null; - this.beforeSetDimensions(); - this.setDimensions(); - this.afterSetDimensions(); - this._maxLength = this.isHorizontal() ? this.width + margins.left + margins.right : this.height + margins.top + margins.bottom; - if (!this._dataLimitsCached) { - this.beforeDataLimits(); - this.determineDataLimits(); - this.afterDataLimits(); - this._range = _addGrace(this, grace, beginAtZero); - this._dataLimitsCached = true; - } - this.beforeBuildTicks(); - this.ticks = this.buildTicks() || []; - this.afterBuildTicks(); - const samplingEnabled = sampleSize < this.ticks.length; - this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks); - this.configure(); - this.beforeCalculateLabelRotation(); - this.calculateLabelRotation(); - this.afterCalculateLabelRotation(); - if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) { - this.ticks = autoSkip(this, this.ticks); - this._labelSizes = null; - this.afterAutoSkip(); - } - if (samplingEnabled) { - this._convertTicksToLabels(this.ticks); - } - this.beforeFit(); - this.fit(); - this.afterFit(); - this.afterUpdate(); - } - configure() { - let reversePixels = this.options.reverse; - let startPixel, endPixel; - if (this.isHorizontal()) { - startPixel = this.left; - endPixel = this.right; - } else { - startPixel = this.top; - endPixel = this.bottom; - reversePixels = !reversePixels; - } - this._startPixel = startPixel; - this._endPixel = endPixel; - this._reversePixels = reversePixels; - this._length = endPixel - startPixel; - this._alignToPixels = this.options.alignToPixels; - } - afterUpdate() { - callback(this.options.afterUpdate, [ - this - ]); - } - beforeSetDimensions() { - callback(this.options.beforeSetDimensions, [ - this - ]); - } - setDimensions() { - if (this.isHorizontal()) { - this.width = this.maxWidth; - this.left = 0; - this.right = this.width; - } else { - this.height = this.maxHeight; - this.top = 0; - this.bottom = this.height; - } - this.paddingLeft = 0; - this.paddingTop = 0; - this.paddingRight = 0; - this.paddingBottom = 0; - } - afterSetDimensions() { - callback(this.options.afterSetDimensions, [ - this - ]); - } - _callHooks(name) { - this.chart.notifyPlugins(name, this.getContext()); - callback(this.options[name], [ - this - ]); - } - beforeDataLimits() { - this._callHooks('beforeDataLimits'); - } - determineDataLimits() {} - afterDataLimits() { - this._callHooks('afterDataLimits'); - } - beforeBuildTicks() { - this._callHooks('beforeBuildTicks'); - } - buildTicks() { - return []; - } - afterBuildTicks() { - this._callHooks('afterBuildTicks'); - } - beforeTickToLabelConversion() { - callback(this.options.beforeTickToLabelConversion, [ - this - ]); - } - generateTickLabels(ticks) { - const tickOpts = this.options.ticks; - let i, ilen, tick; - for(i = 0, ilen = ticks.length; i < ilen; i++){ - tick = ticks[i]; - tick.label = callback(tickOpts.callback, [ - tick.value, - i, - ticks - ], this); - } - } - afterTickToLabelConversion() { - callback(this.options.afterTickToLabelConversion, [ - this - ]); - } - beforeCalculateLabelRotation() { - callback(this.options.beforeCalculateLabelRotation, [ - this - ]); - } - calculateLabelRotation() { - const options = this.options; - const tickOpts = options.ticks; - const numTicks = getTicksLimit(this.ticks.length, options.ticks.maxTicksLimit); - const minRotation = tickOpts.minRotation || 0; - const maxRotation = tickOpts.maxRotation; - let labelRotation = minRotation; - let tickWidth, maxHeight, maxLabelDiagonal; - if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) { - this.labelRotation = minRotation; - return; - } - const labelSizes = this._getLabelSizes(); - const maxLabelWidth = labelSizes.widest.width; - const maxLabelHeight = labelSizes.highest.height; - const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth); - tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1); - if (maxLabelWidth + 6 > tickWidth) { - tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1)); - maxHeight = this.maxHeight - getTickMarkLength(options.grid) - tickOpts.padding - getTitleHeight(options.title, this.chart.options.font); - maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight); - labelRotation = toDegrees(Math.min(Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)), Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1)))); - labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation)); - } - this.labelRotation = labelRotation; - } - afterCalculateLabelRotation() { - callback(this.options.afterCalculateLabelRotation, [ - this - ]); - } - afterAutoSkip() {} - beforeFit() { - callback(this.options.beforeFit, [ - this - ]); - } - fit() { - const minSize = { - width: 0, - height: 0 - }; - const { chart , options: { ticks: tickOpts , title: titleOpts , grid: gridOpts } } = this; - const display = this._isVisible(); - const isHorizontal = this.isHorizontal(); - if (display) { - const titleHeight = getTitleHeight(titleOpts, chart.options.font); - if (isHorizontal) { - minSize.width = this.maxWidth; - minSize.height = getTickMarkLength(gridOpts) + titleHeight; - } else { - minSize.height = this.maxHeight; - minSize.width = getTickMarkLength(gridOpts) + titleHeight; - } - if (tickOpts.display && this.ticks.length) { - const { first , last , widest , highest } = this._getLabelSizes(); - const tickPadding = tickOpts.padding * 2; - const angleRadians = toRadians(this.labelRotation); - const cos = Math.cos(angleRadians); - const sin = Math.sin(angleRadians); - if (isHorizontal) { - const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height; - minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding); - } else { - const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height; - minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding); - } - this._calculatePadding(first, last, sin, cos); - } - } - this._handleMargins(); - if (isHorizontal) { - this.width = this._length = chart.width - this._margins.left - this._margins.right; - this.height = minSize.height; - } else { - this.width = minSize.width; - this.height = this._length = chart.height - this._margins.top - this._margins.bottom; - } - } - _calculatePadding(first, last, sin, cos) { - const { ticks: { align , padding } , position } = this.options; - const isRotated = this.labelRotation !== 0; - const labelsBelowTicks = position !== 'top' && this.axis === 'x'; - if (this.isHorizontal()) { - const offsetLeft = this.getPixelForTick(0) - this.left; - const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1); - let paddingLeft = 0; - let paddingRight = 0; - if (isRotated) { - if (labelsBelowTicks) { - paddingLeft = cos * first.width; - paddingRight = sin * last.height; - } else { - paddingLeft = sin * first.height; - paddingRight = cos * last.width; - } - } else if (align === 'start') { - paddingRight = last.width; - } else if (align === 'end') { - paddingLeft = first.width; - } else if (align !== 'inner') { - paddingLeft = first.width / 2; - paddingRight = last.width / 2; - } - this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0); - this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0); - } else { - let paddingTop = last.height / 2; - let paddingBottom = first.height / 2; - if (align === 'start') { - paddingTop = 0; - paddingBottom = first.height; - } else if (align === 'end') { - paddingTop = last.height; - paddingBottom = 0; - } - this.paddingTop = paddingTop + padding; - this.paddingBottom = paddingBottom + padding; - } - } - _handleMargins() { - if (this._margins) { - this._margins.left = Math.max(this.paddingLeft, this._margins.left); - this._margins.top = Math.max(this.paddingTop, this._margins.top); - this._margins.right = Math.max(this.paddingRight, this._margins.right); - this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom); - } - } - afterFit() { - callback(this.options.afterFit, [ - this - ]); - } - isHorizontal() { - const { axis , position } = this.options; - return position === 'top' || position === 'bottom' || axis === 'x'; - } - isFullSize() { - return this.options.fullSize; - } - _convertTicksToLabels(ticks) { - this.beforeTickToLabelConversion(); - this.generateTickLabels(ticks); - let i, ilen; - for(i = 0, ilen = ticks.length; i < ilen; i++){ - if (isNullOrUndef(ticks[i].label)) { - ticks.splice(i, 1); - ilen--; - i--; - } - } - this.afterTickToLabelConversion(); - } - _getLabelSizes() { - let labelSizes = this._labelSizes; - if (!labelSizes) { - const sampleSize = this.options.ticks.sampleSize; - let ticks = this.ticks; - if (sampleSize < ticks.length) { - ticks = sample(ticks, sampleSize); - } - this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length, this.options.ticks.maxTicksLimit); - } - return labelSizes; - } - _computeLabelSizes(ticks, length, maxTicksLimit) { - const { ctx , _longestTextCache: caches } = this; - const widths = []; - const heights = []; - const increment = Math.floor(length / getTicksLimit(length, maxTicksLimit)); - let widestLabelSize = 0; - let highestLabelSize = 0; - let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel; - for(i = 0; i < length; i += increment){ - label = ticks[i].label; - tickFont = this._resolveTickFontOptions(i); - ctx.font = fontString = tickFont.string; - cache = caches[fontString] = caches[fontString] || { - data: {}, - gc: [] - }; - lineHeight = tickFont.lineHeight; - width = height = 0; - if (!isNullOrUndef(label) && !isArray(label)) { - width = _measureText(ctx, cache.data, cache.gc, width, label); - height = lineHeight; - } else if (isArray(label)) { - for(j = 0, jlen = label.length; j < jlen; ++j){ - nestedLabel = label[j]; - if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) { - width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel); - height += lineHeight; - } - } - } - widths.push(width); - heights.push(height); - widestLabelSize = Math.max(width, widestLabelSize); - highestLabelSize = Math.max(height, highestLabelSize); - } - garbageCollect(caches, length); - const widest = widths.indexOf(widestLabelSize); - const highest = heights.indexOf(highestLabelSize); - const valueAt = (idx)=>({ - width: widths[idx] || 0, - height: heights[idx] || 0 - }); - return { - first: valueAt(0), - last: valueAt(length - 1), - widest: valueAt(widest), - highest: valueAt(highest), - widths, - heights - }; - } - getLabelForValue(value) { - return value; - } - getPixelForValue(value, index) { - return NaN; - } - getValueForPixel(pixel) {} - getPixelForTick(index) { - const ticks = this.ticks; - if (index < 0 || index > ticks.length - 1) { - return null; - } - return this.getPixelForValue(ticks[index].value); - } - getPixelForDecimal(decimal) { - if (this._reversePixels) { - decimal = 1 - decimal; - } - const pixel = this._startPixel + decimal * this._length; - return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel); - } - getDecimalForPixel(pixel) { - const decimal = (pixel - this._startPixel) / this._length; - return this._reversePixels ? 1 - decimal : decimal; - } - getBasePixel() { - return this.getPixelForValue(this.getBaseValue()); - } - getBaseValue() { - const { min , max } = this; - return min < 0 && max < 0 ? max : min > 0 && max > 0 ? min : 0; - } - getContext(index) { - const ticks = this.ticks || []; - if (index >= 0 && index < ticks.length) { - const tick = ticks[index]; - return tick.$context || (tick.$context = createTickContext(this.getContext(), index, tick)); - } - return this.$context || (this.$context = createScaleContext(this.chart.getContext(), this)); - } - _tickSize() { - const optionTicks = this.options.ticks; - const rot = toRadians(this.labelRotation); - const cos = Math.abs(Math.cos(rot)); - const sin = Math.abs(Math.sin(rot)); - const labelSizes = this._getLabelSizes(); - const padding = optionTicks.autoSkipPadding || 0; - const w = labelSizes ? labelSizes.widest.width + padding : 0; - const h = labelSizes ? labelSizes.highest.height + padding : 0; - return this.isHorizontal() ? h * cos > w * sin ? w / cos : h / sin : h * sin < w * cos ? h / cos : w / sin; - } - _isVisible() { - const display = this.options.display; - if (display !== 'auto') { - return !!display; - } - return this.getMatchingVisibleMetas().length > 0; - } - _computeGridLineItems(chartArea) { - const axis = this.axis; - const chart = this.chart; - const options = this.options; - const { grid , position , border } = options; - const offset = grid.offset; - const isHorizontal = this.isHorizontal(); - const ticks = this.ticks; - const ticksLength = ticks.length + (offset ? 1 : 0); - const tl = getTickMarkLength(grid); - const items = []; - const borderOpts = border.setContext(this.getContext()); - const axisWidth = borderOpts.display ? borderOpts.width : 0; - const axisHalfWidth = axisWidth / 2; - const alignBorderValue = function(pixel) { - return _alignPixel(chart, pixel, axisWidth); - }; - let borderValue, i, lineValue, alignedLineValue; - let tx1, ty1, tx2, ty2, x1, y1, x2, y2; - if (position === 'top') { - borderValue = alignBorderValue(this.bottom); - ty1 = this.bottom - tl; - ty2 = borderValue - axisHalfWidth; - y1 = alignBorderValue(chartArea.top) + axisHalfWidth; - y2 = chartArea.bottom; - } else if (position === 'bottom') { - borderValue = alignBorderValue(this.top); - y1 = chartArea.top; - y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth; - ty1 = borderValue + axisHalfWidth; - ty2 = this.top + tl; - } else if (position === 'left') { - borderValue = alignBorderValue(this.right); - tx1 = this.right - tl; - tx2 = borderValue - axisHalfWidth; - x1 = alignBorderValue(chartArea.left) + axisHalfWidth; - x2 = chartArea.right; - } else if (position === 'right') { - borderValue = alignBorderValue(this.left); - x1 = chartArea.left; - x2 = alignBorderValue(chartArea.right) - axisHalfWidth; - tx1 = borderValue + axisHalfWidth; - tx2 = this.left + tl; - } else if (axis === 'x') { - if (position === 'center') { - borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5); - } else if (isObject(position)) { - const positionAxisID = Object.keys(position)[0]; - const value = position[positionAxisID]; - borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value)); - } - y1 = chartArea.top; - y2 = chartArea.bottom; - ty1 = borderValue + axisHalfWidth; - ty2 = ty1 + tl; - } else if (axis === 'y') { - if (position === 'center') { - borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2); - } else if (isObject(position)) { - const positionAxisID = Object.keys(position)[0]; - const value = position[positionAxisID]; - borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value)); - } - tx1 = borderValue - axisHalfWidth; - tx2 = tx1 - tl; - x1 = chartArea.left; - x2 = chartArea.right; - } - const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength); - const step = Math.max(1, Math.ceil(ticksLength / limit)); - for(i = 0; i < ticksLength; i += step){ - const context = this.getContext(i); - const optsAtIndex = grid.setContext(context); - const optsAtIndexBorder = border.setContext(context); - const lineWidth = optsAtIndex.lineWidth; - const lineColor = optsAtIndex.color; - const borderDash = optsAtIndexBorder.dash || []; - const borderDashOffset = optsAtIndexBorder.dashOffset; - const tickWidth = optsAtIndex.tickWidth; - const tickColor = optsAtIndex.tickColor; - const tickBorderDash = optsAtIndex.tickBorderDash || []; - const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset; - lineValue = getPixelForGridLine(this, i, offset); - if (lineValue === undefined) { - continue; - } - alignedLineValue = _alignPixel(chart, lineValue, lineWidth); - if (isHorizontal) { - tx1 = tx2 = x1 = x2 = alignedLineValue; - } else { - ty1 = ty2 = y1 = y2 = alignedLineValue; - } - items.push({ - tx1, - ty1, - tx2, - ty2, - x1, - y1, - x2, - y2, - width: lineWidth, - color: lineColor, - borderDash, - borderDashOffset, - tickWidth, - tickColor, - tickBorderDash, - tickBorderDashOffset - }); - } - this._ticksLength = ticksLength; - this._borderValue = borderValue; - return items; - } - _computeLabelItems(chartArea) { - const axis = this.axis; - const options = this.options; - const { position , ticks: optionTicks } = options; - const isHorizontal = this.isHorizontal(); - const ticks = this.ticks; - const { align , crossAlign , padding , mirror } = optionTicks; - const tl = getTickMarkLength(options.grid); - const tickAndPadding = tl + padding; - const hTickAndPadding = mirror ? -padding : tickAndPadding; - const rotation = -toRadians(this.labelRotation); - const items = []; - let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset; - let textBaseline = 'middle'; - if (position === 'top') { - y = this.bottom - hTickAndPadding; - textAlign = this._getXAxisLabelAlignment(); - } else if (position === 'bottom') { - y = this.top + hTickAndPadding; - textAlign = this._getXAxisLabelAlignment(); - } else if (position === 'left') { - const ret = this._getYAxisLabelAlignment(tl); - textAlign = ret.textAlign; - x = ret.x; - } else if (position === 'right') { - const ret = this._getYAxisLabelAlignment(tl); - textAlign = ret.textAlign; - x = ret.x; - } else if (axis === 'x') { - if (position === 'center') { - y = (chartArea.top + chartArea.bottom) / 2 + tickAndPadding; - } else if (isObject(position)) { - const positionAxisID = Object.keys(position)[0]; - const value = position[positionAxisID]; - y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding; - } - textAlign = this._getXAxisLabelAlignment(); - } else if (axis === 'y') { - if (position === 'center') { - x = (chartArea.left + chartArea.right) / 2 - tickAndPadding; - } else if (isObject(position)) { - const positionAxisID = Object.keys(position)[0]; - const value = position[positionAxisID]; - x = this.chart.scales[positionAxisID].getPixelForValue(value); - } - textAlign = this._getYAxisLabelAlignment(tl).textAlign; - } - if (axis === 'y') { - if (align === 'start') { - textBaseline = 'top'; - } else if (align === 'end') { - textBaseline = 'bottom'; - } - } - const labelSizes = this._getLabelSizes(); - for(i = 0, ilen = ticks.length; i < ilen; ++i){ - tick = ticks[i]; - label = tick.label; - const optsAtIndex = optionTicks.setContext(this.getContext(i)); - pixel = this.getPixelForTick(i) + optionTicks.labelOffset; - font = this._resolveTickFontOptions(i); - lineHeight = font.lineHeight; - lineCount = isArray(label) ? label.length : 1; - const halfCount = lineCount / 2; - const color = optsAtIndex.color; - const strokeColor = optsAtIndex.textStrokeColor; - const strokeWidth = optsAtIndex.textStrokeWidth; - let tickTextAlign = textAlign; - if (isHorizontal) { - x = pixel; - if (textAlign === 'inner') { - if (i === ilen - 1) { - tickTextAlign = !this.options.reverse ? 'right' : 'left'; - } else if (i === 0) { - tickTextAlign = !this.options.reverse ? 'left' : 'right'; - } else { - tickTextAlign = 'center'; - } - } - if (position === 'top') { - if (crossAlign === 'near' || rotation !== 0) { - textOffset = -lineCount * lineHeight + lineHeight / 2; - } else if (crossAlign === 'center') { - textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight; - } else { - textOffset = -labelSizes.highest.height + lineHeight / 2; - } - } else { - if (crossAlign === 'near' || rotation !== 0) { - textOffset = lineHeight / 2; - } else if (crossAlign === 'center') { - textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight; - } else { - textOffset = labelSizes.highest.height - lineCount * lineHeight; - } - } - if (mirror) { - textOffset *= -1; - } - if (rotation !== 0 && !optsAtIndex.showLabelBackdrop) { - x += lineHeight / 2 * Math.sin(rotation); - } - } else { - y = pixel; - textOffset = (1 - lineCount) * lineHeight / 2; - } - let backdrop; - if (optsAtIndex.showLabelBackdrop) { - const labelPadding = toPadding(optsAtIndex.backdropPadding); - const height = labelSizes.heights[i]; - const width = labelSizes.widths[i]; - let top = textOffset - labelPadding.top; - let left = 0 - labelPadding.left; - switch(textBaseline){ - case 'middle': - top -= height / 2; - break; - case 'bottom': - top -= height; - break; - } - switch(textAlign){ - case 'center': - left -= width / 2; - break; - case 'right': - left -= width; - break; - case 'inner': - if (i === ilen - 1) { - left -= width; - } else if (i > 0) { - left -= width / 2; - } - break; - } - backdrop = { - left, - top, - width: width + labelPadding.width, - height: height + labelPadding.height, - color: optsAtIndex.backdropColor - }; - } - items.push({ - label, - font, - textOffset, - options: { - rotation, - color, - strokeColor, - strokeWidth, - textAlign: tickTextAlign, - textBaseline, - translation: [ - x, - y - ], - backdrop - } - }); - } - return items; - } - _getXAxisLabelAlignment() { - const { position , ticks } = this.options; - const rotation = -toRadians(this.labelRotation); - if (rotation) { - return position === 'top' ? 'left' : 'right'; - } - let align = 'center'; - if (ticks.align === 'start') { - align = 'left'; - } else if (ticks.align === 'end') { - align = 'right'; - } else if (ticks.align === 'inner') { - align = 'inner'; - } - return align; - } - _getYAxisLabelAlignment(tl) { - const { position , ticks: { crossAlign , mirror , padding } } = this.options; - const labelSizes = this._getLabelSizes(); - const tickAndPadding = tl + padding; - const widest = labelSizes.widest.width; - let textAlign; - let x; - if (position === 'left') { - if (mirror) { - x = this.right + padding; - if (crossAlign === 'near') { - textAlign = 'left'; - } else if (crossAlign === 'center') { - textAlign = 'center'; - x += widest / 2; - } else { - textAlign = 'right'; - x += widest; - } - } else { - x = this.right - tickAndPadding; - if (crossAlign === 'near') { - textAlign = 'right'; - } else if (crossAlign === 'center') { - textAlign = 'center'; - x -= widest / 2; - } else { - textAlign = 'left'; - x = this.left; - } - } - } else if (position === 'right') { - if (mirror) { - x = this.left + padding; - if (crossAlign === 'near') { - textAlign = 'right'; - } else if (crossAlign === 'center') { - textAlign = 'center'; - x -= widest / 2; - } else { - textAlign = 'left'; - x -= widest; - } - } else { - x = this.left + tickAndPadding; - if (crossAlign === 'near') { - textAlign = 'left'; - } else if (crossAlign === 'center') { - textAlign = 'center'; - x += widest / 2; - } else { - textAlign = 'right'; - x = this.right; - } - } - } else { - textAlign = 'right'; - } - return { - textAlign, - x - }; - } - _computeLabelArea() { - if (this.options.ticks.mirror) { - return; - } - const chart = this.chart; - const position = this.options.position; - if (position === 'left' || position === 'right') { - return { - top: 0, - left: this.left, - bottom: chart.height, - right: this.right - }; - } - if (position === 'top' || position === 'bottom') { - return { - top: this.top, - left: 0, - bottom: this.bottom, - right: chart.width - }; - } - } - drawBackground() { - const { ctx , options: { backgroundColor } , left , top , width , height } = this; - if (backgroundColor) { - ctx.save(); - ctx.fillStyle = backgroundColor; - ctx.fillRect(left, top, width, height); - ctx.restore(); - } - } - getLineWidthForValue(value) { - const grid = this.options.grid; - if (!this._isVisible() || !grid.display) { - return 0; - } - const ticks = this.ticks; - const index = ticks.findIndex((t)=>t.value === value); - if (index >= 0) { - const opts = grid.setContext(this.getContext(index)); - return opts.lineWidth; - } - return 0; - } - drawGrid(chartArea) { - const grid = this.options.grid; - const ctx = this.ctx; - const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea)); - let i, ilen; - const drawLine = (p1, p2, style)=>{ - if (!style.width || !style.color) { - return; - } - ctx.save(); - ctx.lineWidth = style.width; - ctx.strokeStyle = style.color; - ctx.setLineDash(style.borderDash || []); - ctx.lineDashOffset = style.borderDashOffset; - ctx.beginPath(); - ctx.moveTo(p1.x, p1.y); - ctx.lineTo(p2.x, p2.y); - ctx.stroke(); - ctx.restore(); - }; - if (grid.display) { - for(i = 0, ilen = items.length; i < ilen; ++i){ - const item = items[i]; - if (grid.drawOnChartArea) { - drawLine({ - x: item.x1, - y: item.y1 - }, { - x: item.x2, - y: item.y2 - }, item); - } - if (grid.drawTicks) { - drawLine({ - x: item.tx1, - y: item.ty1 - }, { - x: item.tx2, - y: item.ty2 - }, { - color: item.tickColor, - width: item.tickWidth, - borderDash: item.tickBorderDash, - borderDashOffset: item.tickBorderDashOffset - }); - } - } - } - } - drawBorder() { - const { chart , ctx , options: { border , grid } } = this; - const borderOpts = border.setContext(this.getContext()); - const axisWidth = border.display ? borderOpts.width : 0; - if (!axisWidth) { - return; - } - const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth; - const borderValue = this._borderValue; - let x1, x2, y1, y2; - if (this.isHorizontal()) { - x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2; - x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2; - y1 = y2 = borderValue; - } else { - y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2; - y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2; - x1 = x2 = borderValue; - } - ctx.save(); - ctx.lineWidth = borderOpts.width; - ctx.strokeStyle = borderOpts.color; - ctx.beginPath(); - ctx.moveTo(x1, y1); - ctx.lineTo(x2, y2); - ctx.stroke(); - ctx.restore(); - } - drawLabels(chartArea) { - const optionTicks = this.options.ticks; - if (!optionTicks.display) { - return; - } - const ctx = this.ctx; - const area = this._computeLabelArea(); - if (area) { - clipArea(ctx, area); - } - const items = this.getLabelItems(chartArea); - for (const item of items){ - const renderTextOptions = item.options; - const tickFont = item.font; - const label = item.label; - const y = item.textOffset; - renderText(ctx, label, 0, y, tickFont, renderTextOptions); - } - if (area) { - unclipArea(ctx); - } - } - drawTitle() { - const { ctx , options: { position , title , reverse } } = this; - if (!title.display) { - return; - } - const font = toFont(title.font); - const padding = toPadding(title.padding); - const align = title.align; - let offset = font.lineHeight / 2; - if (position === 'bottom' || position === 'center' || isObject(position)) { - offset += padding.bottom; - if (isArray(title.text)) { - offset += font.lineHeight * (title.text.length - 1); - } - } else { - offset += padding.top; - } - const { titleX , titleY , maxWidth , rotation } = titleArgs(this, offset, position, align); - renderText(ctx, title.text, 0, 0, font, { - color: title.color, - maxWidth, - rotation, - textAlign: titleAlign(align, position, reverse), - textBaseline: 'middle', - translation: [ - titleX, - titleY - ] - }); - } - draw(chartArea) { - if (!this._isVisible()) { - return; - } - this.drawBackground(); - this.drawGrid(chartArea); - this.drawBorder(); - this.drawTitle(); - this.drawLabels(chartArea); - } - _layers() { - const opts = this.options; - const tz = opts.ticks && opts.ticks.z || 0; - const gz = valueOrDefault(opts.grid && opts.grid.z, -1); - const bz = valueOrDefault(opts.border && opts.border.z, 0); - if (!this._isVisible() || this.draw !== Scale.prototype.draw) { - return [ - { - z: tz, - draw: (chartArea)=>{ - this.draw(chartArea); - } - } - ]; - } - return [ - { - z: gz, - draw: (chartArea)=>{ - this.drawBackground(); - this.drawGrid(chartArea); - this.drawTitle(); - } - }, - { - z: bz, - draw: ()=>{ - this.drawBorder(); - } - }, - { - z: tz, - draw: (chartArea)=>{ - this.drawLabels(chartArea); - } - } - ]; - } - getMatchingVisibleMetas(type) { - const metas = this.chart.getSortedVisibleDatasetMetas(); - const axisID = this.axis + 'AxisID'; - const result = []; - let i, ilen; - for(i = 0, ilen = metas.length; i < ilen; ++i){ - const meta = metas[i]; - if (meta[axisID] === this.id && (!type || meta.type === type)) { - result.push(meta); - } - } - return result; - } - _resolveTickFontOptions(index) { - const opts = this.options.ticks.setContext(this.getContext(index)); - return toFont(opts.font); - } - _maxDigits() { - const fontSize = this._resolveTickFontOptions(0).lineHeight; - return (this.isHorizontal() ? this.width : this.height) / fontSize; - } -} - -class TypedRegistry { - constructor(type, scope, override){ - this.type = type; - this.scope = scope; - this.override = override; - this.items = Object.create(null); - } - isForType(type) { - return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype); - } - register(item) { - const proto = Object.getPrototypeOf(item); - let parentScope; - if (isIChartComponent(proto)) { - parentScope = this.register(proto); - } - const items = this.items; - const id = item.id; - const scope = this.scope + '.' + id; - if (!id) { - throw new Error('class does not have id: ' + item); - } - if (id in items) { - return scope; - } - items[id] = item; - registerDefaults(item, scope, parentScope); - if (this.override) { - defaults.override(item.id, item.overrides); - } - return scope; - } - get(id) { - return this.items[id]; - } - unregister(item) { - const items = this.items; - const id = item.id; - const scope = this.scope; - if (id in items) { - delete items[id]; - } - if (scope && id in defaults[scope]) { - delete defaults[scope][id]; - if (this.override) { - delete overrides[id]; - } - } - } -} -function registerDefaults(item, scope, parentScope) { - const itemDefaults = merge(Object.create(null), [ - parentScope ? defaults.get(parentScope) : {}, - defaults.get(scope), - item.defaults - ]); - defaults.set(scope, itemDefaults); - if (item.defaultRoutes) { - routeDefaults(scope, item.defaultRoutes); - } - if (item.descriptors) { - defaults.describe(scope, item.descriptors); - } -} -function routeDefaults(scope, routes) { - Object.keys(routes).forEach((property)=>{ - const propertyParts = property.split('.'); - const sourceName = propertyParts.pop(); - const sourceScope = [ - scope - ].concat(propertyParts).join('.'); - const parts = routes[property].split('.'); - const targetName = parts.pop(); - const targetScope = parts.join('.'); - defaults.route(sourceScope, sourceName, targetScope, targetName); - }); -} -function isIChartComponent(proto) { - return 'id' in proto && 'defaults' in proto; -} - -class Registry { - constructor(){ - this.controllers = new TypedRegistry(DatasetController, 'datasets', true); - this.elements = new TypedRegistry(Element, 'elements'); - this.plugins = new TypedRegistry(Object, 'plugins'); - this.scales = new TypedRegistry(Scale, 'scales'); - this._typedRegistries = [ - this.controllers, - this.scales, - this.elements - ]; - } - add(...args) { - this._each('register', args); - } - remove(...args) { - this._each('unregister', args); - } - addControllers(...args) { - this._each('register', args, this.controllers); - } - addElements(...args) { - this._each('register', args, this.elements); - } - addPlugins(...args) { - this._each('register', args, this.plugins); - } - addScales(...args) { - this._each('register', args, this.scales); - } - getController(id) { - return this._get(id, this.controllers, 'controller'); - } - getElement(id) { - return this._get(id, this.elements, 'element'); - } - getPlugin(id) { - return this._get(id, this.plugins, 'plugin'); - } - getScale(id) { - return this._get(id, this.scales, 'scale'); - } - removeControllers(...args) { - this._each('unregister', args, this.controllers); - } - removeElements(...args) { - this._each('unregister', args, this.elements); - } - removePlugins(...args) { - this._each('unregister', args, this.plugins); - } - removeScales(...args) { - this._each('unregister', args, this.scales); - } - _each(method, args, typedRegistry) { - [ - ...args - ].forEach((arg)=>{ - const reg = typedRegistry || this._getRegistryForType(arg); - if (typedRegistry || reg.isForType(arg) || reg === this.plugins && arg.id) { - this._exec(method, reg, arg); - } else { - each(arg, (item)=>{ - const itemReg = typedRegistry || this._getRegistryForType(item); - this._exec(method, itemReg, item); - }); - } - }); - } - _exec(method, registry, component) { - const camelMethod = _capitalize(method); - callback(component['before' + camelMethod], [], component); - registry[method](component); - callback(component['after' + camelMethod], [], component); - } - _getRegistryForType(type) { - for(let i = 0; i < this._typedRegistries.length; i++){ - const reg = this._typedRegistries[i]; - if (reg.isForType(type)) { - return reg; - } - } - return this.plugins; - } - _get(id, typedRegistry, type) { - const item = typedRegistry.get(id); - if (item === undefined) { - throw new Error('"' + id + '" is not a registered ' + type + '.'); - } - return item; - } -} -var registry = /* #__PURE__ */ new Registry(); - -class PluginService { - constructor(){ - this._init = undefined; - } - notify(chart, hook, args, filter) { - if (hook === 'beforeInit') { - this._init = this._createDescriptors(chart, true); - this._notify(this._init, chart, 'install'); - } - if (this._init === undefined) { - return; - } - const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart); - const result = this._notify(descriptors, chart, hook, args); - if (hook === 'afterDestroy') { - this._notify(descriptors, chart, 'stop'); - this._notify(this._init, chart, 'uninstall'); - this._init = undefined; - } - return result; - } - _notify(descriptors, chart, hook, args) { - args = args || {}; - for (const descriptor of descriptors){ - const plugin = descriptor.plugin; - const method = plugin[hook]; - const params = [ - chart, - args, - descriptor.options - ]; - if (callback(method, params, plugin) === false && args.cancelable) { - return false; - } - } - return true; - } - invalidate() { - if (!isNullOrUndef(this._cache)) { - this._oldCache = this._cache; - this._cache = undefined; - } - } - _descriptors(chart) { - if (this._cache) { - return this._cache; - } - const descriptors = this._cache = this._createDescriptors(chart); - this._notifyStateChanges(chart); - return descriptors; - } - _createDescriptors(chart, all) { - const config = chart && chart.config; - const options = valueOrDefault(config.options && config.options.plugins, {}); - const plugins = allPlugins(config); - return options === false && !all ? [] : createDescriptors(chart, plugins, options, all); - } - _notifyStateChanges(chart) { - const previousDescriptors = this._oldCache || []; - const descriptors = this._cache; - const diff = (a, b)=>a.filter((x)=>!b.some((y)=>x.plugin.id === y.plugin.id)); - this._notify(diff(previousDescriptors, descriptors), chart, 'stop'); - this._notify(diff(descriptors, previousDescriptors), chart, 'start'); - } -} - function allPlugins(config) { - const localIds = {}; - const plugins = []; - const keys = Object.keys(registry.plugins.items); - for(let i = 0; i < keys.length; i++){ - plugins.push(registry.getPlugin(keys[i])); - } - const local = config.plugins || []; - for(let i = 0; i < local.length; i++){ - const plugin = local[i]; - if (plugins.indexOf(plugin) === -1) { - plugins.push(plugin); - localIds[plugin.id] = true; - } - } - return { - plugins, - localIds - }; -} -function getOpts(options, all) { - if (!all && options === false) { - return null; - } - if (options === true) { - return {}; - } - return options; -} -function createDescriptors(chart, { plugins , localIds }, options, all) { - const result = []; - const context = chart.getContext(); - for (const plugin of plugins){ - const id = plugin.id; - const opts = getOpts(options[id], all); - if (opts === null) { - continue; - } - result.push({ - plugin, - options: pluginOpts(chart.config, { - plugin, - local: localIds[id] - }, opts, context) - }); - } - return result; -} -function pluginOpts(config, { plugin , local }, opts, context) { - const keys = config.pluginScopeKeys(plugin); - const scopes = config.getOptionScopes(opts, keys); - if (local && plugin.defaults) { - scopes.push(plugin.defaults); - } - return config.createResolver(scopes, context, [ - '' - ], { - scriptable: false, - indexable: false, - allKeys: true - }); -} - -function getIndexAxis(type, options) { - const datasetDefaults = defaults.datasets[type] || {}; - const datasetOptions = (options.datasets || {})[type] || {}; - return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x'; -} -function getAxisFromDefaultScaleID(id, indexAxis) { - let axis = id; - if (id === '_index_') { - axis = indexAxis; - } else if (id === '_value_') { - axis = indexAxis === 'x' ? 'y' : 'x'; - } - return axis; -} -function getDefaultScaleIDFromAxis(axis, indexAxis) { - return axis === indexAxis ? '_index_' : '_value_'; -} -function idMatchesAxis(id) { - if (id === 'x' || id === 'y' || id === 'r') { - return id; - } -} -function axisFromPosition(position) { - if (position === 'top' || position === 'bottom') { - return 'x'; - } - if (position === 'left' || position === 'right') { - return 'y'; - } -} -function determineAxis(id, ...scaleOptions) { - if (idMatchesAxis(id)) { - return id; - } - for (const opts of scaleOptions){ - const axis = opts.axis || axisFromPosition(opts.position) || id.length > 1 && idMatchesAxis(id[0].toLowerCase()); - if (axis) { - return axis; - } - } - throw new Error(`Cannot determine type of '${id}' axis. Please provide 'axis' or 'position' option.`); -} -function getAxisFromDataset(id, axis, dataset) { - if (dataset[axis + 'AxisID'] === id) { - return { - axis - }; - } -} -function retrieveAxisFromDatasets(id, config) { - if (config.data && config.data.datasets) { - const boundDs = config.data.datasets.filter((d)=>d.xAxisID === id || d.yAxisID === id); - if (boundDs.length) { - return getAxisFromDataset(id, 'x', boundDs[0]) || getAxisFromDataset(id, 'y', boundDs[0]); - } - } - return {}; -} -function mergeScaleConfig(config, options) { - const chartDefaults = overrides[config.type] || { - scales: {} - }; - const configScales = options.scales || {}; - const chartIndexAxis = getIndexAxis(config.type, options); - const scales = Object.create(null); - Object.keys(configScales).forEach((id)=>{ - const scaleConf = configScales[id]; - if (!isObject(scaleConf)) { - return console.error(`Invalid scale configuration for scale: ${id}`); - } - if (scaleConf._proxy) { - return console.warn(`Ignoring resolver passed as options for scale: ${id}`); - } - const axis = determineAxis(id, scaleConf, retrieveAxisFromDatasets(id, config), defaults.scales[scaleConf.type]); - const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis); - const defaultScaleOptions = chartDefaults.scales || {}; - scales[id] = mergeIf(Object.create(null), [ - { - axis - }, - scaleConf, - defaultScaleOptions[axis], - defaultScaleOptions[defaultId] - ]); - }); - config.data.datasets.forEach((dataset)=>{ - const type = dataset.type || config.type; - const indexAxis = dataset.indexAxis || getIndexAxis(type, options); - const datasetDefaults = overrides[type] || {}; - const defaultScaleOptions = datasetDefaults.scales || {}; - Object.keys(defaultScaleOptions).forEach((defaultID)=>{ - const axis = getAxisFromDefaultScaleID(defaultID, indexAxis); - const id = dataset[axis + 'AxisID'] || axis; - scales[id] = scales[id] || Object.create(null); - mergeIf(scales[id], [ - { - axis - }, - configScales[id], - defaultScaleOptions[defaultID] - ]); - }); - }); - Object.keys(scales).forEach((key)=>{ - const scale = scales[key]; - mergeIf(scale, [ - defaults.scales[scale.type], - defaults.scale - ]); - }); - return scales; -} -function initOptions(config) { - const options = config.options || (config.options = {}); - options.plugins = valueOrDefault(options.plugins, {}); - options.scales = mergeScaleConfig(config, options); -} -function initData(data) { - data = data || {}; - data.datasets = data.datasets || []; - data.labels = data.labels || []; - return data; -} -function initConfig(config) { - config = config || {}; - config.data = initData(config.data); - initOptions(config); - return config; -} -const keyCache = new Map(); -const keysCached = new Set(); -function cachedKeys(cacheKey, generate) { - let keys = keyCache.get(cacheKey); - if (!keys) { - keys = generate(); - keyCache.set(cacheKey, keys); - keysCached.add(keys); - } - return keys; -} -const addIfFound = (set, obj, key)=>{ - const opts = resolveObjectKey(obj, key); - if (opts !== undefined) { - set.add(opts); - } -}; -class Config { - constructor(config){ - this._config = initConfig(config); - this._scopeCache = new Map(); - this._resolverCache = new Map(); - } - get platform() { - return this._config.platform; - } - get type() { - return this._config.type; - } - set type(type) { - this._config.type = type; - } - get data() { - return this._config.data; - } - set data(data) { - this._config.data = initData(data); - } - get options() { - return this._config.options; - } - set options(options) { - this._config.options = options; - } - get plugins() { - return this._config.plugins; - } - update() { - const config = this._config; - this.clearCache(); - initOptions(config); - } - clearCache() { - this._scopeCache.clear(); - this._resolverCache.clear(); - } - datasetScopeKeys(datasetType) { - return cachedKeys(datasetType, ()=>[ - [ - `datasets.${datasetType}`, - '' - ] - ]); - } - datasetAnimationScopeKeys(datasetType, transition) { - return cachedKeys(`${datasetType}.transition.${transition}`, ()=>[ - [ - `datasets.${datasetType}.transitions.${transition}`, - `transitions.${transition}` - ], - [ - `datasets.${datasetType}`, - '' - ] - ]); - } - datasetElementScopeKeys(datasetType, elementType) { - return cachedKeys(`${datasetType}-${elementType}`, ()=>[ - [ - `datasets.${datasetType}.elements.${elementType}`, - `datasets.${datasetType}`, - `elements.${elementType}`, - '' - ] - ]); - } - pluginScopeKeys(plugin) { - const id = plugin.id; - const type = this.type; - return cachedKeys(`${type}-plugin-${id}`, ()=>[ - [ - `plugins.${id}`, - ...plugin.additionalOptionScopes || [] - ] - ]); - } - _cachedScopes(mainScope, resetCache) { - const _scopeCache = this._scopeCache; - let cache = _scopeCache.get(mainScope); - if (!cache || resetCache) { - cache = new Map(); - _scopeCache.set(mainScope, cache); - } - return cache; - } - getOptionScopes(mainScope, keyLists, resetCache) { - const { options , type } = this; - const cache = this._cachedScopes(mainScope, resetCache); - const cached = cache.get(keyLists); - if (cached) { - return cached; - } - const scopes = new Set(); - keyLists.forEach((keys)=>{ - if (mainScope) { - scopes.add(mainScope); - keys.forEach((key)=>addIfFound(scopes, mainScope, key)); - } - keys.forEach((key)=>addIfFound(scopes, options, key)); - keys.forEach((key)=>addIfFound(scopes, overrides[type] || {}, key)); - keys.forEach((key)=>addIfFound(scopes, defaults, key)); - keys.forEach((key)=>addIfFound(scopes, descriptors, key)); - }); - const array = Array.from(scopes); - if (array.length === 0) { - array.push(Object.create(null)); - } - if (keysCached.has(keyLists)) { - cache.set(keyLists, array); - } - return array; - } - chartOptionScopes() { - const { options , type } = this; - return [ - options, - overrides[type] || {}, - defaults.datasets[type] || {}, - { - type - }, - defaults, - descriptors - ]; - } - resolveNamedOptions(scopes, names, context, prefixes = [ - '' - ]) { - const result = { - $shared: true - }; - const { resolver , subPrefixes } = getResolver(this._resolverCache, scopes, prefixes); - let options = resolver; - if (needContext(resolver, names)) { - result.$shared = false; - context = isFunction(context) ? context() : context; - const subResolver = this.createResolver(scopes, context, subPrefixes); - options = _attachContext(resolver, context, subResolver); - } - for (const prop of names){ - result[prop] = options[prop]; - } - return result; - } - createResolver(scopes, context, prefixes = [ - '' - ], descriptorDefaults) { - const { resolver } = getResolver(this._resolverCache, scopes, prefixes); - return isObject(context) ? _attachContext(resolver, context, undefined, descriptorDefaults) : resolver; - } -} -function getResolver(resolverCache, scopes, prefixes) { - let cache = resolverCache.get(scopes); - if (!cache) { - cache = new Map(); - resolverCache.set(scopes, cache); - } - const cacheKey = prefixes.join(); - let cached = cache.get(cacheKey); - if (!cached) { - const resolver = _createResolver(scopes, prefixes); - cached = { - resolver, - subPrefixes: prefixes.filter((p)=>!p.toLowerCase().includes('hover')) - }; - cache.set(cacheKey, cached); - } - return cached; -} -const hasFunction = (value)=>isObject(value) && Object.getOwnPropertyNames(value).some((key)=>isFunction(value[key])); -function needContext(proxy, names) { - const { isScriptable , isIndexable } = _descriptors(proxy); - for (const prop of names){ - const scriptable = isScriptable(prop); - const indexable = isIndexable(prop); - const value = (indexable || scriptable) && proxy[prop]; - if (scriptable && (isFunction(value) || hasFunction(value)) || indexable && isArray(value)) { - return true; - } - } - return false; -} - -var version = "4.5.1"; - -const KNOWN_POSITIONS = [ - 'top', - 'bottom', - 'left', - 'right', - 'chartArea' -]; -function positionIsHorizontal(position, axis) { - return position === 'top' || position === 'bottom' || KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x'; -} -function compare2Level(l1, l2) { - return function(a, b) { - return a[l1] === b[l1] ? a[l2] - b[l2] : a[l1] - b[l1]; - }; -} -function onAnimationsComplete(context) { - const chart = context.chart; - const animationOptions = chart.options.animation; - chart.notifyPlugins('afterRender'); - callback(animationOptions && animationOptions.onComplete, [ - context - ], chart); -} -function onAnimationProgress(context) { - const chart = context.chart; - const animationOptions = chart.options.animation; - callback(animationOptions && animationOptions.onProgress, [ - context - ], chart); -} - function getCanvas(item) { - if (_isDomSupported() && typeof item === 'string') { - item = document.getElementById(item); - } else if (item && item.length) { - item = item[0]; - } - if (item && item.canvas) { - item = item.canvas; - } - return item; -} -const instances = {}; -const getChart = (key)=>{ - const canvas = getCanvas(key); - return Object.values(instances).filter((c)=>c.canvas === canvas).pop(); -}; -function moveNumericKeys(obj, start, move) { - const keys = Object.keys(obj); - for (const key of keys){ - const intKey = +key; - if (intKey >= start) { - const value = obj[key]; - delete obj[key]; - if (move > 0 || intKey > start) { - obj[intKey + move] = value; - } - } - } -} - function determineLastEvent(e, lastEvent, inChartArea, isClick) { - if (!inChartArea || e.type === 'mouseout') { - return null; - } - if (isClick) { - return lastEvent; - } - return e; -} -class Chart { - static defaults = defaults; - static instances = instances; - static overrides = overrides; - static registry = registry; - static version = version; - static getChart = getChart; - static register(...items) { - registry.add(...items); - invalidatePlugins(); - } - static unregister(...items) { - registry.remove(...items); - invalidatePlugins(); - } - constructor(item, userConfig){ - const config = this.config = new Config(userConfig); - const initialCanvas = getCanvas(item); - const existingChart = getChart(initialCanvas); - if (existingChart) { - throw new Error('Canvas is already in use. Chart with ID \'' + existingChart.id + '\'' + ' must be destroyed before the canvas with ID \'' + existingChart.canvas.id + '\' can be reused.'); - } - const options = config.createResolver(config.chartOptionScopes(), this.getContext()); - this.platform = new (config.platform || _detectPlatform(initialCanvas))(); - this.platform.updateConfig(config); - const context = this.platform.acquireContext(initialCanvas, options.aspectRatio); - const canvas = context && context.canvas; - const height = canvas && canvas.height; - const width = canvas && canvas.width; - this.id = uid(); - this.ctx = context; - this.canvas = canvas; - this.width = width; - this.height = height; - this._options = options; - this._aspectRatio = this.aspectRatio; - this._layers = []; - this._metasets = []; - this._stacks = undefined; - this.boxes = []; - this.currentDevicePixelRatio = undefined; - this.chartArea = undefined; - this._active = []; - this._lastEvent = undefined; - this._listeners = {}; - this._responsiveListeners = undefined; - this._sortedMetasets = []; - this.scales = {}; - this._plugins = new PluginService(); - this.$proxies = {}; - this._hiddenIndices = {}; - this.attached = false; - this._animationsDisabled = undefined; - this.$context = undefined; - this._doResize = debounce((mode)=>this.update(mode), options.resizeDelay || 0); - this._dataChanges = []; - instances[this.id] = this; - if (!context || !canvas) { - console.error("Failed to create chart: can't acquire context from the given item"); - return; - } - animator.listen(this, 'complete', onAnimationsComplete); - animator.listen(this, 'progress', onAnimationProgress); - this._initialize(); - if (this.attached) { - this.update(); - } - } - get aspectRatio() { - const { options: { aspectRatio , maintainAspectRatio } , width , height , _aspectRatio } = this; - if (!isNullOrUndef(aspectRatio)) { - return aspectRatio; - } - if (maintainAspectRatio && _aspectRatio) { - return _aspectRatio; - } - return height ? width / height : null; - } - get data() { - return this.config.data; - } - set data(data) { - this.config.data = data; - } - get options() { - return this._options; - } - set options(options) { - this.config.options = options; - } - get registry() { - return registry; - } - _initialize() { - this.notifyPlugins('beforeInit'); - if (this.options.responsive) { - this.resize(); - } else { - retinaScale(this, this.options.devicePixelRatio); - } - this.bindEvents(); - this.notifyPlugins('afterInit'); - return this; - } - clear() { - clearCanvas(this.canvas, this.ctx); - return this; - } - stop() { - animator.stop(this); - return this; - } - resize(width, height) { - if (!animator.running(this)) { - this._resize(width, height); - } else { - this._resizeBeforeDraw = { - width, - height - }; - } - } - _resize(width, height) { - const options = this.options; - const canvas = this.canvas; - const aspectRatio = options.maintainAspectRatio && this.aspectRatio; - const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio); - const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio(); - const mode = this.width ? 'resize' : 'attach'; - this.width = newSize.width; - this.height = newSize.height; - this._aspectRatio = this.aspectRatio; - if (!retinaScale(this, newRatio, true)) { - return; - } - this.notifyPlugins('resize', { - size: newSize - }); - callback(options.onResize, [ - this, - newSize - ], this); - if (this.attached) { - if (this._doResize(mode)) { - this.render(); - } - } - } - ensureScalesHaveIDs() { - const options = this.options; - const scalesOptions = options.scales || {}; - each(scalesOptions, (axisOptions, axisID)=>{ - axisOptions.id = axisID; - }); - } - buildOrUpdateScales() { - const options = this.options; - const scaleOpts = options.scales; - const scales = this.scales; - const updated = Object.keys(scales).reduce((obj, id)=>{ - obj[id] = false; - return obj; - }, {}); - let items = []; - if (scaleOpts) { - items = items.concat(Object.keys(scaleOpts).map((id)=>{ - const scaleOptions = scaleOpts[id]; - const axis = determineAxis(id, scaleOptions); - const isRadial = axis === 'r'; - const isHorizontal = axis === 'x'; - return { - options: scaleOptions, - dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left', - dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear' - }; - })); - } - each(items, (item)=>{ - const scaleOptions = item.options; - const id = scaleOptions.id; - const axis = determineAxis(id, scaleOptions); - const scaleType = valueOrDefault(scaleOptions.type, item.dtype); - if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) { - scaleOptions.position = item.dposition; - } - updated[id] = true; - let scale = null; - if (id in scales && scales[id].type === scaleType) { - scale = scales[id]; - } else { - const scaleClass = registry.getScale(scaleType); - scale = new scaleClass({ - id, - type: scaleType, - ctx: this.ctx, - chart: this - }); - scales[scale.id] = scale; - } - scale.init(scaleOptions, options); - }); - each(updated, (hasUpdated, id)=>{ - if (!hasUpdated) { - delete scales[id]; - } - }); - each(scales, (scale)=>{ - layouts.configure(this, scale, scale.options); - layouts.addBox(this, scale); - }); - } - _updateMetasets() { - const metasets = this._metasets; - const numData = this.data.datasets.length; - const numMeta = metasets.length; - metasets.sort((a, b)=>a.index - b.index); - if (numMeta > numData) { - for(let i = numData; i < numMeta; ++i){ - this._destroyDatasetMeta(i); - } - metasets.splice(numData, numMeta - numData); - } - this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index')); - } - _removeUnreferencedMetasets() { - const { _metasets: metasets , data: { datasets } } = this; - if (metasets.length > datasets.length) { - delete this._stacks; - } - metasets.forEach((meta, index)=>{ - if (datasets.filter((x)=>x === meta._dataset).length === 0) { - this._destroyDatasetMeta(index); - } - }); - } - buildOrUpdateControllers() { - const newControllers = []; - const datasets = this.data.datasets; - let i, ilen; - this._removeUnreferencedMetasets(); - for(i = 0, ilen = datasets.length; i < ilen; i++){ - const dataset = datasets[i]; - let meta = this.getDatasetMeta(i); - const type = dataset.type || this.config.type; - if (meta.type && meta.type !== type) { - this._destroyDatasetMeta(i); - meta = this.getDatasetMeta(i); - } - meta.type = type; - meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options); - meta.order = dataset.order || 0; - meta.index = i; - meta.label = '' + dataset.label; - meta.visible = this.isDatasetVisible(i); - if (meta.controller) { - meta.controller.updateIndex(i); - meta.controller.linkScales(); - } else { - const ControllerClass = registry.getController(type); - const { datasetElementType , dataElementType } = defaults.datasets[type]; - Object.assign(ControllerClass, { - dataElementType: registry.getElement(dataElementType), - datasetElementType: datasetElementType && registry.getElement(datasetElementType) - }); - meta.controller = new ControllerClass(this, i); - newControllers.push(meta.controller); - } - } - this._updateMetasets(); - return newControllers; - } - _resetElements() { - each(this.data.datasets, (dataset, datasetIndex)=>{ - this.getDatasetMeta(datasetIndex).controller.reset(); - }, this); - } - reset() { - this._resetElements(); - this.notifyPlugins('reset'); - } - update(mode) { - const config = this.config; - config.update(); - const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext()); - const animsDisabled = this._animationsDisabled = !options.animation; - this._updateScales(); - this._checkEventBindings(); - this._updateHiddenIndices(); - this._plugins.invalidate(); - if (this.notifyPlugins('beforeUpdate', { - mode, - cancelable: true - }) === false) { - return; - } - const newControllers = this.buildOrUpdateControllers(); - this.notifyPlugins('beforeElementsUpdate'); - let minPadding = 0; - for(let i = 0, ilen = this.data.datasets.length; i < ilen; i++){ - const { controller } = this.getDatasetMeta(i); - const reset = !animsDisabled && newControllers.indexOf(controller) === -1; - controller.buildOrUpdateElements(reset); - minPadding = Math.max(+controller.getMaxOverflow(), minPadding); - } - minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0; - this._updateLayout(minPadding); - if (!animsDisabled) { - each(newControllers, (controller)=>{ - controller.reset(); - }); - } - this._updateDatasets(mode); - this.notifyPlugins('afterUpdate', { - mode - }); - this._layers.sort(compare2Level('z', '_idx')); - const { _active , _lastEvent } = this; - if (_lastEvent) { - this._eventHandler(_lastEvent, true); - } else if (_active.length) { - this._updateHoverStyles(_active, _active, true); - } - this.render(); - } - _updateScales() { - each(this.scales, (scale)=>{ - layouts.removeBox(this, scale); - }); - this.ensureScalesHaveIDs(); - this.buildOrUpdateScales(); - } - _checkEventBindings() { - const options = this.options; - const existingEvents = new Set(Object.keys(this._listeners)); - const newEvents = new Set(options.events); - if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) { - this.unbindEvents(); - this.bindEvents(); - } - } - _updateHiddenIndices() { - const { _hiddenIndices } = this; - const changes = this._getUniformDataChanges() || []; - for (const { method , start , count } of changes){ - const move = method === '_removeElements' ? -count : count; - moveNumericKeys(_hiddenIndices, start, move); - } - } - _getUniformDataChanges() { - const _dataChanges = this._dataChanges; - if (!_dataChanges || !_dataChanges.length) { - return; - } - this._dataChanges = []; - const datasetCount = this.data.datasets.length; - const makeSet = (idx)=>new Set(_dataChanges.filter((c)=>c[0] === idx).map((c, i)=>i + ',' + c.splice(1).join(','))); - const changeSet = makeSet(0); - for(let i = 1; i < datasetCount; i++){ - if (!setsEqual(changeSet, makeSet(i))) { - return; - } - } - return Array.from(changeSet).map((c)=>c.split(',')).map((a)=>({ - method: a[1], - start: +a[2], - count: +a[3] - })); - } - _updateLayout(minPadding) { - if (this.notifyPlugins('beforeLayout', { - cancelable: true - }) === false) { - return; - } - layouts.update(this, this.width, this.height, minPadding); - const area = this.chartArea; - const noArea = area.width <= 0 || area.height <= 0; - this._layers = []; - each(this.boxes, (box)=>{ - if (noArea && box.position === 'chartArea') { - return; - } - if (box.configure) { - box.configure(); - } - this._layers.push(...box._layers()); - }, this); - this._layers.forEach((item, index)=>{ - item._idx = index; - }); - this.notifyPlugins('afterLayout'); - } - _updateDatasets(mode) { - if (this.notifyPlugins('beforeDatasetsUpdate', { - mode, - cancelable: true - }) === false) { - return; - } - for(let i = 0, ilen = this.data.datasets.length; i < ilen; ++i){ - this.getDatasetMeta(i).controller.configure(); - } - for(let i = 0, ilen = this.data.datasets.length; i < ilen; ++i){ - this._updateDataset(i, isFunction(mode) ? mode({ - datasetIndex: i - }) : mode); - } - this.notifyPlugins('afterDatasetsUpdate', { - mode - }); - } - _updateDataset(index, mode) { - const meta = this.getDatasetMeta(index); - const args = { - meta, - index, - mode, - cancelable: true - }; - if (this.notifyPlugins('beforeDatasetUpdate', args) === false) { - return; - } - meta.controller._update(mode); - args.cancelable = false; - this.notifyPlugins('afterDatasetUpdate', args); - } - render() { - if (this.notifyPlugins('beforeRender', { - cancelable: true - }) === false) { - return; - } - if (animator.has(this)) { - if (this.attached && !animator.running(this)) { - animator.start(this); - } - } else { - this.draw(); - onAnimationsComplete({ - chart: this - }); - } - } - draw() { - let i; - if (this._resizeBeforeDraw) { - const { width , height } = this._resizeBeforeDraw; - this._resizeBeforeDraw = null; - this._resize(width, height); - } - this.clear(); - if (this.width <= 0 || this.height <= 0) { - return; - } - if (this.notifyPlugins('beforeDraw', { - cancelable: true - }) === false) { - return; - } - const layers = this._layers; - for(i = 0; i < layers.length && layers[i].z <= 0; ++i){ - layers[i].draw(this.chartArea); - } - this._drawDatasets(); - for(; i < layers.length; ++i){ - layers[i].draw(this.chartArea); - } - this.notifyPlugins('afterDraw'); - } - _getSortedDatasetMetas(filterVisible) { - const metasets = this._sortedMetasets; - const result = []; - let i, ilen; - for(i = 0, ilen = metasets.length; i < ilen; ++i){ - const meta = metasets[i]; - if (!filterVisible || meta.visible) { - result.push(meta); - } - } - return result; - } - getSortedVisibleDatasetMetas() { - return this._getSortedDatasetMetas(true); - } - _drawDatasets() { - if (this.notifyPlugins('beforeDatasetsDraw', { - cancelable: true - }) === false) { - return; - } - const metasets = this.getSortedVisibleDatasetMetas(); - for(let i = metasets.length - 1; i >= 0; --i){ - this._drawDataset(metasets[i]); - } - this.notifyPlugins('afterDatasetsDraw'); - } - _drawDataset(meta) { - const ctx = this.ctx; - const args = { - meta, - index: meta.index, - cancelable: true - }; - const clip = getDatasetClipArea(this, meta); - if (this.notifyPlugins('beforeDatasetDraw', args) === false) { - return; - } - if (clip) { - clipArea(ctx, clip); - } - meta.controller.draw(); - if (clip) { - unclipArea(ctx); - } - args.cancelable = false; - this.notifyPlugins('afterDatasetDraw', args); - } - isPointInArea(point) { - return _isPointInArea(point, this.chartArea, this._minPadding); - } - getElementsAtEventForMode(e, mode, options, useFinalPosition) { - const method = Interaction.modes[mode]; - if (typeof method === 'function') { - return method(this, e, options, useFinalPosition); - } - return []; - } - getDatasetMeta(datasetIndex) { - const dataset = this.data.datasets[datasetIndex]; - const metasets = this._metasets; - let meta = metasets.filter((x)=>x && x._dataset === dataset).pop(); - if (!meta) { - meta = { - type: null, - data: [], - dataset: null, - controller: null, - hidden: null, - xAxisID: null, - yAxisID: null, - order: dataset && dataset.order || 0, - index: datasetIndex, - _dataset: dataset, - _parsed: [], - _sorted: false - }; - metasets.push(meta); - } - return meta; - } - getContext() { - return this.$context || (this.$context = createContext(null, { - chart: this, - type: 'chart' - })); - } - getVisibleDatasetCount() { - return this.getSortedVisibleDatasetMetas().length; - } - isDatasetVisible(datasetIndex) { - const dataset = this.data.datasets[datasetIndex]; - if (!dataset) { - return false; - } - const meta = this.getDatasetMeta(datasetIndex); - return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden; - } - setDatasetVisibility(datasetIndex, visible) { - const meta = this.getDatasetMeta(datasetIndex); - meta.hidden = !visible; - } - toggleDataVisibility(index) { - this._hiddenIndices[index] = !this._hiddenIndices[index]; - } - getDataVisibility(index) { - return !this._hiddenIndices[index]; - } - _updateVisibility(datasetIndex, dataIndex, visible) { - const mode = visible ? 'show' : 'hide'; - const meta = this.getDatasetMeta(datasetIndex); - const anims = meta.controller._resolveAnimations(undefined, mode); - if (defined(dataIndex)) { - meta.data[dataIndex].hidden = !visible; - this.update(); - } else { - this.setDatasetVisibility(datasetIndex, visible); - anims.update(meta, { - visible - }); - this.update((ctx)=>ctx.datasetIndex === datasetIndex ? mode : undefined); - } - } - hide(datasetIndex, dataIndex) { - this._updateVisibility(datasetIndex, dataIndex, false); - } - show(datasetIndex, dataIndex) { - this._updateVisibility(datasetIndex, dataIndex, true); - } - _destroyDatasetMeta(datasetIndex) { - const meta = this._metasets[datasetIndex]; - if (meta && meta.controller) { - meta.controller._destroy(); - } - delete this._metasets[datasetIndex]; - } - _stop() { - let i, ilen; - this.stop(); - animator.remove(this); - for(i = 0, ilen = this.data.datasets.length; i < ilen; ++i){ - this._destroyDatasetMeta(i); - } - } - destroy() { - this.notifyPlugins('beforeDestroy'); - const { canvas , ctx } = this; - this._stop(); - this.config.clearCache(); - if (canvas) { - this.unbindEvents(); - clearCanvas(canvas, ctx); - this.platform.releaseContext(ctx); - this.canvas = null; - this.ctx = null; - } - delete instances[this.id]; - this.notifyPlugins('afterDestroy'); - } - toBase64Image(...args) { - return this.canvas.toDataURL(...args); - } - bindEvents() { - this.bindUserEvents(); - if (this.options.responsive) { - this.bindResponsiveEvents(); - } else { - this.attached = true; - } - } - bindUserEvents() { - const listeners = this._listeners; - const platform = this.platform; - const _add = (type, listener)=>{ - platform.addEventListener(this, type, listener); - listeners[type] = listener; - }; - const listener = (e, x, y)=>{ - e.offsetX = x; - e.offsetY = y; - this._eventHandler(e); - }; - each(this.options.events, (type)=>_add(type, listener)); - } - bindResponsiveEvents() { - if (!this._responsiveListeners) { - this._responsiveListeners = {}; - } - const listeners = this._responsiveListeners; - const platform = this.platform; - const _add = (type, listener)=>{ - platform.addEventListener(this, type, listener); - listeners[type] = listener; - }; - const _remove = (type, listener)=>{ - if (listeners[type]) { - platform.removeEventListener(this, type, listener); - delete listeners[type]; - } - }; - const listener = (width, height)=>{ - if (this.canvas) { - this.resize(width, height); - } - }; - let detached; - const attached = ()=>{ - _remove('attach', attached); - this.attached = true; - this.resize(); - _add('resize', listener); - _add('detach', detached); - }; - detached = ()=>{ - this.attached = false; - _remove('resize', listener); - this._stop(); - this._resize(0, 0); - _add('attach', attached); - }; - if (platform.isAttached(this.canvas)) { - attached(); - } else { - detached(); - } - } - unbindEvents() { - each(this._listeners, (listener, type)=>{ - this.platform.removeEventListener(this, type, listener); - }); - this._listeners = {}; - each(this._responsiveListeners, (listener, type)=>{ - this.platform.removeEventListener(this, type, listener); - }); - this._responsiveListeners = undefined; - } - updateHoverStyle(items, mode, enabled) { - const prefix = enabled ? 'set' : 'remove'; - let meta, item, i, ilen; - if (mode === 'dataset') { - meta = this.getDatasetMeta(items[0].datasetIndex); - meta.controller['_' + prefix + 'DatasetHoverStyle'](); - } - for(i = 0, ilen = items.length; i < ilen; ++i){ - item = items[i]; - const controller = item && this.getDatasetMeta(item.datasetIndex).controller; - if (controller) { - controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index); - } - } - } - getActiveElements() { - return this._active || []; - } - setActiveElements(activeElements) { - const lastActive = this._active || []; - const active = activeElements.map(({ datasetIndex , index })=>{ - const meta = this.getDatasetMeta(datasetIndex); - if (!meta) { - throw new Error('No dataset found at index ' + datasetIndex); - } - return { - datasetIndex, - element: meta.data[index], - index - }; - }); - const changed = !_elementsEqual(active, lastActive); - if (changed) { - this._active = active; - this._lastEvent = null; - this._updateHoverStyles(active, lastActive); - } - } - notifyPlugins(hook, args, filter) { - return this._plugins.notify(this, hook, args, filter); - } - isPluginEnabled(pluginId) { - return this._plugins._cache.filter((p)=>p.plugin.id === pluginId).length === 1; - } - _updateHoverStyles(active, lastActive, replay) { - const hoverOptions = this.options.hover; - const diff = (a, b)=>a.filter((x)=>!b.some((y)=>x.datasetIndex === y.datasetIndex && x.index === y.index)); - const deactivated = diff(lastActive, active); - const activated = replay ? active : diff(active, lastActive); - if (deactivated.length) { - this.updateHoverStyle(deactivated, hoverOptions.mode, false); - } - if (activated.length && hoverOptions.mode) { - this.updateHoverStyle(activated, hoverOptions.mode, true); - } - } - _eventHandler(e, replay) { - const args = { - event: e, - replay, - cancelable: true, - inChartArea: this.isPointInArea(e) - }; - const eventFilter = (plugin)=>(plugin.options.events || this.options.events).includes(e.native.type); - if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) { - return; - } - const changed = this._handleEvent(e, replay, args.inChartArea); - args.cancelable = false; - this.notifyPlugins('afterEvent', args, eventFilter); - if (changed || args.changed) { - this.render(); - } - return this; - } - _handleEvent(e, replay, inChartArea) { - const { _active: lastActive = [] , options } = this; - const useFinalPosition = replay; - const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition); - const isClick = _isClickEvent(e); - const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick); - if (inChartArea) { - this._lastEvent = null; - callback(options.onHover, [ - e, - active, - this - ], this); - if (isClick) { - callback(options.onClick, [ - e, - active, - this - ], this); - } - } - const changed = !_elementsEqual(active, lastActive); - if (changed || replay) { - this._active = active; - this._updateHoverStyles(active, lastActive, replay); - } - this._lastEvent = lastEvent; - return changed; - } - _getActiveElements(e, lastActive, inChartArea, useFinalPosition) { - if (e.type === 'mouseout') { - return []; - } - if (!inChartArea) { - return lastActive; - } - const hoverOptions = this.options.hover; - return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition); - } -} -function invalidatePlugins() { - return each(Chart.instances, (chart)=>chart._plugins.invalidate()); -} - -function clipSelf(ctx, element, endAngle) { - const { startAngle , x , y , outerRadius , innerRadius , options } = element; - const { borderWidth , borderJoinStyle } = options; - const outerAngleClip = Math.min(borderWidth / outerRadius, _normalizeAngle(startAngle - endAngle)); - ctx.beginPath(); - ctx.arc(x, y, outerRadius - borderWidth / 2, startAngle + outerAngleClip / 2, endAngle - outerAngleClip / 2); - if (innerRadius > 0) { - const innerAngleClip = Math.min(borderWidth / innerRadius, _normalizeAngle(startAngle - endAngle)); - ctx.arc(x, y, innerRadius + borderWidth / 2, endAngle - innerAngleClip / 2, startAngle + innerAngleClip / 2, true); - } else { - const clipWidth = Math.min(borderWidth / 2, outerRadius * _normalizeAngle(startAngle - endAngle)); - if (borderJoinStyle === 'round') { - ctx.arc(x, y, clipWidth, endAngle - PI / 2, startAngle + PI / 2, true); - } else if (borderJoinStyle === 'bevel') { - const r = 2 * clipWidth * clipWidth; - const endX = -r * Math.cos(endAngle + PI / 2) + x; - const endY = -r * Math.sin(endAngle + PI / 2) + y; - const startX = r * Math.cos(startAngle + PI / 2) + x; - const startY = r * Math.sin(startAngle + PI / 2) + y; - ctx.lineTo(endX, endY); - ctx.lineTo(startX, startY); - } - } - ctx.closePath(); - ctx.moveTo(0, 0); - ctx.rect(0, 0, ctx.canvas.width, ctx.canvas.height); - ctx.clip('evenodd'); -} -function clipArc(ctx, element, endAngle) { - const { startAngle , pixelMargin , x , y , outerRadius , innerRadius } = element; - let angleMargin = pixelMargin / outerRadius; - // Draw an inner border by clipping the arc and drawing a double-width border - // Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders - ctx.beginPath(); - ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin); - if (innerRadius > pixelMargin) { - angleMargin = pixelMargin / innerRadius; - ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true); - } else { - ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI); - } - ctx.closePath(); - ctx.clip(); -} -function toRadiusCorners(value) { - return _readValueToProps(value, [ - 'outerStart', - 'outerEnd', - 'innerStart', - 'innerEnd' - ]); -} -/** - * Parse border radius from the provided options - */ function parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) { - const o = toRadiusCorners(arc.options.borderRadius); - const halfThickness = (outerRadius - innerRadius) / 2; - const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2); - // Outer limits are complicated. We want to compute the available angular distance at - // a radius of outerRadius - borderRadius because for small angular distances, this term limits. - // We compute at r = outerRadius - borderRadius because this circle defines the center of the border corners. - // - // If the borderRadius is large, that value can become negative. - // This causes the outer borders to lose their radius entirely, which is rather unexpected. To solve that, if borderRadius > outerRadius - // we know that the thickness term will dominate and compute the limits at that point - const computeOuterLimit = (val)=>{ - const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2; - return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit)); - }; - return { - outerStart: computeOuterLimit(o.outerStart), - outerEnd: computeOuterLimit(o.outerEnd), - innerStart: _limitValue(o.innerStart, 0, innerLimit), - innerEnd: _limitValue(o.innerEnd, 0, innerLimit) - }; -} -/** - * Convert (r, 𝜃) to (x, y) - */ function rThetaToXY(r, theta, x, y) { - return { - x: x + r * Math.cos(theta), - y: y + r * Math.sin(theta) - }; -} -/** - * Path the arc, respecting border radius by separating into left and right halves. - * - * Start End - * - * 1--->a--->2 Outer - * / \ - * 8 3 - * | | - * | | - * 7 4 - * \ / - * 6<---b<---5 Inner - */ function pathArc(ctx, element, offset, spacing, end, circular) { - const { x , y , startAngle: start , pixelMargin , innerRadius: innerR } = element; - const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0); - const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0; - let spacingOffset = 0; - const alpha = end - start; - if (spacing) { - // When spacing is present, it is the same for all items - // So we adjust the start and end angle of the arc such that - // the distance is the same as it would be without the spacing - const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0; - const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0; - const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2; - const adjustedAngle = avNogSpacingRadius !== 0 ? alpha * avNogSpacingRadius / (avNogSpacingRadius + spacing) : alpha; - spacingOffset = (alpha - adjustedAngle) / 2; - } - const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius; - const angleOffset = (alpha - beta) / 2; - const startAngle = start + angleOffset + spacingOffset; - const endAngle = end - angleOffset - spacingOffset; - const { outerStart , outerEnd , innerStart , innerEnd } = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle); - const outerStartAdjustedRadius = outerRadius - outerStart; - const outerEndAdjustedRadius = outerRadius - outerEnd; - const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius; - const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius; - const innerStartAdjustedRadius = innerRadius + innerStart; - const innerEndAdjustedRadius = innerRadius + innerEnd; - const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius; - const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius; - ctx.beginPath(); - if (circular) { - // The first arc segments from point 1 to point a to point 2 - const outerMidAdjustedAngle = (outerStartAdjustedAngle + outerEndAdjustedAngle) / 2; - ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerMidAdjustedAngle); - ctx.arc(x, y, outerRadius, outerMidAdjustedAngle, outerEndAdjustedAngle); - // The corner segment from point 2 to point 3 - if (outerEnd > 0) { - const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y); - ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI); - } - // The line from point 3 to point 4 - const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y); - ctx.lineTo(p4.x, p4.y); - // The corner segment from point 4 to point 5 - if (innerEnd > 0) { - const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y); - ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI); - } - // The inner arc from point 5 to point b to point 6 - const innerMidAdjustedAngle = (endAngle - innerEnd / innerRadius + (startAngle + innerStart / innerRadius)) / 2; - ctx.arc(x, y, innerRadius, endAngle - innerEnd / innerRadius, innerMidAdjustedAngle, true); - ctx.arc(x, y, innerRadius, innerMidAdjustedAngle, startAngle + innerStart / innerRadius, true); - // The corner segment from point 6 to point 7 - if (innerStart > 0) { - const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y); - ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI); - } - // The line from point 7 to point 8 - const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y); - ctx.lineTo(p8.x, p8.y); - // The corner segment from point 8 to point 1 - if (outerStart > 0) { - const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y); - ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle); - } - } else { - ctx.moveTo(x, y); - const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x; - const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y; - ctx.lineTo(outerStartX, outerStartY); - const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x; - const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y; - ctx.lineTo(outerEndX, outerEndY); - } - ctx.closePath(); -} -function drawArc(ctx, element, offset, spacing, circular) { - const { fullCircles , startAngle , circumference } = element; - let endAngle = element.endAngle; - if (fullCircles) { - pathArc(ctx, element, offset, spacing, endAngle, circular); - for(let i = 0; i < fullCircles; ++i){ - ctx.fill(); - } - if (!isNaN(circumference)) { - endAngle = startAngle + (circumference % TAU || TAU); - } - } - pathArc(ctx, element, offset, spacing, endAngle, circular); - ctx.fill(); - return endAngle; -} -function drawBorder(ctx, element, offset, spacing, circular) { - const { fullCircles , startAngle , circumference , options } = element; - const { borderWidth , borderJoinStyle , borderDash , borderDashOffset , borderRadius } = options; - const inner = options.borderAlign === 'inner'; - if (!borderWidth) { - return; - } - ctx.setLineDash(borderDash || []); - ctx.lineDashOffset = borderDashOffset; - if (inner) { - ctx.lineWidth = borderWidth * 2; - ctx.lineJoin = borderJoinStyle || 'round'; - } else { - ctx.lineWidth = borderWidth; - ctx.lineJoin = borderJoinStyle || 'bevel'; - } - let endAngle = element.endAngle; - if (fullCircles) { - pathArc(ctx, element, offset, spacing, endAngle, circular); - for(let i = 0; i < fullCircles; ++i){ - ctx.stroke(); - } - if (!isNaN(circumference)) { - endAngle = startAngle + (circumference % TAU || TAU); - } - } - if (inner) { - clipArc(ctx, element, endAngle); - } - if (options.selfJoin && endAngle - startAngle >= PI && borderRadius === 0 && borderJoinStyle !== 'miter') { - clipSelf(ctx, element, endAngle); - } - if (!fullCircles) { - pathArc(ctx, element, offset, spacing, endAngle, circular); - ctx.stroke(); - } -} -class ArcElement extends Element { - static id = 'arc'; - static defaults = { - borderAlign: 'center', - borderColor: '#fff', - borderDash: [], - borderDashOffset: 0, - borderJoinStyle: undefined, - borderRadius: 0, - borderWidth: 2, - offset: 0, - spacing: 0, - angle: undefined, - circular: true, - selfJoin: false - }; - static defaultRoutes = { - backgroundColor: 'backgroundColor' - }; - static descriptors = { - _scriptable: true, - _indexable: (name)=>name !== 'borderDash' - }; - circumference; - endAngle; - fullCircles; - innerRadius; - outerRadius; - pixelMargin; - startAngle; - constructor(cfg){ - super(); - this.options = undefined; - this.circumference = undefined; - this.startAngle = undefined; - this.endAngle = undefined; - this.innerRadius = undefined; - this.outerRadius = undefined; - this.pixelMargin = 0; - this.fullCircles = 0; - if (cfg) { - Object.assign(this, cfg); - } - } - inRange(chartX, chartY, useFinalPosition) { - const point = this.getProps([ - 'x', - 'y' - ], useFinalPosition); - const { angle , distance } = getAngleFromPoint(point, { - x: chartX, - y: chartY - }); - const { startAngle , endAngle , innerRadius , outerRadius , circumference } = this.getProps([ - 'startAngle', - 'endAngle', - 'innerRadius', - 'outerRadius', - 'circumference' - ], useFinalPosition); - const rAdjust = (this.options.spacing + this.options.borderWidth) / 2; - const _circumference = valueOrDefault(circumference, endAngle - startAngle); - const nonZeroBetween = _angleBetween(angle, startAngle, endAngle) && startAngle !== endAngle; - const betweenAngles = _circumference >= TAU || nonZeroBetween; - const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust); - return betweenAngles && withinRadius; - } - getCenterPoint(useFinalPosition) { - const { x , y , startAngle , endAngle , innerRadius , outerRadius } = this.getProps([ - 'x', - 'y', - 'startAngle', - 'endAngle', - 'innerRadius', - 'outerRadius' - ], useFinalPosition); - const { offset , spacing } = this.options; - const halfAngle = (startAngle + endAngle) / 2; - const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2; - return { - x: x + Math.cos(halfAngle) * halfRadius, - y: y + Math.sin(halfAngle) * halfRadius - }; - } - tooltipPosition(useFinalPosition) { - return this.getCenterPoint(useFinalPosition); - } - draw(ctx) { - const { options , circumference } = this; - const offset = (options.offset || 0) / 4; - const spacing = (options.spacing || 0) / 2; - const circular = options.circular; - this.pixelMargin = options.borderAlign === 'inner' ? 0.33 : 0; - this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0; - if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) { - return; - } - ctx.save(); - const halfAngle = (this.startAngle + this.endAngle) / 2; - ctx.translate(Math.cos(halfAngle) * offset, Math.sin(halfAngle) * offset); - const fix = 1 - Math.sin(Math.min(PI, circumference || 0)); - const radiusOffset = offset * fix; - ctx.fillStyle = options.backgroundColor; - ctx.strokeStyle = options.borderColor; - drawArc(ctx, this, radiusOffset, spacing, circular); - drawBorder(ctx, this, radiusOffset, spacing, circular); - ctx.restore(); - } -} - -function setStyle(ctx, options, style = options) { - ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle); - ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash)); - ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset); - ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle); - ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth); - ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor); -} -function lineTo(ctx, previous, target) { - ctx.lineTo(target.x, target.y); -} - function getLineMethod(options) { - if (options.stepped) { - return _steppedLineTo; - } - if (options.tension || options.cubicInterpolationMode === 'monotone') { - return _bezierCurveTo; - } - return lineTo; -} -function pathVars(points, segment, params = {}) { - const count = points.length; - const { start: paramsStart = 0 , end: paramsEnd = count - 1 } = params; - const { start: segmentStart , end: segmentEnd } = segment; - const start = Math.max(paramsStart, segmentStart); - const end = Math.min(paramsEnd, segmentEnd); - const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd; - return { - count, - start, - loop: segment.loop, - ilen: end < start && !outside ? count + end - start : end - start - }; -} - function pathSegment(ctx, line, segment, params) { - const { points , options } = line; - const { count , start , loop , ilen } = pathVars(points, segment, params); - const lineMethod = getLineMethod(options); - let { move =true , reverse } = params || {}; - let i, point, prev; - for(i = 0; i <= ilen; ++i){ - point = points[(start + (reverse ? ilen - i : i)) % count]; - if (point.skip) { - continue; - } else if (move) { - ctx.moveTo(point.x, point.y); - move = false; - } else { - lineMethod(ctx, prev, point, reverse, options.stepped); - } - prev = point; - } - if (loop) { - point = points[(start + (reverse ? ilen : 0)) % count]; - lineMethod(ctx, prev, point, reverse, options.stepped); - } - return !!loop; -} - function fastPathSegment(ctx, line, segment, params) { - const points = line.points; - const { count , start , ilen } = pathVars(points, segment, params); - const { move =true , reverse } = params || {}; - let avgX = 0; - let countX = 0; - let i, point, prevX, minY, maxY, lastY; - const pointIndex = (index)=>(start + (reverse ? ilen - index : index)) % count; - const drawX = ()=>{ - if (minY !== maxY) { - ctx.lineTo(avgX, maxY); - ctx.lineTo(avgX, minY); - ctx.lineTo(avgX, lastY); - } - }; - if (move) { - point = points[pointIndex(0)]; - ctx.moveTo(point.x, point.y); - } - for(i = 0; i <= ilen; ++i){ - point = points[pointIndex(i)]; - if (point.skip) { - continue; - } - const x = point.x; - const y = point.y; - const truncX = x | 0; - if (truncX === prevX) { - if (y < minY) { - minY = y; - } else if (y > maxY) { - maxY = y; - } - avgX = (countX * avgX + x) / ++countX; - } else { - drawX(); - ctx.lineTo(x, y); - prevX = truncX; - countX = 0; - minY = maxY = y; - } - lastY = y; - } - drawX(); -} - function _getSegmentMethod(line) { - const opts = line.options; - const borderDash = opts.borderDash && opts.borderDash.length; - const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash; - return useFastPath ? fastPathSegment : pathSegment; -} - function _getInterpolationMethod(options) { - if (options.stepped) { - return _steppedInterpolation; - } - if (options.tension || options.cubicInterpolationMode === 'monotone') { - return _bezierInterpolation; - } - return _pointInLine; -} -function strokePathWithCache(ctx, line, start, count) { - let path = line._path; - if (!path) { - path = line._path = new Path2D(); - if (line.path(path, start, count)) { - path.closePath(); - } - } - setStyle(ctx, line.options); - ctx.stroke(path); -} -function strokePathDirect(ctx, line, start, count) { - const { segments , options } = line; - const segmentMethod = _getSegmentMethod(line); - for (const segment of segments){ - setStyle(ctx, options, segment.style); - ctx.beginPath(); - if (segmentMethod(ctx, line, segment, { - start, - end: start + count - 1 - })) { - ctx.closePath(); - } - ctx.stroke(); - } -} -const usePath2D = typeof Path2D === 'function'; -function draw(ctx, line, start, count) { - if (usePath2D && !line.options.segment) { - strokePathWithCache(ctx, line, start, count); - } else { - strokePathDirect(ctx, line, start, count); - } -} -class LineElement extends Element { - static id = 'line'; - static defaults = { - borderCapStyle: 'butt', - borderDash: [], - borderDashOffset: 0, - borderJoinStyle: 'miter', - borderWidth: 3, - capBezierPoints: true, - cubicInterpolationMode: 'default', - fill: false, - spanGaps: false, - stepped: false, - tension: 0 - }; - static defaultRoutes = { - backgroundColor: 'backgroundColor', - borderColor: 'borderColor' - }; - static descriptors = { - _scriptable: true, - _indexable: (name)=>name !== 'borderDash' && name !== 'fill' - }; - constructor(cfg){ - super(); - this.animated = true; - this.options = undefined; - this._chart = undefined; - this._loop = undefined; - this._fullLoop = undefined; - this._path = undefined; - this._points = undefined; - this._segments = undefined; - this._decimated = false; - this._pointsUpdated = false; - this._datasetIndex = undefined; - if (cfg) { - Object.assign(this, cfg); - } - } - updateControlPoints(chartArea, indexAxis) { - const options = this.options; - if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) { - const loop = options.spanGaps ? this._loop : this._fullLoop; - _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis); - this._pointsUpdated = true; - } - } - set points(points) { - this._points = points; - delete this._segments; - delete this._path; - this._pointsUpdated = false; - } - get points() { - return this._points; - } - get segments() { - return this._segments || (this._segments = _computeSegments(this, this.options.segment)); - } - first() { - const segments = this.segments; - const points = this.points; - return segments.length && points[segments[0].start]; - } - last() { - const segments = this.segments; - const points = this.points; - const count = segments.length; - return count && points[segments[count - 1].end]; - } - interpolate(point, property) { - const options = this.options; - const value = point[property]; - const points = this.points; - const segments = _boundSegments(this, { - property, - start: value, - end: value - }); - if (!segments.length) { - return; - } - const result = []; - const _interpolate = _getInterpolationMethod(options); - let i, ilen; - for(i = 0, ilen = segments.length; i < ilen; ++i){ - const { start , end } = segments[i]; - const p1 = points[start]; - const p2 = points[end]; - if (p1 === p2) { - result.push(p1); - continue; - } - const t = Math.abs((value - p1[property]) / (p2[property] - p1[property])); - const interpolated = _interpolate(p1, p2, t, options.stepped); - interpolated[property] = point[property]; - result.push(interpolated); - } - return result.length === 1 ? result[0] : result; - } - pathSegment(ctx, segment, params) { - const segmentMethod = _getSegmentMethod(this); - return segmentMethod(ctx, this, segment, params); - } - path(ctx, start, count) { - const segments = this.segments; - const segmentMethod = _getSegmentMethod(this); - let loop = this._loop; - start = start || 0; - count = count || this.points.length - start; - for (const segment of segments){ - loop &= segmentMethod(ctx, this, segment, { - start, - end: start + count - 1 - }); - } - return !!loop; - } - draw(ctx, chartArea, start, count) { - const options = this.options || {}; - const points = this.points || []; - if (points.length && options.borderWidth) { - ctx.save(); - draw(ctx, this, start, count); - ctx.restore(); - } - if (this.animated) { - this._pointsUpdated = false; - this._path = undefined; - } - } -} - -function inRange$1(el, pos, axis, useFinalPosition) { - const options = el.options; - const { [axis]: value } = el.getProps([ - axis - ], useFinalPosition); - return Math.abs(pos - value) < options.radius + options.hitRadius; -} -class PointElement extends Element { - static id = 'point'; - parsed; - skip; - stop; - /** - * @type {any} - */ static defaults = { - borderWidth: 1, - hitRadius: 1, - hoverBorderWidth: 1, - hoverRadius: 4, - pointStyle: 'circle', - radius: 3, - rotation: 0 - }; - /** - * @type {any} - */ static defaultRoutes = { - backgroundColor: 'backgroundColor', - borderColor: 'borderColor' - }; - constructor(cfg){ - super(); - this.options = undefined; - this.parsed = undefined; - this.skip = undefined; - this.stop = undefined; - if (cfg) { - Object.assign(this, cfg); - } - } - inRange(mouseX, mouseY, useFinalPosition) { - const options = this.options; - const { x , y } = this.getProps([ - 'x', - 'y' - ], useFinalPosition); - return Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2) < Math.pow(options.hitRadius + options.radius, 2); - } - inXRange(mouseX, useFinalPosition) { - return inRange$1(this, mouseX, 'x', useFinalPosition); - } - inYRange(mouseY, useFinalPosition) { - return inRange$1(this, mouseY, 'y', useFinalPosition); - } - getCenterPoint(useFinalPosition) { - const { x , y } = this.getProps([ - 'x', - 'y' - ], useFinalPosition); - return { - x, - y - }; - } - size(options) { - options = options || this.options || {}; - let radius = options.radius || 0; - radius = Math.max(radius, radius && options.hoverRadius || 0); - const borderWidth = radius && options.borderWidth || 0; - return (radius + borderWidth) * 2; - } - draw(ctx, area) { - const options = this.options; - if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) { - return; - } - ctx.strokeStyle = options.borderColor; - ctx.lineWidth = options.borderWidth; - ctx.fillStyle = options.backgroundColor; - drawPoint(ctx, options, this.x, this.y); - } - getRange() { - const options = this.options || {}; - // @ts-expect-error Fallbacks should never be hit in practice - return options.radius + options.hitRadius; - } -} - -function getBarBounds(bar, useFinalPosition) { - const { x , y , base , width , height } = bar.getProps([ - 'x', - 'y', - 'base', - 'width', - 'height' - ], useFinalPosition); - let left, right, top, bottom, half; - if (bar.horizontal) { - half = height / 2; - left = Math.min(x, base); - right = Math.max(x, base); - top = y - half; - bottom = y + half; - } else { - half = width / 2; - left = x - half; - right = x + half; - top = Math.min(y, base); - bottom = Math.max(y, base); - } - return { - left, - top, - right, - bottom - }; -} -function skipOrLimit(skip, value, min, max) { - return skip ? 0 : _limitValue(value, min, max); -} -function parseBorderWidth(bar, maxW, maxH) { - const value = bar.options.borderWidth; - const skip = bar.borderSkipped; - const o = toTRBL(value); - return { - t: skipOrLimit(skip.top, o.top, 0, maxH), - r: skipOrLimit(skip.right, o.right, 0, maxW), - b: skipOrLimit(skip.bottom, o.bottom, 0, maxH), - l: skipOrLimit(skip.left, o.left, 0, maxW) - }; -} -function parseBorderRadius(bar, maxW, maxH) { - const { enableBorderRadius } = bar.getProps([ - 'enableBorderRadius' - ]); - const value = bar.options.borderRadius; - const o = toTRBLCorners(value); - const maxR = Math.min(maxW, maxH); - const skip = bar.borderSkipped; - const enableBorder = enableBorderRadius || isObject(value); - return { - topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR), - topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR), - bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR), - bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR) - }; -} -function boundingRects(bar) { - const bounds = getBarBounds(bar); - const width = bounds.right - bounds.left; - const height = bounds.bottom - bounds.top; - const border = parseBorderWidth(bar, width / 2, height / 2); - const radius = parseBorderRadius(bar, width / 2, height / 2); - return { - outer: { - x: bounds.left, - y: bounds.top, - w: width, - h: height, - radius - }, - inner: { - x: bounds.left + border.l, - y: bounds.top + border.t, - w: width - border.l - border.r, - h: height - border.t - border.b, - radius: { - topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)), - topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)), - bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)), - bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)) - } - } - }; -} -function inRange(bar, x, y, useFinalPosition) { - const skipX = x === null; - const skipY = y === null; - const skipBoth = skipX && skipY; - const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition); - return bounds && (skipX || _isBetween(x, bounds.left, bounds.right)) && (skipY || _isBetween(y, bounds.top, bounds.bottom)); -} -function hasRadius(radius) { - return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight; -} - function addNormalRectPath(ctx, rect) { - ctx.rect(rect.x, rect.y, rect.w, rect.h); -} -function inflateRect(rect, amount, refRect = {}) { - const x = rect.x !== refRect.x ? -amount : 0; - const y = rect.y !== refRect.y ? -amount : 0; - const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x; - const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y; - return { - x: rect.x + x, - y: rect.y + y, - w: rect.w + w, - h: rect.h + h, - radius: rect.radius - }; -} -class BarElement extends Element { - static id = 'bar'; - static defaults = { - borderSkipped: 'start', - borderWidth: 0, - borderRadius: 0, - inflateAmount: 'auto', - pointStyle: undefined - }; - static defaultRoutes = { - backgroundColor: 'backgroundColor', - borderColor: 'borderColor' - }; - constructor(cfg){ - super(); - this.options = undefined; - this.horizontal = undefined; - this.base = undefined; - this.width = undefined; - this.height = undefined; - this.inflateAmount = undefined; - if (cfg) { - Object.assign(this, cfg); - } - } - draw(ctx) { - const { inflateAmount , options: { borderColor , backgroundColor } } = this; - const { inner , outer } = boundingRects(this); - const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath; - ctx.save(); - if (outer.w !== inner.w || outer.h !== inner.h) { - ctx.beginPath(); - addRectPath(ctx, inflateRect(outer, inflateAmount, inner)); - ctx.clip(); - addRectPath(ctx, inflateRect(inner, -inflateAmount, outer)); - ctx.fillStyle = borderColor; - ctx.fill('evenodd'); - } - ctx.beginPath(); - addRectPath(ctx, inflateRect(inner, inflateAmount)); - ctx.fillStyle = backgroundColor; - ctx.fill(); - ctx.restore(); - } - inRange(mouseX, mouseY, useFinalPosition) { - return inRange(this, mouseX, mouseY, useFinalPosition); - } - inXRange(mouseX, useFinalPosition) { - return inRange(this, mouseX, null, useFinalPosition); - } - inYRange(mouseY, useFinalPosition) { - return inRange(this, null, mouseY, useFinalPosition); - } - getCenterPoint(useFinalPosition) { - const { x , y , base , horizontal } = this.getProps([ - 'x', - 'y', - 'base', - 'horizontal' - ], useFinalPosition); - return { - x: horizontal ? (x + base) / 2 : x, - y: horizontal ? y : (y + base) / 2 - }; - } - getRange(axis) { - return axis === 'x' ? this.width / 2 : this.height / 2; - } -} - -var chart_elements = /*#__PURE__*/Object.freeze({ -__proto__: null, -ArcElement: ArcElement, -BarElement: BarElement, -LineElement: LineElement, -PointElement: PointElement -}); - -const BORDER_COLORS = [ - 'rgb(54, 162, 235)', - 'rgb(255, 99, 132)', - 'rgb(255, 159, 64)', - 'rgb(255, 205, 86)', - 'rgb(75, 192, 192)', - 'rgb(153, 102, 255)', - 'rgb(201, 203, 207)' // grey -]; -// Border colors with 50% transparency -const BACKGROUND_COLORS = /* #__PURE__ */ BORDER_COLORS.map((color)=>color.replace('rgb(', 'rgba(').replace(')', ', 0.5)')); -function getBorderColor(i) { - return BORDER_COLORS[i % BORDER_COLORS.length]; -} -function getBackgroundColor(i) { - return BACKGROUND_COLORS[i % BACKGROUND_COLORS.length]; -} -function colorizeDefaultDataset(dataset, i) { - dataset.borderColor = getBorderColor(i); - dataset.backgroundColor = getBackgroundColor(i); - return ++i; -} -function colorizeDoughnutDataset(dataset, i) { - dataset.backgroundColor = dataset.data.map(()=>getBorderColor(i++)); - return i; -} -function colorizePolarAreaDataset(dataset, i) { - dataset.backgroundColor = dataset.data.map(()=>getBackgroundColor(i++)); - return i; -} -function getColorizer(chart) { - let i = 0; - return (dataset, datasetIndex)=>{ - const controller = chart.getDatasetMeta(datasetIndex).controller; - if (controller instanceof DoughnutController) { - i = colorizeDoughnutDataset(dataset, i); - } else if (controller instanceof PolarAreaController) { - i = colorizePolarAreaDataset(dataset, i); - } else if (controller) { - i = colorizeDefaultDataset(dataset, i); - } - }; -} -function containsColorsDefinitions(descriptors) { - let k; - for(k in descriptors){ - if (descriptors[k].borderColor || descriptors[k].backgroundColor) { - return true; - } - } - return false; -} -function containsColorsDefinition(descriptor) { - return descriptor && (descriptor.borderColor || descriptor.backgroundColor); -} -function containsDefaultColorsDefenitions() { - return defaults.borderColor !== 'rgba(0,0,0,0.1)' || defaults.backgroundColor !== 'rgba(0,0,0,0.1)'; -} -var plugin_colors = { - id: 'colors', - defaults: { - enabled: true, - forceOverride: false - }, - beforeLayout (chart, _args, options) { - if (!options.enabled) { - return; - } - const { data: { datasets } , options: chartOptions } = chart.config; - const { elements } = chartOptions; - const containsColorDefenition = containsColorsDefinitions(datasets) || containsColorsDefinition(chartOptions) || elements && containsColorsDefinitions(elements) || containsDefaultColorsDefenitions(); - if (!options.forceOverride && containsColorDefenition) { - return; - } - const colorizer = getColorizer(chart); - datasets.forEach(colorizer); - } -}; - -function lttbDecimation(data, start, count, availableWidth, options) { - const samples = options.samples || availableWidth; - if (samples >= count) { - return data.slice(start, start + count); - } - const decimated = []; - const bucketWidth = (count - 2) / (samples - 2); - let sampledIndex = 0; - const endIndex = start + count - 1; - let a = start; - let i, maxAreaPoint, maxArea, area, nextA; - decimated[sampledIndex++] = data[a]; - for(i = 0; i < samples - 2; i++){ - let avgX = 0; - let avgY = 0; - let j; - const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start; - const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start; - const avgRangeLength = avgRangeEnd - avgRangeStart; - for(j = avgRangeStart; j < avgRangeEnd; j++){ - avgX += data[j].x; - avgY += data[j].y; - } - avgX /= avgRangeLength; - avgY /= avgRangeLength; - const rangeOffs = Math.floor(i * bucketWidth) + 1 + start; - const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start; - const { x: pointAx , y: pointAy } = data[a]; - maxArea = area = -1; - for(j = rangeOffs; j < rangeTo; j++){ - area = 0.5 * Math.abs((pointAx - avgX) * (data[j].y - pointAy) - (pointAx - data[j].x) * (avgY - pointAy)); - if (area > maxArea) { - maxArea = area; - maxAreaPoint = data[j]; - nextA = j; - } - } - decimated[sampledIndex++] = maxAreaPoint; - a = nextA; - } - decimated[sampledIndex++] = data[endIndex]; - return decimated; -} -function minMaxDecimation(data, start, count, availableWidth) { - let avgX = 0; - let countX = 0; - let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY; - const decimated = []; - const endIndex = start + count - 1; - const xMin = data[start].x; - const xMax = data[endIndex].x; - const dx = xMax - xMin; - for(i = start; i < start + count; ++i){ - point = data[i]; - x = (point.x - xMin) / dx * availableWidth; - y = point.y; - const truncX = x | 0; - if (truncX === prevX) { - if (y < minY) { - minY = y; - minIndex = i; - } else if (y > maxY) { - maxY = y; - maxIndex = i; - } - avgX = (countX * avgX + point.x) / ++countX; - } else { - const lastIndex = i - 1; - if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) { - const intermediateIndex1 = Math.min(minIndex, maxIndex); - const intermediateIndex2 = Math.max(minIndex, maxIndex); - if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) { - decimated.push({ - ...data[intermediateIndex1], - x: avgX - }); - } - if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) { - decimated.push({ - ...data[intermediateIndex2], - x: avgX - }); - } - } - if (i > 0 && lastIndex !== startIndex) { - decimated.push(data[lastIndex]); - } - decimated.push(point); - prevX = truncX; - countX = 0; - minY = maxY = y; - minIndex = maxIndex = startIndex = i; - } - } - return decimated; -} -function cleanDecimatedDataset(dataset) { - if (dataset._decimated) { - const data = dataset._data; - delete dataset._decimated; - delete dataset._data; - Object.defineProperty(dataset, 'data', { - configurable: true, - enumerable: true, - writable: true, - value: data - }); - } -} -function cleanDecimatedData(chart) { - chart.data.datasets.forEach((dataset)=>{ - cleanDecimatedDataset(dataset); - }); -} -function getStartAndCountOfVisiblePointsSimplified(meta, points) { - const pointCount = points.length; - let start = 0; - let count; - const { iScale } = meta; - const { min , max , minDefined , maxDefined } = iScale.getUserBounds(); - if (minDefined) { - start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1); - } - if (maxDefined) { - count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start; - } else { - count = pointCount - start; - } - return { - start, - count - }; -} -var plugin_decimation = { - id: 'decimation', - defaults: { - algorithm: 'min-max', - enabled: false - }, - beforeElementsUpdate: (chart, args, options)=>{ - if (!options.enabled) { - cleanDecimatedData(chart); - return; - } - const availableWidth = chart.width; - chart.data.datasets.forEach((dataset, datasetIndex)=>{ - const { _data , indexAxis } = dataset; - const meta = chart.getDatasetMeta(datasetIndex); - const data = _data || dataset.data; - if (resolve([ - indexAxis, - chart.options.indexAxis - ]) === 'y') { - return; - } - if (!meta.controller.supportsDecimation) { - return; - } - const xAxis = chart.scales[meta.xAxisID]; - if (xAxis.type !== 'linear' && xAxis.type !== 'time') { - return; - } - if (chart.options.parsing) { - return; - } - let { start , count } = getStartAndCountOfVisiblePointsSimplified(meta, data); - const threshold = options.threshold || 4 * availableWidth; - if (count <= threshold) { - cleanDecimatedDataset(dataset); - return; - } - if (isNullOrUndef(_data)) { - dataset._data = data; - delete dataset.data; - Object.defineProperty(dataset, 'data', { - configurable: true, - enumerable: true, - get: function() { - return this._decimated; - }, - set: function(d) { - this._data = d; - } - }); - } - let decimated; - switch(options.algorithm){ - case 'lttb': - decimated = lttbDecimation(data, start, count, availableWidth, options); - break; - case 'min-max': - decimated = minMaxDecimation(data, start, count, availableWidth); - break; - default: - throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`); - } - dataset._decimated = decimated; - }); - }, - destroy (chart) { - cleanDecimatedData(chart); - } -}; - -function _segments(line, target, property) { - const segments = line.segments; - const points = line.points; - const tpoints = target.points; - const parts = []; - for (const segment of segments){ - let { start , end } = segment; - end = _findSegmentEnd(start, end, points); - const bounds = _getBounds(property, points[start], points[end], segment.loop); - if (!target.segments) { - parts.push({ - source: segment, - target: bounds, - start: points[start], - end: points[end] - }); - continue; - } - const targetSegments = _boundSegments(target, bounds); - for (const tgt of targetSegments){ - const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop); - const fillSources = _boundSegment(segment, points, subBounds); - for (const fillSource of fillSources){ - parts.push({ - source: fillSource, - target: tgt, - start: { - [property]: _getEdge(bounds, subBounds, 'start', Math.max) - }, - end: { - [property]: _getEdge(bounds, subBounds, 'end', Math.min) - } - }); - } - } - } - return parts; -} -function _getBounds(property, first, last, loop) { - if (loop) { - return; - } - let start = first[property]; - let end = last[property]; - if (property === 'angle') { - start = _normalizeAngle(start); - end = _normalizeAngle(end); - } - return { - property, - start, - end - }; -} -function _pointsFromSegments(boundary, line) { - const { x =null , y =null } = boundary || {}; - const linePoints = line.points; - const points = []; - line.segments.forEach(({ start , end })=>{ - end = _findSegmentEnd(start, end, linePoints); - const first = linePoints[start]; - const last = linePoints[end]; - if (y !== null) { - points.push({ - x: first.x, - y - }); - points.push({ - x: last.x, - y - }); - } else if (x !== null) { - points.push({ - x, - y: first.y - }); - points.push({ - x, - y: last.y - }); - } - }); - return points; -} -function _findSegmentEnd(start, end, points) { - for(; end > start; end--){ - const point = points[end]; - if (!isNaN(point.x) && !isNaN(point.y)) { - break; - } - } - return end; -} -function _getEdge(a, b, prop, fn) { - if (a && b) { - return fn(a[prop], b[prop]); - } - return a ? a[prop] : b ? b[prop] : 0; -} - -function _createBoundaryLine(boundary, line) { - let points = []; - let _loop = false; - if (isArray(boundary)) { - _loop = true; - points = boundary; - } else { - points = _pointsFromSegments(boundary, line); - } - return points.length ? new LineElement({ - points, - options: { - tension: 0 - }, - _loop, - _fullLoop: _loop - }) : null; -} -function _shouldApplyFill(source) { - return source && source.fill !== false; -} - -function _resolveTarget(sources, index, propagate) { - const source = sources[index]; - let fill = source.fill; - const visited = [ - index - ]; - let target; - if (!propagate) { - return fill; - } - while(fill !== false && visited.indexOf(fill) === -1){ - if (!isNumberFinite(fill)) { - return fill; - } - target = sources[fill]; - if (!target) { - return false; - } - if (target.visible) { - return fill; - } - visited.push(fill); - fill = target.fill; - } - return false; -} - function _decodeFill(line, index, count) { - const fill = parseFillOption(line); - if (isObject(fill)) { - return isNaN(fill.value) ? false : fill; - } - let target = parseFloat(fill); - if (isNumberFinite(target) && Math.floor(target) === target) { - return decodeTargetIndex(fill[0], index, target, count); - } - return [ - 'origin', - 'start', - 'end', - 'stack', - 'shape' - ].indexOf(fill) >= 0 && fill; -} -function decodeTargetIndex(firstCh, index, target, count) { - if (firstCh === '-' || firstCh === '+') { - target = index + target; - } - if (target === index || target < 0 || target >= count) { - return false; - } - return target; -} - function _getTargetPixel(fill, scale) { - let pixel = null; - if (fill === 'start') { - pixel = scale.bottom; - } else if (fill === 'end') { - pixel = scale.top; - } else if (isObject(fill)) { - pixel = scale.getPixelForValue(fill.value); - } else if (scale.getBasePixel) { - pixel = scale.getBasePixel(); - } - return pixel; -} - function _getTargetValue(fill, scale, startValue) { - let value; - if (fill === 'start') { - value = startValue; - } else if (fill === 'end') { - value = scale.options.reverse ? scale.min : scale.max; - } else if (isObject(fill)) { - value = fill.value; - } else { - value = scale.getBaseValue(); - } - return value; -} - function parseFillOption(line) { - const options = line.options; - const fillOption = options.fill; - let fill = valueOrDefault(fillOption && fillOption.target, fillOption); - if (fill === undefined) { - fill = !!options.backgroundColor; - } - if (fill === false || fill === null) { - return false; - } - if (fill === true) { - return 'origin'; - } - return fill; -} - -function _buildStackLine(source) { - const { scale , index , line } = source; - const points = []; - const segments = line.segments; - const sourcePoints = line.points; - const linesBelow = getLinesBelow(scale, index); - linesBelow.push(_createBoundaryLine({ - x: null, - y: scale.bottom - }, line)); - for(let i = 0; i < segments.length; i++){ - const segment = segments[i]; - for(let j = segment.start; j <= segment.end; j++){ - addPointsBelow(points, sourcePoints[j], linesBelow); - } - } - return new LineElement({ - points, - options: {} - }); -} - function getLinesBelow(scale, index) { - const below = []; - const metas = scale.getMatchingVisibleMetas('line'); - for(let i = 0; i < metas.length; i++){ - const meta = metas[i]; - if (meta.index === index) { - break; - } - if (!meta.hidden) { - below.unshift(meta.dataset); - } - } - return below; -} - function addPointsBelow(points, sourcePoint, linesBelow) { - const postponed = []; - for(let j = 0; j < linesBelow.length; j++){ - const line = linesBelow[j]; - const { first , last , point } = findPoint(line, sourcePoint, 'x'); - if (!point || first && last) { - continue; - } - if (first) { - postponed.unshift(point); - } else { - points.push(point); - if (!last) { - break; - } - } - } - points.push(...postponed); -} - function findPoint(line, sourcePoint, property) { - const point = line.interpolate(sourcePoint, property); - if (!point) { - return {}; - } - const pointValue = point[property]; - const segments = line.segments; - const linePoints = line.points; - let first = false; - let last = false; - for(let i = 0; i < segments.length; i++){ - const segment = segments[i]; - const firstValue = linePoints[segment.start][property]; - const lastValue = linePoints[segment.end][property]; - if (_isBetween(pointValue, firstValue, lastValue)) { - first = pointValue === firstValue; - last = pointValue === lastValue; - break; - } - } - return { - first, - last, - point - }; -} - -class simpleArc { - constructor(opts){ - this.x = opts.x; - this.y = opts.y; - this.radius = opts.radius; - } - pathSegment(ctx, bounds, opts) { - const { x , y , radius } = this; - bounds = bounds || { - start: 0, - end: TAU - }; - ctx.arc(x, y, radius, bounds.end, bounds.start, true); - return !opts.bounds; - } - interpolate(point) { - const { x , y , radius } = this; - const angle = point.angle; - return { - x: x + Math.cos(angle) * radius, - y: y + Math.sin(angle) * radius, - angle - }; - } -} - -function _getTarget(source) { - const { chart , fill , line } = source; - if (isNumberFinite(fill)) { - return getLineByIndex(chart, fill); - } - if (fill === 'stack') { - return _buildStackLine(source); - } - if (fill === 'shape') { - return true; - } - const boundary = computeBoundary(source); - if (boundary instanceof simpleArc) { - return boundary; - } - return _createBoundaryLine(boundary, line); -} - function getLineByIndex(chart, index) { - const meta = chart.getDatasetMeta(index); - const visible = meta && chart.isDatasetVisible(index); - return visible ? meta.dataset : null; -} -function computeBoundary(source) { - const scale = source.scale || {}; - if (scale.getPointPositionForValue) { - return computeCircularBoundary(source); - } - return computeLinearBoundary(source); -} -function computeLinearBoundary(source) { - const { scale ={} , fill } = source; - const pixel = _getTargetPixel(fill, scale); - if (isNumberFinite(pixel)) { - const horizontal = scale.isHorizontal(); - return { - x: horizontal ? pixel : null, - y: horizontal ? null : pixel - }; - } - return null; -} -function computeCircularBoundary(source) { - const { scale , fill } = source; - const options = scale.options; - const length = scale.getLabels().length; - const start = options.reverse ? scale.max : scale.min; - const value = _getTargetValue(fill, scale, start); - const target = []; - if (options.grid.circular) { - const center = scale.getPointPositionForValue(0, start); - return new simpleArc({ - x: center.x, - y: center.y, - radius: scale.getDistanceFromCenterForValue(value) - }); - } - for(let i = 0; i < length; ++i){ - target.push(scale.getPointPositionForValue(i, value)); - } - return target; -} - -function _drawfill(ctx, source, area) { - const target = _getTarget(source); - const { chart , index , line , scale , axis } = source; - const lineOpts = line.options; - const fillOption = lineOpts.fill; - const color = lineOpts.backgroundColor; - const { above =color , below =color } = fillOption || {}; - const meta = chart.getDatasetMeta(index); - const clip = getDatasetClipArea(chart, meta); - if (target && line.points.length) { - clipArea(ctx, area); - doFill(ctx, { - line, - target, - above, - below, - area, - scale, - axis, - clip - }); - unclipArea(ctx); - } -} -function doFill(ctx, cfg) { - const { line , target , above , below , area , scale , clip } = cfg; - const property = line._loop ? 'angle' : cfg.axis; - ctx.save(); - let fillColor = below; - if (below !== above) { - if (property === 'x') { - clipVertical(ctx, target, area.top); - fill(ctx, { - line, - target, - color: above, - scale, - property, - clip - }); - ctx.restore(); - ctx.save(); - clipVertical(ctx, target, area.bottom); - } else if (property === 'y') { - clipHorizontal(ctx, target, area.left); - fill(ctx, { - line, - target, - color: below, - scale, - property, - clip - }); - ctx.restore(); - ctx.save(); - clipHorizontal(ctx, target, area.right); - fillColor = above; - } - } - fill(ctx, { - line, - target, - color: fillColor, - scale, - property, - clip - }); - ctx.restore(); -} -function clipVertical(ctx, target, clipY) { - const { segments , points } = target; - let first = true; - let lineLoop = false; - ctx.beginPath(); - for (const segment of segments){ - const { start , end } = segment; - const firstPoint = points[start]; - const lastPoint = points[_findSegmentEnd(start, end, points)]; - if (first) { - ctx.moveTo(firstPoint.x, firstPoint.y); - first = false; - } else { - ctx.lineTo(firstPoint.x, clipY); - ctx.lineTo(firstPoint.x, firstPoint.y); - } - lineLoop = !!target.pathSegment(ctx, segment, { - move: lineLoop - }); - if (lineLoop) { - ctx.closePath(); - } else { - ctx.lineTo(lastPoint.x, clipY); - } - } - ctx.lineTo(target.first().x, clipY); - ctx.closePath(); - ctx.clip(); -} -function clipHorizontal(ctx, target, clipX) { - const { segments , points } = target; - let first = true; - let lineLoop = false; - ctx.beginPath(); - for (const segment of segments){ - const { start , end } = segment; - const firstPoint = points[start]; - const lastPoint = points[_findSegmentEnd(start, end, points)]; - if (first) { - ctx.moveTo(firstPoint.x, firstPoint.y); - first = false; - } else { - ctx.lineTo(clipX, firstPoint.y); - ctx.lineTo(firstPoint.x, firstPoint.y); - } - lineLoop = !!target.pathSegment(ctx, segment, { - move: lineLoop - }); - if (lineLoop) { - ctx.closePath(); - } else { - ctx.lineTo(clipX, lastPoint.y); - } - } - ctx.lineTo(clipX, target.first().y); - ctx.closePath(); - ctx.clip(); -} -function fill(ctx, cfg) { - const { line , target , property , color , scale , clip } = cfg; - const segments = _segments(line, target, property); - for (const { source: src , target: tgt , start , end } of segments){ - const { style: { backgroundColor =color } = {} } = src; - const notShape = target !== true; - ctx.save(); - ctx.fillStyle = backgroundColor; - clipBounds(ctx, scale, clip, notShape && _getBounds(property, start, end)); - ctx.beginPath(); - const lineLoop = !!line.pathSegment(ctx, src); - let loop; - if (notShape) { - if (lineLoop) { - ctx.closePath(); - } else { - interpolatedLineTo(ctx, target, end, property); - } - const targetLoop = !!target.pathSegment(ctx, tgt, { - move: lineLoop, - reverse: true - }); - loop = lineLoop && targetLoop; - if (!loop) { - interpolatedLineTo(ctx, target, start, property); - } - } - ctx.closePath(); - ctx.fill(loop ? 'evenodd' : 'nonzero'); - ctx.restore(); - } -} -function clipBounds(ctx, scale, clip, bounds) { - const chartArea = scale.chart.chartArea; - const { property , start , end } = bounds || {}; - if (property === 'x' || property === 'y') { - let left, top, right, bottom; - if (property === 'x') { - left = start; - top = chartArea.top; - right = end; - bottom = chartArea.bottom; - } else { - left = chartArea.left; - top = start; - right = chartArea.right; - bottom = end; - } - ctx.beginPath(); - if (clip) { - left = Math.max(left, clip.left); - right = Math.min(right, clip.right); - top = Math.max(top, clip.top); - bottom = Math.min(bottom, clip.bottom); - } - ctx.rect(left, top, right - left, bottom - top); - ctx.clip(); - } -} -function interpolatedLineTo(ctx, target, point, property) { - const interpolatedPoint = target.interpolate(point, property); - if (interpolatedPoint) { - ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y); - } -} - -var index = { - id: 'filler', - afterDatasetsUpdate (chart, _args, options) { - const count = (chart.data.datasets || []).length; - const sources = []; - let meta, i, line, source; - for(i = 0; i < count; ++i){ - meta = chart.getDatasetMeta(i); - line = meta.dataset; - source = null; - if (line && line.options && line instanceof LineElement) { - source = { - visible: chart.isDatasetVisible(i), - index: i, - fill: _decodeFill(line, i, count), - chart, - axis: meta.controller.options.indexAxis, - scale: meta.vScale, - line - }; - } - meta.$filler = source; - sources.push(source); - } - for(i = 0; i < count; ++i){ - source = sources[i]; - if (!source || source.fill === false) { - continue; - } - source.fill = _resolveTarget(sources, i, options.propagate); - } - }, - beforeDraw (chart, _args, options) { - const draw = options.drawTime === 'beforeDraw'; - const metasets = chart.getSortedVisibleDatasetMetas(); - const area = chart.chartArea; - for(let i = metasets.length - 1; i >= 0; --i){ - const source = metasets[i].$filler; - if (!source) { - continue; - } - source.line.updateControlPoints(area, source.axis); - if (draw && source.fill) { - _drawfill(chart.ctx, source, area); - } - } - }, - beforeDatasetsDraw (chart, _args, options) { - if (options.drawTime !== 'beforeDatasetsDraw') { - return; - } - const metasets = chart.getSortedVisibleDatasetMetas(); - for(let i = metasets.length - 1; i >= 0; --i){ - const source = metasets[i].$filler; - if (_shouldApplyFill(source)) { - _drawfill(chart.ctx, source, chart.chartArea); - } - } - }, - beforeDatasetDraw (chart, args, options) { - const source = args.meta.$filler; - if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') { - return; - } - _drawfill(chart.ctx, source, chart.chartArea); - }, - defaults: { - propagate: true, - drawTime: 'beforeDatasetDraw' - } -}; - -const getBoxSize = (labelOpts, fontSize)=>{ - let { boxHeight =fontSize , boxWidth =fontSize } = labelOpts; - if (labelOpts.usePointStyle) { - boxHeight = Math.min(boxHeight, fontSize); - boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize); - } - return { - boxWidth, - boxHeight, - itemHeight: Math.max(fontSize, boxHeight) - }; -}; -const itemsEqual = (a, b)=>a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index; -class Legend extends Element { - constructor(config){ - super(); - this._added = false; - this.legendHitBoxes = []; - this._hoveredItem = null; - this.doughnutMode = false; - this.chart = config.chart; - this.options = config.options; - this.ctx = config.ctx; - this.legendItems = undefined; - this.columnSizes = undefined; - this.lineWidths = undefined; - this.maxHeight = undefined; - this.maxWidth = undefined; - this.top = undefined; - this.bottom = undefined; - this.left = undefined; - this.right = undefined; - this.height = undefined; - this.width = undefined; - this._margins = undefined; - this.position = undefined; - this.weight = undefined; - this.fullSize = undefined; - } - update(maxWidth, maxHeight, margins) { - this.maxWidth = maxWidth; - this.maxHeight = maxHeight; - this._margins = margins; - this.setDimensions(); - this.buildLabels(); - this.fit(); - } - setDimensions() { - if (this.isHorizontal()) { - this.width = this.maxWidth; - this.left = this._margins.left; - this.right = this.width; - } else { - this.height = this.maxHeight; - this.top = this._margins.top; - this.bottom = this.height; - } - } - buildLabels() { - const labelOpts = this.options.labels || {}; - let legendItems = callback(labelOpts.generateLabels, [ - this.chart - ], this) || []; - if (labelOpts.filter) { - legendItems = legendItems.filter((item)=>labelOpts.filter(item, this.chart.data)); - } - if (labelOpts.sort) { - legendItems = legendItems.sort((a, b)=>labelOpts.sort(a, b, this.chart.data)); - } - if (this.options.reverse) { - legendItems.reverse(); - } - this.legendItems = legendItems; - } - fit() { - const { options , ctx } = this; - if (!options.display) { - this.width = this.height = 0; - return; - } - const labelOpts = options.labels; - const labelFont = toFont(labelOpts.font); - const fontSize = labelFont.size; - const titleHeight = this._computeTitleHeight(); - const { boxWidth , itemHeight } = getBoxSize(labelOpts, fontSize); - let width, height; - ctx.font = labelFont.string; - if (this.isHorizontal()) { - width = this.maxWidth; - height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10; - } else { - height = this.maxHeight; - width = this._fitCols(titleHeight, labelFont, boxWidth, itemHeight) + 10; - } - this.width = Math.min(width, options.maxWidth || this.maxWidth); - this.height = Math.min(height, options.maxHeight || this.maxHeight); - } - _fitRows(titleHeight, fontSize, boxWidth, itemHeight) { - const { ctx , maxWidth , options: { labels: { padding } } } = this; - const hitboxes = this.legendHitBoxes = []; - const lineWidths = this.lineWidths = [ - 0 - ]; - const lineHeight = itemHeight + padding; - let totalHeight = titleHeight; - ctx.textAlign = 'left'; - ctx.textBaseline = 'middle'; - let row = -1; - let top = -lineHeight; - this.legendItems.forEach((legendItem, i)=>{ - const itemWidth = boxWidth + fontSize / 2 + ctx.measureText(legendItem.text).width; - if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) { - totalHeight += lineHeight; - lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0; - top += lineHeight; - row++; - } - hitboxes[i] = { - left: 0, - top, - row, - width: itemWidth, - height: itemHeight - }; - lineWidths[lineWidths.length - 1] += itemWidth + padding; - }); - return totalHeight; - } - _fitCols(titleHeight, labelFont, boxWidth, _itemHeight) { - const { ctx , maxHeight , options: { labels: { padding } } } = this; - const hitboxes = this.legendHitBoxes = []; - const columnSizes = this.columnSizes = []; - const heightLimit = maxHeight - titleHeight; - let totalWidth = padding; - let currentColWidth = 0; - let currentColHeight = 0; - let left = 0; - let col = 0; - this.legendItems.forEach((legendItem, i)=>{ - const { itemWidth , itemHeight } = calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight); - if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) { - totalWidth += currentColWidth + padding; - columnSizes.push({ - width: currentColWidth, - height: currentColHeight - }); - left += currentColWidth + padding; - col++; - currentColWidth = currentColHeight = 0; - } - hitboxes[i] = { - left, - top: currentColHeight, - col, - width: itemWidth, - height: itemHeight - }; - currentColWidth = Math.max(currentColWidth, itemWidth); - currentColHeight += itemHeight + padding; - }); - totalWidth += currentColWidth; - columnSizes.push({ - width: currentColWidth, - height: currentColHeight - }); - return totalWidth; - } - adjustHitBoxes() { - if (!this.options.display) { - return; - } - const titleHeight = this._computeTitleHeight(); - const { legendHitBoxes: hitboxes , options: { align , labels: { padding } , rtl } } = this; - const rtlHelper = getRtlAdapter(rtl, this.left, this.width); - if (this.isHorizontal()) { - let row = 0; - let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]); - for (const hitbox of hitboxes){ - if (row !== hitbox.row) { - row = hitbox.row; - left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]); - } - hitbox.top += this.top + titleHeight + padding; - hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width); - left += hitbox.width + padding; - } - } else { - let col = 0; - let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height); - for (const hitbox of hitboxes){ - if (hitbox.col !== col) { - col = hitbox.col; - top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height); - } - hitbox.top = top; - hitbox.left += this.left + padding; - hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width); - top += hitbox.height + padding; - } - } - } - isHorizontal() { - return this.options.position === 'top' || this.options.position === 'bottom'; - } - draw() { - if (this.options.display) { - const ctx = this.ctx; - clipArea(ctx, this); - this._draw(); - unclipArea(ctx); - } - } - _draw() { - const { options: opts , columnSizes , lineWidths , ctx } = this; - const { align , labels: labelOpts } = opts; - const defaultColor = defaults.color; - const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width); - const labelFont = toFont(labelOpts.font); - const { padding } = labelOpts; - const fontSize = labelFont.size; - const halfFontSize = fontSize / 2; - let cursor; - this.drawTitle(); - ctx.textAlign = rtlHelper.textAlign('left'); - ctx.textBaseline = 'middle'; - ctx.lineWidth = 0.5; - ctx.font = labelFont.string; - const { boxWidth , boxHeight , itemHeight } = getBoxSize(labelOpts, fontSize); - const drawLegendBox = function(x, y, legendItem) { - if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) { - return; - } - ctx.save(); - const lineWidth = valueOrDefault(legendItem.lineWidth, 1); - ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor); - ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt'); - ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0); - ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter'); - ctx.lineWidth = lineWidth; - ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor); - ctx.setLineDash(valueOrDefault(legendItem.lineDash, [])); - if (labelOpts.usePointStyle) { - const drawOptions = { - radius: boxHeight * Math.SQRT2 / 2, - pointStyle: legendItem.pointStyle, - rotation: legendItem.rotation, - borderWidth: lineWidth - }; - const centerX = rtlHelper.xPlus(x, boxWidth / 2); - const centerY = y + halfFontSize; - drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth); - } else { - const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0); - const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth); - const borderRadius = toTRBLCorners(legendItem.borderRadius); - ctx.beginPath(); - if (Object.values(borderRadius).some((v)=>v !== 0)) { - addRoundedRectPath(ctx, { - x: xBoxLeft, - y: yBoxTop, - w: boxWidth, - h: boxHeight, - radius: borderRadius - }); - } else { - ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight); - } - ctx.fill(); - if (lineWidth !== 0) { - ctx.stroke(); - } - } - ctx.restore(); - }; - const fillText = function(x, y, legendItem) { - renderText(ctx, legendItem.text, x, y + itemHeight / 2, labelFont, { - strikethrough: legendItem.hidden, - textAlign: rtlHelper.textAlign(legendItem.textAlign) - }); - }; - const isHorizontal = this.isHorizontal(); - const titleHeight = this._computeTitleHeight(); - if (isHorizontal) { - cursor = { - x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]), - y: this.top + padding + titleHeight, - line: 0 - }; - } else { - cursor = { - x: this.left + padding, - y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height), - line: 0 - }; - } - overrideTextDirection(this.ctx, opts.textDirection); - const lineHeight = itemHeight + padding; - this.legendItems.forEach((legendItem, i)=>{ - ctx.strokeStyle = legendItem.fontColor; - ctx.fillStyle = legendItem.fontColor; - const textWidth = ctx.measureText(legendItem.text).width; - const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign)); - const width = boxWidth + halfFontSize + textWidth; - let x = cursor.x; - let y = cursor.y; - rtlHelper.setWidth(this.width); - if (isHorizontal) { - if (i > 0 && x + width + padding > this.right) { - y = cursor.y += lineHeight; - cursor.line++; - x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]); - } - } else if (i > 0 && y + lineHeight > this.bottom) { - x = cursor.x = x + columnSizes[cursor.line].width + padding; - cursor.line++; - y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height); - } - const realX = rtlHelper.x(x); - drawLegendBox(realX, y, legendItem); - x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl); - fillText(rtlHelper.x(x), y, legendItem); - if (isHorizontal) { - cursor.x += width + padding; - } else if (typeof legendItem.text !== 'string') { - const fontLineHeight = labelFont.lineHeight; - cursor.y += calculateLegendItemHeight(legendItem, fontLineHeight) + padding; - } else { - cursor.y += lineHeight; - } - }); - restoreTextDirection(this.ctx, opts.textDirection); - } - drawTitle() { - const opts = this.options; - const titleOpts = opts.title; - const titleFont = toFont(titleOpts.font); - const titlePadding = toPadding(titleOpts.padding); - if (!titleOpts.display) { - return; - } - const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width); - const ctx = this.ctx; - const position = titleOpts.position; - const halfFontSize = titleFont.size / 2; - const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize; - let y; - let left = this.left; - let maxWidth = this.width; - if (this.isHorizontal()) { - maxWidth = Math.max(...this.lineWidths); - y = this.top + topPaddingPlusHalfFontSize; - left = _alignStartEnd(opts.align, left, this.right - maxWidth); - } else { - const maxHeight = this.columnSizes.reduce((acc, size)=>Math.max(acc, size.height), 0); - y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight()); - } - const x = _alignStartEnd(position, left, left + maxWidth); - ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position)); - ctx.textBaseline = 'middle'; - ctx.strokeStyle = titleOpts.color; - ctx.fillStyle = titleOpts.color; - ctx.font = titleFont.string; - renderText(ctx, titleOpts.text, x, y, titleFont); - } - _computeTitleHeight() { - const titleOpts = this.options.title; - const titleFont = toFont(titleOpts.font); - const titlePadding = toPadding(titleOpts.padding); - return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0; - } - _getLegendItemAt(x, y) { - let i, hitBox, lh; - if (_isBetween(x, this.left, this.right) && _isBetween(y, this.top, this.bottom)) { - lh = this.legendHitBoxes; - for(i = 0; i < lh.length; ++i){ - hitBox = lh[i]; - if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width) && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) { - return this.legendItems[i]; - } - } - } - return null; - } - handleEvent(e) { - const opts = this.options; - if (!isListened(e.type, opts)) { - return; - } - const hoveredItem = this._getLegendItemAt(e.x, e.y); - if (e.type === 'mousemove' || e.type === 'mouseout') { - const previous = this._hoveredItem; - const sameItem = itemsEqual(previous, hoveredItem); - if (previous && !sameItem) { - callback(opts.onLeave, [ - e, - previous, - this - ], this); - } - this._hoveredItem = hoveredItem; - if (hoveredItem && !sameItem) { - callback(opts.onHover, [ - e, - hoveredItem, - this - ], this); - } - } else if (hoveredItem) { - callback(opts.onClick, [ - e, - hoveredItem, - this - ], this); - } - } -} -function calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight) { - const itemWidth = calculateItemWidth(legendItem, boxWidth, labelFont, ctx); - const itemHeight = calculateItemHeight(_itemHeight, legendItem, labelFont.lineHeight); - return { - itemWidth, - itemHeight - }; -} -function calculateItemWidth(legendItem, boxWidth, labelFont, ctx) { - let legendItemText = legendItem.text; - if (legendItemText && typeof legendItemText !== 'string') { - legendItemText = legendItemText.reduce((a, b)=>a.length > b.length ? a : b); - } - return boxWidth + labelFont.size / 2 + ctx.measureText(legendItemText).width; -} -function calculateItemHeight(_itemHeight, legendItem, fontLineHeight) { - let itemHeight = _itemHeight; - if (typeof legendItem.text !== 'string') { - itemHeight = calculateLegendItemHeight(legendItem, fontLineHeight); - } - return itemHeight; -} -function calculateLegendItemHeight(legendItem, fontLineHeight) { - const labelHeight = legendItem.text ? legendItem.text.length : 0; - return fontLineHeight * labelHeight; -} -function isListened(type, opts) { - if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) { - return true; - } - if (opts.onClick && (type === 'click' || type === 'mouseup')) { - return true; - } - return false; -} -var plugin_legend = { - id: 'legend', - _element: Legend, - start (chart, _args, options) { - const legend = chart.legend = new Legend({ - ctx: chart.ctx, - options, - chart - }); - layouts.configure(chart, legend, options); - layouts.addBox(chart, legend); - }, - stop (chart) { - layouts.removeBox(chart, chart.legend); - delete chart.legend; - }, - beforeUpdate (chart, _args, options) { - const legend = chart.legend; - layouts.configure(chart, legend, options); - legend.options = options; - }, - afterUpdate (chart) { - const legend = chart.legend; - legend.buildLabels(); - legend.adjustHitBoxes(); - }, - afterEvent (chart, args) { - if (!args.replay) { - chart.legend.handleEvent(args.event); - } - }, - defaults: { - display: true, - position: 'top', - align: 'center', - fullSize: true, - reverse: false, - weight: 1000, - onClick (e, legendItem, legend) { - const index = legendItem.datasetIndex; - const ci = legend.chart; - if (ci.isDatasetVisible(index)) { - ci.hide(index); - legendItem.hidden = true; - } else { - ci.show(index); - legendItem.hidden = false; - } - }, - onHover: null, - onLeave: null, - labels: { - color: (ctx)=>ctx.chart.options.color, - boxWidth: 40, - padding: 10, - generateLabels (chart) { - const datasets = chart.data.datasets; - const { labels: { usePointStyle , pointStyle , textAlign , color , useBorderRadius , borderRadius } } = chart.legend.options; - return chart._getSortedDatasetMetas().map((meta)=>{ - const style = meta.controller.getStyle(usePointStyle ? 0 : undefined); - const borderWidth = toPadding(style.borderWidth); - return { - text: datasets[meta.index].label, - fillStyle: style.backgroundColor, - fontColor: color, - hidden: !meta.visible, - lineCap: style.borderCapStyle, - lineDash: style.borderDash, - lineDashOffset: style.borderDashOffset, - lineJoin: style.borderJoinStyle, - lineWidth: (borderWidth.width + borderWidth.height) / 4, - strokeStyle: style.borderColor, - pointStyle: pointStyle || style.pointStyle, - rotation: style.rotation, - textAlign: textAlign || style.textAlign, - borderRadius: useBorderRadius && (borderRadius || style.borderRadius), - datasetIndex: meta.index - }; - }, this); - } - }, - title: { - color: (ctx)=>ctx.chart.options.color, - display: false, - position: 'center', - text: '' - } - }, - descriptors: { - _scriptable: (name)=>!name.startsWith('on'), - labels: { - _scriptable: (name)=>![ - 'generateLabels', - 'filter', - 'sort' - ].includes(name) - } - } -}; - -class Title extends Element { - constructor(config){ - super(); - this.chart = config.chart; - this.options = config.options; - this.ctx = config.ctx; - this._padding = undefined; - this.top = undefined; - this.bottom = undefined; - this.left = undefined; - this.right = undefined; - this.width = undefined; - this.height = undefined; - this.position = undefined; - this.weight = undefined; - this.fullSize = undefined; - } - update(maxWidth, maxHeight) { - const opts = this.options; - this.left = 0; - this.top = 0; - if (!opts.display) { - this.width = this.height = this.right = this.bottom = 0; - return; - } - this.width = this.right = maxWidth; - this.height = this.bottom = maxHeight; - const lineCount = isArray(opts.text) ? opts.text.length : 1; - this._padding = toPadding(opts.padding); - const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height; - if (this.isHorizontal()) { - this.height = textSize; - } else { - this.width = textSize; - } - } - isHorizontal() { - const pos = this.options.position; - return pos === 'top' || pos === 'bottom'; - } - _drawArgs(offset) { - const { top , left , bottom , right , options } = this; - const align = options.align; - let rotation = 0; - let maxWidth, titleX, titleY; - if (this.isHorizontal()) { - titleX = _alignStartEnd(align, left, right); - titleY = top + offset; - maxWidth = right - left; - } else { - if (options.position === 'left') { - titleX = left + offset; - titleY = _alignStartEnd(align, bottom, top); - rotation = PI * -0.5; - } else { - titleX = right - offset; - titleY = _alignStartEnd(align, top, bottom); - rotation = PI * 0.5; - } - maxWidth = bottom - top; - } - return { - titleX, - titleY, - maxWidth, - rotation - }; - } - draw() { - const ctx = this.ctx; - const opts = this.options; - if (!opts.display) { - return; - } - const fontOpts = toFont(opts.font); - const lineHeight = fontOpts.lineHeight; - const offset = lineHeight / 2 + this._padding.top; - const { titleX , titleY , maxWidth , rotation } = this._drawArgs(offset); - renderText(ctx, opts.text, 0, 0, fontOpts, { - color: opts.color, - maxWidth, - rotation, - textAlign: _toLeftRightCenter(opts.align), - textBaseline: 'middle', - translation: [ - titleX, - titleY - ] - }); - } -} -function createTitle(chart, titleOpts) { - const title = new Title({ - ctx: chart.ctx, - options: titleOpts, - chart - }); - layouts.configure(chart, title, titleOpts); - layouts.addBox(chart, title); - chart.titleBlock = title; -} -var plugin_title = { - id: 'title', - _element: Title, - start (chart, _args, options) { - createTitle(chart, options); - }, - stop (chart) { - const titleBlock = chart.titleBlock; - layouts.removeBox(chart, titleBlock); - delete chart.titleBlock; - }, - beforeUpdate (chart, _args, options) { - const title = chart.titleBlock; - layouts.configure(chart, title, options); - title.options = options; - }, - defaults: { - align: 'center', - display: false, - font: { - weight: 'bold' - }, - fullSize: true, - padding: 10, - position: 'top', - text: '', - weight: 2000 - }, - defaultRoutes: { - color: 'color' - }, - descriptors: { - _scriptable: true, - _indexable: false - } -}; - -const map = new WeakMap(); -var plugin_subtitle = { - id: 'subtitle', - start (chart, _args, options) { - const title = new Title({ - ctx: chart.ctx, - options, - chart - }); - layouts.configure(chart, title, options); - layouts.addBox(chart, title); - map.set(chart, title); - }, - stop (chart) { - layouts.removeBox(chart, map.get(chart)); - map.delete(chart); - }, - beforeUpdate (chart, _args, options) { - const title = map.get(chart); - layouts.configure(chart, title, options); - title.options = options; - }, - defaults: { - align: 'center', - display: false, - font: { - weight: 'normal' - }, - fullSize: true, - padding: 0, - position: 'top', - text: '', - weight: 1500 - }, - defaultRoutes: { - color: 'color' - }, - descriptors: { - _scriptable: true, - _indexable: false - } -}; - -const positioners = { - average (items) { - if (!items.length) { - return false; - } - let i, len; - let xSet = new Set(); - let y = 0; - let count = 0; - for(i = 0, len = items.length; i < len; ++i){ - const el = items[i].element; - if (el && el.hasValue()) { - const pos = el.tooltipPosition(); - xSet.add(pos.x); - y += pos.y; - ++count; - } - } - if (count === 0 || xSet.size === 0) { - return false; - } - const xAverage = [ - ...xSet - ].reduce((a, b)=>a + b) / xSet.size; - return { - x: xAverage, - y: y / count - }; - }, - nearest (items, eventPosition) { - if (!items.length) { - return false; - } - let x = eventPosition.x; - let y = eventPosition.y; - let minDistance = Number.POSITIVE_INFINITY; - let i, len, nearestElement; - for(i = 0, len = items.length; i < len; ++i){ - const el = items[i].element; - if (el && el.hasValue()) { - const center = el.getCenterPoint(); - const d = distanceBetweenPoints(eventPosition, center); - if (d < minDistance) { - minDistance = d; - nearestElement = el; - } - } - } - if (nearestElement) { - const tp = nearestElement.tooltipPosition(); - x = tp.x; - y = tp.y; - } - return { - x, - y - }; - } -}; -function pushOrConcat(base, toPush) { - if (toPush) { - if (isArray(toPush)) { - Array.prototype.push.apply(base, toPush); - } else { - base.push(toPush); - } - } - return base; -} - function splitNewlines(str) { - if ((typeof str === 'string' || str instanceof String) && str.indexOf('\n') > -1) { - return str.split('\n'); - } - return str; -} - function createTooltipItem(chart, item) { - const { element , datasetIndex , index } = item; - const controller = chart.getDatasetMeta(datasetIndex).controller; - const { label , value } = controller.getLabelAndValue(index); - return { - chart, - label, - parsed: controller.getParsed(index), - raw: chart.data.datasets[datasetIndex].data[index], - formattedValue: value, - dataset: controller.getDataset(), - dataIndex: index, - datasetIndex, - element - }; -} - function getTooltipSize(tooltip, options) { - const ctx = tooltip.chart.ctx; - const { body , footer , title } = tooltip; - const { boxWidth , boxHeight } = options; - const bodyFont = toFont(options.bodyFont); - const titleFont = toFont(options.titleFont); - const footerFont = toFont(options.footerFont); - const titleLineCount = title.length; - const footerLineCount = footer.length; - const bodyLineItemCount = body.length; - const padding = toPadding(options.padding); - let height = padding.height; - let width = 0; - let combinedBodyLength = body.reduce((count, bodyItem)=>count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0); - combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length; - if (titleLineCount) { - height += titleLineCount * titleFont.lineHeight + (titleLineCount - 1) * options.titleSpacing + options.titleMarginBottom; - } - if (combinedBodyLength) { - const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight; - height += bodyLineItemCount * bodyLineHeight + (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight + (combinedBodyLength - 1) * options.bodySpacing; - } - if (footerLineCount) { - height += options.footerMarginTop + footerLineCount * footerFont.lineHeight + (footerLineCount - 1) * options.footerSpacing; - } - let widthPadding = 0; - const maxLineWidth = function(line) { - width = Math.max(width, ctx.measureText(line).width + widthPadding); - }; - ctx.save(); - ctx.font = titleFont.string; - each(tooltip.title, maxLineWidth); - ctx.font = bodyFont.string; - each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth); - widthPadding = options.displayColors ? boxWidth + 2 + options.boxPadding : 0; - each(body, (bodyItem)=>{ - each(bodyItem.before, maxLineWidth); - each(bodyItem.lines, maxLineWidth); - each(bodyItem.after, maxLineWidth); - }); - widthPadding = 0; - ctx.font = footerFont.string; - each(tooltip.footer, maxLineWidth); - ctx.restore(); - width += padding.width; - return { - width, - height - }; -} -function determineYAlign(chart, size) { - const { y , height } = size; - if (y < height / 2) { - return 'top'; - } else if (y > chart.height - height / 2) { - return 'bottom'; - } - return 'center'; -} -function doesNotFitWithAlign(xAlign, chart, options, size) { - const { x , width } = size; - const caret = options.caretSize + options.caretPadding; - if (xAlign === 'left' && x + width + caret > chart.width) { - return true; - } - if (xAlign === 'right' && x - width - caret < 0) { - return true; - } -} -function determineXAlign(chart, options, size, yAlign) { - const { x , width } = size; - const { width: chartWidth , chartArea: { left , right } } = chart; - let xAlign = 'center'; - if (yAlign === 'center') { - xAlign = x <= (left + right) / 2 ? 'left' : 'right'; - } else if (x <= width / 2) { - xAlign = 'left'; - } else if (x >= chartWidth - width / 2) { - xAlign = 'right'; - } - if (doesNotFitWithAlign(xAlign, chart, options, size)) { - xAlign = 'center'; - } - return xAlign; -} - function determineAlignment(chart, options, size) { - const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size); - return { - xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign), - yAlign - }; -} -function alignX(size, xAlign) { - let { x , width } = size; - if (xAlign === 'right') { - x -= width; - } else if (xAlign === 'center') { - x -= width / 2; - } - return x; -} -function alignY(size, yAlign, paddingAndSize) { - let { y , height } = size; - if (yAlign === 'top') { - y += paddingAndSize; - } else if (yAlign === 'bottom') { - y -= height + paddingAndSize; - } else { - y -= height / 2; - } - return y; -} - function getBackgroundPoint(options, size, alignment, chart) { - const { caretSize , caretPadding , cornerRadius } = options; - const { xAlign , yAlign } = alignment; - const paddingAndSize = caretSize + caretPadding; - const { topLeft , topRight , bottomLeft , bottomRight } = toTRBLCorners(cornerRadius); - let x = alignX(size, xAlign); - const y = alignY(size, yAlign, paddingAndSize); - if (yAlign === 'center') { - if (xAlign === 'left') { - x += paddingAndSize; - } else if (xAlign === 'right') { - x -= paddingAndSize; - } - } else if (xAlign === 'left') { - x -= Math.max(topLeft, bottomLeft) + caretSize; - } else if (xAlign === 'right') { - x += Math.max(topRight, bottomRight) + caretSize; - } - return { - x: _limitValue(x, 0, chart.width - size.width), - y: _limitValue(y, 0, chart.height - size.height) - }; -} -function getAlignedX(tooltip, align, options) { - const padding = toPadding(options.padding); - return align === 'center' ? tooltip.x + tooltip.width / 2 : align === 'right' ? tooltip.x + tooltip.width - padding.right : tooltip.x + padding.left; -} - function getBeforeAfterBodyLines(callback) { - return pushOrConcat([], splitNewlines(callback)); -} -function createTooltipContext(parent, tooltip, tooltipItems) { - return createContext(parent, { - tooltip, - tooltipItems, - type: 'tooltip' - }); -} -function overrideCallbacks(callbacks, context) { - const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks; - return override ? callbacks.override(override) : callbacks; -} -const defaultCallbacks = { - beforeTitle: noop, - title (tooltipItems) { - if (tooltipItems.length > 0) { - const item = tooltipItems[0]; - const labels = item.chart.data.labels; - const labelCount = labels ? labels.length : 0; - if (this && this.options && this.options.mode === 'dataset') { - return item.dataset.label || ''; - } else if (item.label) { - return item.label; - } else if (labelCount > 0 && item.dataIndex < labelCount) { - return labels[item.dataIndex]; - } - } - return ''; - }, - afterTitle: noop, - beforeBody: noop, - beforeLabel: noop, - label (tooltipItem) { - if (this && this.options && this.options.mode === 'dataset') { - return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue; - } - let label = tooltipItem.dataset.label || ''; - if (label) { - label += ': '; - } - const value = tooltipItem.formattedValue; - if (!isNullOrUndef(value)) { - label += value; - } - return label; - }, - labelColor (tooltipItem) { - const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex); - const options = meta.controller.getStyle(tooltipItem.dataIndex); - return { - borderColor: options.borderColor, - backgroundColor: options.backgroundColor, - borderWidth: options.borderWidth, - borderDash: options.borderDash, - borderDashOffset: options.borderDashOffset, - borderRadius: 0 - }; - }, - labelTextColor () { - return this.options.bodyColor; - }, - labelPointStyle (tooltipItem) { - const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex); - const options = meta.controller.getStyle(tooltipItem.dataIndex); - return { - pointStyle: options.pointStyle, - rotation: options.rotation - }; - }, - afterLabel: noop, - afterBody: noop, - beforeFooter: noop, - footer: noop, - afterFooter: noop -}; - function invokeCallbackWithFallback(callbacks, name, ctx, arg) { - const result = callbacks[name].call(ctx, arg); - if (typeof result === 'undefined') { - return defaultCallbacks[name].call(ctx, arg); - } - return result; -} -class Tooltip extends Element { - static positioners = positioners; - constructor(config){ - super(); - this.opacity = 0; - this._active = []; - this._eventPosition = undefined; - this._size = undefined; - this._cachedAnimations = undefined; - this._tooltipItems = []; - this.$animations = undefined; - this.$context = undefined; - this.chart = config.chart; - this.options = config.options; - this.dataPoints = undefined; - this.title = undefined; - this.beforeBody = undefined; - this.body = undefined; - this.afterBody = undefined; - this.footer = undefined; - this.xAlign = undefined; - this.yAlign = undefined; - this.x = undefined; - this.y = undefined; - this.height = undefined; - this.width = undefined; - this.caretX = undefined; - this.caretY = undefined; - this.labelColors = undefined; - this.labelPointStyles = undefined; - this.labelTextColors = undefined; - } - initialize(options) { - this.options = options; - this._cachedAnimations = undefined; - this.$context = undefined; - } - _resolveAnimations() { - const cached = this._cachedAnimations; - if (cached) { - return cached; - } - const chart = this.chart; - const options = this.options.setContext(this.getContext()); - const opts = options.enabled && chart.options.animation && options.animations; - const animations = new Animations(this.chart, opts); - if (opts._cacheable) { - this._cachedAnimations = Object.freeze(animations); - } - return animations; - } - getContext() { - return this.$context || (this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems)); - } - getTitle(context, options) { - const { callbacks } = options; - const beforeTitle = invokeCallbackWithFallback(callbacks, 'beforeTitle', this, context); - const title = invokeCallbackWithFallback(callbacks, 'title', this, context); - const afterTitle = invokeCallbackWithFallback(callbacks, 'afterTitle', this, context); - let lines = []; - lines = pushOrConcat(lines, splitNewlines(beforeTitle)); - lines = pushOrConcat(lines, splitNewlines(title)); - lines = pushOrConcat(lines, splitNewlines(afterTitle)); - return lines; - } - getBeforeBody(tooltipItems, options) { - return getBeforeAfterBodyLines(invokeCallbackWithFallback(options.callbacks, 'beforeBody', this, tooltipItems)); - } - getBody(tooltipItems, options) { - const { callbacks } = options; - const bodyItems = []; - each(tooltipItems, (context)=>{ - const bodyItem = { - before: [], - lines: [], - after: [] - }; - const scoped = overrideCallbacks(callbacks, context); - pushOrConcat(bodyItem.before, splitNewlines(invokeCallbackWithFallback(scoped, 'beforeLabel', this, context))); - pushOrConcat(bodyItem.lines, invokeCallbackWithFallback(scoped, 'label', this, context)); - pushOrConcat(bodyItem.after, splitNewlines(invokeCallbackWithFallback(scoped, 'afterLabel', this, context))); - bodyItems.push(bodyItem); - }); - return bodyItems; - } - getAfterBody(tooltipItems, options) { - return getBeforeAfterBodyLines(invokeCallbackWithFallback(options.callbacks, 'afterBody', this, tooltipItems)); - } - getFooter(tooltipItems, options) { - const { callbacks } = options; - const beforeFooter = invokeCallbackWithFallback(callbacks, 'beforeFooter', this, tooltipItems); - const footer = invokeCallbackWithFallback(callbacks, 'footer', this, tooltipItems); - const afterFooter = invokeCallbackWithFallback(callbacks, 'afterFooter', this, tooltipItems); - let lines = []; - lines = pushOrConcat(lines, splitNewlines(beforeFooter)); - lines = pushOrConcat(lines, splitNewlines(footer)); - lines = pushOrConcat(lines, splitNewlines(afterFooter)); - return lines; - } - _createItems(options) { - const active = this._active; - const data = this.chart.data; - const labelColors = []; - const labelPointStyles = []; - const labelTextColors = []; - let tooltipItems = []; - let i, len; - for(i = 0, len = active.length; i < len; ++i){ - tooltipItems.push(createTooltipItem(this.chart, active[i])); - } - if (options.filter) { - tooltipItems = tooltipItems.filter((element, index, array)=>options.filter(element, index, array, data)); - } - if (options.itemSort) { - tooltipItems = tooltipItems.sort((a, b)=>options.itemSort(a, b, data)); - } - each(tooltipItems, (context)=>{ - const scoped = overrideCallbacks(options.callbacks, context); - labelColors.push(invokeCallbackWithFallback(scoped, 'labelColor', this, context)); - labelPointStyles.push(invokeCallbackWithFallback(scoped, 'labelPointStyle', this, context)); - labelTextColors.push(invokeCallbackWithFallback(scoped, 'labelTextColor', this, context)); - }); - this.labelColors = labelColors; - this.labelPointStyles = labelPointStyles; - this.labelTextColors = labelTextColors; - this.dataPoints = tooltipItems; - return tooltipItems; - } - update(changed, replay) { - const options = this.options.setContext(this.getContext()); - const active = this._active; - let properties; - let tooltipItems = []; - if (!active.length) { - if (this.opacity !== 0) { - properties = { - opacity: 0 - }; - } - } else { - const position = positioners[options.position].call(this, active, this._eventPosition); - tooltipItems = this._createItems(options); - this.title = this.getTitle(tooltipItems, options); - this.beforeBody = this.getBeforeBody(tooltipItems, options); - this.body = this.getBody(tooltipItems, options); - this.afterBody = this.getAfterBody(tooltipItems, options); - this.footer = this.getFooter(tooltipItems, options); - const size = this._size = getTooltipSize(this, options); - const positionAndSize = Object.assign({}, position, size); - const alignment = determineAlignment(this.chart, options, positionAndSize); - const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart); - this.xAlign = alignment.xAlign; - this.yAlign = alignment.yAlign; - properties = { - opacity: 1, - x: backgroundPoint.x, - y: backgroundPoint.y, - width: size.width, - height: size.height, - caretX: position.x, - caretY: position.y - }; - } - this._tooltipItems = tooltipItems; - this.$context = undefined; - if (properties) { - this._resolveAnimations().update(this, properties); - } - if (changed && options.external) { - options.external.call(this, { - chart: this.chart, - tooltip: this, - replay - }); - } - } - drawCaret(tooltipPoint, ctx, size, options) { - const caretPosition = this.getCaretPosition(tooltipPoint, size, options); - ctx.lineTo(caretPosition.x1, caretPosition.y1); - ctx.lineTo(caretPosition.x2, caretPosition.y2); - ctx.lineTo(caretPosition.x3, caretPosition.y3); - } - getCaretPosition(tooltipPoint, size, options) { - const { xAlign , yAlign } = this; - const { caretSize , cornerRadius } = options; - const { topLeft , topRight , bottomLeft , bottomRight } = toTRBLCorners(cornerRadius); - const { x: ptX , y: ptY } = tooltipPoint; - const { width , height } = size; - let x1, x2, x3, y1, y2, y3; - if (yAlign === 'center') { - y2 = ptY + height / 2; - if (xAlign === 'left') { - x1 = ptX; - x2 = x1 - caretSize; - y1 = y2 + caretSize; - y3 = y2 - caretSize; - } else { - x1 = ptX + width; - x2 = x1 + caretSize; - y1 = y2 - caretSize; - y3 = y2 + caretSize; - } - x3 = x1; - } else { - if (xAlign === 'left') { - x2 = ptX + Math.max(topLeft, bottomLeft) + caretSize; - } else if (xAlign === 'right') { - x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize; - } else { - x2 = this.caretX; - } - if (yAlign === 'top') { - y1 = ptY; - y2 = y1 - caretSize; - x1 = x2 - caretSize; - x3 = x2 + caretSize; - } else { - y1 = ptY + height; - y2 = y1 + caretSize; - x1 = x2 + caretSize; - x3 = x2 - caretSize; - } - y3 = y1; - } - return { - x1, - x2, - x3, - y1, - y2, - y3 - }; - } - drawTitle(pt, ctx, options) { - const title = this.title; - const length = title.length; - let titleFont, titleSpacing, i; - if (length) { - const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width); - pt.x = getAlignedX(this, options.titleAlign, options); - ctx.textAlign = rtlHelper.textAlign(options.titleAlign); - ctx.textBaseline = 'middle'; - titleFont = toFont(options.titleFont); - titleSpacing = options.titleSpacing; - ctx.fillStyle = options.titleColor; - ctx.font = titleFont.string; - for(i = 0; i < length; ++i){ - ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2); - pt.y += titleFont.lineHeight + titleSpacing; - if (i + 1 === length) { - pt.y += options.titleMarginBottom - titleSpacing; - } - } - } - } - _drawColorBox(ctx, pt, i, rtlHelper, options) { - const labelColor = this.labelColors[i]; - const labelPointStyle = this.labelPointStyles[i]; - const { boxHeight , boxWidth } = options; - const bodyFont = toFont(options.bodyFont); - const colorX = getAlignedX(this, 'left', options); - const rtlColorX = rtlHelper.x(colorX); - const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0; - const colorY = pt.y + yOffSet; - if (options.usePointStyle) { - const drawOptions = { - radius: Math.min(boxWidth, boxHeight) / 2, - pointStyle: labelPointStyle.pointStyle, - rotation: labelPointStyle.rotation, - borderWidth: 1 - }; - const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2; - const centerY = colorY + boxHeight / 2; - ctx.strokeStyle = options.multiKeyBackground; - ctx.fillStyle = options.multiKeyBackground; - drawPoint(ctx, drawOptions, centerX, centerY); - ctx.strokeStyle = labelColor.borderColor; - ctx.fillStyle = labelColor.backgroundColor; - drawPoint(ctx, drawOptions, centerX, centerY); - } else { - ctx.lineWidth = isObject(labelColor.borderWidth) ? Math.max(...Object.values(labelColor.borderWidth)) : labelColor.borderWidth || 1; - ctx.strokeStyle = labelColor.borderColor; - ctx.setLineDash(labelColor.borderDash || []); - ctx.lineDashOffset = labelColor.borderDashOffset || 0; - const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth); - const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - 2); - const borderRadius = toTRBLCorners(labelColor.borderRadius); - if (Object.values(borderRadius).some((v)=>v !== 0)) { - ctx.beginPath(); - ctx.fillStyle = options.multiKeyBackground; - addRoundedRectPath(ctx, { - x: outerX, - y: colorY, - w: boxWidth, - h: boxHeight, - radius: borderRadius - }); - ctx.fill(); - ctx.stroke(); - ctx.fillStyle = labelColor.backgroundColor; - ctx.beginPath(); - addRoundedRectPath(ctx, { - x: innerX, - y: colorY + 1, - w: boxWidth - 2, - h: boxHeight - 2, - radius: borderRadius - }); - ctx.fill(); - } else { - ctx.fillStyle = options.multiKeyBackground; - ctx.fillRect(outerX, colorY, boxWidth, boxHeight); - ctx.strokeRect(outerX, colorY, boxWidth, boxHeight); - ctx.fillStyle = labelColor.backgroundColor; - ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2); - } - } - ctx.fillStyle = this.labelTextColors[i]; - } - drawBody(pt, ctx, options) { - const { body } = this; - const { bodySpacing , bodyAlign , displayColors , boxHeight , boxWidth , boxPadding } = options; - const bodyFont = toFont(options.bodyFont); - let bodyLineHeight = bodyFont.lineHeight; - let xLinePadding = 0; - const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width); - const fillLineOfText = function(line) { - ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2); - pt.y += bodyLineHeight + bodySpacing; - }; - const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign); - let bodyItem, textColor, lines, i, j, ilen, jlen; - ctx.textAlign = bodyAlign; - ctx.textBaseline = 'middle'; - ctx.font = bodyFont.string; - pt.x = getAlignedX(this, bodyAlignForCalculation, options); - ctx.fillStyle = options.bodyColor; - each(this.beforeBody, fillLineOfText); - xLinePadding = displayColors && bodyAlignForCalculation !== 'right' ? bodyAlign === 'center' ? boxWidth / 2 + boxPadding : boxWidth + 2 + boxPadding : 0; - for(i = 0, ilen = body.length; i < ilen; ++i){ - bodyItem = body[i]; - textColor = this.labelTextColors[i]; - ctx.fillStyle = textColor; - each(bodyItem.before, fillLineOfText); - lines = bodyItem.lines; - if (displayColors && lines.length) { - this._drawColorBox(ctx, pt, i, rtlHelper, options); - bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight); - } - for(j = 0, jlen = lines.length; j < jlen; ++j){ - fillLineOfText(lines[j]); - bodyLineHeight = bodyFont.lineHeight; - } - each(bodyItem.after, fillLineOfText); - } - xLinePadding = 0; - bodyLineHeight = bodyFont.lineHeight; - each(this.afterBody, fillLineOfText); - pt.y -= bodySpacing; - } - drawFooter(pt, ctx, options) { - const footer = this.footer; - const length = footer.length; - let footerFont, i; - if (length) { - const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width); - pt.x = getAlignedX(this, options.footerAlign, options); - pt.y += options.footerMarginTop; - ctx.textAlign = rtlHelper.textAlign(options.footerAlign); - ctx.textBaseline = 'middle'; - footerFont = toFont(options.footerFont); - ctx.fillStyle = options.footerColor; - ctx.font = footerFont.string; - for(i = 0; i < length; ++i){ - ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2); - pt.y += footerFont.lineHeight + options.footerSpacing; - } - } - } - drawBackground(pt, ctx, tooltipSize, options) { - const { xAlign , yAlign } = this; - const { x , y } = pt; - const { width , height } = tooltipSize; - const { topLeft , topRight , bottomLeft , bottomRight } = toTRBLCorners(options.cornerRadius); - ctx.fillStyle = options.backgroundColor; - ctx.strokeStyle = options.borderColor; - ctx.lineWidth = options.borderWidth; - ctx.beginPath(); - ctx.moveTo(x + topLeft, y); - if (yAlign === 'top') { - this.drawCaret(pt, ctx, tooltipSize, options); - } - ctx.lineTo(x + width - topRight, y); - ctx.quadraticCurveTo(x + width, y, x + width, y + topRight); - if (yAlign === 'center' && xAlign === 'right') { - this.drawCaret(pt, ctx, tooltipSize, options); - } - ctx.lineTo(x + width, y + height - bottomRight); - ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height); - if (yAlign === 'bottom') { - this.drawCaret(pt, ctx, tooltipSize, options); - } - ctx.lineTo(x + bottomLeft, y + height); - ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft); - if (yAlign === 'center' && xAlign === 'left') { - this.drawCaret(pt, ctx, tooltipSize, options); - } - ctx.lineTo(x, y + topLeft); - ctx.quadraticCurveTo(x, y, x + topLeft, y); - ctx.closePath(); - ctx.fill(); - if (options.borderWidth > 0) { - ctx.stroke(); - } - } - _updateAnimationTarget(options) { - const chart = this.chart; - const anims = this.$animations; - const animX = anims && anims.x; - const animY = anims && anims.y; - if (animX || animY) { - const position = positioners[options.position].call(this, this._active, this._eventPosition); - if (!position) { - return; - } - const size = this._size = getTooltipSize(this, options); - const positionAndSize = Object.assign({}, position, this._size); - const alignment = determineAlignment(chart, options, positionAndSize); - const point = getBackgroundPoint(options, positionAndSize, alignment, chart); - if (animX._to !== point.x || animY._to !== point.y) { - this.xAlign = alignment.xAlign; - this.yAlign = alignment.yAlign; - this.width = size.width; - this.height = size.height; - this.caretX = position.x; - this.caretY = position.y; - this._resolveAnimations().update(this, point); - } - } - } - _willRender() { - return !!this.opacity; - } - draw(ctx) { - const options = this.options.setContext(this.getContext()); - let opacity = this.opacity; - if (!opacity) { - return; - } - this._updateAnimationTarget(options); - const tooltipSize = { - width: this.width, - height: this.height - }; - const pt = { - x: this.x, - y: this.y - }; - opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity; - const padding = toPadding(options.padding); - const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length; - if (options.enabled && hasTooltipContent) { - ctx.save(); - ctx.globalAlpha = opacity; - this.drawBackground(pt, ctx, tooltipSize, options); - overrideTextDirection(ctx, options.textDirection); - pt.y += padding.top; - this.drawTitle(pt, ctx, options); - this.drawBody(pt, ctx, options); - this.drawFooter(pt, ctx, options); - restoreTextDirection(ctx, options.textDirection); - ctx.restore(); - } - } - getActiveElements() { - return this._active || []; - } - setActiveElements(activeElements, eventPosition) { - const lastActive = this._active; - const active = activeElements.map(({ datasetIndex , index })=>{ - const meta = this.chart.getDatasetMeta(datasetIndex); - if (!meta) { - throw new Error('Cannot find a dataset at index ' + datasetIndex); - } - return { - datasetIndex, - element: meta.data[index], - index - }; - }); - const changed = !_elementsEqual(lastActive, active); - const positionChanged = this._positionChanged(active, eventPosition); - if (changed || positionChanged) { - this._active = active; - this._eventPosition = eventPosition; - this._ignoreReplayEvents = true; - this.update(true); - } - } - handleEvent(e, replay, inChartArea = true) { - if (replay && this._ignoreReplayEvents) { - return false; - } - this._ignoreReplayEvents = false; - const options = this.options; - const lastActive = this._active || []; - const active = this._getActiveElements(e, lastActive, replay, inChartArea); - const positionChanged = this._positionChanged(active, e); - const changed = replay || !_elementsEqual(active, lastActive) || positionChanged; - if (changed) { - this._active = active; - if (options.enabled || options.external) { - this._eventPosition = { - x: e.x, - y: e.y - }; - this.update(true, replay); - } - } - return changed; - } - _getActiveElements(e, lastActive, replay, inChartArea) { - const options = this.options; - if (e.type === 'mouseout') { - return []; - } - if (!inChartArea) { - return lastActive.filter((i)=>this.chart.data.datasets[i.datasetIndex] && this.chart.getDatasetMeta(i.datasetIndex).controller.getParsed(i.index) !== undefined); - } - const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay); - if (options.reverse) { - active.reverse(); - } - return active; - } - _positionChanged(active, e) { - const { caretX , caretY , options } = this; - const position = positioners[options.position].call(this, active, e); - return position !== false && (caretX !== position.x || caretY !== position.y); - } -} -var plugin_tooltip = { - id: 'tooltip', - _element: Tooltip, - positioners, - afterInit (chart, _args, options) { - if (options) { - chart.tooltip = new Tooltip({ - chart, - options - }); - } - }, - beforeUpdate (chart, _args, options) { - if (chart.tooltip) { - chart.tooltip.initialize(options); - } - }, - reset (chart, _args, options) { - if (chart.tooltip) { - chart.tooltip.initialize(options); - } - }, - afterDraw (chart) { - const tooltip = chart.tooltip; - if (tooltip && tooltip._willRender()) { - const args = { - tooltip - }; - if (chart.notifyPlugins('beforeTooltipDraw', { - ...args, - cancelable: true - }) === false) { - return; - } - tooltip.draw(chart.ctx); - chart.notifyPlugins('afterTooltipDraw', args); - } - }, - afterEvent (chart, args) { - if (chart.tooltip) { - const useFinalPosition = args.replay; - if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) { - args.changed = true; - } - } - }, - defaults: { - enabled: true, - external: null, - position: 'average', - backgroundColor: 'rgba(0,0,0,0.8)', - titleColor: '#fff', - titleFont: { - weight: 'bold' - }, - titleSpacing: 2, - titleMarginBottom: 6, - titleAlign: 'left', - bodyColor: '#fff', - bodySpacing: 2, - bodyFont: {}, - bodyAlign: 'left', - footerColor: '#fff', - footerSpacing: 2, - footerMarginTop: 6, - footerFont: { - weight: 'bold' - }, - footerAlign: 'left', - padding: 6, - caretPadding: 2, - caretSize: 5, - cornerRadius: 6, - boxHeight: (ctx, opts)=>opts.bodyFont.size, - boxWidth: (ctx, opts)=>opts.bodyFont.size, - multiKeyBackground: '#fff', - displayColors: true, - boxPadding: 0, - borderColor: 'rgba(0,0,0,0)', - borderWidth: 0, - animation: { - duration: 400, - easing: 'easeOutQuart' - }, - animations: { - numbers: { - type: 'number', - properties: [ - 'x', - 'y', - 'width', - 'height', - 'caretX', - 'caretY' - ] - }, - opacity: { - easing: 'linear', - duration: 200 - } - }, - callbacks: defaultCallbacks - }, - defaultRoutes: { - bodyFont: 'font', - footerFont: 'font', - titleFont: 'font' - }, - descriptors: { - _scriptable: (name)=>name !== 'filter' && name !== 'itemSort' && name !== 'external', - _indexable: false, - callbacks: { - _scriptable: false, - _indexable: false - }, - animation: { - _fallback: false - }, - animations: { - _fallback: 'animation' - } - }, - additionalOptionScopes: [ - 'interaction' - ] -}; - -var plugins = /*#__PURE__*/Object.freeze({ -__proto__: null, -Colors: plugin_colors, -Decimation: plugin_decimation, -Filler: index, -Legend: plugin_legend, -SubTitle: plugin_subtitle, -Title: plugin_title, -Tooltip: plugin_tooltip -}); - -const addIfString = (labels, raw, index, addedLabels)=>{ - if (typeof raw === 'string') { - index = labels.push(raw) - 1; - addedLabels.unshift({ - index, - label: raw - }); - } else if (isNaN(raw)) { - index = null; - } - return index; -}; -function findOrAddLabel(labels, raw, index, addedLabels) { - const first = labels.indexOf(raw); - if (first === -1) { - return addIfString(labels, raw, index, addedLabels); - } - const last = labels.lastIndexOf(raw); - return first !== last ? index : first; -} -const validIndex = (index, max)=>index === null ? null : _limitValue(Math.round(index), 0, max); -function _getLabelForValue(value) { - const labels = this.getLabels(); - if (value >= 0 && value < labels.length) { - return labels[value]; - } - return value; -} -class CategoryScale extends Scale { - static id = 'category'; - static defaults = { - ticks: { - callback: _getLabelForValue - } - }; - constructor(cfg){ - super(cfg); - this._startValue = undefined; - this._valueRange = 0; - this._addedLabels = []; - } - init(scaleOptions) { - const added = this._addedLabels; - if (added.length) { - const labels = this.getLabels(); - for (const { index , label } of added){ - if (labels[index] === label) { - labels.splice(index, 1); - } - } - this._addedLabels = []; - } - super.init(scaleOptions); - } - parse(raw, index) { - if (isNullOrUndef(raw)) { - return null; - } - const labels = this.getLabels(); - index = isFinite(index) && labels[index] === raw ? index : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels); - return validIndex(index, labels.length - 1); - } - determineDataLimits() { - const { minDefined , maxDefined } = this.getUserBounds(); - let { min , max } = this.getMinMax(true); - if (this.options.bounds === 'ticks') { - if (!minDefined) { - min = 0; - } - if (!maxDefined) { - max = this.getLabels().length - 1; - } - } - this.min = min; - this.max = max; - } - buildTicks() { - const min = this.min; - const max = this.max; - const offset = this.options.offset; - const ticks = []; - let labels = this.getLabels(); - labels = min === 0 && max === labels.length - 1 ? labels : labels.slice(min, max + 1); - this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1); - this._startValue = this.min - (offset ? 0.5 : 0); - for(let value = min; value <= max; value++){ - ticks.push({ - value - }); - } - return ticks; - } - getLabelForValue(value) { - return _getLabelForValue.call(this, value); - } - configure() { - super.configure(); - if (!this.isHorizontal()) { - this._reversePixels = !this._reversePixels; - } - } - getPixelForValue(value) { - if (typeof value !== 'number') { - value = this.parse(value); - } - return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange); - } - getPixelForTick(index) { - const ticks = this.ticks; - if (index < 0 || index > ticks.length - 1) { - return null; - } - return this.getPixelForValue(ticks[index].value); - } - getValueForPixel(pixel) { - return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange); - } - getBasePixel() { - return this.bottom; - } -} - -function generateTicks$1(generationOptions, dataRange) { - const ticks = []; - const MIN_SPACING = 1e-14; - const { bounds , step , min , max , precision , count , maxTicks , maxDigits , includeBounds } = generationOptions; - const unit = step || 1; - const maxSpaces = maxTicks - 1; - const { min: rmin , max: rmax } = dataRange; - const minDefined = !isNullOrUndef(min); - const maxDefined = !isNullOrUndef(max); - const countDefined = !isNullOrUndef(count); - const minSpacing = (rmax - rmin) / (maxDigits + 1); - let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit; - let factor, niceMin, niceMax, numSpaces; - if (spacing < MIN_SPACING && !minDefined && !maxDefined) { - return [ - { - value: rmin - }, - { - value: rmax - } - ]; - } - numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing); - if (numSpaces > maxSpaces) { - spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit; - } - if (!isNullOrUndef(precision)) { - factor = Math.pow(10, precision); - spacing = Math.ceil(spacing * factor) / factor; - } - if (bounds === 'ticks') { - niceMin = Math.floor(rmin / spacing) * spacing; - niceMax = Math.ceil(rmax / spacing) * spacing; - } else { - niceMin = rmin; - niceMax = rmax; - } - if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) { - numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks)); - spacing = (max - min) / numSpaces; - niceMin = min; - niceMax = max; - } else if (countDefined) { - niceMin = minDefined ? min : niceMin; - niceMax = maxDefined ? max : niceMax; - numSpaces = count - 1; - spacing = (niceMax - niceMin) / numSpaces; - } else { - numSpaces = (niceMax - niceMin) / spacing; - if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) { - numSpaces = Math.round(numSpaces); - } else { - numSpaces = Math.ceil(numSpaces); - } - } - const decimalPlaces = Math.max(_decimalPlaces(spacing), _decimalPlaces(niceMin)); - factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision); - niceMin = Math.round(niceMin * factor) / factor; - niceMax = Math.round(niceMax * factor) / factor; - let j = 0; - if (minDefined) { - if (includeBounds && niceMin !== min) { - ticks.push({ - value: min - }); - if (niceMin < min) { - j++; - } - if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) { - j++; - } - } else if (niceMin < min) { - j++; - } - } - for(; j < numSpaces; ++j){ - const tickValue = Math.round((niceMin + j * spacing) * factor) / factor; - if (maxDefined && tickValue > max) { - break; - } - ticks.push({ - value: tickValue - }); - } - if (maxDefined && includeBounds && niceMax !== max) { - if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) { - ticks[ticks.length - 1].value = max; - } else { - ticks.push({ - value: max - }); - } - } else if (!maxDefined || niceMax === max) { - ticks.push({ - value: niceMax - }); - } - return ticks; -} -function relativeLabelSize(value, minSpacing, { horizontal , minRotation }) { - const rad = toRadians(minRotation); - const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001; - const length = 0.75 * minSpacing * ('' + value).length; - return Math.min(minSpacing / ratio, length); -} -class LinearScaleBase extends Scale { - constructor(cfg){ - super(cfg); - this.start = undefined; - this.end = undefined; - this._startValue = undefined; - this._endValue = undefined; - this._valueRange = 0; - } - parse(raw, index) { - if (isNullOrUndef(raw)) { - return null; - } - if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) { - return null; - } - return +raw; - } - handleTickRangeOptions() { - const { beginAtZero } = this.options; - const { minDefined , maxDefined } = this.getUserBounds(); - let { min , max } = this; - const setMin = (v)=>min = minDefined ? min : v; - const setMax = (v)=>max = maxDefined ? max : v; - if (beginAtZero) { - const minSign = sign(min); - const maxSign = sign(max); - if (minSign < 0 && maxSign < 0) { - setMax(0); - } else if (minSign > 0 && maxSign > 0) { - setMin(0); - } - } - if (min === max) { - let offset = max === 0 ? 1 : Math.abs(max * 0.05); - setMax(max + offset); - if (!beginAtZero) { - setMin(min - offset); - } - } - this.min = min; - this.max = max; - } - getTickLimit() { - const tickOpts = this.options.ticks; - let { maxTicksLimit , stepSize } = tickOpts; - let maxTicks; - if (stepSize) { - maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1; - if (maxTicks > 1000) { - console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`); - maxTicks = 1000; - } - } else { - maxTicks = this.computeTickLimit(); - maxTicksLimit = maxTicksLimit || 11; - } - if (maxTicksLimit) { - maxTicks = Math.min(maxTicksLimit, maxTicks); - } - return maxTicks; - } - computeTickLimit() { - return Number.POSITIVE_INFINITY; - } - buildTicks() { - const opts = this.options; - const tickOpts = opts.ticks; - let maxTicks = this.getTickLimit(); - maxTicks = Math.max(2, maxTicks); - const numericGeneratorOptions = { - maxTicks, - bounds: opts.bounds, - min: opts.min, - max: opts.max, - precision: tickOpts.precision, - step: tickOpts.stepSize, - count: tickOpts.count, - maxDigits: this._maxDigits(), - horizontal: this.isHorizontal(), - minRotation: tickOpts.minRotation || 0, - includeBounds: tickOpts.includeBounds !== false - }; - const dataRange = this._range || this; - const ticks = generateTicks$1(numericGeneratorOptions, dataRange); - if (opts.bounds === 'ticks') { - _setMinAndMaxByKey(ticks, this, 'value'); - } - if (opts.reverse) { - ticks.reverse(); - this.start = this.max; - this.end = this.min; - } else { - this.start = this.min; - this.end = this.max; - } - return ticks; - } - configure() { - const ticks = this.ticks; - let start = this.min; - let end = this.max; - super.configure(); - if (this.options.offset && ticks.length) { - const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2; - start -= offset; - end += offset; - } - this._startValue = start; - this._endValue = end; - this._valueRange = end - start; - } - getLabelForValue(value) { - return formatNumber(value, this.chart.options.locale, this.options.ticks.format); - } -} - -class LinearScale extends LinearScaleBase { - static id = 'linear'; - static defaults = { - ticks: { - callback: Ticks.formatters.numeric - } - }; - determineDataLimits() { - const { min , max } = this.getMinMax(true); - this.min = isNumberFinite(min) ? min : 0; - this.max = isNumberFinite(max) ? max : 1; - this.handleTickRangeOptions(); - } - computeTickLimit() { - const horizontal = this.isHorizontal(); - const length = horizontal ? this.width : this.height; - const minRotation = toRadians(this.options.ticks.minRotation); - const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001; - const tickFont = this._resolveTickFontOptions(0); - return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio)); - } - getPixelForValue(value) { - return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange); - } - getValueForPixel(pixel) { - return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange; - } -} - -const log10Floor = (v)=>Math.floor(log10(v)); -const changeExponent = (v, m)=>Math.pow(10, log10Floor(v) + m); -function isMajor(tickVal) { - const remain = tickVal / Math.pow(10, log10Floor(tickVal)); - return remain === 1; -} -function steps(min, max, rangeExp) { - const rangeStep = Math.pow(10, rangeExp); - const start = Math.floor(min / rangeStep); - const end = Math.ceil(max / rangeStep); - return end - start; -} -function startExp(min, max) { - const range = max - min; - let rangeExp = log10Floor(range); - while(steps(min, max, rangeExp) > 10){ - rangeExp++; - } - while(steps(min, max, rangeExp) < 10){ - rangeExp--; - } - return Math.min(rangeExp, log10Floor(min)); -} - function generateTicks(generationOptions, { min , max }) { - min = finiteOrDefault(generationOptions.min, min); - const ticks = []; - const minExp = log10Floor(min); - let exp = startExp(min, max); - let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1; - const stepSize = Math.pow(10, exp); - const base = minExp > exp ? Math.pow(10, minExp) : 0; - const start = Math.round((min - base) * precision) / precision; - const offset = Math.floor((min - base) / stepSize / 10) * stepSize * 10; - let significand = Math.floor((start - offset) / Math.pow(10, exp)); - let value = finiteOrDefault(generationOptions.min, Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision); - while(value < max){ - ticks.push({ - value, - major: isMajor(value), - significand - }); - if (significand >= 10) { - significand = significand < 15 ? 15 : 20; - } else { - significand++; - } - if (significand >= 20) { - exp++; - significand = 2; - precision = exp >= 0 ? 1 : precision; - } - value = Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision; - } - const lastTick = finiteOrDefault(generationOptions.max, value); - ticks.push({ - value: lastTick, - major: isMajor(lastTick), - significand - }); - return ticks; -} -class LogarithmicScale extends Scale { - static id = 'logarithmic'; - static defaults = { - ticks: { - callback: Ticks.formatters.logarithmic, - major: { - enabled: true - } - } - }; - constructor(cfg){ - super(cfg); - this.start = undefined; - this.end = undefined; - this._startValue = undefined; - this._valueRange = 0; - } - parse(raw, index) { - const value = LinearScaleBase.prototype.parse.apply(this, [ - raw, - index - ]); - if (value === 0) { - this._zero = true; - return undefined; - } - return isNumberFinite(value) && value > 0 ? value : null; - } - determineDataLimits() { - const { min , max } = this.getMinMax(true); - this.min = isNumberFinite(min) ? Math.max(0, min) : null; - this.max = isNumberFinite(max) ? Math.max(0, max) : null; - if (this.options.beginAtZero) { - this._zero = true; - } - if (this._zero && this.min !== this._suggestedMin && !isNumberFinite(this._userMin)) { - this.min = min === changeExponent(this.min, 0) ? changeExponent(this.min, -1) : changeExponent(this.min, 0); - } - this.handleTickRangeOptions(); - } - handleTickRangeOptions() { - const { minDefined , maxDefined } = this.getUserBounds(); - let min = this.min; - let max = this.max; - const setMin = (v)=>min = minDefined ? min : v; - const setMax = (v)=>max = maxDefined ? max : v; - if (min === max) { - if (min <= 0) { - setMin(1); - setMax(10); - } else { - setMin(changeExponent(min, -1)); - setMax(changeExponent(max, +1)); - } - } - if (min <= 0) { - setMin(changeExponent(max, -1)); - } - if (max <= 0) { - setMax(changeExponent(min, +1)); - } - this.min = min; - this.max = max; - } - buildTicks() { - const opts = this.options; - const generationOptions = { - min: this._userMin, - max: this._userMax - }; - const ticks = generateTicks(generationOptions, this); - if (opts.bounds === 'ticks') { - _setMinAndMaxByKey(ticks, this, 'value'); - } - if (opts.reverse) { - ticks.reverse(); - this.start = this.max; - this.end = this.min; - } else { - this.start = this.min; - this.end = this.max; - } - return ticks; - } - getLabelForValue(value) { - return value === undefined ? '0' : formatNumber(value, this.chart.options.locale, this.options.ticks.format); - } - configure() { - const start = this.min; - super.configure(); - this._startValue = log10(start); - this._valueRange = log10(this.max) - log10(start); - } - getPixelForValue(value) { - if (value === undefined || value === 0) { - value = this.min; - } - if (value === null || isNaN(value)) { - return NaN; - } - return this.getPixelForDecimal(value === this.min ? 0 : (log10(value) - this._startValue) / this._valueRange); - } - getValueForPixel(pixel) { - const decimal = this.getDecimalForPixel(pixel); - return Math.pow(10, this._startValue + decimal * this._valueRange); - } -} - -function getTickBackdropHeight(opts) { - const tickOpts = opts.ticks; - if (tickOpts.display && opts.display) { - const padding = toPadding(tickOpts.backdropPadding); - return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height; - } - return 0; -} -function measureLabelSize(ctx, font, label) { - label = isArray(label) ? label : [ - label - ]; - return { - w: _longestText(ctx, font.string, label), - h: label.length * font.lineHeight - }; -} -function determineLimits(angle, pos, size, min, max) { - if (angle === min || angle === max) { - return { - start: pos - size / 2, - end: pos + size / 2 - }; - } else if (angle < min || angle > max) { - return { - start: pos - size, - end: pos - }; - } - return { - start: pos, - end: pos + size - }; -} - function fitWithPointLabels(scale) { - const orig = { - l: scale.left + scale._padding.left, - r: scale.right - scale._padding.right, - t: scale.top + scale._padding.top, - b: scale.bottom - scale._padding.bottom - }; - const limits = Object.assign({}, orig); - const labelSizes = []; - const padding = []; - const valueCount = scale._pointLabels.length; - const pointLabelOpts = scale.options.pointLabels; - const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0; - for(let i = 0; i < valueCount; i++){ - const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i)); - padding[i] = opts.padding; - const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle); - const plFont = toFont(opts.font); - const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]); - labelSizes[i] = textSize; - const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle); - const angle = Math.round(toDegrees(angleRadians)); - const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180); - const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270); - updateLimits(limits, orig, angleRadians, hLimits, vLimits); - } - scale.setCenterPoint(orig.l - limits.l, limits.r - orig.r, orig.t - limits.t, limits.b - orig.b); - scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding); -} -function updateLimits(limits, orig, angle, hLimits, vLimits) { - const sin = Math.abs(Math.sin(angle)); - const cos = Math.abs(Math.cos(angle)); - let x = 0; - let y = 0; - if (hLimits.start < orig.l) { - x = (orig.l - hLimits.start) / sin; - limits.l = Math.min(limits.l, orig.l - x); - } else if (hLimits.end > orig.r) { - x = (hLimits.end - orig.r) / sin; - limits.r = Math.max(limits.r, orig.r + x); - } - if (vLimits.start < orig.t) { - y = (orig.t - vLimits.start) / cos; - limits.t = Math.min(limits.t, orig.t - y); - } else if (vLimits.end > orig.b) { - y = (vLimits.end - orig.b) / cos; - limits.b = Math.max(limits.b, orig.b + y); - } -} -function createPointLabelItem(scale, index, itemOpts) { - const outerDistance = scale.drawingArea; - const { extra , additionalAngle , padding , size } = itemOpts; - const pointLabelPosition = scale.getPointPosition(index, outerDistance + extra + padding, additionalAngle); - const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI))); - const y = yForAngle(pointLabelPosition.y, size.h, angle); - const textAlign = getTextAlignForAngle(angle); - const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign); - return { - visible: true, - x: pointLabelPosition.x, - y, - textAlign, - left, - top: y, - right: left + size.w, - bottom: y + size.h - }; -} -function isNotOverlapped(item, area) { - if (!area) { - return true; - } - const { left , top , right , bottom } = item; - const apexesInArea = _isPointInArea({ - x: left, - y: top - }, area) || _isPointInArea({ - x: left, - y: bottom - }, area) || _isPointInArea({ - x: right, - y: top - }, area) || _isPointInArea({ - x: right, - y: bottom - }, area); - return !apexesInArea; -} -function buildPointLabelItems(scale, labelSizes, padding) { - const items = []; - const valueCount = scale._pointLabels.length; - const opts = scale.options; - const { centerPointLabels , display } = opts.pointLabels; - const itemOpts = { - extra: getTickBackdropHeight(opts) / 2, - additionalAngle: centerPointLabels ? PI / valueCount : 0 - }; - let area; - for(let i = 0; i < valueCount; i++){ - itemOpts.padding = padding[i]; - itemOpts.size = labelSizes[i]; - const item = createPointLabelItem(scale, i, itemOpts); - items.push(item); - if (display === 'auto') { - item.visible = isNotOverlapped(item, area); - if (item.visible) { - area = item; - } - } - } - return items; -} -function getTextAlignForAngle(angle) { - if (angle === 0 || angle === 180) { - return 'center'; - } else if (angle < 180) { - return 'left'; - } - return 'right'; -} -function leftForTextAlign(x, w, align) { - if (align === 'right') { - x -= w; - } else if (align === 'center') { - x -= w / 2; - } - return x; -} -function yForAngle(y, h, angle) { - if (angle === 90 || angle === 270) { - y -= h / 2; - } else if (angle > 270 || angle < 90) { - y -= h; - } - return y; -} -function drawPointLabelBox(ctx, opts, item) { - const { left , top , right , bottom } = item; - const { backdropColor } = opts; - if (!isNullOrUndef(backdropColor)) { - const borderRadius = toTRBLCorners(opts.borderRadius); - const padding = toPadding(opts.backdropPadding); - ctx.fillStyle = backdropColor; - const backdropLeft = left - padding.left; - const backdropTop = top - padding.top; - const backdropWidth = right - left + padding.width; - const backdropHeight = bottom - top + padding.height; - if (Object.values(borderRadius).some((v)=>v !== 0)) { - ctx.beginPath(); - addRoundedRectPath(ctx, { - x: backdropLeft, - y: backdropTop, - w: backdropWidth, - h: backdropHeight, - radius: borderRadius - }); - ctx.fill(); - } else { - ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight); - } - } -} -function drawPointLabels(scale, labelCount) { - const { ctx , options: { pointLabels } } = scale; - for(let i = labelCount - 1; i >= 0; i--){ - const item = scale._pointLabelItems[i]; - if (!item.visible) { - continue; - } - const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i)); - drawPointLabelBox(ctx, optsAtIndex, item); - const plFont = toFont(optsAtIndex.font); - const { x , y , textAlign } = item; - renderText(ctx, scale._pointLabels[i], x, y + plFont.lineHeight / 2, plFont, { - color: optsAtIndex.color, - textAlign: textAlign, - textBaseline: 'middle' - }); - } -} -function pathRadiusLine(scale, radius, circular, labelCount) { - const { ctx } = scale; - if (circular) { - ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU); - } else { - let pointPosition = scale.getPointPosition(0, radius); - ctx.moveTo(pointPosition.x, pointPosition.y); - for(let i = 1; i < labelCount; i++){ - pointPosition = scale.getPointPosition(i, radius); - ctx.lineTo(pointPosition.x, pointPosition.y); - } - } -} -function drawRadiusLine(scale, gridLineOpts, radius, labelCount, borderOpts) { - const ctx = scale.ctx; - const circular = gridLineOpts.circular; - const { color , lineWidth } = gridLineOpts; - if (!circular && !labelCount || !color || !lineWidth || radius < 0) { - return; - } - ctx.save(); - ctx.strokeStyle = color; - ctx.lineWidth = lineWidth; - ctx.setLineDash(borderOpts.dash || []); - ctx.lineDashOffset = borderOpts.dashOffset; - ctx.beginPath(); - pathRadiusLine(scale, radius, circular, labelCount); - ctx.closePath(); - ctx.stroke(); - ctx.restore(); -} -function createPointLabelContext(parent, index, label) { - return createContext(parent, { - label, - index, - type: 'pointLabel' - }); -} -class RadialLinearScale extends LinearScaleBase { - static id = 'radialLinear'; - static defaults = { - display: true, - animate: true, - position: 'chartArea', - angleLines: { - display: true, - lineWidth: 1, - borderDash: [], - borderDashOffset: 0.0 - }, - grid: { - circular: false - }, - startAngle: 0, - ticks: { - showLabelBackdrop: true, - callback: Ticks.formatters.numeric - }, - pointLabels: { - backdropColor: undefined, - backdropPadding: 2, - display: true, - font: { - size: 10 - }, - callback (label) { - return label; - }, - padding: 5, - centerPointLabels: false - } - }; - static defaultRoutes = { - 'angleLines.color': 'borderColor', - 'pointLabels.color': 'color', - 'ticks.color': 'color' - }; - static descriptors = { - angleLines: { - _fallback: 'grid' - } - }; - constructor(cfg){ - super(cfg); - this.xCenter = undefined; - this.yCenter = undefined; - this.drawingArea = undefined; - this._pointLabels = []; - this._pointLabelItems = []; - } - setDimensions() { - const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2); - const w = this.width = this.maxWidth - padding.width; - const h = this.height = this.maxHeight - padding.height; - this.xCenter = Math.floor(this.left + w / 2 + padding.left); - this.yCenter = Math.floor(this.top + h / 2 + padding.top); - this.drawingArea = Math.floor(Math.min(w, h) / 2); - } - determineDataLimits() { - const { min , max } = this.getMinMax(false); - this.min = isNumberFinite(min) && !isNaN(min) ? min : 0; - this.max = isNumberFinite(max) && !isNaN(max) ? max : 0; - this.handleTickRangeOptions(); - } - computeTickLimit() { - return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options)); - } - generateTickLabels(ticks) { - LinearScaleBase.prototype.generateTickLabels.call(this, ticks); - this._pointLabels = this.getLabels().map((value, index)=>{ - const label = callback(this.options.pointLabels.callback, [ - value, - index - ], this); - return label || label === 0 ? label : ''; - }).filter((v, i)=>this.chart.getDataVisibility(i)); - } - fit() { - const opts = this.options; - if (opts.display && opts.pointLabels.display) { - fitWithPointLabels(this); - } else { - this.setCenterPoint(0, 0, 0, 0); - } - } - setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) { - this.xCenter += Math.floor((leftMovement - rightMovement) / 2); - this.yCenter += Math.floor((topMovement - bottomMovement) / 2); - this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement)); - } - getIndexAngle(index) { - const angleMultiplier = TAU / (this._pointLabels.length || 1); - const startAngle = this.options.startAngle || 0; - return _normalizeAngle(index * angleMultiplier + toRadians(startAngle)); - } - getDistanceFromCenterForValue(value) { - if (isNullOrUndef(value)) { - return NaN; - } - const scalingFactor = this.drawingArea / (this.max - this.min); - if (this.options.reverse) { - return (this.max - value) * scalingFactor; - } - return (value - this.min) * scalingFactor; - } - getValueForDistanceFromCenter(distance) { - if (isNullOrUndef(distance)) { - return NaN; - } - const scaledDistance = distance / (this.drawingArea / (this.max - this.min)); - return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance; - } - getPointLabelContext(index) { - const pointLabels = this._pointLabels || []; - if (index >= 0 && index < pointLabels.length) { - const pointLabel = pointLabels[index]; - return createPointLabelContext(this.getContext(), index, pointLabel); - } - } - getPointPosition(index, distanceFromCenter, additionalAngle = 0) { - const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle; - return { - x: Math.cos(angle) * distanceFromCenter + this.xCenter, - y: Math.sin(angle) * distanceFromCenter + this.yCenter, - angle - }; - } - getPointPositionForValue(index, value) { - return this.getPointPosition(index, this.getDistanceFromCenterForValue(value)); - } - getBasePosition(index) { - return this.getPointPositionForValue(index || 0, this.getBaseValue()); - } - getPointLabelPosition(index) { - const { left , top , right , bottom } = this._pointLabelItems[index]; - return { - left, - top, - right, - bottom - }; - } - drawBackground() { - const { backgroundColor , grid: { circular } } = this.options; - if (backgroundColor) { - const ctx = this.ctx; - ctx.save(); - ctx.beginPath(); - pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length); - ctx.closePath(); - ctx.fillStyle = backgroundColor; - ctx.fill(); - ctx.restore(); - } - } - drawGrid() { - const ctx = this.ctx; - const opts = this.options; - const { angleLines , grid , border } = opts; - const labelCount = this._pointLabels.length; - let i, offset, position; - if (opts.pointLabels.display) { - drawPointLabels(this, labelCount); - } - if (grid.display) { - this.ticks.forEach((tick, index)=>{ - if (index !== 0 || index === 0 && this.min < 0) { - offset = this.getDistanceFromCenterForValue(tick.value); - const context = this.getContext(index); - const optsAtIndex = grid.setContext(context); - const optsAtIndexBorder = border.setContext(context); - drawRadiusLine(this, optsAtIndex, offset, labelCount, optsAtIndexBorder); - } - }); - } - if (angleLines.display) { - ctx.save(); - for(i = labelCount - 1; i >= 0; i--){ - const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i)); - const { color , lineWidth } = optsAtIndex; - if (!lineWidth || !color) { - continue; - } - ctx.lineWidth = lineWidth; - ctx.strokeStyle = color; - ctx.setLineDash(optsAtIndex.borderDash); - ctx.lineDashOffset = optsAtIndex.borderDashOffset; - offset = this.getDistanceFromCenterForValue(opts.reverse ? this.min : this.max); - position = this.getPointPosition(i, offset); - ctx.beginPath(); - ctx.moveTo(this.xCenter, this.yCenter); - ctx.lineTo(position.x, position.y); - ctx.stroke(); - } - ctx.restore(); - } - } - drawBorder() {} - drawLabels() { - const ctx = this.ctx; - const opts = this.options; - const tickOpts = opts.ticks; - if (!tickOpts.display) { - return; - } - const startAngle = this.getIndexAngle(0); - let offset, width; - ctx.save(); - ctx.translate(this.xCenter, this.yCenter); - ctx.rotate(startAngle); - ctx.textAlign = 'center'; - ctx.textBaseline = 'middle'; - this.ticks.forEach((tick, index)=>{ - if (index === 0 && this.min >= 0 && !opts.reverse) { - return; - } - const optsAtIndex = tickOpts.setContext(this.getContext(index)); - const tickFont = toFont(optsAtIndex.font); - offset = this.getDistanceFromCenterForValue(this.ticks[index].value); - if (optsAtIndex.showLabelBackdrop) { - ctx.font = tickFont.string; - width = ctx.measureText(tick.label).width; - ctx.fillStyle = optsAtIndex.backdropColor; - const padding = toPadding(optsAtIndex.backdropPadding); - ctx.fillRect(-width / 2 - padding.left, -offset - tickFont.size / 2 - padding.top, width + padding.width, tickFont.size + padding.height); - } - renderText(ctx, tick.label, 0, -offset, tickFont, { - color: optsAtIndex.color, - strokeColor: optsAtIndex.textStrokeColor, - strokeWidth: optsAtIndex.textStrokeWidth - }); - }); - ctx.restore(); - } - drawTitle() {} -} - -const INTERVALS = { - millisecond: { - common: true, - size: 1, - steps: 1000 - }, - second: { - common: true, - size: 1000, - steps: 60 - }, - minute: { - common: true, - size: 60000, - steps: 60 - }, - hour: { - common: true, - size: 3600000, - steps: 24 - }, - day: { - common: true, - size: 86400000, - steps: 30 - }, - week: { - common: false, - size: 604800000, - steps: 4 - }, - month: { - common: true, - size: 2.628e9, - steps: 12 - }, - quarter: { - common: false, - size: 7.884e9, - steps: 4 - }, - year: { - common: true, - size: 3.154e10 - } -}; - const UNITS = /* #__PURE__ */ Object.keys(INTERVALS); - function sorter(a, b) { - return a - b; -} - function parse(scale, input) { - if (isNullOrUndef(input)) { - return null; - } - const adapter = scale._adapter; - const { parser , round , isoWeekday } = scale._parseOpts; - let value = input; - if (typeof parser === 'function') { - value = parser(value); - } - if (!isNumberFinite(value)) { - value = typeof parser === 'string' ? adapter.parse(value, parser) : adapter.parse(value); - } - if (value === null) { - return null; - } - if (round) { - value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true) ? adapter.startOf(value, 'isoWeek', isoWeekday) : adapter.startOf(value, round); - } - return +value; -} - function determineUnitForAutoTicks(minUnit, min, max, capacity) { - const ilen = UNITS.length; - for(let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i){ - const interval = INTERVALS[UNITS[i]]; - const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER; - if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) { - return UNITS[i]; - } - } - return UNITS[ilen - 1]; -} - function determineUnitForFormatting(scale, numTicks, minUnit, min, max) { - for(let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--){ - const unit = UNITS[i]; - if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) { - return unit; - } - } - return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0]; -} - function determineMajorUnit(unit) { - for(let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i){ - if (INTERVALS[UNITS[i]].common) { - return UNITS[i]; - } - } -} - function addTick(ticks, time, timestamps) { - if (!timestamps) { - ticks[time] = true; - } else if (timestamps.length) { - const { lo , hi } = _lookup(timestamps, time); - const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi]; - ticks[timestamp] = true; - } -} - function setMajorTicks(scale, ticks, map, majorUnit) { - const adapter = scale._adapter; - const first = +adapter.startOf(ticks[0].value, majorUnit); - const last = ticks[ticks.length - 1].value; - let major, index; - for(major = first; major <= last; major = +adapter.add(major, 1, majorUnit)){ - index = map[major]; - if (index >= 0) { - ticks[index].major = true; - } - } - return ticks; -} - function ticksFromTimestamps(scale, values, majorUnit) { - const ticks = []; - const map = {}; - const ilen = values.length; - let i, value; - for(i = 0; i < ilen; ++i){ - value = values[i]; - map[value] = i; - ticks.push({ - value, - major: false - }); - } - return ilen === 0 || !majorUnit ? ticks : setMajorTicks(scale, ticks, map, majorUnit); -} -class TimeScale extends Scale { - static id = 'time'; - static defaults = { - bounds: 'data', - adapters: {}, - time: { - parser: false, - unit: false, - round: false, - isoWeekday: false, - minUnit: 'millisecond', - displayFormats: {} - }, - ticks: { - source: 'auto', - callback: false, - major: { - enabled: false - } - } - }; - constructor(props){ - super(props); - this._cache = { - data: [], - labels: [], - all: [] - }; - this._unit = 'day'; - this._majorUnit = undefined; - this._offsets = {}; - this._normalized = false; - this._parseOpts = undefined; - } - init(scaleOpts, opts = {}) { - const time = scaleOpts.time || (scaleOpts.time = {}); - const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date); - adapter.init(opts); - mergeIf(time.displayFormats, adapter.formats()); - this._parseOpts = { - parser: time.parser, - round: time.round, - isoWeekday: time.isoWeekday - }; - super.init(scaleOpts); - this._normalized = opts.normalized; - } - parse(raw, index) { - if (raw === undefined) { - return null; - } - return parse(this, raw); - } - beforeLayout() { - super.beforeLayout(); - this._cache = { - data: [], - labels: [], - all: [] - }; - } - determineDataLimits() { - const options = this.options; - const adapter = this._adapter; - const unit = options.time.unit || 'day'; - let { min , max , minDefined , maxDefined } = this.getUserBounds(); - function _applyBounds(bounds) { - if (!minDefined && !isNaN(bounds.min)) { - min = Math.min(min, bounds.min); - } - if (!maxDefined && !isNaN(bounds.max)) { - max = Math.max(max, bounds.max); - } - } - if (!minDefined || !maxDefined) { - _applyBounds(this._getLabelBounds()); - if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') { - _applyBounds(this.getMinMax(false)); - } - } - min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit); - max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1; - this.min = Math.min(min, max - 1); - this.max = Math.max(min + 1, max); - } - _getLabelBounds() { - const arr = this.getLabelTimestamps(); - let min = Number.POSITIVE_INFINITY; - let max = Number.NEGATIVE_INFINITY; - if (arr.length) { - min = arr[0]; - max = arr[arr.length - 1]; - } - return { - min, - max - }; - } - buildTicks() { - const options = this.options; - const timeOpts = options.time; - const tickOpts = options.ticks; - const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate(); - if (options.bounds === 'ticks' && timestamps.length) { - this.min = this._userMin || timestamps[0]; - this.max = this._userMax || timestamps[timestamps.length - 1]; - } - const min = this.min; - const max = this.max; - const ticks = _filterBetween(timestamps, min, max); - this._unit = timeOpts.unit || (tickOpts.autoSkip ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min)) : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max)); - this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined : determineMajorUnit(this._unit); - this.initOffsets(timestamps); - if (options.reverse) { - ticks.reverse(); - } - return ticksFromTimestamps(this, ticks, this._majorUnit); - } - afterAutoSkip() { - if (this.options.offsetAfterAutoskip) { - this.initOffsets(this.ticks.map((tick)=>+tick.value)); - } - } - initOffsets(timestamps = []) { - let start = 0; - let end = 0; - let first, last; - if (this.options.offset && timestamps.length) { - first = this.getDecimalForValue(timestamps[0]); - if (timestamps.length === 1) { - start = 1 - first; - } else { - start = (this.getDecimalForValue(timestamps[1]) - first) / 2; - } - last = this.getDecimalForValue(timestamps[timestamps.length - 1]); - if (timestamps.length === 1) { - end = last; - } else { - end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2; - } - } - const limit = timestamps.length < 3 ? 0.5 : 0.25; - start = _limitValue(start, 0, limit); - end = _limitValue(end, 0, limit); - this._offsets = { - start, - end, - factor: 1 / (start + 1 + end) - }; - } - _generate() { - const adapter = this._adapter; - const min = this.min; - const max = this.max; - const options = this.options; - const timeOpts = options.time; - const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min)); - const stepSize = valueOrDefault(options.ticks.stepSize, 1); - const weekday = minor === 'week' ? timeOpts.isoWeekday : false; - const hasWeekday = isNumber(weekday) || weekday === true; - const ticks = {}; - let first = min; - let time, count; - if (hasWeekday) { - first = +adapter.startOf(first, 'isoWeek', weekday); - } - first = +adapter.startOf(first, hasWeekday ? 'day' : minor); - if (adapter.diff(max, min, minor) > 100000 * stepSize) { - throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor); - } - const timestamps = options.ticks.source === 'data' && this.getDataTimestamps(); - for(time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++){ - addTick(ticks, time, timestamps); - } - if (time === max || options.bounds === 'ticks' || count === 1) { - addTick(ticks, time, timestamps); - } - return Object.keys(ticks).sort(sorter).map((x)=>+x); - } - getLabelForValue(value) { - const adapter = this._adapter; - const timeOpts = this.options.time; - if (timeOpts.tooltipFormat) { - return adapter.format(value, timeOpts.tooltipFormat); - } - return adapter.format(value, timeOpts.displayFormats.datetime); - } - format(value, format) { - const options = this.options; - const formats = options.time.displayFormats; - const unit = this._unit; - const fmt = format || formats[unit]; - return this._adapter.format(value, fmt); - } - _tickFormatFunction(time, index, ticks, format) { - const options = this.options; - const formatter = options.ticks.callback; - if (formatter) { - return callback(formatter, [ - time, - index, - ticks - ], this); - } - const formats = options.time.displayFormats; - const unit = this._unit; - const majorUnit = this._majorUnit; - const minorFormat = unit && formats[unit]; - const majorFormat = majorUnit && formats[majorUnit]; - const tick = ticks[index]; - const major = majorUnit && majorFormat && tick && tick.major; - return this._adapter.format(time, format || (major ? majorFormat : minorFormat)); - } - generateTickLabels(ticks) { - let i, ilen, tick; - for(i = 0, ilen = ticks.length; i < ilen; ++i){ - tick = ticks[i]; - tick.label = this._tickFormatFunction(tick.value, i, ticks); - } - } - getDecimalForValue(value) { - return value === null ? NaN : (value - this.min) / (this.max - this.min); - } - getPixelForValue(value) { - const offsets = this._offsets; - const pos = this.getDecimalForValue(value); - return this.getPixelForDecimal((offsets.start + pos) * offsets.factor); - } - getValueForPixel(pixel) { - const offsets = this._offsets; - const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end; - return this.min + pos * (this.max - this.min); - } - _getLabelSize(label) { - const ticksOpts = this.options.ticks; - const tickLabelWidth = this.ctx.measureText(label).width; - const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation); - const cosRotation = Math.cos(angle); - const sinRotation = Math.sin(angle); - const tickFontSize = this._resolveTickFontOptions(0).size; - return { - w: tickLabelWidth * cosRotation + tickFontSize * sinRotation, - h: tickLabelWidth * sinRotation + tickFontSize * cosRotation - }; - } - _getLabelCapacity(exampleTime) { - const timeOpts = this.options.time; - const displayFormats = timeOpts.displayFormats; - const format = displayFormats[timeOpts.unit] || displayFormats.millisecond; - const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [ - exampleTime - ], this._majorUnit), format); - const size = this._getLabelSize(exampleLabel); - const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1; - return capacity > 0 ? capacity : 1; - } - getDataTimestamps() { - let timestamps = this._cache.data || []; - let i, ilen; - if (timestamps.length) { - return timestamps; - } - const metas = this.getMatchingVisibleMetas(); - if (this._normalized && metas.length) { - return this._cache.data = metas[0].controller.getAllParsedValues(this); - } - for(i = 0, ilen = metas.length; i < ilen; ++i){ - timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this)); - } - return this._cache.data = this.normalize(timestamps); - } - getLabelTimestamps() { - const timestamps = this._cache.labels || []; - let i, ilen; - if (timestamps.length) { - return timestamps; - } - const labels = this.getLabels(); - for(i = 0, ilen = labels.length; i < ilen; ++i){ - timestamps.push(parse(this, labels[i])); - } - return this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps); - } - normalize(values) { - return _arrayUnique(values.sort(sorter)); - } -} - -function interpolate(table, val, reverse) { - let lo = 0; - let hi = table.length - 1; - let prevSource, nextSource, prevTarget, nextTarget; - if (reverse) { - if (val >= table[lo].pos && val <= table[hi].pos) { - ({ lo , hi } = _lookupByKey(table, 'pos', val)); - } - ({ pos: prevSource , time: prevTarget } = table[lo]); - ({ pos: nextSource , time: nextTarget } = table[hi]); - } else { - if (val >= table[lo].time && val <= table[hi].time) { - ({ lo , hi } = _lookupByKey(table, 'time', val)); - } - ({ time: prevSource , pos: prevTarget } = table[lo]); - ({ time: nextSource , pos: nextTarget } = table[hi]); - } - const span = nextSource - prevSource; - return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget; -} -class TimeSeriesScale extends TimeScale { - static id = 'timeseries'; - static defaults = TimeScale.defaults; - constructor(props){ - super(props); - this._table = []; - this._minPos = undefined; - this._tableRange = undefined; - } - initOffsets() { - const timestamps = this._getTimestampsForTable(); - const table = this._table = this.buildLookupTable(timestamps); - this._minPos = interpolate(table, this.min); - this._tableRange = interpolate(table, this.max) - this._minPos; - super.initOffsets(timestamps); - } - buildLookupTable(timestamps) { - const { min , max } = this; - const items = []; - const table = []; - let i, ilen, prev, curr, next; - for(i = 0, ilen = timestamps.length; i < ilen; ++i){ - curr = timestamps[i]; - if (curr >= min && curr <= max) { - items.push(curr); - } - } - if (items.length < 2) { - return [ - { - time: min, - pos: 0 - }, - { - time: max, - pos: 1 - } - ]; - } - for(i = 0, ilen = items.length; i < ilen; ++i){ - next = items[i + 1]; - prev = items[i - 1]; - curr = items[i]; - if (Math.round((next + prev) / 2) !== curr) { - table.push({ - time: curr, - pos: i / (ilen - 1) - }); - } - } - return table; - } - _generate() { - const min = this.min; - const max = this.max; - let timestamps = super.getDataTimestamps(); - if (!timestamps.includes(min) || !timestamps.length) { - timestamps.splice(0, 0, min); - } - if (!timestamps.includes(max) || timestamps.length === 1) { - timestamps.push(max); - } - return timestamps.sort((a, b)=>a - b); - } - _getTimestampsForTable() { - let timestamps = this._cache.all || []; - if (timestamps.length) { - return timestamps; - } - const data = this.getDataTimestamps(); - const label = this.getLabelTimestamps(); - if (data.length && label.length) { - timestamps = this.normalize(data.concat(label)); - } else { - timestamps = data.length ? data : label; - } - timestamps = this._cache.all = timestamps; - return timestamps; - } - getDecimalForValue(value) { - return (interpolate(this._table, value) - this._minPos) / this._tableRange; - } - getValueForPixel(pixel) { - const offsets = this._offsets; - const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end; - return interpolate(this._table, decimal * this._tableRange + this._minPos, true); - } -} - -var scales = /*#__PURE__*/Object.freeze({ -__proto__: null, -CategoryScale: CategoryScale, -LinearScale: LinearScale, -LogarithmicScale: LogarithmicScale, -RadialLinearScale: RadialLinearScale, -TimeScale: TimeScale, -TimeSeriesScale: TimeSeriesScale -}); - -const registerables = [ - controllers, - chart_elements, - plugins, - scales -]; - - -//# sourceMappingURL=chart.js.map - - -/***/ } - -}]); \ No newline at end of file diff --git a/public/adminator-erp-theme-two-pages-split-files/vendor-fullcalendar.js b/public/adminator-erp-theme-two-pages-split-files/vendor-fullcalendar.js deleted file mode 100644 index 109e46e..0000000 --- a/public/adminator-erp-theme-two-pages-split-files/vendor-fullcalendar.js +++ /dev/null @@ -1,14692 +0,0 @@ -"use strict"; -(self["webpackChunk"] = self["webpackChunk"] || []).push([[707],{ - -/***/ 932 -(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ Vv: () => (/* binding */ Calendar), -/* harmony export */ i1: () => (/* binding */ createPlugin) -/* harmony export */ }); -/* unused harmony exports formatDate, formatRange, globalLocales, globalPlugins, sliceEvents, version */ -/* unused harmony import specifier */ var createFormatter; -/* unused harmony import specifier */ var BASE_OPTION_DEFAULTS; -/* unused harmony import specifier */ var DateEnv; -/* unused harmony import specifier */ var sliceEventStore; -/* harmony import */ var _internal_common_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(533); -/* harmony import */ var preact__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(181); -/* harmony import */ var preact_compat__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(102); - - - - - -const globalLocales = []; - -const MINIMAL_RAW_EN_LOCALE = { - code: 'en', - week: { - dow: 0, - doy: 4, // 4 days need to be within the year to be considered the first week - }, - direction: 'ltr', - buttonText: { - prev: 'prev', - next: 'next', - prevYear: 'prev year', - nextYear: 'next year', - year: 'year', - today: 'today', - month: 'month', - week: 'week', - day: 'day', - list: 'list', - }, - weekText: 'W', - weekTextLong: 'Week', - closeHint: 'Close', - timeHint: 'Time', - eventHint: 'Event', - allDayText: 'all-day', - moreLinkText: 'more', - noEventsText: 'No events to display', -}; -const RAW_EN_LOCALE = Object.assign(Object.assign({}, MINIMAL_RAW_EN_LOCALE), { - // Includes things we don't want other locales to inherit, - // things that derive from other translatable strings. - buttonHints: { - prev: 'Previous $0', - next: 'Next $0', - today(buttonText, unit) { - return (unit === 'day') - ? 'Today' - : `This ${buttonText}`; - }, - }, viewHint: '$0 view', navLinkHint: 'Go to $0', moreLinkHint(eventCnt) { - return `Show ${eventCnt} more event${eventCnt === 1 ? '' : 's'}`; - } }); -function organizeRawLocales(explicitRawLocales) { - let defaultCode = explicitRawLocales.length > 0 ? explicitRawLocales[0].code : 'en'; - let allRawLocales = globalLocales.concat(explicitRawLocales); - let rawLocaleMap = { - en: RAW_EN_LOCALE, - }; - for (let rawLocale of allRawLocales) { - rawLocaleMap[rawLocale.code] = rawLocale; - } - return { - map: rawLocaleMap, - defaultCode, - }; -} -function buildLocale(inputSingular, available) { - if (typeof inputSingular === 'object' && !Array.isArray(inputSingular)) { - return parseLocale(inputSingular.code, [inputSingular.code], inputSingular); - } - return queryLocale(inputSingular, available); -} -function queryLocale(codeArg, available) { - let codes = [].concat(codeArg || []); // will convert to array - let raw = queryRawLocale(codes, available) || RAW_EN_LOCALE; - return parseLocale(codeArg, codes, raw); -} -function queryRawLocale(codes, available) { - for (let i = 0; i < codes.length; i += 1) { - let parts = codes[i].toLocaleLowerCase().split('-'); - for (let j = parts.length; j > 0; j -= 1) { - let simpleId = parts.slice(0, j).join('-'); - if (available[simpleId]) { - return available[simpleId]; - } - } - } - return null; -} -function parseLocale(codeArg, codes, raw) { - let merged = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.m)([MINIMAL_RAW_EN_LOCALE, raw], ['buttonText']); - delete merged.code; // don't want this part of the options - let { week } = merged; - delete merged.week; - return { - codeArg, - codes, - week, - simpleNumberFormat: new Intl.NumberFormat(codeArg), - options: merged, - }; -} - -// TODO: easier way to add new hooks? need to update a million things -function createPlugin(input) { - return { - id: (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.g)(), - name: input.name, - premiumReleaseDate: input.premiumReleaseDate ? new Date(input.premiumReleaseDate) : undefined, - deps: input.deps || [], - reducers: input.reducers || [], - isLoadingFuncs: input.isLoadingFuncs || [], - contextInit: [].concat(input.contextInit || []), - eventRefiners: input.eventRefiners || {}, - eventDefMemberAdders: input.eventDefMemberAdders || [], - eventSourceRefiners: input.eventSourceRefiners || {}, - isDraggableTransformers: input.isDraggableTransformers || [], - eventDragMutationMassagers: input.eventDragMutationMassagers || [], - eventDefMutationAppliers: input.eventDefMutationAppliers || [], - dateSelectionTransformers: input.dateSelectionTransformers || [], - datePointTransforms: input.datePointTransforms || [], - dateSpanTransforms: input.dateSpanTransforms || [], - views: input.views || {}, - viewPropsTransformers: input.viewPropsTransformers || [], - isPropsValid: input.isPropsValid || null, - externalDefTransforms: input.externalDefTransforms || [], - viewContainerAppends: input.viewContainerAppends || [], - eventDropTransformers: input.eventDropTransformers || [], - componentInteractions: input.componentInteractions || [], - calendarInteractions: input.calendarInteractions || [], - themeClasses: input.themeClasses || {}, - eventSourceDefs: input.eventSourceDefs || [], - cmdFormatter: input.cmdFormatter, - recurringTypes: input.recurringTypes || [], - namedTimeZonedImpl: input.namedTimeZonedImpl, - initialView: input.initialView || '', - elementDraggingImpl: input.elementDraggingImpl, - optionChangeHandlers: input.optionChangeHandlers || {}, - scrollGridImpl: input.scrollGridImpl || null, - listenerRefiners: input.listenerRefiners || {}, - optionRefiners: input.optionRefiners || {}, - propSetHandlers: input.propSetHandlers || {}, - }; -} -function buildPluginHooks(pluginDefs, globalDefs) { - let currentPluginIds = {}; - let hooks = { - premiumReleaseDate: undefined, - reducers: [], - isLoadingFuncs: [], - contextInit: [], - eventRefiners: {}, - eventDefMemberAdders: [], - eventSourceRefiners: {}, - isDraggableTransformers: [], - eventDragMutationMassagers: [], - eventDefMutationAppliers: [], - dateSelectionTransformers: [], - datePointTransforms: [], - dateSpanTransforms: [], - views: {}, - viewPropsTransformers: [], - isPropsValid: null, - externalDefTransforms: [], - viewContainerAppends: [], - eventDropTransformers: [], - componentInteractions: [], - calendarInteractions: [], - themeClasses: {}, - eventSourceDefs: [], - cmdFormatter: null, - recurringTypes: [], - namedTimeZonedImpl: null, - initialView: '', - elementDraggingImpl: null, - optionChangeHandlers: {}, - scrollGridImpl: null, - listenerRefiners: {}, - optionRefiners: {}, - propSetHandlers: {}, - }; - function addDefs(defs) { - for (let def of defs) { - const pluginName = def.name; - const currentId = currentPluginIds[pluginName]; - if (currentId === undefined) { - currentPluginIds[pluginName] = def.id; - addDefs(def.deps); - hooks = combineHooks(hooks, def); - } - else if (currentId !== def.id) { - // different ID than the one already added - console.warn(`Duplicate plugin '${pluginName}'`); - } - } - } - if (pluginDefs) { - addDefs(pluginDefs); - } - addDefs(globalDefs); - return hooks; -} -function buildBuildPluginHooks() { - let currentOverrideDefs = []; - let currentGlobalDefs = []; - let currentHooks; - return (overrideDefs, globalDefs) => { - if (!currentHooks || !(0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.i)(overrideDefs, currentOverrideDefs) || !(0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.i)(globalDefs, currentGlobalDefs)) { - currentHooks = buildPluginHooks(overrideDefs, globalDefs); - } - currentOverrideDefs = overrideDefs; - currentGlobalDefs = globalDefs; - return currentHooks; - }; -} -function combineHooks(hooks0, hooks1) { - return { - premiumReleaseDate: compareOptionalDates(hooks0.premiumReleaseDate, hooks1.premiumReleaseDate), - reducers: hooks0.reducers.concat(hooks1.reducers), - isLoadingFuncs: hooks0.isLoadingFuncs.concat(hooks1.isLoadingFuncs), - contextInit: hooks0.contextInit.concat(hooks1.contextInit), - eventRefiners: Object.assign(Object.assign({}, hooks0.eventRefiners), hooks1.eventRefiners), - eventDefMemberAdders: hooks0.eventDefMemberAdders.concat(hooks1.eventDefMemberAdders), - eventSourceRefiners: Object.assign(Object.assign({}, hooks0.eventSourceRefiners), hooks1.eventSourceRefiners), - isDraggableTransformers: hooks0.isDraggableTransformers.concat(hooks1.isDraggableTransformers), - eventDragMutationMassagers: hooks0.eventDragMutationMassagers.concat(hooks1.eventDragMutationMassagers), - eventDefMutationAppliers: hooks0.eventDefMutationAppliers.concat(hooks1.eventDefMutationAppliers), - dateSelectionTransformers: hooks0.dateSelectionTransformers.concat(hooks1.dateSelectionTransformers), - datePointTransforms: hooks0.datePointTransforms.concat(hooks1.datePointTransforms), - dateSpanTransforms: hooks0.dateSpanTransforms.concat(hooks1.dateSpanTransforms), - views: Object.assign(Object.assign({}, hooks0.views), hooks1.views), - viewPropsTransformers: hooks0.viewPropsTransformers.concat(hooks1.viewPropsTransformers), - isPropsValid: hooks1.isPropsValid || hooks0.isPropsValid, - externalDefTransforms: hooks0.externalDefTransforms.concat(hooks1.externalDefTransforms), - viewContainerAppends: hooks0.viewContainerAppends.concat(hooks1.viewContainerAppends), - eventDropTransformers: hooks0.eventDropTransformers.concat(hooks1.eventDropTransformers), - calendarInteractions: hooks0.calendarInteractions.concat(hooks1.calendarInteractions), - componentInteractions: hooks0.componentInteractions.concat(hooks1.componentInteractions), - themeClasses: Object.assign(Object.assign({}, hooks0.themeClasses), hooks1.themeClasses), - eventSourceDefs: hooks0.eventSourceDefs.concat(hooks1.eventSourceDefs), - cmdFormatter: hooks1.cmdFormatter || hooks0.cmdFormatter, - recurringTypes: hooks0.recurringTypes.concat(hooks1.recurringTypes), - namedTimeZonedImpl: hooks1.namedTimeZonedImpl || hooks0.namedTimeZonedImpl, - initialView: hooks0.initialView || hooks1.initialView, - elementDraggingImpl: hooks0.elementDraggingImpl || hooks1.elementDraggingImpl, - optionChangeHandlers: Object.assign(Object.assign({}, hooks0.optionChangeHandlers), hooks1.optionChangeHandlers), - scrollGridImpl: hooks1.scrollGridImpl || hooks0.scrollGridImpl, - listenerRefiners: Object.assign(Object.assign({}, hooks0.listenerRefiners), hooks1.listenerRefiners), - optionRefiners: Object.assign(Object.assign({}, hooks0.optionRefiners), hooks1.optionRefiners), - propSetHandlers: Object.assign(Object.assign({}, hooks0.propSetHandlers), hooks1.propSetHandlers), - }; -} -function compareOptionalDates(date0, date1) { - if (date0 === undefined) { - return date1; - } - if (date1 === undefined) { - return date0; - } - return new Date(Math.max(date0.valueOf(), date1.valueOf())); -} - -class StandardTheme extends _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.T { -} -StandardTheme.prototype.classes = { - root: 'fc-theme-standard', - tableCellShaded: 'fc-cell-shaded', - buttonGroup: 'fc-button-group', - button: 'fc-button fc-button-primary', - buttonActive: 'fc-button-active', -}; -StandardTheme.prototype.baseIconClass = 'fc-icon'; -StandardTheme.prototype.iconClasses = { - close: 'fc-icon-x', - prev: 'fc-icon-chevron-left', - next: 'fc-icon-chevron-right', - prevYear: 'fc-icon-chevrons-left', - nextYear: 'fc-icon-chevrons-right', -}; -StandardTheme.prototype.rtlIconClasses = { - prev: 'fc-icon-chevron-right', - next: 'fc-icon-chevron-left', - prevYear: 'fc-icon-chevrons-right', - nextYear: 'fc-icon-chevrons-left', -}; -StandardTheme.prototype.iconOverrideOption = 'buttonIcons'; // TODO: make TS-friendly -StandardTheme.prototype.iconOverrideCustomButtonOption = 'icon'; -StandardTheme.prototype.iconOverridePrefix = 'fc-icon-'; - -function compileViewDefs(defaultConfigs, overrideConfigs) { - let hash = {}; - let viewType; - for (viewType in defaultConfigs) { - ensureViewDef(viewType, hash, defaultConfigs, overrideConfigs); - } - for (viewType in overrideConfigs) { - ensureViewDef(viewType, hash, defaultConfigs, overrideConfigs); - } - return hash; -} -function ensureViewDef(viewType, hash, defaultConfigs, overrideConfigs) { - if (hash[viewType]) { - return hash[viewType]; - } - let viewDef = buildViewDef(viewType, hash, defaultConfigs, overrideConfigs); - if (viewDef) { - hash[viewType] = viewDef; - } - return viewDef; -} -function buildViewDef(viewType, hash, defaultConfigs, overrideConfigs) { - let defaultConfig = defaultConfigs[viewType]; - let overrideConfig = overrideConfigs[viewType]; - let queryProp = (name) => ((defaultConfig && defaultConfig[name] !== null) ? defaultConfig[name] : - ((overrideConfig && overrideConfig[name] !== null) ? overrideConfig[name] : null)); - let theComponent = queryProp('component'); - let superType = queryProp('superType'); - let superDef = null; - if (superType) { - if (superType === viewType) { - throw new Error('Can\'t have a custom view type that references itself'); - } - superDef = ensureViewDef(superType, hash, defaultConfigs, overrideConfigs); - } - if (!theComponent && superDef) { - theComponent = superDef.component; - } - if (!theComponent) { - return null; // don't throw a warning, might be settings for a single-unit view - } - return { - type: viewType, - component: theComponent, - defaults: Object.assign(Object.assign({}, (superDef ? superDef.defaults : {})), (defaultConfig ? defaultConfig.rawOptions : {})), - overrides: Object.assign(Object.assign({}, (superDef ? superDef.overrides : {})), (overrideConfig ? overrideConfig.rawOptions : {})), - }; -} - -function parseViewConfigs(inputs) { - return (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.a)(inputs, parseViewConfig); -} -function parseViewConfig(input) { - let rawOptions = typeof input === 'function' ? - { component: input } : - input; - let { component } = rawOptions; - if (rawOptions.content) { - // TODO: remove content/classNames/didMount/etc from options? - component = createViewHookComponent(rawOptions); - } - else if (component && !(component.prototype instanceof _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.B)) { - // WHY?: people were using `component` property for `content` - // TODO: converge on one setting name - component = createViewHookComponent(Object.assign(Object.assign({}, rawOptions), { content: component })); - } - return { - superType: rawOptions.type, - component: component, - rawOptions, // includes type and component too :( - }; -} -function createViewHookComponent(options) { - return (viewProps) => ((0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createElement */ .n)(_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.V.Consumer, null, (context) => ((0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createElement */ .n)(_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.C, { elTag: "div", elClasses: (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.b)(context.viewSpec), renderProps: Object.assign(Object.assign({}, viewProps), { nextDayThreshold: context.options.nextDayThreshold }), generatorName: undefined, customGenerator: options.content, classNameGenerator: options.classNames, didMount: options.didMount, willUnmount: options.willUnmount })))); -} - -function buildViewSpecs(defaultInputs, optionOverrides, dynamicOptionOverrides, localeDefaults) { - let defaultConfigs = parseViewConfigs(defaultInputs); - let overrideConfigs = parseViewConfigs(optionOverrides.views); - let viewDefs = compileViewDefs(defaultConfigs, overrideConfigs); - return (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.a)(viewDefs, (viewDef) => buildViewSpec(viewDef, overrideConfigs, optionOverrides, dynamicOptionOverrides, localeDefaults)); -} -function buildViewSpec(viewDef, overrideConfigs, optionOverrides, dynamicOptionOverrides, localeDefaults) { - let durationInput = viewDef.overrides.duration || - viewDef.defaults.duration || - dynamicOptionOverrides.duration || - optionOverrides.duration; - let duration = null; - let durationUnit = ''; - let singleUnit = ''; - let singleUnitOverrides = {}; - if (durationInput) { - duration = createDurationCached(durationInput); - if (duration) { // valid? - let denom = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.c)(duration); - durationUnit = denom.unit; - if (denom.value === 1) { - singleUnit = durationUnit; - singleUnitOverrides = overrideConfigs[durationUnit] ? overrideConfigs[durationUnit].rawOptions : {}; - } - } - } - let queryButtonText = (optionsSubset) => { - let buttonTextMap = optionsSubset.buttonText || {}; - let buttonTextKey = viewDef.defaults.buttonTextKey; - if (buttonTextKey != null && buttonTextMap[buttonTextKey] != null) { - return buttonTextMap[buttonTextKey]; - } - if (buttonTextMap[viewDef.type] != null) { - return buttonTextMap[viewDef.type]; - } - if (buttonTextMap[singleUnit] != null) { - return buttonTextMap[singleUnit]; - } - return null; - }; - let queryButtonTitle = (optionsSubset) => { - let buttonHints = optionsSubset.buttonHints || {}; - let buttonKey = viewDef.defaults.buttonTextKey; // use same key as text - if (buttonKey != null && buttonHints[buttonKey] != null) { - return buttonHints[buttonKey]; - } - if (buttonHints[viewDef.type] != null) { - return buttonHints[viewDef.type]; - } - if (buttonHints[singleUnit] != null) { - return buttonHints[singleUnit]; - } - return null; - }; - return { - type: viewDef.type, - component: viewDef.component, - duration, - durationUnit, - singleUnit, - optionDefaults: viewDef.defaults, - optionOverrides: Object.assign(Object.assign({}, singleUnitOverrides), viewDef.overrides), - buttonTextOverride: queryButtonText(dynamicOptionOverrides) || - queryButtonText(optionOverrides) || // constructor-specified buttonText lookup hash takes precedence - viewDef.overrides.buttonText, - buttonTextDefault: queryButtonText(localeDefaults) || - viewDef.defaults.buttonText || - queryButtonText(_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.e) || - viewDef.type, - // not DRY - buttonTitleOverride: queryButtonTitle(dynamicOptionOverrides) || - queryButtonTitle(optionOverrides) || - viewDef.overrides.buttonHint, - buttonTitleDefault: queryButtonTitle(localeDefaults) || - viewDef.defaults.buttonHint || - queryButtonTitle(_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.e), - // will eventually fall back to buttonText - }; -} -// hack to get memoization working -let durationInputMap = {}; -function createDurationCached(durationInput) { - let json = JSON.stringify(durationInput); - let res = durationInputMap[json]; - if (res === undefined) { - res = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.d)(durationInput); - durationInputMap[json] = res; - } - return res; -} - -function reduceViewType(viewType, action) { - switch (action.type) { - case 'CHANGE_VIEW_TYPE': - viewType = action.viewType; - } - return viewType; -} - -function reduceCurrentDate(currentDate, action) { - switch (action.type) { - case 'CHANGE_DATE': - return action.dateMarker; - default: - return currentDate; - } -} -// should be initialized once and stay constant -// this will change too -function getInitialDate(options, dateEnv, nowManager) { - let initialDateInput = options.initialDate; - // compute the initial ambig-timezone date - if (initialDateInput != null) { - return dateEnv.createMarker(initialDateInput); - } - return nowManager.getDateMarker(); -} - -function reduceDynamicOptionOverrides(dynamicOptionOverrides, action) { - switch (action.type) { - case 'SET_OPTION': - return Object.assign(Object.assign({}, dynamicOptionOverrides), { [action.optionName]: action.rawOptionValue }); - default: - return dynamicOptionOverrides; - } -} - -function reduceDateProfile(currentDateProfile, action, currentDate, dateProfileGenerator) { - let dp; - switch (action.type) { - case 'CHANGE_VIEW_TYPE': - return dateProfileGenerator.build(action.dateMarker || currentDate); - case 'CHANGE_DATE': - return dateProfileGenerator.build(action.dateMarker); - case 'PREV': - dp = dateProfileGenerator.buildPrev(currentDateProfile, currentDate); - if (dp.isValid) { - return dp; - } - break; - case 'NEXT': - dp = dateProfileGenerator.buildNext(currentDateProfile, currentDate); - if (dp.isValid) { - return dp; - } - break; - } - return currentDateProfile; -} - -function initEventSources(calendarOptions, dateProfile, context) { - let activeRange = dateProfile ? dateProfile.activeRange : null; - return addSources({}, parseInitialSources(calendarOptions, context), activeRange, context); -} -function reduceEventSources(eventSources, action, dateProfile, context) { - let activeRange = dateProfile ? dateProfile.activeRange : null; // need this check? - switch (action.type) { - case 'ADD_EVENT_SOURCES': // already parsed - return addSources(eventSources, action.sources, activeRange, context); - case 'REMOVE_EVENT_SOURCE': - return removeSource(eventSources, action.sourceId); - case 'PREV': // TODO: how do we track all actions that affect dateProfile :( - case 'NEXT': - case 'CHANGE_DATE': - case 'CHANGE_VIEW_TYPE': - if (dateProfile) { - return fetchDirtySources(eventSources, activeRange, context); - } - return eventSources; - case 'FETCH_EVENT_SOURCES': - return fetchSourcesByIds(eventSources, action.sourceIds ? // why no type? - (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.f)(action.sourceIds) : - excludeStaticSources(eventSources, context), activeRange, action.isRefetch || false, context); - case 'RECEIVE_EVENTS': - case 'RECEIVE_EVENT_ERROR': - return receiveResponse(eventSources, action.sourceId, action.fetchId, action.fetchRange); - case 'REMOVE_ALL_EVENT_SOURCES': - return {}; - default: - return eventSources; - } -} -function reduceEventSourcesNewTimeZone(eventSources, dateProfile, context) { - let activeRange = dateProfile ? dateProfile.activeRange : null; // need this check? - return fetchSourcesByIds(eventSources, excludeStaticSources(eventSources, context), activeRange, true, context); -} -function computeEventSourcesLoading(eventSources) { - for (let sourceId in eventSources) { - if (eventSources[sourceId].isFetching) { - return true; - } - } - return false; -} -function addSources(eventSourceHash, sources, fetchRange, context) { - let hash = {}; - for (let source of sources) { - hash[source.sourceId] = source; - } - if (fetchRange) { - hash = fetchDirtySources(hash, fetchRange, context); - } - return Object.assign(Object.assign({}, eventSourceHash), hash); -} -function removeSource(eventSourceHash, sourceId) { - return (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.h)(eventSourceHash, (eventSource) => eventSource.sourceId !== sourceId); -} -function fetchDirtySources(sourceHash, fetchRange, context) { - return fetchSourcesByIds(sourceHash, (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.h)(sourceHash, (eventSource) => isSourceDirty(eventSource, fetchRange, context)), fetchRange, false, context); -} -function isSourceDirty(eventSource, fetchRange, context) { - if (!doesSourceNeedRange(eventSource, context)) { - return !eventSource.latestFetchId; - } - return !context.options.lazyFetching || - !eventSource.fetchRange || - eventSource.isFetching || // always cancel outdated in-progress fetches - fetchRange.start < eventSource.fetchRange.start || - fetchRange.end > eventSource.fetchRange.end; -} -function fetchSourcesByIds(prevSources, sourceIdHash, fetchRange, isRefetch, context) { - let nextSources = {}; - for (let sourceId in prevSources) { - let source = prevSources[sourceId]; - if (sourceIdHash[sourceId]) { - nextSources[sourceId] = fetchSource(source, fetchRange, isRefetch, context); - } - else { - nextSources[sourceId] = source; - } - } - return nextSources; -} -function fetchSource(eventSource, fetchRange, isRefetch, context) { - let { options, calendarApi } = context; - let sourceDef = context.pluginHooks.eventSourceDefs[eventSource.sourceDefId]; - let fetchId = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.g)(); - sourceDef.fetch({ - eventSource, - range: fetchRange, - isRefetch, - context, - }, (res) => { - let { rawEvents } = res; - if (options.eventSourceSuccess) { - rawEvents = options.eventSourceSuccess.call(calendarApi, rawEvents, res.response) || rawEvents; - } - if (eventSource.success) { - rawEvents = eventSource.success.call(calendarApi, rawEvents, res.response) || rawEvents; - } - context.dispatch({ - type: 'RECEIVE_EVENTS', - sourceId: eventSource.sourceId, - fetchId, - fetchRange, - rawEvents, - }); - }, (error) => { - let errorHandled = false; - if (options.eventSourceFailure) { - options.eventSourceFailure.call(calendarApi, error); - errorHandled = true; - } - if (eventSource.failure) { - eventSource.failure(error); - errorHandled = true; - } - if (!errorHandled) { - console.warn(error.message, error); - } - context.dispatch({ - type: 'RECEIVE_EVENT_ERROR', - sourceId: eventSource.sourceId, - fetchId, - fetchRange, - error, - }); - }); - return Object.assign(Object.assign({}, eventSource), { isFetching: true, latestFetchId: fetchId }); -} -function receiveResponse(sourceHash, sourceId, fetchId, fetchRange) { - let eventSource = sourceHash[sourceId]; - if (eventSource && // not already removed - fetchId === eventSource.latestFetchId) { - return Object.assign(Object.assign({}, sourceHash), { [sourceId]: Object.assign(Object.assign({}, eventSource), { isFetching: false, fetchRange }) }); - } - return sourceHash; -} -function excludeStaticSources(eventSources, context) { - return (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.h)(eventSources, (eventSource) => doesSourceNeedRange(eventSource, context)); -} -function parseInitialSources(rawOptions, context) { - let refiners = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.j)(context); - let rawSources = [].concat(rawOptions.eventSources || []); - let sources = []; // parsed - if (rawOptions.initialEvents) { - rawSources.unshift(rawOptions.initialEvents); - } - if (rawOptions.events) { - rawSources.unshift(rawOptions.events); - } - for (let rawSource of rawSources) { - let source = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.p)(rawSource, context, refiners); - if (source) { - sources.push(source); - } - } - return sources; -} -function doesSourceNeedRange(eventSource, context) { - let defs = context.pluginHooks.eventSourceDefs; - return !defs[eventSource.sourceDefId].ignoreRange; -} - -function reduceDateSelection(currentSelection, action) { - switch (action.type) { - case 'UNSELECT_DATES': - return null; - case 'SELECT_DATES': - return action.selection; - default: - return currentSelection; - } -} - -function reduceSelectedEvent(currentInstanceId, action) { - switch (action.type) { - case 'UNSELECT_EVENT': - return ''; - case 'SELECT_EVENT': - return action.eventInstanceId; - default: - return currentInstanceId; - } -} - -function reduceEventDrag(currentDrag, action) { - let newDrag; - switch (action.type) { - case 'UNSET_EVENT_DRAG': - return null; - case 'SET_EVENT_DRAG': - newDrag = action.state; - return { - affectedEvents: newDrag.affectedEvents, - mutatedEvents: newDrag.mutatedEvents, - isEvent: newDrag.isEvent, - }; - default: - return currentDrag; - } -} - -function reduceEventResize(currentResize, action) { - let newResize; - switch (action.type) { - case 'UNSET_EVENT_RESIZE': - return null; - case 'SET_EVENT_RESIZE': - newResize = action.state; - return { - affectedEvents: newResize.affectedEvents, - mutatedEvents: newResize.mutatedEvents, - isEvent: newResize.isEvent, - }; - default: - return currentResize; - } -} - -function parseToolbars(calendarOptions, calendarOptionOverrides, theme, viewSpecs, calendarApi) { - let header = calendarOptions.headerToolbar ? parseToolbar(calendarOptions.headerToolbar, calendarOptions, calendarOptionOverrides, theme, viewSpecs, calendarApi) : null; - let footer = calendarOptions.footerToolbar ? parseToolbar(calendarOptions.footerToolbar, calendarOptions, calendarOptionOverrides, theme, viewSpecs, calendarApi) : null; - return { header, footer }; -} -function parseToolbar(sectionStrHash, calendarOptions, calendarOptionOverrides, theme, viewSpecs, calendarApi) { - let sectionWidgets = {}; - let viewsWithButtons = []; - let hasTitle = false; - for (let sectionName in sectionStrHash) { - let sectionStr = sectionStrHash[sectionName]; - let sectionRes = parseSection(sectionStr, calendarOptions, calendarOptionOverrides, theme, viewSpecs, calendarApi); - sectionWidgets[sectionName] = sectionRes.widgets; - viewsWithButtons.push(...sectionRes.viewsWithButtons); - hasTitle = hasTitle || sectionRes.hasTitle; - } - return { sectionWidgets, viewsWithButtons, hasTitle }; -} -/* -BAD: querying icons and text here. should be done at render time -*/ -function parseSection(sectionStr, calendarOptions, // defaults+overrides, then refined -calendarOptionOverrides, // overrides only!, unrefined :( -theme, viewSpecs, calendarApi) { - let isRtl = calendarOptions.direction === 'rtl'; - let calendarCustomButtons = calendarOptions.customButtons || {}; - let calendarButtonTextOverrides = calendarOptionOverrides.buttonText || {}; - let calendarButtonText = calendarOptions.buttonText || {}; - let calendarButtonHintOverrides = calendarOptionOverrides.buttonHints || {}; - let calendarButtonHints = calendarOptions.buttonHints || {}; - let sectionSubstrs = sectionStr ? sectionStr.split(' ') : []; - let viewsWithButtons = []; - let hasTitle = false; - let widgets = sectionSubstrs.map((buttonGroupStr) => (buttonGroupStr.split(',').map((buttonName) => { - if (buttonName === 'title') { - hasTitle = true; - return { buttonName }; - } - let customButtonProps; - let viewSpec; - let buttonClick; - let buttonIcon; // only one of these will be set - let buttonText; // " - let buttonHint; - // ^ for the title="" attribute, for accessibility - if ((customButtonProps = calendarCustomButtons[buttonName])) { - buttonClick = (ev) => { - if (customButtonProps.click) { - customButtonProps.click.call(ev.target, ev, ev.target); // TODO: use Calendar this context? - } - }; - (buttonIcon = theme.getCustomButtonIconClass(customButtonProps)) || - (buttonIcon = theme.getIconClass(buttonName, isRtl)) || - (buttonText = customButtonProps.text); - buttonHint = customButtonProps.hint || customButtonProps.text; - } - else if ((viewSpec = viewSpecs[buttonName])) { - viewsWithButtons.push(buttonName); - buttonClick = () => { - calendarApi.changeView(buttonName); - }; - (buttonText = viewSpec.buttonTextOverride) || - (buttonIcon = theme.getIconClass(buttonName, isRtl)) || - (buttonText = viewSpec.buttonTextDefault); - let textFallback = viewSpec.buttonTextOverride || - viewSpec.buttonTextDefault; - buttonHint = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.k)(viewSpec.buttonTitleOverride || - viewSpec.buttonTitleDefault || - calendarOptions.viewHint, [textFallback, buttonName], // view-name = buttonName - textFallback); - } - else if (calendarApi[buttonName]) { // a calendarApi method - buttonClick = () => { - calendarApi[buttonName](); - }; - (buttonText = calendarButtonTextOverrides[buttonName]) || - (buttonIcon = theme.getIconClass(buttonName, isRtl)) || - (buttonText = calendarButtonText[buttonName]); // everything else is considered default - if (buttonName === 'prevYear' || buttonName === 'nextYear') { - let prevOrNext = buttonName === 'prevYear' ? 'prev' : 'next'; - buttonHint = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.k)(calendarButtonHintOverrides[prevOrNext] || - calendarButtonHints[prevOrNext], [ - calendarButtonText.year || 'year', - 'year', - ], calendarButtonText[buttonName]); - } - else { - buttonHint = (navUnit) => (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.k)(calendarButtonHintOverrides[buttonName] || - calendarButtonHints[buttonName], [ - calendarButtonText[navUnit] || navUnit, - navUnit, - ], calendarButtonText[buttonName]); - } - } - return { buttonName, buttonClick, buttonIcon, buttonText, buttonHint }; - }))); - return { widgets, viewsWithButtons, hasTitle }; -} - -// always represents the current view. otherwise, it'd need to change value every time date changes -class ViewImpl { - constructor(type, getCurrentData, dateEnv) { - this.type = type; - this.getCurrentData = getCurrentData; - this.dateEnv = dateEnv; - } - get calendar() { - return this.getCurrentData().calendarApi; - } - get title() { - return this.getCurrentData().viewTitle; - } - get activeStart() { - return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.start); - } - get activeEnd() { - return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.end); - } - get currentStart() { - return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.start); - } - get currentEnd() { - return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.end); - } - getOption(name) { - return this.getCurrentData().options[name]; // are the view-specific options - } -} - -let eventSourceDef$2 = { - ignoreRange: true, - parseMeta(refined) { - if (Array.isArray(refined.events)) { - return refined.events; - } - return null; - }, - fetch(arg, successCallback) { - successCallback({ - rawEvents: arg.eventSource.meta, - }); - }, -}; -const arrayEventSourcePlugin = createPlugin({ - name: 'array-event-source', - eventSourceDefs: [eventSourceDef$2], -}); - -let eventSourceDef$1 = { - parseMeta(refined) { - if (typeof refined.events === 'function') { - return refined.events; - } - return null; - }, - fetch(arg, successCallback, errorCallback) { - const { dateEnv } = arg.context; - const func = arg.eventSource.meta; - (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.u)(func.bind(null, (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.l)(arg.range, dateEnv)), (rawEvents) => successCallback({ rawEvents }), errorCallback); - }, -}; -const funcEventSourcePlugin = createPlugin({ - name: 'func-event-source', - eventSourceDefs: [eventSourceDef$1], -}); - -const JSON_FEED_EVENT_SOURCE_REFINERS = { - method: String, - extraParams: _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.n, - startParam: String, - endParam: String, - timeZoneParam: String, -}; - -let eventSourceDef = { - parseMeta(refined) { - if (refined.url && (refined.format === 'json' || !refined.format)) { - return { - url: refined.url, - format: 'json', - method: (refined.method || 'GET').toUpperCase(), - extraParams: refined.extraParams, - startParam: refined.startParam, - endParam: refined.endParam, - timeZoneParam: refined.timeZoneParam, - }; - } - return null; - }, - fetch(arg, successCallback, errorCallback) { - const { meta } = arg.eventSource; - const requestParams = buildRequestParams(meta, arg.range, arg.context); - (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.r)(meta.method, meta.url, requestParams).then(([rawEvents, response]) => { - successCallback({ rawEvents, response }); - }, errorCallback); - }, -}; -const jsonFeedEventSourcePlugin = createPlugin({ - name: 'json-event-source', - eventSourceRefiners: JSON_FEED_EVENT_SOURCE_REFINERS, - eventSourceDefs: [eventSourceDef], -}); -function buildRequestParams(meta, range, context) { - let { dateEnv, options } = context; - let startParam; - let endParam; - let timeZoneParam; - let customRequestParams; - let params = {}; - startParam = meta.startParam; - if (startParam == null) { - startParam = options.startParam; - } - endParam = meta.endParam; - if (endParam == null) { - endParam = options.endParam; - } - timeZoneParam = meta.timeZoneParam; - if (timeZoneParam == null) { - timeZoneParam = options.timeZoneParam; - } - // retrieve any outbound GET/POST data from the options - if (typeof meta.extraParams === 'function') { - // supplied as a function that returns a key/value object - customRequestParams = meta.extraParams(); - } - else { - // probably supplied as a straight key/value object - customRequestParams = meta.extraParams || {}; - } - Object.assign(params, customRequestParams); - params[startParam] = dateEnv.formatIso(range.start); - params[endParam] = dateEnv.formatIso(range.end); - if (dateEnv.timeZone !== 'local') { - params[timeZoneParam] = dateEnv.timeZone; - } - return params; -} - -const SIMPLE_RECURRING_REFINERS = { - daysOfWeek: _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.n, - startTime: _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.d, - endTime: _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.d, - duration: _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.d, - startRecur: _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.n, - endRecur: _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.n, -}; - -let recurring = { - parse(refined, dateEnv) { - if (refined.daysOfWeek || refined.startTime || refined.endTime || refined.startRecur || refined.endRecur) { - let recurringData = { - daysOfWeek: refined.daysOfWeek || null, - startTime: refined.startTime || null, - endTime: refined.endTime || null, - startRecur: refined.startRecur ? dateEnv.createMarker(refined.startRecur) : null, - endRecur: refined.endRecur ? dateEnv.createMarker(refined.endRecur) : null, - dateEnv, - }; - let duration; - if (refined.duration) { - duration = refined.duration; - } - if (!duration && refined.startTime && refined.endTime) { - duration = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.s)(refined.endTime, refined.startTime); - } - return { - allDayGuess: Boolean(!refined.startTime && !refined.endTime), - duration, - typeData: recurringData, // doesn't need endTime anymore but oh well - }; - } - return null; - }, - expand(typeData, framingRange, dateEnv) { - let clippedFramingRange = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.o)(framingRange, { start: typeData.startRecur, end: typeData.endRecur }); - if (clippedFramingRange) { - return expandRanges(typeData.daysOfWeek, typeData.startTime, typeData.dateEnv, dateEnv, clippedFramingRange); - } - return []; - }, -}; -const simpleRecurringEventsPlugin = createPlugin({ - name: 'simple-recurring-event', - recurringTypes: [recurring], - eventRefiners: SIMPLE_RECURRING_REFINERS, -}); -function expandRanges(daysOfWeek, startTime, eventDateEnv, calendarDateEnv, framingRange) { - let dowHash = daysOfWeek ? (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.f)(daysOfWeek) : null; - let dayMarker = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.q)(framingRange.start); - let endMarker = framingRange.end; - let instanceStarts = []; - // https://github.com/fullcalendar/fullcalendar/issues/7934 - if (startTime) { - if (startTime.milliseconds < 0) { - // possible for next-day to have negative business hours that go into current day - endMarker = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.t)(endMarker, 1); - } - else if (startTime.milliseconds >= 1000 * 60 * 60 * 24) { - // possible for prev-day to have >24hr business hours that go into current day - dayMarker = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.t)(dayMarker, -1); - } - } - while (dayMarker < endMarker) { - let instanceStart; - // if everyday, or this particular day-of-week - if (!dowHash || dowHash[dayMarker.getUTCDay()]) { - if (startTime) { - instanceStart = calendarDateEnv.add(dayMarker, startTime); - } - else { - instanceStart = dayMarker; - } - instanceStarts.push(calendarDateEnv.createMarker(eventDateEnv.toDate(instanceStart))); - } - dayMarker = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.t)(dayMarker, 1); - } - return instanceStarts; -} - -const changeHandlerPlugin = createPlugin({ - name: 'change-handler', - optionChangeHandlers: { - events(events, context) { - handleEventSources([events], context); - }, - eventSources: handleEventSources, - }, -}); -/* -BUG: if `event` was supplied, all previously-given `eventSources` will be wiped out -*/ -function handleEventSources(inputs, context) { - let unfoundSources = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.v)(context.getCurrentData().eventSources); - if (unfoundSources.length === 1 && - inputs.length === 1 && - Array.isArray(unfoundSources[0]._raw) && - Array.isArray(inputs[0])) { - context.dispatch({ - type: 'RESET_RAW_EVENTS', - sourceId: unfoundSources[0].sourceId, - rawEvents: inputs[0], - }); - return; - } - let newInputs = []; - for (let input of inputs) { - let inputFound = false; - for (let i = 0; i < unfoundSources.length; i += 1) { - if (unfoundSources[i]._raw === input) { - unfoundSources.splice(i, 1); // delete - inputFound = true; - break; - } - } - if (!inputFound) { - newInputs.push(input); - } - } - for (let unfoundSource of unfoundSources) { - context.dispatch({ - type: 'REMOVE_EVENT_SOURCE', - sourceId: unfoundSource.sourceId, - }); - } - for (let newInput of newInputs) { - context.calendarApi.addEventSource(newInput); - } -} - -function handleDateProfile(dateProfile, context) { - context.emitter.trigger('datesSet', Object.assign(Object.assign({}, (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.l)(dateProfile.activeRange, context.dateEnv)), { view: context.viewApi })); -} - -function handleEventStore(eventStore, context) { - let { emitter } = context; - if (emitter.hasHandlers('eventsSet')) { - emitter.trigger('eventsSet', (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.w)(eventStore, context)); - } -} - -/* -this array is exposed on the root namespace so that UMD plugins can add to it. -see the rollup-bundles script. -*/ -const globalPlugins = [ - arrayEventSourcePlugin, - funcEventSourcePlugin, - jsonFeedEventSourcePlugin, - simpleRecurringEventsPlugin, - changeHandlerPlugin, - createPlugin({ - name: 'misc', - isLoadingFuncs: [ - (state) => computeEventSourcesLoading(state.eventSources), - ], - propSetHandlers: { - dateProfile: handleDateProfile, - eventStore: handleEventStore, - }, - }), -]; - -class TaskRunner { - constructor(runTaskOption, drainedOption) { - this.runTaskOption = runTaskOption; - this.drainedOption = drainedOption; - this.queue = []; - this.delayedRunner = new _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.D(this.drain.bind(this)); - } - request(task, delay) { - this.queue.push(task); - this.delayedRunner.request(delay); - } - pause(scope) { - this.delayedRunner.pause(scope); - } - resume(scope, force) { - this.delayedRunner.resume(scope, force); - } - drain() { - let { queue } = this; - while (queue.length) { - let completedTasks = []; - let task; - while ((task = queue.shift())) { - this.runTask(task); - completedTasks.push(task); - } - this.drained(completedTasks); - } // keep going, in case new tasks were added in the drained handler - } - runTask(task) { - if (this.runTaskOption) { - this.runTaskOption(task); - } - } - drained(completedTasks) { - if (this.drainedOption) { - this.drainedOption(completedTasks); - } - } -} - -// Computes what the title at the top of the calendarApi should be for this view -function buildTitle(dateProfile, viewOptions, dateEnv) { - let range; - // for views that span a large unit of time, show the proper interval, ignoring stray days before and after - if (/^(year|month)$/.test(dateProfile.currentRangeUnit)) { - range = dateProfile.currentRange; - } - else { // for day units or smaller, use the actual day range - range = dateProfile.activeRange; - } - return dateEnv.formatRange(range.start, range.end, (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.x)(viewOptions.titleFormat || buildTitleFormat(dateProfile)), { - isEndExclusive: dateProfile.isRangeAllDay, - defaultSeparator: viewOptions.titleRangeSeparator, - }); -} -// Generates the format string that should be used to generate the title for the current date range. -// Attempts to compute the most appropriate format if not explicitly specified with `titleFormat`. -function buildTitleFormat(dateProfile) { - let { currentRangeUnit } = dateProfile; - if (currentRangeUnit === 'year') { - return { year: 'numeric' }; - } - if (currentRangeUnit === 'month') { - return { year: 'numeric', month: 'long' }; // like "September 2014" - } - let days = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.y)(dateProfile.currentRange.start, dateProfile.currentRange.end); - if (days !== null && days > 1) { - // multi-day range. shorter, like "Sep 9 - 10 2014" - return { year: 'numeric', month: 'short', day: 'numeric' }; - } - // one day. longer, like "September 9 2014" - return { year: 'numeric', month: 'long', day: 'numeric' }; -} - -/* -TODO: test switching timezones when NO timezone plugin -*/ -class CalendarNowManager { - constructor() { - this.resetListeners = new Set(); - } - handleInput(dateEnv, // will change if timezone setup changed - nowInput) { - const oldDateEnv = this.dateEnv; - if (dateEnv !== oldDateEnv) { - if (typeof nowInput === 'function') { - this.nowFn = nowInput; - } - else if (!oldDateEnv) { // first time? - this.nowAnchorDate = dateEnv.toDate(nowInput - ? dateEnv.createMarker(nowInput) - : dateEnv.createNowMarker()); - this.nowAnchorQueried = Date.now(); - } - this.dateEnv = dateEnv; - // not first time? fire reset handlers - if (oldDateEnv) { - for (const resetListener of this.resetListeners.values()) { - resetListener(); - } - } - } - } - getDateMarker() { - return this.nowAnchorDate - ? this.dateEnv.timestampToMarker(this.nowAnchorDate.valueOf() + - (Date.now() - this.nowAnchorQueried)) - : this.dateEnv.createMarker(this.nowFn()); - } - addResetListener(handler) { - this.resetListeners.add(handler); - } - removeResetListener(handler) { - this.resetListeners.delete(handler); - } -} - -// in future refactor, do the redux-style function(state=initial) for initial-state -// also, whatever is happening in constructor, have it happen in action queue too -class CalendarDataManager { - constructor(props) { - this.computeCurrentViewData = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.z)(this._computeCurrentViewData); - this.organizeRawLocales = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.z)(organizeRawLocales); - this.buildLocale = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.z)(buildLocale); - this.buildPluginHooks = buildBuildPluginHooks(); - this.buildDateEnv = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.z)(buildDateEnv$1); - this.buildTheme = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.z)(buildTheme); - this.parseToolbars = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.z)(parseToolbars); - this.buildViewSpecs = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.z)(buildViewSpecs); - this.buildDateProfileGenerator = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.A)(buildDateProfileGenerator); - this.buildViewApi = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.z)(buildViewApi); - this.buildViewUiProps = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.A)(buildViewUiProps); - this.buildEventUiBySource = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.z)(buildEventUiBySource, _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.E); - this.buildEventUiBases = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.z)(buildEventUiBases); - this.parseContextBusinessHours = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.A)(parseContextBusinessHours); - this.buildTitle = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.z)(buildTitle); - this.nowManager = new CalendarNowManager(); - this.emitter = new _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.F(); - this.actionRunner = new TaskRunner(this._handleAction.bind(this), this.updateData.bind(this)); - this.currentCalendarOptionsInput = {}; - this.currentCalendarOptionsRefined = {}; - this.currentViewOptionsInput = {}; - this.currentViewOptionsRefined = {}; - this.currentCalendarOptionsRefiners = {}; - this.optionsForRefining = []; - this.optionsForHandling = []; - this.getCurrentData = () => this.data; - this.dispatch = (action) => { - this.actionRunner.request(action); // protects against recursive calls to _handleAction - }; - this.props = props; - this.actionRunner.pause(); - this.nowManager = new CalendarNowManager(); - let dynamicOptionOverrides = {}; - let optionsData = this.computeOptionsData(props.optionOverrides, dynamicOptionOverrides, props.calendarApi); - let currentViewType = optionsData.calendarOptions.initialView || optionsData.pluginHooks.initialView; - let currentViewData = this.computeCurrentViewData(currentViewType, optionsData, props.optionOverrides, dynamicOptionOverrides); - // wire things up - // TODO: not DRY - props.calendarApi.currentDataManager = this; - this.emitter.setThisContext(props.calendarApi); - this.emitter.setOptions(currentViewData.options); - let calendarContext = { - nowManager: this.nowManager, - dateEnv: optionsData.dateEnv, - options: optionsData.calendarOptions, - pluginHooks: optionsData.pluginHooks, - calendarApi: props.calendarApi, - dispatch: this.dispatch, - emitter: this.emitter, - getCurrentData: this.getCurrentData, - }; - let currentDate = getInitialDate(optionsData.calendarOptions, optionsData.dateEnv, this.nowManager); - let dateProfile = currentViewData.dateProfileGenerator.build(currentDate); - if (!(0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.G)(dateProfile.activeRange, currentDate)) { - currentDate = dateProfile.currentRange.start; - } - // needs to be after setThisContext - for (let callback of optionsData.pluginHooks.contextInit) { - callback(calendarContext); - } - // NOT DRY - let eventSources = initEventSources(optionsData.calendarOptions, dateProfile, calendarContext); - let initialState = { - dynamicOptionOverrides, - currentViewType, - currentDate, - dateProfile, - businessHours: this.parseContextBusinessHours(calendarContext), - eventSources, - eventUiBases: {}, - eventStore: (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.H)(), - renderableEventStore: (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.H)(), - dateSelection: null, - eventSelection: '', - eventDrag: null, - eventResize: null, - selectionConfig: this.buildViewUiProps(calendarContext).selectionConfig, - }; - let contextAndState = Object.assign(Object.assign({}, calendarContext), initialState); - for (let reducer of optionsData.pluginHooks.reducers) { - Object.assign(initialState, reducer(null, null, contextAndState)); - } - if (computeIsLoading(initialState, calendarContext)) { - this.emitter.trigger('loading', true); // NOT DRY - } - this.state = initialState; - this.updateData(); - this.actionRunner.resume(); - } - resetOptions(optionOverrides, changedOptionNames) { - let { props } = this; - if (changedOptionNames === undefined) { - props.optionOverrides = optionOverrides; - } - else { - props.optionOverrides = Object.assign(Object.assign({}, (props.optionOverrides || {})), optionOverrides); - this.optionsForRefining.push(...changedOptionNames); - } - if (changedOptionNames === undefined || changedOptionNames.length) { - this.actionRunner.request({ - type: 'NOTHING', - }); - } - } - _handleAction(action) { - let { props, state, emitter } = this; - let dynamicOptionOverrides = reduceDynamicOptionOverrides(state.dynamicOptionOverrides, action); - let optionsData = this.computeOptionsData(props.optionOverrides, dynamicOptionOverrides, props.calendarApi); - let currentViewType = reduceViewType(state.currentViewType, action); - let currentViewData = this.computeCurrentViewData(currentViewType, optionsData, props.optionOverrides, dynamicOptionOverrides); - // wire things up - // TODO: not DRY - props.calendarApi.currentDataManager = this; - emitter.setThisContext(props.calendarApi); - emitter.setOptions(currentViewData.options); - let calendarContext = { - nowManager: this.nowManager, - dateEnv: optionsData.dateEnv, - options: optionsData.calendarOptions, - pluginHooks: optionsData.pluginHooks, - calendarApi: props.calendarApi, - dispatch: this.dispatch, - emitter, - getCurrentData: this.getCurrentData, - }; - let { currentDate, dateProfile } = state; - if (this.data && this.data.dateProfileGenerator !== currentViewData.dateProfileGenerator) { // hack - dateProfile = currentViewData.dateProfileGenerator.build(currentDate); - } - currentDate = reduceCurrentDate(currentDate, action); - dateProfile = reduceDateProfile(dateProfile, action, currentDate, currentViewData.dateProfileGenerator); - if (action.type === 'PREV' || // TODO: move this logic into DateProfileGenerator - action.type === 'NEXT' || // " - !(0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.G)(dateProfile.currentRange, currentDate)) { - currentDate = dateProfile.currentRange.start; - } - let eventSources = reduceEventSources(state.eventSources, action, dateProfile, calendarContext); - let eventStore = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.I)(state.eventStore, action, eventSources, dateProfile, calendarContext); - let isEventsLoading = computeEventSourcesLoading(eventSources); // BAD. also called in this func in computeIsLoading - let renderableEventStore = (isEventsLoading && !currentViewData.options.progressiveEventRendering) ? - (state.renderableEventStore || eventStore) : // try from previous state - eventStore; - let { eventUiSingleBase, selectionConfig } = this.buildViewUiProps(calendarContext); // will memoize obj - let eventUiBySource = this.buildEventUiBySource(eventSources); - let eventUiBases = this.buildEventUiBases(renderableEventStore.defs, eventUiSingleBase, eventUiBySource); - let newState = { - dynamicOptionOverrides, - currentViewType, - currentDate, - dateProfile, - eventSources, - eventStore, - renderableEventStore, - selectionConfig, - eventUiBases, - businessHours: this.parseContextBusinessHours(calendarContext), - dateSelection: reduceDateSelection(state.dateSelection, action), - eventSelection: reduceSelectedEvent(state.eventSelection, action), - eventDrag: reduceEventDrag(state.eventDrag, action), - eventResize: reduceEventResize(state.eventResize, action), - }; - let contextAndState = Object.assign(Object.assign({}, calendarContext), newState); - for (let reducer of optionsData.pluginHooks.reducers) { - Object.assign(newState, reducer(state, action, contextAndState)); // give the OLD state, for old value - } - let wasLoading = computeIsLoading(state, calendarContext); - let isLoading = computeIsLoading(newState, calendarContext); - // TODO: use propSetHandlers in plugin system - if (!wasLoading && isLoading) { - emitter.trigger('loading', true); - } - else if (wasLoading && !isLoading) { - emitter.trigger('loading', false); - } - this.state = newState; - if (props.onAction) { - props.onAction(action); - } - } - updateData() { - let { props, state } = this; - let oldData = this.data; - let optionsData = this.computeOptionsData(props.optionOverrides, state.dynamicOptionOverrides, props.calendarApi); - let currentViewData = this.computeCurrentViewData(state.currentViewType, optionsData, props.optionOverrides, state.dynamicOptionOverrides); - let data = this.data = Object.assign(Object.assign(Object.assign({ nowManager: this.nowManager, viewTitle: this.buildTitle(state.dateProfile, currentViewData.options, optionsData.dateEnv), calendarApi: props.calendarApi, dispatch: this.dispatch, emitter: this.emitter, getCurrentData: this.getCurrentData }, optionsData), currentViewData), state); - let changeHandlers = optionsData.pluginHooks.optionChangeHandlers; - let oldCalendarOptions = oldData && oldData.calendarOptions; - let newCalendarOptions = optionsData.calendarOptions; - if (oldCalendarOptions && oldCalendarOptions !== newCalendarOptions) { - if (oldCalendarOptions.timeZone !== newCalendarOptions.timeZone) { - // hack - state.eventSources = data.eventSources = reduceEventSourcesNewTimeZone(data.eventSources, state.dateProfile, data); - state.eventStore = data.eventStore = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.J)(data.eventStore, oldData.dateEnv, data.dateEnv); - state.renderableEventStore = data.renderableEventStore = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.J)(data.renderableEventStore, oldData.dateEnv, data.dateEnv); - } - for (let optionName in changeHandlers) { - if (this.optionsForHandling.indexOf(optionName) !== -1 || - oldCalendarOptions[optionName] !== newCalendarOptions[optionName]) { - changeHandlers[optionName](newCalendarOptions[optionName], data); - } - } - } - this.optionsForHandling = []; - if (props.onData) { - props.onData(data); - } - } - computeOptionsData(optionOverrides, dynamicOptionOverrides, calendarApi) { - // TODO: blacklist options that are handled by optionChangeHandlers - if (!this.optionsForRefining.length && - optionOverrides === this.stableOptionOverrides && - dynamicOptionOverrides === this.stableDynamicOptionOverrides) { - return this.stableCalendarOptionsData; - } - let { refinedOptions, pluginHooks, localeDefaults, availableLocaleData, extra, } = this.processRawCalendarOptions(optionOverrides, dynamicOptionOverrides); - warnUnknownOptions(extra); - let dateEnv = this.buildDateEnv(refinedOptions.timeZone, refinedOptions.locale, refinedOptions.weekNumberCalculation, refinedOptions.firstDay, refinedOptions.weekText, pluginHooks, availableLocaleData, refinedOptions.defaultRangeSeparator); - let viewSpecs = this.buildViewSpecs(pluginHooks.views, this.stableOptionOverrides, this.stableDynamicOptionOverrides, localeDefaults); - let theme = this.buildTheme(refinedOptions, pluginHooks); - let toolbarConfig = this.parseToolbars(refinedOptions, this.stableOptionOverrides, theme, viewSpecs, calendarApi); - return this.stableCalendarOptionsData = { - calendarOptions: refinedOptions, - pluginHooks, - dateEnv, - viewSpecs, - theme, - toolbarConfig, - localeDefaults, - availableRawLocales: availableLocaleData.map, - }; - } - // always called from behind a memoizer - processRawCalendarOptions(optionOverrides, dynamicOptionOverrides) { - let { locales, locale } = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.K)([ - _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.e, - optionOverrides, - dynamicOptionOverrides, - ]); - let availableLocaleData = this.organizeRawLocales(locales); - let availableRawLocales = availableLocaleData.map; - let localeDefaults = this.buildLocale(locale || availableLocaleData.defaultCode, availableRawLocales).options; - let pluginHooks = this.buildPluginHooks(optionOverrides.plugins || [], globalPlugins); - let refiners = this.currentCalendarOptionsRefiners = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.L), _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.M), _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.N), pluginHooks.listenerRefiners), pluginHooks.optionRefiners); - let extra = {}; - let raw = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.K)([ - _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.e, - localeDefaults, - optionOverrides, - dynamicOptionOverrides, - ]); - let refined = {}; - let currentRaw = this.currentCalendarOptionsInput; - let currentRefined = this.currentCalendarOptionsRefined; - let anyChanges = false; - for (let optionName in raw) { - if (this.optionsForRefining.indexOf(optionName) === -1 && (raw[optionName] === currentRaw[optionName] || (_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.O[optionName] && - (optionName in currentRaw) && - _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.O[optionName](currentRaw[optionName], raw[optionName])))) { - refined[optionName] = currentRefined[optionName]; - } - else if (refiners[optionName]) { - refined[optionName] = refiners[optionName](raw[optionName]); - anyChanges = true; - } - else { - extra[optionName] = currentRaw[optionName]; - } - } - if (anyChanges) { - this.currentCalendarOptionsInput = raw; - this.currentCalendarOptionsRefined = refined; - this.stableOptionOverrides = optionOverrides; - this.stableDynamicOptionOverrides = dynamicOptionOverrides; - } - this.optionsForHandling.push(...this.optionsForRefining); - this.optionsForRefining = []; - return { - rawOptions: this.currentCalendarOptionsInput, - refinedOptions: this.currentCalendarOptionsRefined, - pluginHooks, - availableLocaleData, - localeDefaults, - extra, - }; - } - _computeCurrentViewData(viewType, optionsData, optionOverrides, dynamicOptionOverrides) { - let viewSpec = optionsData.viewSpecs[viewType]; - if (!viewSpec) { - throw new Error(`viewType "${viewType}" is not available. Please make sure you've loaded all neccessary plugins`); - } - let { refinedOptions, extra } = this.processRawViewOptions(viewSpec, optionsData.pluginHooks, optionsData.localeDefaults, optionOverrides, dynamicOptionOverrides); - warnUnknownOptions(extra); - this.nowManager.handleInput(optionsData.dateEnv, refinedOptions.now); - let dateProfileGenerator = this.buildDateProfileGenerator({ - dateProfileGeneratorClass: viewSpec.optionDefaults.dateProfileGeneratorClass, - nowManager: this.nowManager, - duration: viewSpec.duration, - durationUnit: viewSpec.durationUnit, - usesMinMaxTime: viewSpec.optionDefaults.usesMinMaxTime, - dateEnv: optionsData.dateEnv, - calendarApi: this.props.calendarApi, - slotMinTime: refinedOptions.slotMinTime, - slotMaxTime: refinedOptions.slotMaxTime, - showNonCurrentDates: refinedOptions.showNonCurrentDates, - dayCount: refinedOptions.dayCount, - dateAlignment: refinedOptions.dateAlignment, - dateIncrement: refinedOptions.dateIncrement, - hiddenDays: refinedOptions.hiddenDays, - weekends: refinedOptions.weekends, - validRangeInput: refinedOptions.validRange, - visibleRangeInput: refinedOptions.visibleRange, - fixedWeekCount: refinedOptions.fixedWeekCount, - }); - let viewApi = this.buildViewApi(viewType, this.getCurrentData, optionsData.dateEnv); - return { viewSpec, options: refinedOptions, dateProfileGenerator, viewApi }; - } - processRawViewOptions(viewSpec, pluginHooks, localeDefaults, optionOverrides, dynamicOptionOverrides) { - let raw = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.K)([ - _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.e, - viewSpec.optionDefaults, - localeDefaults, - optionOverrides, - viewSpec.optionOverrides, - dynamicOptionOverrides, - ]); - let refiners = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.L), _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.M), _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.N), _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.P), pluginHooks.listenerRefiners), pluginHooks.optionRefiners); - let refined = {}; - let currentRaw = this.currentViewOptionsInput; - let currentRefined = this.currentViewOptionsRefined; - let anyChanges = false; - let extra = {}; - for (let optionName in raw) { - if (raw[optionName] === currentRaw[optionName] || - (_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.O[optionName] && - _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.O[optionName](raw[optionName], currentRaw[optionName]))) { - refined[optionName] = currentRefined[optionName]; - } - else { - if (raw[optionName] === this.currentCalendarOptionsInput[optionName] || - (_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.O[optionName] && - _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.O[optionName](raw[optionName], this.currentCalendarOptionsInput[optionName]))) { - if (optionName in this.currentCalendarOptionsRefined) { // might be an "extra" prop - refined[optionName] = this.currentCalendarOptionsRefined[optionName]; - } - } - else if (refiners[optionName]) { - refined[optionName] = refiners[optionName](raw[optionName]); - } - else { - extra[optionName] = raw[optionName]; - } - anyChanges = true; - } - } - if (anyChanges) { - this.currentViewOptionsInput = raw; - this.currentViewOptionsRefined = refined; - } - return { - rawOptions: this.currentViewOptionsInput, - refinedOptions: this.currentViewOptionsRefined, - extra, - }; - } -} -function buildDateEnv$1(timeZone, explicitLocale, weekNumberCalculation, firstDay, weekText, pluginHooks, availableLocaleData, defaultSeparator) { - let locale = buildLocale(explicitLocale || availableLocaleData.defaultCode, availableLocaleData.map); - return new _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.Q({ - calendarSystem: 'gregory', - timeZone, - namedTimeZoneImpl: pluginHooks.namedTimeZonedImpl, - locale, - weekNumberCalculation, - firstDay, - weekText, - cmdFormatter: pluginHooks.cmdFormatter, - defaultSeparator, - }); -} -function buildTheme(options, pluginHooks) { - let ThemeClass = pluginHooks.themeClasses[options.themeSystem] || StandardTheme; - return new ThemeClass(options); -} -function buildDateProfileGenerator(props) { - let DateProfileGeneratorClass = props.dateProfileGeneratorClass || _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.R; - return new DateProfileGeneratorClass(props); -} -function buildViewApi(type, getCurrentData, dateEnv) { - return new ViewImpl(type, getCurrentData, dateEnv); -} -function buildEventUiBySource(eventSources) { - return (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.a)(eventSources, (eventSource) => eventSource.ui); -} -function buildEventUiBases(eventDefs, eventUiSingleBase, eventUiBySource) { - let eventUiBases = { '': eventUiSingleBase }; - for (let defId in eventDefs) { - let def = eventDefs[defId]; - if (def.sourceId && eventUiBySource[def.sourceId]) { - eventUiBases[defId] = eventUiBySource[def.sourceId]; - } - } - return eventUiBases; -} -function buildViewUiProps(calendarContext) { - let { options } = calendarContext; - return { - eventUiSingleBase: (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.S)({ - display: options.eventDisplay, - editable: options.editable, - startEditable: options.eventStartEditable, - durationEditable: options.eventDurationEditable, - constraint: options.eventConstraint, - overlap: typeof options.eventOverlap === 'boolean' ? options.eventOverlap : undefined, - allow: options.eventAllow, - backgroundColor: options.eventBackgroundColor, - borderColor: options.eventBorderColor, - textColor: options.eventTextColor, - color: options.eventColor, - // classNames: options.eventClassNames // render hook will handle this - }, calendarContext), - selectionConfig: (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.S)({ - constraint: options.selectConstraint, - overlap: typeof options.selectOverlap === 'boolean' ? options.selectOverlap : undefined, - allow: options.selectAllow, - }, calendarContext), - }; -} -function computeIsLoading(state, context) { - for (let isLoadingFunc of context.pluginHooks.isLoadingFuncs) { - if (isLoadingFunc(state)) { - return true; - } - } - return false; -} -function parseContextBusinessHours(calendarContext) { - return (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.U)(calendarContext.options.businessHours, calendarContext); -} -function warnUnknownOptions(options, viewName) { - for (let optionName in options) { - console.warn(`Unknown option '${optionName}'` + - (viewName ? ` for view '${viewName}'` : '')); - } -} - -class ToolbarSection extends _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.B { - render() { - let children = this.props.widgetGroups.map((widgetGroup) => this.renderWidgetGroup(widgetGroup)); - return (0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createElement */ .n)('div', { className: 'fc-toolbar-chunk' }, ...children); - } - renderWidgetGroup(widgetGroup) { - let { props } = this; - let { theme } = this.context; - let children = []; - let isOnlyButtons = true; - for (let widget of widgetGroup) { - let { buttonName, buttonClick, buttonText, buttonIcon, buttonHint } = widget; - if (buttonName === 'title') { - isOnlyButtons = false; - children.push((0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createElement */ .n)("h2", { className: "fc-toolbar-title", id: props.titleId }, props.title)); - } - else { - let isPressed = buttonName === props.activeButton; - let isDisabled = (!props.isTodayEnabled && buttonName === 'today') || - (!props.isPrevEnabled && buttonName === 'prev') || - (!props.isNextEnabled && buttonName === 'next'); - let buttonClasses = [`fc-${buttonName}-button`, theme.getClass('button')]; - if (isPressed) { - buttonClasses.push(theme.getClass('buttonActive')); - } - children.push((0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createElement */ .n)("button", { type: "button", title: typeof buttonHint === 'function' ? buttonHint(props.navUnit) : buttonHint, disabled: isDisabled, "aria-pressed": isPressed, className: buttonClasses.join(' '), onClick: buttonClick }, buttonText || (buttonIcon ? (0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createElement */ .n)("span", { className: buttonIcon, role: "img" }) : ''))); - } - } - if (children.length > 1) { - let groupClassName = (isOnlyButtons && theme.getClass('buttonGroup')) || ''; - return (0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createElement */ .n)('div', { className: groupClassName }, ...children); - } - return children[0]; - } -} - -class Toolbar extends _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.B { - render() { - let { model, extraClassName } = this.props; - let forceLtr = false; - let startContent; - let endContent; - let sectionWidgets = model.sectionWidgets; - let centerContent = sectionWidgets.center; - if (sectionWidgets.left) { - forceLtr = true; - startContent = sectionWidgets.left; - } - else { - startContent = sectionWidgets.start; - } - if (sectionWidgets.right) { - forceLtr = true; - endContent = sectionWidgets.right; - } - else { - endContent = sectionWidgets.end; - } - let classNames = [ - extraClassName || '', - 'fc-toolbar', - forceLtr ? 'fc-toolbar-ltr' : '', - ]; - return ((0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createElement */ .n)("div", { className: classNames.join(' ') }, - this.renderSection('start', startContent || []), - this.renderSection('center', centerContent || []), - this.renderSection('end', endContent || []))); - } - renderSection(key, widgetGroups) { - let { props } = this; - return ((0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createElement */ .n)(ToolbarSection, { key: key, widgetGroups: widgetGroups, title: props.title, navUnit: props.navUnit, activeButton: props.activeButton, isTodayEnabled: props.isTodayEnabled, isPrevEnabled: props.isPrevEnabled, isNextEnabled: props.isNextEnabled, titleId: props.titleId })); - } -} - -class ViewHarness extends _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.B { - constructor() { - super(...arguments); - this.state = { - availableWidth: null, - }; - this.handleEl = (el) => { - this.el = el; - (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.W)(this.props.elRef, el); - this.updateAvailableWidth(); - }; - this.handleResize = () => { - this.updateAvailableWidth(); - }; - } - render() { - let { props, state } = this; - let { aspectRatio } = props; - let classNames = [ - 'fc-view-harness', - (aspectRatio || props.liquid || props.height) - ? 'fc-view-harness-active' // harness controls the height - : 'fc-view-harness-passive', // let the view do the height - ]; - let height = ''; - let paddingBottom = ''; - if (aspectRatio) { - if (state.availableWidth !== null) { - height = state.availableWidth / aspectRatio; - } - else { - // while waiting to know availableWidth, we can't set height to *zero* - // because will cause lots of unnecessary scrollbars within scrollgrid. - // BETTER: don't start rendering ANYTHING yet until we know container width - // NOTE: why not always use paddingBottom? Causes height oscillation (issue 5606) - paddingBottom = `${(1 / aspectRatio) * 100}%`; - } - } - else { - height = props.height || ''; - } - return ((0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createElement */ .n)("div", { "aria-labelledby": props.labeledById, ref: this.handleEl, className: classNames.join(' '), style: { height, paddingBottom } }, props.children)); - } - componentDidMount() { - this.context.addResizeHandler(this.handleResize); - } - componentWillUnmount() { - this.context.removeResizeHandler(this.handleResize); - } - updateAvailableWidth() { - if (this.el && // needed. but why? - this.props.aspectRatio // aspectRatio is the only height setting that needs availableWidth - ) { - this.setState({ availableWidth: this.el.offsetWidth }); - } - } -} - -/* -Detects when the user clicks on an event within a DateComponent -*/ -class EventClicking extends _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.X { - constructor(settings) { - super(settings); - this.handleSegClick = (ev, segEl) => { - let { component } = this; - let { context } = component; - let seg = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.Y)(segEl); - if (seg && // might be the
surrounding the more link - component.isValidSegDownEl(ev.target)) { - // our way to simulate a link click for elements that can't be tags - // grab before trigger fired in case trigger trashes DOM thru rerendering - let hasUrlContainer = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.Z)(ev.target, '.fc-event-forced-url'); - let url = hasUrlContainer ? hasUrlContainer.querySelector('a[href]').href : ''; - context.emitter.trigger('eventClick', { - el: segEl, - event: new _internal_common_js__WEBPACK_IMPORTED_MODULE_0__._(component.context, seg.eventRange.def, seg.eventRange.instance), - jsEvent: ev, - view: context.viewApi, - }); - if (url && !ev.defaultPrevented) { - window.location.href = url; - } - } - }; - this.destroy = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.$)(settings.el, 'click', '.fc-event', // on both fg and bg events - this.handleSegClick); - } -} - -/* -Triggers events and adds/removes core classNames when the user's pointer -enters/leaves event-elements of a component. -*/ -class EventHovering extends _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.X { - constructor(settings) { - super(settings); - // for simulating an eventMouseLeave when the event el is destroyed while mouse is over it - this.handleEventElRemove = (el) => { - if (el === this.currentSegEl) { - this.handleSegLeave(null, this.currentSegEl); - } - }; - this.handleSegEnter = (ev, segEl) => { - if ((0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.Y)(segEl)) { // TODO: better way to make sure not hovering over more+ link or its wrapper - this.currentSegEl = segEl; - this.triggerEvent('eventMouseEnter', ev, segEl); - } - }; - this.handleSegLeave = (ev, segEl) => { - if (this.currentSegEl) { - this.currentSegEl = null; - this.triggerEvent('eventMouseLeave', ev, segEl); - } - }; - this.removeHoverListeners = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.a0)(settings.el, '.fc-event', // on both fg and bg events - this.handleSegEnter, this.handleSegLeave); - } - destroy() { - this.removeHoverListeners(); - } - triggerEvent(publicEvName, ev, segEl) { - let { component } = this; - let { context } = component; - let seg = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.Y)(segEl); - if (!ev || component.isValidSegDownEl(ev.target)) { - context.emitter.trigger(publicEvName, { - el: segEl, - event: new _internal_common_js__WEBPACK_IMPORTED_MODULE_0__._(context, seg.eventRange.def, seg.eventRange.instance), - jsEvent: ev, - view: context.viewApi, - }); - } - } -} - -class CalendarContent extends _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.a1 { - constructor() { - super(...arguments); - this.buildViewContext = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.z)(_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.a2); - this.buildViewPropTransformers = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.z)(buildViewPropTransformers); - this.buildToolbarProps = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.z)(buildToolbarProps); - this.headerRef = (0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createRef */ ._3)(); - this.footerRef = (0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createRef */ ._3)(); - this.interactionsStore = {}; - // eslint-disable-next-line - this.state = { - viewLabelId: (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.a3)(), - }; - // Component Registration - // ----------------------------------------------------------------------------------------------------------------- - this.registerInteractiveComponent = (component, settingsInput) => { - let settings = (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.a4)(component, settingsInput); - let DEFAULT_INTERACTIONS = [ - EventClicking, - EventHovering, - ]; - let interactionClasses = DEFAULT_INTERACTIONS.concat(this.props.pluginHooks.componentInteractions); - let interactions = interactionClasses.map((TheInteractionClass) => new TheInteractionClass(settings)); - this.interactionsStore[component.uid] = interactions; - _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.a5[component.uid] = settings; - }; - this.unregisterInteractiveComponent = (component) => { - let listeners = this.interactionsStore[component.uid]; - if (listeners) { - for (let listener of listeners) { - listener.destroy(); - } - delete this.interactionsStore[component.uid]; - } - delete _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.a5[component.uid]; - }; - // Resizing - // ----------------------------------------------------------------------------------------------------------------- - this.resizeRunner = new _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.D(() => { - this.props.emitter.trigger('_resize', true); // should window resizes be considered "forced" ? - this.props.emitter.trigger('windowResize', { view: this.props.viewApi }); - }); - this.handleWindowResize = (ev) => { - let { options } = this.props; - if (options.handleWindowResize && - ev.target === window // avoid jqui events - ) { - this.resizeRunner.request(options.windowResizeDelay); - } - }; - } - /* - renders INSIDE of an outer div - */ - render() { - let { props } = this; - let { toolbarConfig, options } = props; - let viewVGrow = false; - let viewHeight = ''; - let viewAspectRatio; - if (props.isHeightAuto || props.forPrint) { - viewHeight = ''; - } - else if (options.height != null) { - viewVGrow = true; - } - else if (options.contentHeight != null) { - viewHeight = options.contentHeight; - } - else { - viewAspectRatio = Math.max(options.aspectRatio, 0.5); // prevent from getting too tall - } - let viewContext = this.buildViewContext(props.viewSpec, props.viewApi, props.options, props.dateProfileGenerator, props.dateEnv, props.nowManager, props.theme, props.pluginHooks, props.dispatch, props.getCurrentData, props.emitter, props.calendarApi, this.registerInteractiveComponent, this.unregisterInteractiveComponent); - let viewLabelId = (toolbarConfig.header && toolbarConfig.header.hasTitle) - ? this.state.viewLabelId - : undefined; - return ((0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createElement */ .n)(_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.V.Provider, { value: viewContext }, - (0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createElement */ .n)(_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.a6, { unit: "day" }, (nowDate) => { - let toolbarProps = this.buildToolbarProps(props.viewSpec, props.dateProfile, props.dateProfileGenerator, props.currentDate, nowDate, props.viewTitle); - return ((0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createElement */ .n)(preact__WEBPACK_IMPORTED_MODULE_1__/* .Fragment */ .FK, null, - toolbarConfig.header && ((0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createElement */ .n)(Toolbar, Object.assign({ ref: this.headerRef, extraClassName: "fc-header-toolbar", model: toolbarConfig.header, titleId: viewLabelId }, toolbarProps))), - (0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createElement */ .n)(ViewHarness, { liquid: viewVGrow, height: viewHeight, aspectRatio: viewAspectRatio, labeledById: viewLabelId }, - this.renderView(props), - this.buildAppendContent()), - toolbarConfig.footer && ((0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createElement */ .n)(Toolbar, Object.assign({ ref: this.footerRef, extraClassName: "fc-footer-toolbar", model: toolbarConfig.footer, titleId: "" }, toolbarProps))))); - }))); - } - componentDidMount() { - let { props } = this; - this.calendarInteractions = props.pluginHooks.calendarInteractions - .map((CalendarInteractionClass) => new CalendarInteractionClass(props)); - window.addEventListener('resize', this.handleWindowResize); - let { propSetHandlers } = props.pluginHooks; - for (let propName in propSetHandlers) { - propSetHandlers[propName](props[propName], props); - } - } - componentDidUpdate(prevProps) { - let { props } = this; - let { propSetHandlers } = props.pluginHooks; - for (let propName in propSetHandlers) { - if (props[propName] !== prevProps[propName]) { - propSetHandlers[propName](props[propName], props); - } - } - } - componentWillUnmount() { - window.removeEventListener('resize', this.handleWindowResize); - this.resizeRunner.clear(); - for (let interaction of this.calendarInteractions) { - interaction.destroy(); - } - this.props.emitter.trigger('_unmount'); - } - buildAppendContent() { - let { props } = this; - let children = props.pluginHooks.viewContainerAppends.map((buildAppendContent) => buildAppendContent(props)); - return (0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createElement */ .n)(preact__WEBPACK_IMPORTED_MODULE_1__/* .Fragment */ .FK, {}, ...children); - } - renderView(props) { - let { pluginHooks } = props; - let { viewSpec } = props; - let viewProps = { - dateProfile: props.dateProfile, - businessHours: props.businessHours, - eventStore: props.renderableEventStore, - eventUiBases: props.eventUiBases, - dateSelection: props.dateSelection, - eventSelection: props.eventSelection, - eventDrag: props.eventDrag, - eventResize: props.eventResize, - isHeightAuto: props.isHeightAuto, - forPrint: props.forPrint, - }; - let transformers = this.buildViewPropTransformers(pluginHooks.viewPropsTransformers); - for (let transformer of transformers) { - Object.assign(viewProps, transformer.transform(viewProps, props)); - } - let ViewComponent = viewSpec.component; - return ((0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createElement */ .n)(ViewComponent, Object.assign({}, viewProps))); - } -} -function buildToolbarProps(viewSpec, dateProfile, dateProfileGenerator, currentDate, now, title) { - // don't force any date-profiles to valid date profiles (the `false`) so that we can tell if it's invalid - let todayInfo = dateProfileGenerator.build(now, undefined, false); // TODO: need `undefined` or else INFINITE LOOP for some reason - let prevInfo = dateProfileGenerator.buildPrev(dateProfile, currentDate, false); - let nextInfo = dateProfileGenerator.buildNext(dateProfile, currentDate, false); - return { - title, - activeButton: viewSpec.type, - navUnit: viewSpec.singleUnit, - isTodayEnabled: todayInfo.isValid && !(0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.G)(dateProfile.currentRange, now), - isPrevEnabled: prevInfo.isValid, - isNextEnabled: nextInfo.isValid, - }; -} -// Plugin -// ----------------------------------------------------------------------------------------------------------------- -function buildViewPropTransformers(theClasses) { - return theClasses.map((TheClass) => new TheClass()); -} - -class Calendar extends _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.a7 { - constructor(el, optionOverrides = {}) { - super(); - this.isRendering = false; - this.isRendered = false; - this.currentClassNames = []; - this.customContentRenderId = 0; - this.handleAction = (action) => { - // actions we know we want to render immediately - switch (action.type) { - case 'SET_EVENT_DRAG': - case 'SET_EVENT_RESIZE': - this.renderRunner.tryDrain(); - } - }; - this.handleData = (data) => { - this.currentData = data; - this.renderRunner.request(data.calendarOptions.rerenderDelay); - }; - this.handleRenderRequest = () => { - if (this.isRendering) { - this.isRendered = true; - let { currentData } = this; - (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.a8)(() => { - (0,preact__WEBPACK_IMPORTED_MODULE_1__/* .render */ .XX)((0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createElement */ .n)(_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.a9, { options: currentData.calendarOptions, theme: currentData.theme, emitter: currentData.emitter }, (classNames, height, isHeightAuto, forPrint) => { - this.setClassNames(classNames); - this.setHeight(height); - return ((0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createElement */ .n)(_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.aa.Provider, { value: this.customContentRenderId }, - (0,preact__WEBPACK_IMPORTED_MODULE_1__/* .createElement */ .n)(CalendarContent, Object.assign({ isHeightAuto: isHeightAuto, forPrint: forPrint }, currentData)))); - }), this.el); - }); - } - else if (this.isRendered) { - this.isRendered = false; - (0,preact__WEBPACK_IMPORTED_MODULE_1__/* .render */ .XX)(null, this.el); - this.setClassNames([]); - this.setHeight(''); - } - }; - (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.ab)(el); - this.el = el; - this.renderRunner = new _internal_common_js__WEBPACK_IMPORTED_MODULE_0__.D(this.handleRenderRequest); - new CalendarDataManager({ - optionOverrides, - calendarApi: this, - onAction: this.handleAction, - onData: this.handleData, - }); - } - render() { - let wasRendering = this.isRendering; - if (!wasRendering) { - this.isRendering = true; - } - else { - this.customContentRenderId += 1; - } - this.renderRunner.request(); - if (wasRendering) { - this.updateSize(); - } - } - destroy() { - if (this.isRendering) { - this.isRendering = false; - this.renderRunner.request(); - } - } - updateSize() { - (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.a8)(() => { - super.updateSize(); - }); - } - batchRendering(func) { - this.renderRunner.pause('batchRendering'); - func(); - this.renderRunner.resume('batchRendering'); - } - pauseRendering() { - this.renderRunner.pause('pauseRendering'); - } - resumeRendering() { - this.renderRunner.resume('pauseRendering', true); - } - resetOptions(optionOverrides, changedOptionNames) { - this.currentDataManager.resetOptions(optionOverrides, changedOptionNames); - } - setClassNames(classNames) { - if (!(0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.i)(classNames, this.currentClassNames)) { - let { classList } = this.el; - for (let className of this.currentClassNames) { - classList.remove(className); - } - for (let className of classNames) { - classList.add(className); - } - this.currentClassNames = classNames; - } - } - setHeight(height) { - (0,_internal_common_js__WEBPACK_IMPORTED_MODULE_0__.ac)(this.el, 'height', height); - } -} - -function formatDate(dateInput, options = {}) { - let dateEnv = buildDateEnv(options); - let formatter = createFormatter(options); - let dateMeta = dateEnv.createMarkerMeta(dateInput); - if (!dateMeta) { // TODO: warning? - return ''; - } - return dateEnv.format(dateMeta.marker, formatter, { - forcedTzo: dateMeta.forcedTzo, - }); -} -function formatRange(startInput, endInput, options) { - let dateEnv = buildDateEnv(typeof options === 'object' && options ? options : {}); // pass in if non-null object - let formatter = createFormatter(options); - let startMeta = dateEnv.createMarkerMeta(startInput); - let endMeta = dateEnv.createMarkerMeta(endInput); - if (!startMeta || !endMeta) { // TODO: warning? - return ''; - } - return dateEnv.formatRange(startMeta.marker, endMeta.marker, formatter, { - forcedStartTzo: startMeta.forcedTzo, - forcedEndTzo: endMeta.forcedTzo, - isEndExclusive: options.isEndExclusive, - defaultSeparator: BASE_OPTION_DEFAULTS.defaultRangeSeparator, - }); -} -// TODO: more DRY and optimized -function buildDateEnv(settings) { - let locale = buildLocale(settings.locale || 'en', organizeRawLocales([]).map); // TODO: don't hardcode 'en' everywhere - return new DateEnv(Object.assign(Object.assign({ timeZone: BASE_OPTION_DEFAULTS.timeZone, calendarSystem: 'gregory' }, settings), { locale })); -} - -// HELPERS -/* -if nextDayThreshold is specified, slicing is done in an all-day fashion. -you can get nextDayThreshold from context.nextDayThreshold -*/ -function sliceEvents(props, allDay) { - return sliceEventStore(props.eventStore, props.eventUiBases, props.dateProfile.activeRange, allDay ? props.nextDayThreshold : null).fg; -} - -const version = '6.1.20'; - - - - -/***/ }, - -/***/ 533 -(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { - -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ $: () => (/* binding */ listenBySelector), -/* harmony export */ A: () => (/* binding */ memoizeObjArg), -/* harmony export */ B: () => (/* binding */ BaseComponent), -/* harmony export */ C: () => (/* binding */ ContentContainer), -/* harmony export */ D: () => (/* binding */ DelayedRunner), -/* harmony export */ E: () => (/* binding */ isPropsEqual), -/* harmony export */ F: () => (/* binding */ Emitter), -/* harmony export */ G: () => (/* binding */ rangeContainsMarker), -/* harmony export */ H: () => (/* binding */ createEmptyEventStore), -/* harmony export */ I: () => (/* binding */ reduceEventStore), -/* harmony export */ J: () => (/* binding */ rezoneEventStoreDates), -/* harmony export */ K: () => (/* binding */ mergeRawOptions), -/* harmony export */ L: () => (/* binding */ BASE_OPTION_REFINERS), -/* harmony export */ M: () => (/* binding */ CALENDAR_LISTENER_REFINERS), -/* harmony export */ N: () => (/* binding */ CALENDAR_OPTION_REFINERS), -/* harmony export */ O: () => (/* binding */ COMPLEX_OPTION_COMPARATORS), -/* harmony export */ P: () => (/* binding */ VIEW_OPTION_REFINERS), -/* harmony export */ Q: () => (/* binding */ DateEnv), -/* harmony export */ R: () => (/* binding */ DateProfileGenerator), -/* harmony export */ S: () => (/* binding */ createEventUi), -/* harmony export */ T: () => (/* binding */ Theme), -/* harmony export */ U: () => (/* binding */ parseBusinessHours), -/* harmony export */ V: () => (/* binding */ ViewContextType), -/* harmony export */ W: () => (/* binding */ setRef), -/* harmony export */ X: () => (/* binding */ Interaction), -/* harmony export */ Y: () => (/* binding */ getElSeg), -/* harmony export */ Z: () => (/* binding */ elementClosest), -/* harmony export */ _: () => (/* binding */ EventImpl), -/* harmony export */ a: () => (/* binding */ mapHash), -/* harmony export */ a0: () => (/* binding */ listenToHoverBySelector), -/* harmony export */ a1: () => (/* binding */ PureComponent), -/* harmony export */ a2: () => (/* binding */ buildViewContext), -/* harmony export */ a3: () => (/* binding */ getUniqueDomId), -/* harmony export */ a4: () => (/* binding */ parseInteractionSettings), -/* harmony export */ a5: () => (/* binding */ interactionSettingsStore), -/* harmony export */ a6: () => (/* binding */ NowTimer), -/* harmony export */ a7: () => (/* binding */ CalendarImpl), -/* harmony export */ a8: () => (/* binding */ flushSync), -/* harmony export */ a9: () => (/* binding */ CalendarRoot), -/* harmony export */ aC: () => (/* binding */ intersectRects), -/* harmony export */ aD: () => (/* binding */ pointInsideRect), -/* harmony export */ aE: () => (/* binding */ constrainPoint), -/* harmony export */ aF: () => (/* binding */ getRectCenter), -/* harmony export */ aG: () => (/* binding */ diffPoints), -/* harmony export */ aM: () => (/* binding */ removeElement), -/* harmony export */ aN: () => (/* binding */ applyStyle), -/* harmony export */ aP: () => (/* binding */ getEventTargetViaRoot), -/* harmony export */ aT: () => (/* binding */ getRelevantEvents), -/* harmony export */ aW: () => (/* binding */ Splitter), -/* harmony export */ aX: () => (/* binding */ getDayClassNames), -/* harmony export */ aY: () => (/* binding */ getDateMeta), -/* harmony export */ a_: () => (/* binding */ buildNavLinkAttrs), -/* harmony export */ aa: () => (/* binding */ RenderId), -/* harmony export */ ab: () => (/* binding */ ensureElHasStyles), -/* harmony export */ ac: () => (/* binding */ applyStyleProp), -/* harmony export */ ad: () => (/* binding */ sliceEventStore), -/* harmony export */ ap: () => (/* binding */ preventSelection), -/* harmony export */ aq: () => (/* binding */ allowSelection), -/* harmony export */ ar: () => (/* binding */ preventContextMenu), -/* harmony export */ as: () => (/* binding */ allowContextMenu), -/* harmony export */ at: () => (/* binding */ compareNumbers), -/* harmony export */ au: () => (/* binding */ enableCursor), -/* harmony export */ av: () => (/* binding */ disableCursor), -/* harmony export */ ax: () => (/* binding */ isMultiDayRange), -/* harmony export */ ay: () => (/* binding */ diffDates), -/* harmony export */ b: () => (/* binding */ buildViewClassNames), -/* harmony export */ b0: () => (/* binding */ whenTransitionDone), -/* harmony export */ b1: () => (/* binding */ computeInnerRect), -/* harmony export */ b3: () => (/* binding */ getClippingParents), -/* harmony export */ b4: () => (/* binding */ computeRect), -/* harmony export */ b7: () => (/* binding */ rangeContainsRange), -/* harmony export */ b8: () => (/* binding */ PositionCache), -/* harmony export */ b9: () => (/* binding */ ScrollController), -/* harmony export */ bA: () => (/* binding */ getEntrySpanEnd), -/* harmony export */ bB: () => (/* binding */ binarySearch), -/* harmony export */ bC: () => (/* binding */ groupIntersectingEntries), -/* harmony export */ bD: () => (/* binding */ intersectSpans), -/* harmony export */ bE: () => (/* binding */ interactionSettingsToStore), -/* harmony export */ bF: () => (/* binding */ ElementDragging), -/* harmony export */ bG: () => (/* binding */ config), -/* harmony export */ bI: () => (/* binding */ DayHeader), -/* harmony export */ bM: () => (/* binding */ DaySeriesModel), -/* harmony export */ bN: () => (/* binding */ hasBgRendering), -/* harmony export */ bO: () => (/* binding */ buildSegTimeText), -/* harmony export */ bP: () => (/* binding */ sortEventSegs), -/* harmony export */ bQ: () => (/* binding */ getSegMeta), -/* harmony export */ bR: () => (/* binding */ buildEventRangeKey), -/* harmony export */ bS: () => (/* binding */ getSegAnchorAttrs), -/* harmony export */ bT: () => (/* binding */ DayTableModel), -/* harmony export */ bU: () => (/* binding */ Slicer), -/* harmony export */ bV: () => (/* binding */ applyMutationToEventStore), -/* harmony export */ bX: () => (/* binding */ isInteractionValid), -/* harmony export */ bY: () => (/* binding */ isDateSelectionValid), -/* harmony export */ bZ: () => (/* binding */ SimpleScrollGrid), -/* harmony export */ ba: () => (/* binding */ ElementScrollController), -/* harmony export */ bb: () => (/* binding */ WindowScrollController), -/* harmony export */ bc: () => (/* binding */ DateComponent), -/* harmony export */ bd: () => (/* binding */ isDateSpansEqual), -/* harmony export */ be: () => (/* binding */ addMs), -/* harmony export */ bf: () => (/* binding */ addWeeks), -/* harmony export */ bg: () => (/* binding */ diffWeeks), -/* harmony export */ bj: () => (/* binding */ diffDays), -/* harmony export */ bm: () => (/* binding */ multiplyDuration), -/* harmony export */ bn: () => (/* binding */ addDurations), -/* harmony export */ bq: () => (/* binding */ asRoughMs), -/* harmony export */ br: () => (/* binding */ wholeDivideDurations), -/* harmony export */ bs: () => (/* binding */ formatIsoTimeString), -/* harmony export */ bt: () => (/* binding */ formatDayString), -/* harmony export */ bu: () => (/* binding */ buildIsoString), -/* harmony export */ bv: () => (/* binding */ formatIsoMonthStr), -/* harmony export */ by: () => (/* binding */ SegHierarchy), -/* harmony export */ bz: () => (/* binding */ buildEntryKey), -/* harmony export */ c: () => (/* binding */ greatestDurationDenominator), -/* harmony export */ c8: () => (/* binding */ renderScrollShim), -/* harmony export */ c9: () => (/* binding */ getStickyFooterScrollbar), -/* harmony export */ ca: () => (/* binding */ getStickyHeaderDates), -/* harmony export */ cb: () => (/* binding */ Scroller), -/* harmony export */ cd: () => (/* binding */ RefMap), -/* harmony export */ cg: () => (/* binding */ StandardEvent), -/* harmony export */ ch: () => (/* binding */ NowIndicatorContainer), -/* harmony export */ ci: () => (/* binding */ DayCellContainer), -/* harmony export */ cj: () => (/* binding */ hasCustomDayCellContent), -/* harmony export */ ck: () => (/* binding */ EventContainer), -/* harmony export */ cl: () => (/* binding */ renderFill), -/* harmony export */ cm: () => (/* binding */ BgEvent), -/* harmony export */ cn: () => (/* binding */ WeekNumberContainer), -/* harmony export */ co: () => (/* binding */ MoreLinkContainer), -/* harmony export */ cp: () => (/* binding */ computeEarliestSegStart), -/* harmony export */ cq: () => (/* binding */ ViewContainer), -/* harmony export */ cr: () => (/* binding */ triggerDateSelect), -/* harmony export */ ct: () => (/* binding */ injectStyles), -/* harmony export */ d: () => (/* binding */ createDuration), -/* harmony export */ e: () => (/* binding */ BASE_OPTION_DEFAULTS), -/* harmony export */ f: () => (/* binding */ arrayToHash), -/* harmony export */ g: () => (/* binding */ guid), -/* harmony export */ h: () => (/* binding */ filterHash), -/* harmony export */ i: () => (/* binding */ isArraysEqual), -/* harmony export */ j: () => (/* binding */ buildEventSourceRefiners), -/* harmony export */ k: () => (/* binding */ formatWithOrdinals), -/* harmony export */ l: () => (/* binding */ buildRangeApiWithTimeZone), -/* harmony export */ m: () => (/* binding */ mergeProps), -/* harmony export */ n: () => (/* binding */ identity), -/* harmony export */ o: () => (/* binding */ intersectRanges), -/* harmony export */ p: () => (/* binding */ parseEventSource), -/* harmony export */ q: () => (/* binding */ startOfDay), -/* harmony export */ r: () => (/* binding */ requestJson), -/* harmony export */ s: () => (/* binding */ subtractDurations), -/* harmony export */ t: () => (/* binding */ addDays), -/* harmony export */ u: () => (/* binding */ unpromisify), -/* harmony export */ v: () => (/* binding */ hashValuesToArray), -/* harmony export */ w: () => (/* binding */ buildEventApis), -/* harmony export */ x: () => (/* binding */ createFormatter), -/* harmony export */ y: () => (/* binding */ diffWholeDays), -/* harmony export */ z: () => (/* binding */ memoize) -/* harmony export */ }); -/* unused harmony exports a$, aA, aB, aH, aI, aJ, aK, aL, aO, aQ, aR, aS, aU, aV, aZ, ae, af, ag, ah, ai, aj, ak, al, am, an, ao, aw, az, b$, b2, b5, b6, bH, bJ, bK, bL, bW, b_, bh, bi, bk, bl, bo, bp, bw, bx, c0, c1, c2, c3, c4, c5, c6, c7, cc, ce, cf, cs, cu, cv */ -/* harmony import */ var preact__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(181); -/* harmony import */ var preact_compat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(102); - - - - -const styleTexts = []; -const styleEls = new Map(); -function injectStyles(styleText) { - styleTexts.push(styleText); - styleEls.forEach((styleEl) => { - appendStylesTo(styleEl, styleText); - }); -} -function ensureElHasStyles(el) { - if (el.isConnected && // sometimes true if SSR system simulates DOM - el.getRootNode // sometimes undefined if SSR system simulates DOM - ) { - registerStylesRoot(el.getRootNode()); - } -} -function registerStylesRoot(rootNode) { - let styleEl = styleEls.get(rootNode); - if (!styleEl || !styleEl.isConnected) { - styleEl = rootNode.querySelector('style[data-fullcalendar]'); - if (!styleEl) { - styleEl = document.createElement('style'); - styleEl.setAttribute('data-fullcalendar', ''); - const nonce = getNonceValue(); - if (nonce) { - styleEl.nonce = nonce; - } - const parentEl = rootNode === document ? document.head : rootNode; - const insertBefore = rootNode === document - ? parentEl.querySelector('script,link[rel=stylesheet],link[as=style],style') - : parentEl.firstChild; - parentEl.insertBefore(styleEl, insertBefore); - } - styleEls.set(rootNode, styleEl); - hydrateStylesRoot(styleEl); - } -} -function hydrateStylesRoot(styleEl) { - for (const styleText of styleTexts) { - appendStylesTo(styleEl, styleText); - } -} -function appendStylesTo(styleEl, styleText) { - const { sheet } = styleEl; - const ruleCnt = sheet.cssRules.length; - styleText.split('}').forEach((styleStr, i) => { - styleStr = styleStr.trim(); - if (styleStr) { - sheet.insertRule(styleStr + '}', ruleCnt + i); - } - }); -} -// nonce -// ------------------------------------------------------------------------------------------------- -let queriedNonceValue; -function getNonceValue() { - if (queriedNonceValue === undefined) { - queriedNonceValue = queryNonceValue(); - } - return queriedNonceValue; -} -/* -TODO: discourage meta tag and instead put nonce attribute on placeholder - - - - - - - - -
-
-
- - - - - -
- - - - - -
- - diff --git a/public/adminator/adminator/index.html b/public/adminator/adminator/index.html deleted file mode 100644 index 81933dd..0000000 --- a/public/adminator/adminator/index.html +++ /dev/null @@ -1,1098 +0,0 @@ - - - - - - Dashboard - - - - - - - - - - -
-
-
- - - - - -
- - - - -
- - - - -
-
-
-
-
-
- -
-
-
-
Total Visits
-
-
-
-
- -
-
- +10% -
-
-
-
-
- - -
-
-
-
Total Page Views
-
-
-
-
- -
-
- -7% -
-
-
-
-
- - -
-
-
-
Unique Visitor
-
-
-
-
- -
-
- ~12% -
-
-
-
-
- - -
-
-
-
Bounce Rate
-
-
-
-
- -
-
- 33% -
-
-
-
-
-
-
-
- -
-
-
-
-
-
Site Visits
-
-
-
-
-
-
-
-
-
- -
-
-
100k
- Visitors From USA - 50% -
-
50% Complete
-
-
-
-
1M
- Visitors From Europe - 80% -
-
80% Complete
-
-
-
-
450k
- Visitors From Australia - 40% -
-
40% Complete
-
-
-
-
1B
- Visitors From India - 90% -
-
90% Complete
-
-
-
- - -
-
-
- -
-
New Users
-
-
-
- -
-
New Purchases
-
-
-
- -
-
Bounce Rate
-
-
-
-
-
-
-
-
-
- -
-
-
-
Monthly Stats
-
-
- -
-
-
-
- 54% - Sales Growth -
-
- $185K - Dec Sales -
-
- 60% - Profit Growth -
-
- $72K - Dec Profit -
-
-
-
-
-
-
- -
-
-
-
Todo List
-
-
-
    -
  • -
    - - -
    -
  • -
  • -
    - - -
    -
  • -
  • -
    - - -
    -
  • -
  • -
    - - -
    -
  • -
  • -
    - - -
    -
  • -
  • -
    - - -
    -
  • -
-
-
-
-
-
- -
-
-
-
Sales Report
-
-
-
-
-
-
November 2029
-

Sales Report

-
-
-

$6,000

-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameStatusDatePrice
Item #1 NameUnavailable Nov 18$12
Item #2 NameNewNov 19$34
Item #3 NameNewNov 20-$45
Item #4 NameUnavailableNov 21$65
Item #5 NameUsedNov 22$78
Item #6 NameUsed Nov 23-$88
Item #7 NameOldNov 22$56
-
-
-
- -
-
-
- -
-
- -
-
Weather
-
- - -
-
-
-
- -
-
-
-

32°F

-
-
- -
-
-
- - -
- Partly Clouds -
-
-
-
-
-
-
Monday
-
-
- Nov, 01 2032 -
-
-
-
-
- - -
-
-
-
-
- Wind -
-
- 10km/h -
-
-
-
-
-
- Sunrise -
-
- 05:00 AM -
-
-
-
-
-
- Pressure -
-
- 1B -
-
-
-
-
- - -
-
-
-
MON
- - 32°F -
-
-
TUE
- - 30°F -
-
-
WED
- - 28°F -
-
-
THR
- - 32°F -
-
-
FRI
- - 24°F -
-
-
SAT
- - 28°F -
-
-
SUN
- - 32°F -
-
-
-
-
-
-
- -
-
-
-
Quick Chat
-
-
- -
- -
-
- -
-
-
-
-
-
- 10:00 AM -
-
- Lorem Ipsum is simply dummy text of -
-
-
-
-
-
- 10:00 AM -
-
- the printing and typesetting industry. -
-
-
-
-
-
- 10:00 AM -
-
- Lorem Ipsum has been the industry's -
-
-
-
-
-
- - -
-
- -
-
-
-
-
-
- 10:00 AM -
-
- Heloo -
-
-
-
-
-
- 10:00 AM -
-
- ?? -
-
-
-
-
-
-
- -
-
- - -
-
-
-
-
-
-
-
-
- - -
- Copyright © 2026 Designed by Colorlib. All rights reserved. -
-
-
- - diff --git a/public/index.php b/public/index.php deleted file mode 100644 index 947d989..0000000 --- a/public/index.php +++ /dev/null @@ -1,17 +0,0 @@ -handleRequest(Request::capture()); diff --git a/public/june_assets/css/bootstrap.min.css b/public/june_assets/css/bootstrap.min.css deleted file mode 100644 index 1d8bac4..0000000 --- a/public/june_assets/css/bootstrap.min.css +++ /dev/null @@ -1,6 +0,0 @@ -@charset "UTF-8";/*! - * Bootstrap v5.3.8 (https://getbootstrap.com/) - * Copyright 2011-2025 The Bootstrap Authors - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}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,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[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}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-weight:300;line-height:1.2;font-size:calc(1.575rem + 3.9vw)}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-weight:300;line-height:1.2;font-size:calc(1.525rem + 3.3vw)}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-weight:300;line-height:1.2;font-size:calc(1.425rem + 2.1vw)}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-weight:300;line-height:1.2;font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.display-6{font-size:2.5rem}}.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:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@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}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.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%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.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%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.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%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.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%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.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%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-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}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius: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}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:.75rem}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>textarea:focus~label::after,.form-floating>textarea:not(:placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label::after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(-1 * var(--bs-border-width));border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.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{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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.1'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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.1'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.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{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.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;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.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{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(-1 * var(--bs-border-width))}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.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-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(-1 * var(--bs-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-grow:1;flex-basis:0;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap: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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.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}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap: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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.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}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap: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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.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}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap: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:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.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-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.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:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@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-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-top-left-radius:0;border-bottom-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}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-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,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1 * var(--bs-border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.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:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):focus,.list-group-item-action:not(.active):hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:not(.active):active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);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:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;filter:var(--bs-btn-close-filter);border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color:var(--bs-body-color);--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translate(0,-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{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.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 .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{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:0 0;filter:var(--bs-carousel-control-icon-filter);border:0;opacity:.5;transition:opacity .15s ease}@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;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}.spinner-border,.spinner-grow{display:inline-block;flex-shrink:0;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.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}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.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}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!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}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.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}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.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}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!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}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.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-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}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!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}.justify-content-evenly{justify-content:space-evenly!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}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!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;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!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}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.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-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}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!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}.justify-content-sm-evenly{justify-content:space-evenly!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}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!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}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.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-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}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!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}.justify-content-md-evenly{justify-content:space-evenly!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}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!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}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.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-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}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!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}.justify-content-lg-evenly{justify-content:space-evenly!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}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!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}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.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-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}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!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}.justify-content-xl-evenly{justify-content:space-evenly!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}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!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}.d-print-none{display:none!important}} -/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/public/june_assets/js/bootstrap.bundle.min.js b/public/june_assets/js/bootstrap.bundle.min.js deleted file mode 100644 index 0b87369..0000000 --- a/public/june_assets/js/bootstrap.bundle.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v5.3.8 (https://getbootstrap.com/) - * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,function(){"use strict";const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,(t,e)=>`#${CSS.escape(e)}`)),t),s=t=>null==t?`${t}`:Object.prototype.toString.call(t).match(/\s([a-z]+)/i)[1].toLowerCase(),o=t=>{t.dispatchEvent(new Event(i))},r=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),a=t=>r(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,l=t=>{if(!r(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},c=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),h=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?h(t.parentNode):null},d=()=>{},u=t=>{t.offsetHeight},f=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,p=[],m=()=>"rtl"===document.documentElement.dir,g=t=>{var e;e=()=>{const e=f();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(p.length||document.addEventListener("DOMContentLoaded",()=>{for(const t of p)t()}),p.push(e)):e()},_=(t,e=[],i=t)=>"function"==typeof t?t.call(...e):i,b=(t,e,n=!0)=>{if(!n)return void _(t);const s=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),_(t))};e.addEventListener(i,a),setTimeout(()=>{r||o(e)},s)},v=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},y=/[^.]*(?=\..*)\.|.*/,w=/\..*/,A=/::\d+$/,E={};let T=1;const C={mouseenter:"mouseover",mouseleave:"mouseout"},O=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function x(t,e){return e&&`${e}::${T++}`||t.uidEvent||T++}function k(t){const e=x(t);return t.uidEvent=e,E[e]=E[e]||{},E[e]}function L(t,e,i=null){return Object.values(t).find(t=>t.callable===e&&t.delegationSelector===i)}function S(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=N(t);return O.has(o)||(o=t),[n,s,o]}function D(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=S(e,i,n);if(e in C){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=k(t),c=l[a]||(l[a]={}),h=L(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=x(r,e.replace(y,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return j(s,{delegateTarget:r}),n.oneOff&&P.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return j(n,{delegateTarget:t}),i.oneOff&&P.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function $(t,e,i,n,s){const o=L(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function I(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&$(t,e,i,r.callable,r.delegationSelector)}function N(t){return t=t.replace(w,""),C[t]||t}const P={on(t,e,i,n){D(t,e,i,n,!1)},one(t,e,i,n){D(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=S(e,i,n),a=r!==e,l=k(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))I(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(A,"");a&&!e.includes(s)||$(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;$(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=f();let s=null,o=!0,r=!0,a=!1;e!==N(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=j(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function j(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function M(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function F(t){return t.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}const H={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${F(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${F(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter(t=>t.startsWith("bs")&&!t.startsWith("bsConfig"));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1),e[i]=M(t.dataset[n])}return e},getDataAttribute:(t,e)=>M(t.getAttribute(`data-bs-${F(e)}`))};class W{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=r(e)?H.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...r(e)?H.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[i,n]of Object.entries(e)){const e=t[i],o=r(e)?"element":s(e);if(!new RegExp(n).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${i}" provided type "${o}" but expected type "${n}".`)}}}class B extends W{constructor(t,i){super(),(t=a(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),P.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){b(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(a(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.8"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const z=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e?e.split(",").map(t=>n(t)).join(","):null},R={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter(t=>t.matches(e)),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(t=>`${t}:not([tabindex^="-"])`).join(",");return this.find(e,t).filter(t=>!c(t)&&l(t))},getSelectorFromElement(t){const e=z(t);return e&&R.findOne(e)?e:null},getElementFromSelector(t){const e=z(t);return e?R.findOne(e):null},getMultipleElementsFromSelector(t){const e=z(t);return e?R.find(e):[]}},q=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;P.on(document,i,`[data-bs-dismiss="${n}"]`,function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),c(this))return;const s=R.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()})},V=".bs.alert",K=`close${V}`,Q=`closed${V}`;class X extends B{static get NAME(){return"alert"}close(){if(P.trigger(this._element,K).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,t)}_destroyElement(){this._element.remove(),P.trigger(this._element,Q),this.dispose()}static jQueryInterface(t){return this.each(function(){const e=X.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}})}}q(X,"close"),g(X);const Y='[data-bs-toggle="button"]';class U extends B{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each(function(){const e=U.getOrCreateInstance(this);"toggle"===t&&e[t]()})}}P.on(document,"click.bs.button.data-api",Y,t=>{t.preventDefault();const e=t.target.closest(Y);U.getOrCreateInstance(e).toggle()}),g(U);const G=".bs.swipe",J=`touchstart${G}`,Z=`touchmove${G}`,tt=`touchend${G}`,et=`pointerdown${G}`,it=`pointerup${G}`,nt={endCallback:null,leftCallback:null,rightCallback:null},st={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class ot extends W{constructor(t,e){super(),this._element=t,t&&ot.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return nt}static get DefaultType(){return st}static get NAME(){return"swipe"}dispose(){P.off(this._element,G)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),_(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&_(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(P.on(this._element,et,t=>this._start(t)),P.on(this._element,it,t=>this._end(t)),this._element.classList.add("pointer-event")):(P.on(this._element,J,t=>this._start(t)),P.on(this._element,Z,t=>this._move(t)),P.on(this._element,tt,t=>this._end(t)))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const rt=".bs.carousel",at=".data-api",lt="ArrowLeft",ct="ArrowRight",ht="next",dt="prev",ut="left",ft="right",pt=`slide${rt}`,mt=`slid${rt}`,gt=`keydown${rt}`,_t=`mouseenter${rt}`,bt=`mouseleave${rt}`,vt=`dragstart${rt}`,yt=`load${rt}${at}`,wt=`click${rt}${at}`,At="carousel",Et="active",Tt=".active",Ct=".carousel-item",Ot=Tt+Ct,xt={[lt]:ft,[ct]:ut},kt={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Lt={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class St extends B{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=R.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===At&&this.cycle()}static get Default(){return kt}static get DefaultType(){return Lt}static get NAME(){return"carousel"}next(){this._slide(ht)}nextWhenVisible(){!document.hidden&&l(this._element)&&this.next()}prev(){this._slide(dt)}pause(){this._isSliding&&o(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?P.one(this._element,mt,()=>this.cycle()):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void P.one(this._element,mt,()=>this.to(t));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?ht:dt;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&P.on(this._element,gt,t=>this._keydown(t)),"hover"===this._config.pause&&(P.on(this._element,_t,()=>this.pause()),P.on(this._element,bt,()=>this._maybeEnableCycle())),this._config.touch&&ot.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of R.find(".carousel-item img",this._element))P.on(t,vt,t=>t.preventDefault());const t={leftCallback:()=>this._slide(this._directionToOrder(ut)),rightCallback:()=>this._slide(this._directionToOrder(ft)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),500+this._config.interval))}};this._swipeHelper=new ot(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=xt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=R.findOne(Tt,this._indicatorsElement);e.classList.remove(Et),e.removeAttribute("aria-current");const i=R.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(Et),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===ht,s=e||v(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>P.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(pt).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),u(s),i.classList.add(l),s.classList.add(l),this._queueCallback(()=>{s.classList.remove(l,c),s.classList.add(Et),i.classList.remove(Et,c,l),this._isSliding=!1,r(mt)},i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return R.findOne(Ot,this._element)}_getItems(){return R.find(Ct,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return m()?t===ut?dt:ht:t===ut?ht:dt}_orderToDirection(t){return m()?t===dt?ut:ft:t===dt?ft:ut}static jQueryInterface(t){return this.each(function(){const e=St.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)})}}P.on(document,wt,"[data-bs-slide], [data-bs-slide-to]",function(t){const e=R.getElementFromSelector(this);if(!e||!e.classList.contains(At))return;t.preventDefault();const i=St.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===H.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())}),P.on(window,yt,()=>{const t=R.find('[data-bs-ride="carousel"]');for(const e of t)St.getOrCreateInstance(e)}),g(St);const Dt=".bs.collapse",$t=`show${Dt}`,It=`shown${Dt}`,Nt=`hide${Dt}`,Pt=`hidden${Dt}`,jt=`click${Dt}.data-api`,Mt="show",Ft="collapse",Ht="collapsing",Wt=`:scope .${Ft} .${Ft}`,Bt='[data-bs-toggle="collapse"]',zt={parent:null,toggle:!0},Rt={parent:"(null|element)",toggle:"boolean"};class qt extends B{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=R.find(Bt);for(const t of i){const e=R.getSelectorFromElement(t),i=R.find(e).filter(t=>t===this._element);null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return zt}static get DefaultType(){return Rt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter(t=>t!==this._element).map(t=>qt.getOrCreateInstance(t,{toggle:!1}))),t.length&&t[0]._isTransitioning)return;if(P.trigger(this._element,$t).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Ft),this._element.classList.add(Ht),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(Ht),this._element.classList.add(Ft,Mt),this._element.style[e]="",P.trigger(this._element,It)},this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(P.trigger(this._element,Nt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,u(this._element),this._element.classList.add(Ht),this._element.classList.remove(Ft,Mt);for(const t of this._triggerArray){const e=R.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(Ht),this._element.classList.add(Ft),P.trigger(this._element,Pt)},this._element,!0)}_isShown(t=this._element){return t.classList.contains(Mt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=a(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Bt);for(const e of t){const t=R.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=R.find(Wt,this._config.parent);return R.find(t,this._config.parent).filter(t=>!e.includes(t))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each(function(){const i=qt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}})}}P.on(document,jt,Bt,function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of R.getMultipleElementsFromSelector(this))qt.getOrCreateInstance(t,{toggle:!1}).toggle()}),g(qt);var Vt="top",Kt="bottom",Qt="right",Xt="left",Yt="auto",Ut=[Vt,Kt,Qt,Xt],Gt="start",Jt="end",Zt="clippingParents",te="viewport",ee="popper",ie="reference",ne=Ut.reduce(function(t,e){return t.concat([e+"-"+Gt,e+"-"+Jt])},[]),se=[].concat(Ut,[Yt]).reduce(function(t,e){return t.concat([e,e+"-"+Gt,e+"-"+Jt])},[]),oe="beforeRead",re="read",ae="afterRead",le="beforeMain",ce="main",he="afterMain",de="beforeWrite",ue="write",fe="afterWrite",pe=[oe,re,ae,le,ce,he,de,ue,fe];function me(t){return t?(t.nodeName||"").toLowerCase():null}function ge(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function _e(t){return t instanceof ge(t).Element||t instanceof Element}function be(t){return t instanceof ge(t).HTMLElement||t instanceof HTMLElement}function ve(t){return"undefined"!=typeof ShadowRoot&&(t instanceof ge(t).ShadowRoot||t instanceof ShadowRoot)}const ye={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach(function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];be(s)&&me(s)&&(Object.assign(s.style,i),Object.keys(n).forEach(function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)}))})},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach(function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce(function(t,e){return t[e]="",t},{});be(n)&&me(n)&&(Object.assign(n.style,o),Object.keys(s).forEach(function(t){n.removeAttribute(t)}))})}},requires:["computeStyles"]};function we(t){return t.split("-")[0]}var Ae=Math.max,Ee=Math.min,Te=Math.round;function Ce(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Oe(){return!/^((?!chrome|android).)*safari/i.test(Ce())}function xe(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&be(t)&&(s=t.offsetWidth>0&&Te(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&Te(n.height)/t.offsetHeight||1);var r=(_e(t)?ge(t):window).visualViewport,a=!Oe()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function ke(t){var e=xe(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Le(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ve(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Se(t){return ge(t).getComputedStyle(t)}function De(t){return["table","td","th"].indexOf(me(t))>=0}function $e(t){return((_e(t)?t.ownerDocument:t.document)||window.document).documentElement}function Ie(t){return"html"===me(t)?t:t.assignedSlot||t.parentNode||(ve(t)?t.host:null)||$e(t)}function Ne(t){return be(t)&&"fixed"!==Se(t).position?t.offsetParent:null}function Pe(t){for(var e=ge(t),i=Ne(t);i&&De(i)&&"static"===Se(i).position;)i=Ne(i);return i&&("html"===me(i)||"body"===me(i)&&"static"===Se(i).position)?e:i||function(t){var e=/firefox/i.test(Ce());if(/Trident/i.test(Ce())&&be(t)&&"fixed"===Se(t).position)return null;var i=Ie(t);for(ve(i)&&(i=i.host);be(i)&&["html","body"].indexOf(me(i))<0;){var n=Se(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function je(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Me(t,e,i){return Ae(t,Ee(e,i))}function Fe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function He(t,e){return e.reduce(function(e,i){return e[i]=t,e},{})}const We={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=we(i.placement),l=je(a),c=[Xt,Qt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return Fe("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:He(t,Ut))}(s.padding,i),d=ke(o),u="y"===l?Vt:Xt,f="y"===l?Kt:Qt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=Pe(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=Me(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Le(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Be(t){return t.split("-")[1]}var ze={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Re(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=Xt,y=Vt,w=window;if(c){var A=Pe(i),E="clientHeight",T="clientWidth";A===ge(i)&&"static"!==Se(A=$e(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===Vt||(s===Xt||s===Qt)&&o===Jt)&&(y=Kt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==Xt&&(s!==Vt&&s!==Kt||o!==Jt)||(v=Qt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&ze),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:Te(i*s)/s||0,y:Te(n*s)/s||0}}({x:f,y:m},ge(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const qe={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:we(e.placement),variation:Be(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,Re(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,Re(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var Ve={passive:!0};const Ke={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=ge(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach(function(t){t.addEventListener("scroll",i.update,Ve)}),a&&l.addEventListener("resize",i.update,Ve),function(){o&&c.forEach(function(t){t.removeEventListener("scroll",i.update,Ve)}),a&&l.removeEventListener("resize",i.update,Ve)}},data:{}};var Qe={left:"right",right:"left",bottom:"top",top:"bottom"};function Xe(t){return t.replace(/left|right|bottom|top/g,function(t){return Qe[t]})}var Ye={start:"end",end:"start"};function Ue(t){return t.replace(/start|end/g,function(t){return Ye[t]})}function Ge(t){var e=ge(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Je(t){return xe($e(t)).left+Ge(t).scrollLeft}function Ze(t){var e=Se(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function ti(t){return["html","body","#document"].indexOf(me(t))>=0?t.ownerDocument.body:be(t)&&Ze(t)?t:ti(Ie(t))}function ei(t,e){var i;void 0===e&&(e=[]);var n=ti(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=ge(n),r=s?[o].concat(o.visualViewport||[],Ze(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(ei(Ie(r)))}function ii(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ni(t,e,i){return e===te?ii(function(t,e){var i=ge(t),n=$e(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Oe();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Je(t),y:l}}(t,i)):_e(e)?function(t,e){var i=xe(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):ii(function(t){var e,i=$e(t),n=Ge(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=Ae(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=Ae(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Je(t),l=-n.scrollTop;return"rtl"===Se(s||i).direction&&(a+=Ae(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}($e(t)))}function si(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?we(s):null,r=s?Be(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case Vt:e={x:a,y:i.y-n.height};break;case Kt:e={x:a,y:i.y+i.height};break;case Qt:e={x:i.x+i.width,y:l};break;case Xt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?je(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Gt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Jt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function oi(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Zt:a,c=i.rootBoundary,h=void 0===c?te:c,d=i.elementContext,u=void 0===d?ee:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=Fe("number"!=typeof g?g:He(g,Ut)),b=u===ee?ie:ee,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=ei(Ie(t)),i=["absolute","fixed"].indexOf(Se(t).position)>=0&&be(t)?Pe(t):t;return _e(i)?e.filter(function(t){return _e(t)&&Le(t,i)&&"body"!==me(t)}):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce(function(e,i){var s=ni(t,i,n);return e.top=Ae(s.top,e.top),e.right=Ee(s.right,e.right),e.bottom=Ee(s.bottom,e.bottom),e.left=Ae(s.left,e.left),e},ni(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(_e(y)?y:y.contextElement||$e(t.elements.popper),l,h,r),A=xe(t.elements.reference),E=si({reference:A,element:v,placement:s}),T=ii(Object.assign({},v,E)),C=u===ee?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===ee&&x){var k=x[s];Object.keys(O).forEach(function(t){var e=[Qt,Kt].indexOf(t)>=0?1:-1,i=[Vt,Kt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e})}return O}function ri(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?se:l,h=Be(n),d=h?a?ne:ne.filter(function(t){return Be(t)===h}):Ut,u=d.filter(function(t){return c.indexOf(t)>=0});0===u.length&&(u=d);var f=u.reduce(function(e,i){return e[i]=oi(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[we(i)],e},{});return Object.keys(f).sort(function(t,e){return f[t]-f[e]})}const ai={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=we(g),b=l||(_!==g&&p?function(t){if(we(t)===Yt)return[];var e=Xe(t);return[Ue(t),e,Ue(e)]}(g):[Xe(g)]),v=[g].concat(b).reduce(function(t,i){return t.concat(we(i)===Yt?ri(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)},[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=oi(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),$=L?k?Qt:Xt:k?Kt:Vt;y[S]>w[S]&&($=Xe($));var I=Xe($),N=[];if(o&&N.push(D[x]<=0),a&&N.push(D[$]<=0,D[I]<=0),N.every(function(t){return t})){T=O,E=!1;break}A.set(O,N)}if(E)for(var P=function(t){var e=v.find(function(e){var i=A.get(e);if(i)return i.slice(0,t).every(function(t){return t})});if(e)return T=e,"break"},j=p?3:1;j>0&&"break"!==P(j);j--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function li(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ci(t){return[Vt,Qt,Kt,Xt].some(function(e){return t[e]>=0})}const hi={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=oi(e,{elementContext:"reference"}),a=oi(e,{altBoundary:!0}),l=li(r,n),c=li(a,s,o),h=ci(l),d=ci(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},di={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=se.reduce(function(t,i){return t[i]=function(t,e,i){var n=we(t),s=[Xt,Vt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[Xt,Qt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t},{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},ui={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=si({reference:e.rects.reference,element:e.rects.popper,placement:e.placement})},data:{}},fi={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=oi(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=we(e.placement),b=Be(e.placement),v=!b,y=je(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?Vt:Xt,D="y"===y?Kt:Qt,$="y"===y?"height":"width",I=A[y],N=I+g[S],P=I-g[D],j=f?-T[$]/2:0,M=b===Gt?E[$]:T[$],F=b===Gt?-T[$]:-E[$],H=e.elements.arrow,W=f&&H?ke(H):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=Me(0,E[$],W[$]),V=v?E[$]/2-j-q-z-O.mainAxis:M-q-z-O.mainAxis,K=v?-E[$]/2+j+q+R+O.mainAxis:F+q+R+O.mainAxis,Q=e.elements.arrow&&Pe(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=I+K-Y,G=Me(f?Ee(N,I+V-Y-X):N,I,f?Ae(P,U):P);A[y]=G,k[y]=G-I}if(a){var J,Z="x"===y?Vt:Xt,tt="x"===y?Kt:Qt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[Vt,Xt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=Me(t,e,i);return n>i?i:n}(at,et,lt):Me(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function pi(t,e,i){void 0===i&&(i=!1);var n,s,o=be(e),r=be(e)&&function(t){var e=t.getBoundingClientRect(),i=Te(e.width)/t.offsetWidth||1,n=Te(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=$e(e),l=xe(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==me(e)||Ze(a))&&(c=(n=e)!==ge(n)&&be(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Ge(n)),be(e)?((h=xe(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Je(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function mi(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach(function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}}),n.push(t)}return t.forEach(function(t){e.set(t.name,t)}),t.forEach(function(t){i.has(t.name)||s(t)}),n}var gi={placement:"bottom",modifiers:[],strategy:"absolute"};function _i(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(H.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..._(this._config.popperConfig,[void 0,t])}}_selectMenuItem({key:t,target:e}){const i=R.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(t=>l(t));i.length&&v(i,e,t===xi,!i.includes(e)).focus()}static jQueryInterface(t){return this.each(function(){const e=Qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}})}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=R.find(Mi);for(const i of e){const e=Qi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Oi,xi].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(ji)?this:R.prev(this,ji)[0]||R.next(this,ji)[0]||R.findOne(ji,t.delegateTarget.parentNode),o=Qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}P.on(document,Ii,ji,Qi.dataApiKeydownHandler),P.on(document,Ii,Fi,Qi.dataApiKeydownHandler),P.on(document,$i,Qi.clearMenus),P.on(document,Ni,Qi.clearMenus),P.on(document,$i,ji,function(t){t.preventDefault(),Qi.getOrCreateInstance(this).toggle()}),g(Qi);const Xi="backdrop",Yi="show",Ui=`mousedown.bs.${Xi}`,Gi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Ji={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Zi extends W{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Gi}static get DefaultType(){return Ji}static get NAME(){return Xi}show(t){if(!this._config.isVisible)return void _(t);this._append();const e=this._getElement();this._config.isAnimated&&u(e),e.classList.add(Yi),this._emulateAnimation(()=>{_(t)})}hide(t){this._config.isVisible?(this._getElement().classList.remove(Yi),this._emulateAnimation(()=>{this.dispose(),_(t)})):_(t)}dispose(){this._isAppended&&(P.off(this._element,Ui),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=a(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),P.on(t,Ui,()=>{_(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(t){b(t,this._getElement(),this._config.isAnimated)}}const tn=".bs.focustrap",en=`focusin${tn}`,nn=`keydown.tab${tn}`,sn="backward",on={autofocus:!0,trapElement:null},rn={autofocus:"boolean",trapElement:"element"};class an extends W{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return on}static get DefaultType(){return rn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),P.off(document,tn),P.on(document,en,t=>this._handleFocusin(t)),P.on(document,nn,t=>this._handleKeydown(t)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,P.off(document,tn))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=R.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===sn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?sn:"forward")}}const ln=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",cn=".sticky-top",hn="padding-right",dn="margin-right";class un{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,hn,e=>e+t),this._setElementAttributes(ln,hn,e=>e+t),this._setElementAttributes(cn,dn,e=>e-t)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,hn),this._resetElementAttributes(ln,hn),this._resetElementAttributes(cn,dn)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)})}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&H.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,t=>{const i=H.getDataAttribute(t,e);null!==i?(H.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)})}_applyManipulationCallback(t,e){if(r(t))e(t);else for(const i of R.find(t,this._element))e(i)}}const fn=".bs.modal",pn=`hide${fn}`,mn=`hidePrevented${fn}`,gn=`hidden${fn}`,_n=`show${fn}`,bn=`shown${fn}`,vn=`resize${fn}`,yn=`click.dismiss${fn}`,wn=`mousedown.dismiss${fn}`,An=`keydown.dismiss${fn}`,En=`click${fn}.data-api`,Tn="modal-open",Cn="show",On="modal-static",xn={backdrop:!0,focus:!0,keyboard:!0},kn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Ln extends B{constructor(t,e){super(t,e),this._dialog=R.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new un,this._addEventListeners()}static get Default(){return xn}static get DefaultType(){return kn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||P.trigger(this._element,_n,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Tn),this._adjustDialog(),this._backdrop.show(()=>this._showElement(t)))}hide(){this._isShown&&!this._isTransitioning&&(P.trigger(this._element,pn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Cn),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated())))}dispose(){P.off(window,fn),P.off(this._dialog,fn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Zi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new an({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=R.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),u(this._element),this._element.classList.add(Cn),this._queueCallback(()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,P.trigger(this._element,bn,{relatedTarget:t})},this._dialog,this._isAnimated())}_addEventListeners(){P.on(this._element,An,t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())}),P.on(window,vn,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),P.on(this._element,wn,t=>{P.one(this._element,yn,e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(Tn),this._resetAdjustments(),this._scrollBar.reset(),P.trigger(this._element,gn)})}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(P.trigger(this._element,mn).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(On)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(On),this._queueCallback(()=>{this._element.classList.remove(On),this._queueCallback(()=>{this._element.style.overflowY=e},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=m()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=m()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each(function(){const i=Ln.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}})}}P.on(document,En,'[data-bs-toggle="modal"]',function(t){const e=R.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),P.one(e,_n,t=>{t.defaultPrevented||P.one(e,gn,()=>{l(this)&&this.focus()})});const i=R.findOne(".modal.show");i&&Ln.getInstance(i).hide(),Ln.getOrCreateInstance(e).toggle(this)}),q(Ln),g(Ln);const Sn=".bs.offcanvas",Dn=".data-api",$n=`load${Sn}${Dn}`,In="show",Nn="showing",Pn="hiding",jn=".offcanvas.show",Mn=`show${Sn}`,Fn=`shown${Sn}`,Hn=`hide${Sn}`,Wn=`hidePrevented${Sn}`,Bn=`hidden${Sn}`,zn=`resize${Sn}`,Rn=`click${Sn}${Dn}`,qn=`keydown.dismiss${Sn}`,Vn={backdrop:!0,keyboard:!0,scroll:!1},Kn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Qn extends B{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Vn}static get DefaultType(){return Kn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||P.trigger(this._element,Mn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new un).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Nn),this._queueCallback(()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(In),this._element.classList.remove(Nn),P.trigger(this._element,Fn,{relatedTarget:t})},this._element,!0))}hide(){this._isShown&&(P.trigger(this._element,Hn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Pn),this._backdrop.hide(),this._queueCallback(()=>{this._element.classList.remove(In,Pn),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new un).reset(),P.trigger(this._element,Bn)},this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Zi({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():P.trigger(this._element,Wn)}:null})}_initializeFocusTrap(){return new an({trapElement:this._element})}_addEventListeners(){P.on(this._element,qn,t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():P.trigger(this._element,Wn))})}static jQueryInterface(t){return this.each(function(){const e=Qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}})}}P.on(document,Rn,'[data-bs-toggle="offcanvas"]',function(t){const e=R.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),c(this))return;P.one(e,Bn,()=>{l(this)&&this.focus()});const i=R.findOne(jn);i&&i!==e&&Qn.getInstance(i).hide(),Qn.getOrCreateInstance(e).toggle(this)}),P.on(window,$n,()=>{for(const t of R.find(jn))Qn.getOrCreateInstance(t).show()}),P.on(window,zn,()=>{for(const t of R.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&Qn.getOrCreateInstance(t).hide()}),q(Qn),g(Qn);const Xn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Yn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Un=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Gn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Yn.has(i)||Boolean(Un.test(t.nodeValue)):e.filter(t=>t instanceof RegExp).some(t=>t.test(i))},Jn={allowList:Xn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Zn={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},ts={entry:"(string|element|function|null)",selector:"(string|element)"};class es extends W{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Jn}static get DefaultType(){return Zn}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map(t=>this._resolvePossibleFunction(t)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},ts)}_setContent(t,e,i){const n=R.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?r(e)?this._putElementInTemplate(a(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Gn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return _(t,[void 0,this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const is=new Set(["sanitize","allowList","sanitizeFn"]),ns="fade",ss="show",os=".tooltip-inner",rs=".modal",as="hide.bs.modal",ls="hover",cs="focus",hs="click",ds={AUTO:"auto",TOP:"top",RIGHT:m()?"left":"right",BOTTOM:"bottom",LEFT:m()?"right":"left"},us={allowList:Xn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},fs={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class ps extends B{constructor(t,e){if(void 0===Ai)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return us}static get DefaultType(){return fs}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),P.off(this._element.closest(rs),as,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=P.trigger(this._element,this.constructor.eventName("show")),e=(h(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),P.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(ss),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.on(t,"mouseover",d);this._queueCallback(()=>{P.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1},this.tip,this._isAnimated())}hide(){if(this._isShown()&&!P.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(ss),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.off(t,"mouseover",d);this._activeTrigger[hs]=!1,this._activeTrigger[cs]=!1,this._activeTrigger[ls]=!1,this._isHovered=null,this._queueCallback(()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),P.trigger(this._element,this.constructor.eventName("hidden")))},this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ns,ss),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ns),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new es({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[os]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ns)}_isShown(){return this.tip&&this.tip.classList.contains(ss)}_createPopper(t){const e=_(this._config.placement,[this,t,this._element]),i=ds[e.toUpperCase()];return wi(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return _(t,[this._element,this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,..._(this._config.popperConfig,[void 0,e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)P.on(this._element,this.constructor.eventName("click"),this._config.selector,t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger[hs]=!(e._isShown()&&e._activeTrigger[hs]),e.toggle()});else if("manual"!==e){const t=e===ls?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ls?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");P.on(this._element,t,this._config.selector,t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?cs:ls]=!0,e._enter()}),P.on(this._element,i,this._config.selector,t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?cs:ls]=e._element.contains(t.relatedTarget),e._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},P.on(this._element.closest(rs),as,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=H.getDataAttributes(this._element);for(const t of Object.keys(e))is.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:a(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each(function(){const e=ps.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}})}}g(ps);const ms=".popover-header",gs=".popover-body",_s={...ps.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},bs={...ps.DefaultType,content:"(null|string|element|function)"};class vs extends ps{static get Default(){return _s}static get DefaultType(){return bs}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[ms]:this._getTitle(),[gs]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each(function(){const e=vs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}})}}g(vs);const ys=".bs.scrollspy",ws=`activate${ys}`,As=`click${ys}`,Es=`load${ys}.data-api`,Ts="active",Cs="[href]",Os=".nav-link",xs=`${Os}, .nav-item > ${Os}, .list-group-item`,ks={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Ls={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Ss extends B{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ks}static get DefaultType(){return Ls}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=a(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map(t=>Number.parseFloat(t))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(P.off(this._config.target,As),P.on(this._config.target,As,Cs,t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}}))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(t=>this._observerCallback(t),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=R.find(Cs,this._config.target);for(const e of t){if(!e.hash||c(e))continue;const t=R.findOne(decodeURI(e.hash),this._element);l(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(Ts),this._activateParents(t),P.trigger(this._element,ws,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))R.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(Ts);else for(const e of R.parents(t,".nav, .list-group"))for(const t of R.prev(e,xs))t.classList.add(Ts)}_clearActiveClass(t){t.classList.remove(Ts);const e=R.find(`${Cs}.${Ts}`,t);for(const t of e)t.classList.remove(Ts)}static jQueryInterface(t){return this.each(function(){const e=Ss.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}})}}P.on(window,Es,()=>{for(const t of R.find('[data-bs-spy="scroll"]'))Ss.getOrCreateInstance(t)}),g(Ss);const Ds=".bs.tab",$s=`hide${Ds}`,Is=`hidden${Ds}`,Ns=`show${Ds}`,Ps=`shown${Ds}`,js=`click${Ds}`,Ms=`keydown${Ds}`,Fs=`load${Ds}`,Hs="ArrowLeft",Ws="ArrowRight",Bs="ArrowUp",zs="ArrowDown",Rs="Home",qs="End",Vs="active",Ks="fade",Qs="show",Xs=".dropdown-toggle",Ys=`:not(${Xs})`,Us='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Gs=`.nav-link${Ys}, .list-group-item${Ys}, [role="tab"]${Ys}, ${Us}`,Js=`.${Vs}[data-bs-toggle="tab"], .${Vs}[data-bs-toggle="pill"], .${Vs}[data-bs-toggle="list"]`;class Zs extends B{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),P.on(this._element,Ms,t=>this._keydown(t)))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?P.trigger(e,$s,{relatedTarget:t}):null;P.trigger(t,Ns,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Vs),this._activate(R.getElementFromSelector(t)),this._queueCallback(()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),P.trigger(t,Ps,{relatedTarget:e})):t.classList.add(Qs)},t,t.classList.contains(Ks)))}_deactivate(t,e){t&&(t.classList.remove(Vs),t.blur(),this._deactivate(R.getElementFromSelector(t)),this._queueCallback(()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),P.trigger(t,Is,{relatedTarget:e})):t.classList.remove(Qs)},t,t.classList.contains(Ks)))}_keydown(t){if(![Hs,Ws,Bs,zs,Rs,qs].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter(t=>!c(t));let i;if([Rs,qs].includes(t.key))i=e[t.key===Rs?0:e.length-1];else{const n=[Ws,zs].includes(t.key);i=v(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Zs.getOrCreateInstance(i).show())}_getChildren(){return R.find(Gs,this._parent)}_getActiveElem(){return this._getChildren().find(t=>this._elemIsActive(t))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=R.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=R.findOne(t,i);s&&s.classList.toggle(n,e)};n(Xs,Vs),n(".dropdown-menu",Qs),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Vs)}_getInnerElement(t){return t.matches(Gs)?t:R.findOne(Gs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each(function(){const e=Zs.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}})}}P.on(document,js,Us,function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),c(this)||Zs.getOrCreateInstance(this).show()}),P.on(window,Fs,()=>{for(const t of R.find(Js))Zs.getOrCreateInstance(t)}),g(Zs);const to=".bs.toast",eo=`mouseover${to}`,io=`mouseout${to}`,no=`focusin${to}`,so=`focusout${to}`,oo=`hide${to}`,ro=`hidden${to}`,ao=`show${to}`,lo=`shown${to}`,co="hide",ho="show",uo="showing",fo={animation:"boolean",autohide:"boolean",delay:"number"},po={animation:!0,autohide:!0,delay:5e3};class mo extends B{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return po}static get DefaultType(){return fo}static get NAME(){return"toast"}show(){P.trigger(this._element,ao).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(co),u(this._element),this._element.classList.add(ho,uo),this._queueCallback(()=>{this._element.classList.remove(uo),P.trigger(this._element,lo),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this.isShown()&&(P.trigger(this._element,oo).defaultPrevented||(this._element.classList.add(uo),this._queueCallback(()=>{this._element.classList.add(co),this._element.classList.remove(uo,ho),P.trigger(this._element,ro)},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(ho),super.dispose()}isShown(){return this._element.classList.contains(ho)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){P.on(this._element,eo,t=>this._onInteraction(t,!0)),P.on(this._element,io,t=>this._onInteraction(t,!1)),P.on(this._element,no,t=>this._onInteraction(t,!0)),P.on(this._element,so,t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each(function(){const e=mo.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}})}}return q(mo),g(mo),{Alert:X,Button:U,Carousel:St,Collapse:qt,Dropdown:Qi,Modal:Ln,Offcanvas:Qn,Popover:vs,ScrollSpy:Ss,Tab:Zs,Toast:mo,Tooltip:ps}}); -//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/resources/views/clients/index_raw.blade.php b/resources/views/clients/index_raw.blade.php deleted file mode 100644 index cc61119..0000000 --- a/resources/views/clients/index_raw.blade.php +++ /dev/null @@ -1,413 +0,0 @@ - - - - - - Nexus ERP - Client Management - - - - - - - - -
-
-
- - - Entities - - Clients -
-
-
- --:--:-- -
-
-
AU
- Admin User -
-
-
- -
- -
-
-

Client Management

-

Manage corporate accounts, billing types, and service provisions.

-
-
- - -
-
- -
-
-
-
TOTAL CLIENTS
-

24

-
-
-
-
-
ACTIVE SIP TRUNKS
-

18

-
-
-
-
-
PREPAID ACCOUNTS
-

12

-
-
-
- -
-
-
-
-
- - -
-
-
- -
-
- -
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Client DetailsPrimary ContactServicesBillingStatusActions
-
-
CT
-
-
Click Tech Team
-
Accra, GH
-
-
-
-
Admin Desk
-
hello@clicktechteam.com
-
Web InfrastructurePostpaidActive - - -
-
-
AT
-
-
Alpha Telecom Services
-
Kumasi, GH
-
-
-
-
Michael Osei
-
m.osei@alphatel.com.gh
-
SIP Trunking / PBXPrepaidActive - - -
-
-
LS
-
-
LiveScores Media ZM
-
Lusaka, ZM
-
-
-
-
David Phiri
-
david@livescores.co.zm
-
USSD App / APIPostpaidOnboarding - - -
-
- -
- Showing 1 to 3 of 24 entries - -
-
-
-
- - - - - - - - - \ No newline at end of file diff --git a/resources/views/clients/show.blade.php b/resources/views/clients/show.blade.php index fe84152..6190cb1 100644 --- a/resources/views/clients/show.blade.php +++ b/resources/views/clients/show.blade.php @@ -578,6 +578,4 @@ -@endpush - -0546907824 \ No newline at end of file +@endpush \ No newline at end of file diff --git a/resources/views/documents/index.blade.php b/resources/views/documents/index.blade.php index 1a720a3..30de7d5 100644 --- a/resources/views/documents/index.blade.php +++ b/resources/views/documents/index.blade.php @@ -4,7 +4,7 @@ - CML ERP + Click ERP +@endpush + +@section('breadcrumbs') + + + My Leave +@endsection + +@section('content') +
+
+

My Leave Dashboard

+

Manage your time off and track request statuses.

+
+ +
+ +
+
+
+
Annual Leave Balance
+
+

{{ $staff->annual_leave_balance }}

+ Days +
+
+
+
+
+
Leave Policy Quick Guide
+
    +
  • Policy 1
  • +
  • Policy 2
  • +
  • Policy 3
  • +
  • Pending Requests: Can be canceled before HR approval. Once approved, contact HR to amend.
  • +
+
+
+
+ + +
+
+
My Request History
+
+
+ + + + + + + + + + + + + @forelse($leaveRequests as $request) + + + + + + + + + @empty + + + + @endforelse + +
Date SubmittedLeave TypeDurationTotal DaysReasonStatus
{{ $request->created_at->format('M d, Y') }}{{ $request->leave_type }} + {{ $request->start_date->format('M d, Y') }} {{ $request->end_date->format('M d, Y') }} + {{ $request->total_days }} + {{ $request->reason }} + + @if($request->status == 'APPROVED') + Approved + @elseif($request->status == 'REJECTED') + Rejected + @else + Pending + @endif + + @if($request->admin_remarks) + + @endif +
You haven't submitted any leave requests yet.
+
+
+ {{ $leaveRequests->links('pagination::bootstrap-5') }} +
+
+@endsection + +@push('modals') + + +@endpush + +@push('scripts') + +@endpush \ No newline at end of file diff --git a/resources/views/profile/index.blade.php b/resources/views/profile/index.blade.php new file mode 100644 index 0000000..56179e8 --- /dev/null +++ b/resources/views/profile/index.blade.php @@ -0,0 +1,399 @@ +@extends('layouts.masterbeta') + +@section('title', 'Click ERP - My Profile') + +@push('styles') + +@endpush + +@section('breadcrumbs') + + + My Profile +@endsection + +@section('content') +
+

Personal Settings

+

Manage your profile information and emergency contacts.

+
+ +
+ +
+
+
+
+ @if($staff->profile_pic) + {{ $staff->name }} + @else + @php + $words = explode(' ', $staff->name); + $initials = strtoupper(substr($words[0], 0, 1) . (isset($words[1]) ? substr($words[1], 0, 1) : '')); + @endphp +
{{ $initials }}
+ @endif + + +
+
+ +
{{ $staff->name }}
+

{{ $staff->designation ?? 'Staff Member' }}

+ + + {{ $staff->status }} + + +
+
Work Information
+ +
+
+
+
WORK EMAIL
+
{{ $staff->email }}
+
+
+ +
+
+
+
STAFF ID
+
{{ $staff->staff_id ?? 'N/A' }}
+
+
+ +
+
+
+
HIRE DATE
+
{{ $staff->hire_date ? date('M d, Y', strtotime($staff->hire_date)) : 'N/A' }}
+
+
+ + + Leave Management + {{ $staff->annual_leave_balance }} Days + +
+
+
+ + +
+ +
+
Edit Profile Details
+ +
+ @csrf + @method('PUT') + +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+
+ +
+ @php + // Extract current month and day if they exist in the DB (e.g., "12-25" or "2026-12-25") + $currentDob = $staff->dob ? date('m-d', strtotime($staff->dob)) : '--'; + [$currMonth, $currDay] = explode('-', $currentDob) + [null, null]; + @endphp + + +
+ +
+ + +
+ +
+
+
+
+ +
+ +
+
+
+ + +
+
+
Emergency Contacts & Dependents
+ +
+ +
+ + + + + + + + + + + + @forelse($staff->dependents as $dependent) + + + + + + + + @empty + + + + @endforelse + +
Full NameRelationshipPhoneMedical NotesActions
{{ $dependent->fullname }}{{ $dependent->relationship }}{{ $dependent->phone ?? 'N/A' }}{{ $dependent->medical_details ?? 'None' }} +
+ +
+ @csrf + @method('DELETE') + +
+
+
No emergency contacts added yet.
+
+
+
+
+@endsection + +@push('modals') + + +@endpush + +@push('scripts') + +@endpush \ No newline at end of file diff --git a/resources/views/senderids/index.blade.php b/resources/views/senderids/index.blade.php index bbda9bc..3ea891c 100644 --- a/resources/views/senderids/index.blade.php +++ b/resources/views/senderids/index.blade.php @@ -41,7 +41,7 @@

SMS Sender IDs

-

Manage alphanumeric masks, shortcodes, and MNO registration statuses.

+

Manage Sender IDs

-
+
-
-
-
- - +
+
+
+
+ + +
+
+
+ +
+
+ +
+
+
-
- -
-
- -
-
- -
-
+
+
- -
-
-
+ @php + // Define an array of Bootstrap background classes for the card top bars + $colors = ['bg-primary', 'bg-success', 'bg-warning', 'bg-danger', 'bg-info']; + @endphp + + @forelse($staffMembers as $staff) + @php + // Generate Initials + $words = explode(' ', $staff->name); + $initials = strtoupper(substr($words[0], 0, 1) . (isset($words[1]) ? substr($words[1], 0, 1) : '')); -
-
AD
-
-
Admin Desk
- Systems Admin -
-
+ // Match the department ID to the collection + $deptName = $departments->firstWhere('id', $staff->department_id)->name ?? 'Unassigned'; + + // Cycle through colors based on the loop index + $topBarColor = $colors[$loop->index % count($colors)]; + @endphp -
-
- Engineering - ACTIVE +
+
+
+ +
+ @if($staff->profile_pic) + {{ $staff->name }} + @else +
{{ $initials }}
+ @endif + +
+
{{ $staff->name }}
+ + {{ $staff->designation ?? 'N/A' }} + +
-
- admin@nexus.io - -
-
- Ext: 1001 -
-
-
- - +
+
+ {{ $deptName }} + + {{ $staff->status }} + +
+
+ {{ $staff->email }} + +
+
+ {{ $staff->location_country ?? 'Not Specified' }} +
+
+ +
+ + +
+ @csrf + @method('DELETE') + +
+
-
- -
-
-
- -
-
MO
-
-
Mansa Olympio
- Account Executive -
-
- -
-
- Sales - ACTIVE -
-
- m.osei@nexus.io - -
-
- Ext: 1045 -
-
- -
- - -
+ @empty +
+ + No staff members found.
-
- -
-
-
- -
- David Kumwenda -
-
David Kumwenda
- Software Developer -
-
- -
-
- Tech - ON LEAVE -
-
- s.mensah@nexus.io - -
-
- Ext: 1022 -
-
- -
- - -
-
-
- + @endforelse +
+ +
+ {{ $staffMembers->links('pagination::bootstrap-5') }}
@endsection @push('modals') +
- - - - -
- - - - -
-
-
-
-
-
- -
-
-
-
Total Visits
-
-
-
-
- -
-
- +10% -
-
-
-
-
- - -
-
-
-
Total Page Views
-
-
-
-
- -
-
- -7% -
-
-
-
-
- - -
-
-
-
Unique Visitor
-
-
-
-
- -
-
- ~12% -
-
-
-
-
- - -
-
-
-
Bounce Rate
-
-
-
-
- -
-
- 33% -
-
-
-
-
-
-
-
- -
-
-
-
-
-
Site Visits
-
-
-
-
-
-
-
-
-
- -
-
-
100k
- Visitors From USA - 50% -
-
50% Complete
-
-
-
-
1M
- Visitors From Europe - 80% -
-
80% Complete
-
-
-
-
450k
- Visitors From Australia - 40% -
-
40% Complete
-
-
-
-
1B
- Visitors From India - 90% -
-
90% Complete
-
-
-
- - -
-
-
- -
-
New Users
-
-
-
- -
-
New Purchases
-
-
-
- -
-
Bounce Rate
-
-
-
-
-
-
-
-
-
- -
-
-
-
Monthly Stats
-
-
- -
-
-
-
- 54% - Sales Growth -
-
- $185K - Dec Sales -
-
- 60% - Profit Growth -
-
- $72K - Dec Profit -
-
-
-
-
-
-
- -
-
-
-
Todo List
-
-
-
    -
  • -
    - - -
    -
  • -
  • -
    - - -
    -
  • -
  • -
    - - -
    -
  • -
  • -
    - - -
    -
  • -
  • -
    - - -
    -
  • -
  • -
    - - -
    -
  • -
-
-
-
-
-
- -
-
-
-
Sales Report
-
-
-
-
-
-
November 2029
-

Sales Report

-
-
-

$6,000

-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameStatusDatePrice
Item #1 NameUnavailable Nov 18$12
Item #2 NameNewNov 19$34
Item #3 NameNewNov 20-$45
Item #4 NameUnavailableNov 21$65
Item #5 NameUsedNov 22$78
Item #6 NameUsed Nov 23-$88
Item #7 NameOldNov 22$56
-
-
-
- -
-
-
- -
-
- -
-
Weather
-
- - -
-
-
-
- -
-
-
-

32°F

-
-
- -
-
-
- - -
- Partly Clouds -
-
-
-
-
-
-
Monday
-
-
- Nov, 01 2032 -
-
-
-
-
- - -
-
-
-
-
- Wind -
-
- 10km/h -
-
-
-
-
-
- Sunrise -
-
- 05:00 AM -
-
-
-
-
-
- Pressure -
-
- 1B -
-
-
-
-
- - -
-
-
-
MON
- - 32°F -
-
-
TUE
- - 30°F -
-
-
WED
- - 28°F -
-
-
THR
- - 32°F -
-
-
FRI
- - 24°F -
-
-
SAT
- - 28°F -
-
-
SUN
- - 32°F -
-
-
-
-
-
-
- -
-
-
-
Quick Chat
-
-
- -
- -
-
- -
-
-
-
-
-
- 10:00 AM -
-
- Lorem Ipsum is simply dummy text of -
-
-
-
-
-
- 10:00 AM -
-
- the printing and typesetting industry. -
-
-
-
-
-
- 10:00 AM -
-
- Lorem Ipsum has been the industry's -
-
-
-
-
-
- - -
-
- -
-
-
-
-
-
- 10:00 AM -
-
- Heloo -
-
-
-
-
-
- 10:00 AM -
-
- ?? -
-
-
-
-
-
-
- -
-
- - -
-
-
-
-
-
-
-
-
- - - -
-