+ */
+ public function definition()
+ {
+ return [
+ 'name' => fake()->name(),
+ 'email' => fake()->safeEmail(),
+ 'email_verified_at' => now(),
+ 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
+ 'remember_token' => Str::random(10),
+ ];
+ }
+
+ /**
+ * Indicate that the model's email address should be unverified.
+ *
+ * @return static
+ */
+ public function unverified()
+ {
+ return $this->state(function (array $attributes) {
+ return [
+ 'email_verified_at' => null,
+ ];
+ });
+ }
+}
diff --git a/database/migrations/2014_10_12_100000_create_password_resets_table.php b/database/migrations/2014_10_12_100000_create_password_resets_table.php
new file mode 100644
index 0000000..fcacb80
--- /dev/null
+++ b/database/migrations/2014_10_12_100000_create_password_resets_table.php
@@ -0,0 +1,32 @@
+string('email')->index();
+ $table->string('token');
+ $table->timestamp('created_at')->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('password_resets');
+ }
+};
diff --git a/database/migrations/2019_08_19_000000_create_failed_jobs_table.php b/database/migrations/2019_08_19_000000_create_failed_jobs_table.php
new file mode 100644
index 0000000..1719198
--- /dev/null
+++ b/database/migrations/2019_08_19_000000_create_failed_jobs_table.php
@@ -0,0 +1,36 @@
+id();
+ $table->string('uuid')->unique();
+ $table->text('connection');
+ $table->text('queue');
+ $table->longText('payload');
+ $table->longText('exception');
+ $table->timestamp('failed_at')->useCurrent();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('failed_jobs');
+ }
+};
diff --git a/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php b/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php
new file mode 100644
index 0000000..6c81fd2
--- /dev/null
+++ b/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php
@@ -0,0 +1,37 @@
+id();
+ $table->morphs('tokenable');
+ $table->string('name');
+ $table->string('token', 64)->unique();
+ $table->text('abilities')->nullable();
+ $table->timestamp('last_used_at')->nullable();
+ $table->timestamp('expires_at')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('personal_access_tokens');
+ }
+};
diff --git a/database/migrations/2022_08_17_083017_create_loaner_types_table.php b/database/migrations/2022_08_17_083017_create_loaner_types_table.php
new file mode 100644
index 0000000..fee95fe
--- /dev/null
+++ b/database/migrations/2022_08_17_083017_create_loaner_types_table.php
@@ -0,0 +1,33 @@
+id();
+ $table->string('name')->unique();
+ $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
+ $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('loaner_types');
+ }
+};
diff --git a/database/migrations/2022_08_17_083031_create_roles_table.php b/database/migrations/2022_08_17_083031_create_roles_table.php
new file mode 100644
index 0000000..5d0c0b8
--- /dev/null
+++ b/database/migrations/2022_08_17_083031_create_roles_table.php
@@ -0,0 +1,34 @@
+id();
+ $table->string('name')->unique();
+ $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
+ $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
+ $table->timestamp('deleted_at')->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('roles');
+ }
+};
diff --git a/database/migrations/2022_08_17_083032_create_permissions_table.php b/database/migrations/2022_08_17_083032_create_permissions_table.php
new file mode 100644
index 0000000..5055c93
--- /dev/null
+++ b/database/migrations/2022_08_17_083032_create_permissions_table.php
@@ -0,0 +1,33 @@
+id();
+ $table->string('name')->unique();
+ $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
+ $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('permissions');
+ }
+};
diff --git a/database/migrations/2022_08_17_083032_create_role_has_permission_table.php b/database/migrations/2022_08_17_083032_create_role_has_permission_table.php
new file mode 100644
index 0000000..b8bd726
--- /dev/null
+++ b/database/migrations/2022_08_17_083032_create_role_has_permission_table.php
@@ -0,0 +1,38 @@
+unsignedBigInteger('role_id');
+ $table->unsignedBigInteger('permission_id');
+
+ $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
+ $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
+
+ $table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade');
+ $table->foreign('permission_id')->references('id')->on('permissions')->onDelete('cascade');
+
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('role_has_permission');
+ }
+};
diff --git a/database/migrations/2022_08_17_083045_create_users_table.php b/database/migrations/2022_08_17_083045_create_users_table.php
new file mode 100644
index 0000000..7832b21
--- /dev/null
+++ b/database/migrations/2022_08_17_083045_create_users_table.php
@@ -0,0 +1,49 @@
+id();
+ $table->string('guid')->unique()->nullable();
+ $table->string('domain')->nullable();
+ $table->string('name');
+ $table->string('username')->unique()->nullable();
+ $table->string('password')->nullable();
+ $table->rememberToken();
+
+ $table->unsignedBigInteger('loaner_type_id')->default(1);
+ $table->unsignedBigInteger('role_id')->default(2);
+
+ $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
+ $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
+ $table->timestamp('deleted_at')->nullable();
+
+ $table->foreign('loaner_type_id')->references('id')->on('loaner_types')->onDelete('cascade');
+ $table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade');
+
+
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('users');
+ }
+};
diff --git a/database/migrations/2022_08_17_090709_create_product_categories_table.php b/database/migrations/2022_08_17_090709_create_product_categories_table.php
new file mode 100644
index 0000000..43db3f9
--- /dev/null
+++ b/database/migrations/2022_08_17_090709_create_product_categories_table.php
@@ -0,0 +1,36 @@
+id();
+ $table->string("name")->unique();
+
+ $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
+ $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
+ $table->timestamp('deleted_at')->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('product_categories');
+ }
+};
diff --git a/database/migrations/2022_08_17_090719_create_brands_table.php b/database/migrations/2022_08_17_090719_create_brands_table.php
new file mode 100644
index 0000000..739f0a0
--- /dev/null
+++ b/database/migrations/2022_08_17_090719_create_brands_table.php
@@ -0,0 +1,35 @@
+id();
+ $table->string("name")->unique();
+ $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
+ $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
+ $table->timestamp('deleted_at')->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('brands');
+ }
+};
diff --git a/database/migrations/2022_08_17_090720_create_product_models_table.php b/database/migrations/2022_08_17_090720_create_product_models_table.php
new file mode 100644
index 0000000..746b792
--- /dev/null
+++ b/database/migrations/2022_08_17_090720_create_product_models_table.php
@@ -0,0 +1,39 @@
+id();
+ $table->string("name")->unique();
+ $table->unsignedBigInteger('brand_id');
+
+ $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
+ $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
+ $table->timestamp('deleted_at')->nullable();
+
+ $table->foreign('brand_id')->references('id')->on('brands')->onDelete('cascade');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('product_models');
+ }
+};
diff --git a/database/migrations/2022_08_17_090745_create_product_subcategories_table.php b/database/migrations/2022_08_17_090745_create_product_subcategories_table.php
new file mode 100644
index 0000000..70e76c5
--- /dev/null
+++ b/database/migrations/2022_08_17_090745_create_product_subcategories_table.php
@@ -0,0 +1,40 @@
+id();
+ $table->string("name")->unique();
+ $table->unsignedBigInteger('product_category_id');
+
+ $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
+ $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
+ $table->timestamp('deleted_at')->nullable();
+
+ $table->foreign('product_category_id')->references('id')->on('product_categories')->onDelete('cascade');
+
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('product_subcategories');
+ }
+};
diff --git a/database/migrations/2022_08_17_090757_create_products_table.php b/database/migrations/2022_08_17_090757_create_products_table.php
new file mode 100644
index 0000000..d41d4eb
--- /dev/null
+++ b/database/migrations/2022_08_17_090757_create_products_table.php
@@ -0,0 +1,49 @@
+id();
+ $table->string("barcode")->nullable();
+ $table->string("name")->unique();
+ $table->text("description")->nullable();
+
+ $table->unsignedBigInteger('brand_id');
+ $table->unsignedBigInteger('product_model_id');
+ $table->unsignedBigInteger('product_category_id');
+ $table->unsignedBigInteger('product_subcategory_id')->nullable();
+ $table->unsignedBigInteger('total')->default(0);
+
+ $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
+ $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
+ $table->timestamp('deleted_at')->nullable();
+
+ $table->foreign('brand_id')->references('id')->on('brands')->onDelete('cascade');
+ $table->foreign('product_model_id')->references('id')->on('product_models')->onDelete('cascade');
+ $table->foreign('product_category_id')->references('id')->on('product_categories')->onDelete('cascade');
+ $table->foreign('product_subcategory_id')->references('id')->on('product_subcategories')->onDelete('cascade');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('products');
+ }
+};
diff --git a/database/migrations/2022_08_18_101017_create_loan_types_table.php b/database/migrations/2022_08_18_101017_create_loan_types_table.php
new file mode 100644
index 0000000..ef75ea5
--- /dev/null
+++ b/database/migrations/2022_08_18_101017_create_loan_types_table.php
@@ -0,0 +1,34 @@
+id();
+ $table->string('name');
+
+ $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
+ $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('loan_types');
+ }
+};
diff --git a/database/migrations/2022_08_22_092857_create_cabel_categories_table.php b/database/migrations/2022_08_22_092857_create_cabel_categories_table.php
new file mode 100644
index 0000000..9652282
--- /dev/null
+++ b/database/migrations/2022_08_22_092857_create_cabel_categories_table.php
@@ -0,0 +1,36 @@
+id();
+ $table->string('name');
+
+
+ $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
+ $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
+ $table->timestamp('deleted_at')->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('cabelcategories');
+ }
+};
diff --git a/database/migrations/2022_08_22_092858_create_cabels_table.php b/database/migrations/2022_08_22_092858_create_cabels_table.php
new file mode 100644
index 0000000..fd94ba8
--- /dev/null
+++ b/database/migrations/2022_08_22_092858_create_cabels_table.php
@@ -0,0 +1,39 @@
+id();
+ $table->string('name');
+ $table->unsignedBigInteger('cabel_category_id');
+ $table->unsignedBigInteger('total');
+
+ $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
+ $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
+ $table->timestamp('deleted_at')->nullable();
+
+ $table->foreign('cabel_category_id')->references('id')->on('cabel_categories')->onDelete('cascade');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('cabels');
+ }
+};
diff --git a/database/migrations/2022_08_23_084019_create_buildings_table.php b/database/migrations/2022_08_23_084019_create_buildings_table.php
new file mode 100644
index 0000000..f13cb18
--- /dev/null
+++ b/database/migrations/2022_08_23_084019_create_buildings_table.php
@@ -0,0 +1,35 @@
+id();
+ $table->string('name');
+
+ $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
+ $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
+ $table->timestamp('deleted_at')->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('buildings');
+ }
+};
diff --git a/database/migrations/2022_08_23_084020_create_rooms_table.php b/database/migrations/2022_08_23_084020_create_rooms_table.php
new file mode 100644
index 0000000..55aa035
--- /dev/null
+++ b/database/migrations/2022_08_23_084020_create_rooms_table.php
@@ -0,0 +1,39 @@
+id();
+
+ $table->unsignedBigInteger('building_id');
+ $table->string('name');
+
+ $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
+ $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
+ $table->timestamp('deleted_at')->nullable();
+
+ $table->foreign('building_id')->references('id')->on('buildings')->onDelete('cascade');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('rooms');
+ }
+};
diff --git a/database/migrations/2022_09_07_061527_create_loans_table.php b/database/migrations/2022_09_07_061527_create_loans_table.php
new file mode 100644
index 0000000..031d53f
--- /dev/null
+++ b/database/migrations/2022_09_07_061527_create_loans_table.php
@@ -0,0 +1,49 @@
+id();
+
+ $table->unsignedBigInteger('loan_type_id');
+ $table->unsignedBigInteger('user_id');
+ $table->unsignedBigInteger('room_id')->nullable();
+
+ $table->morphs('loanable');
+
+ $table->date('date_start');
+ $table->date('date_end')->nullable();
+ $table->timestamp('date_deadline')->nullable();
+
+ $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
+ $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
+
+
+ $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
+ $table->foreign('room_id')->references('id')->on('rooms')->onDelete('cascade');
+ $table->foreign('loan_type_id')->references('id')->on('loan_types')->onDelete('cascade');
+
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('loans');
+ }
+};
diff --git a/database/migrations/2022_09_12_063341_create_note_types_table.php b/database/migrations/2022_09_12_063341_create_note_types_table.php
new file mode 100644
index 0000000..c31bad6
--- /dev/null
+++ b/database/migrations/2022_09_12_063341_create_note_types_table.php
@@ -0,0 +1,35 @@
+id();
+ $table->string('name')->unique();
+
+ $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
+ $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
+ $table->timestamp('deleted_at')->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('note_types');
+ }
+};
diff --git a/database/migrations/2022_09_12_063342_create_notes_table.php b/database/migrations/2022_09_12_063342_create_notes_table.php
new file mode 100644
index 0000000..6c24b11
--- /dev/null
+++ b/database/migrations/2022_09_12_063342_create_notes_table.php
@@ -0,0 +1,45 @@
+id();
+
+ $table->unsignedBigInteger('user_id');
+ $table->unsignedBigInteger('note_type_id');
+
+ $table->text('note');
+
+ $table->morphs('loanable');
+
+ $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
+ $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
+ $table->timestamp('deleted_at')->nullable();
+
+ $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
+ $table->foreign('note_type_id')->references('id')->on('note_types')->onDelete('cascade');
+
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('notes');
+ }
+};
diff --git a/database/migrations/2022_09_19_080748_create_log_actions_table.php b/database/migrations/2022_09_19_080748_create_log_actions_table.php
new file mode 100644
index 0000000..7f9f9e7
--- /dev/null
+++ b/database/migrations/2022_09_19_080748_create_log_actions_table.php
@@ -0,0 +1,35 @@
+id();
+ $table->string('name')->unique();
+
+ $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
+ $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('log_actions');
+ }
+};
diff --git a/database/migrations/2022_09_19_080749_create_logs_table.php b/database/migrations/2022_09_19_080749_create_logs_table.php
new file mode 100644
index 0000000..aca2c4f
--- /dev/null
+++ b/database/migrations/2022_09_19_080749_create_logs_table.php
@@ -0,0 +1,48 @@
+id();
+ $table->unsignedBigInteger('user_id');
+ $table->unsignedBigInteger('target_id')->nullable();
+ $table->unsignedBigInteger('log_action_id');
+
+ $table->string('log')->nullable();
+
+ $table->morphs('loggable');
+
+ $table->unsignedBigInteger('amount')->nullable();
+
+ $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
+ $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
+
+ $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
+ $table->foreign('target_id')->references('id')->on('users')->onDelete('cascade');
+ $table->foreign('log_action_id')->references('id')->on('log_actions')->onDelete('cascade');
+
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('logs');
+ }
+};
diff --git a/database/migrations/2022_09_20_145739_create_contracts_table.php b/database/migrations/2022_09_20_145739_create_contracts_table.php
new file mode 100644
index 0000000..4694c1e
--- /dev/null
+++ b/database/migrations/2022_09_20_145739_create_contracts_table.php
@@ -0,0 +1,40 @@
+id();
+ $table->unsignedBigInteger('user_id');
+ $table->string('type');
+ $table->unsignedBigInteger('timestamp');
+
+ $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
+ $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
+
+ $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
+
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('contracts');
+ }
+};
diff --git a/database/seeders/BrandSeeder.php b/database/seeders/BrandSeeder.php
new file mode 100644
index 0000000..c0bab21
--- /dev/null
+++ b/database/seeders/BrandSeeder.php
@@ -0,0 +1,48 @@
+ 'Dell'],
+ ['name' => 'HP'],
+ ['name' => 'AOC'],
+ ['name' => 'Samsung'],
+ ['name' => 'LG'],
+ ['name' => 'BenQ'],
+ ['name' => 'Acer'],
+ ['name' => 'Philips'],
+ ['name' => 'Speed Demon'],
+ ['name' => 'Chieftec'],
+ ['name' => 'Lenovo'],
+ ['name' => 'Fujitsu'],
+ ['name' => 'Atom'],
+ ['name' => 'Western Digital'],
+ ['name' => 'Logitech'],
+ ['name' => 'Brother'],
+ ['name' => 'Toshiba'],
+ ['name' => 'Microsoft'],
+ ['name' => 'Asus'],
+ ['name' => 'TRENDnet'],
+ ['name' => 'TP-Link'],
+ ['name' => 'Netgear'],
+ ['name' => 'Linksys'],
+ ['name' => 'Cisco'],
+ ['name' => 'Test Brand'],
+ ];
+ foreach ($items as $item) {
+ Brand::create($item);
+ }
+ }
+}
diff --git a/database/seeders/BuildingSeeder.php b/database/seeders/BuildingSeeder.php
new file mode 100644
index 0000000..0b5fb73
--- /dev/null
+++ b/database/seeders/BuildingSeeder.php
@@ -0,0 +1,27 @@
+ 'Bygning 7'],
+ ['name' => 'Bygning 8'],
+ ['name' => 'Test Building'],
+ ];
+ foreach ($items as $item) {
+ Building::create($item);
+ }
+ }
+}
diff --git a/database/seeders/CabelCategorySeeder.php b/database/seeders/CabelCategorySeeder.php
new file mode 100644
index 0000000..63bdb62
--- /dev/null
+++ b/database/seeders/CabelCategorySeeder.php
@@ -0,0 +1,31 @@
+ 'Netværk'],
+ ['name' => 'Skærm'],
+ ['name' => 'Adapters/Convertors'],
+ ['name' => 'Strøm'],
+ ['name' => 'USB'],
+ ['name' => 'Konsole'],
+ ];
+ foreach ($items as $item) {
+ CabelCategory::create($item);
+ }
+ }
+}
diff --git a/database/seeders/CabelSeeder.php b/database/seeders/CabelSeeder.php
new file mode 100644
index 0000000..33c38a8
--- /dev/null
+++ b/database/seeders/CabelSeeder.php
@@ -0,0 +1,135 @@
+ CabelCategory::where('name','=','Netværk')->first()->id,
+ 'name' => '0-1m',
+ 'total' => 138,
+ ],
+ [
+ 'cabel_category_id' => CabelCategory::where('name','=','Netværk')->first()->id,
+ 'name' => '1-2m',
+ 'total' => 32,
+ ],
+ [
+ 'cabel_category_id' => CabelCategory::where('name','=','Netværk')->first()->id,
+ 'name' => '2-5m',
+ 'total' => 54,
+ ],
+ [
+ 'cabel_category_id' => CabelCategory::where('name','=','Netværk')->first()->id,
+ 'name' => '5-10m',
+ 'total' => 32,
+ ],
+ [
+ 'cabel_category_id' => CabelCategory::where('name','=','Skærm')->first()->id,
+ 'name' => 'DisplayPort',
+ 'total' => 13,
+ ],
+ [
+ 'cabel_category_id' => CabelCategory::where('name','=','Skærm')->first()->id,
+ 'name' => 'VGA',
+ 'total' => 75,
+ ],
+ [
+ 'cabel_category_id' => CabelCategory::where('name','=','Skærm')->first()->id,
+ 'name' => 'HDMI',
+ 'total' => 51,
+ ],
+ [
+ 'cabel_category_id' => CabelCategory::where('name','=','Skærm')->first()->id,
+ 'name' => 'DVI',
+ 'total' => 71,
+ ],
+ [
+ 'cabel_category_id' => CabelCategory::where('name','=','Skærm')->first()->id,
+ 'name' => 'DVI fuld',
+ 'total' => 70,
+ ],
+ [
+ 'cabel_category_id' => CabelCategory::where('name','=','Adapters/Convertors')->first()->id,
+ 'name' => 'VGA til Mini HDMI',
+ 'total' => 1,
+ ],
+ [
+ 'cabel_category_id' => CabelCategory::where('name','=','Adapters/Convertors')->first()->id,
+ 'name' => 'VGA til DVI',
+ 'total' => 1,
+ ],
+ [
+ 'cabel_category_id' => CabelCategory::where('name','=','Adapters/Convertors')->first()->id,
+ 'name' => 'HDMI til DVI',
+ 'total' => 2,
+ ],
+ [
+ 'cabel_category_id' => CabelCategory::where('name','=','Adapters/Convertors')->first()->id,
+ 'name' => 'Konsole USB til VGA Adaptor',
+ 'total' => 20,
+ ],
+ [
+ 'cabel_category_id' => CabelCategory::where('name','=','Strøm')->first()->id,
+ 'name' => 'Strømkabler med jord',
+ 'total' => 191,
+ ],
+ [
+ 'cabel_category_id' => CabelCategory::where('name','=','Strøm')->first()->id,
+ 'name' => 'Stikdåse ',
+ 'total' => 148,
+ ],
+ [
+ 'cabel_category_id' => CabelCategory::where('name','=','USB')->first()->id,
+ 'name' => 'USB-A til Mini-USB',
+ 'total' => 2,
+ ],
+ [
+ 'cabel_category_id' => CabelCategory::where('name','=','USB')->first()->id,
+ 'name' => 'USB-A til VGA 4 header',
+ 'total' => 1,
+ ],
+ [
+ 'cabel_category_id' => CabelCategory::where('name','=','USB')->first()->id,
+ 'name' => 'USB-A til DVI ',
+ 'total' => 1,
+ ],
+ [
+ 'cabel_category_id' => CabelCategory::where('name','=','USB')->first()->id,
+ 'name' => 'USB-A til USB-B',
+ 'total' => 11,
+ ],
+ [
+ 'cabel_category_id' => CabelCategory::where('name','=','Konsole')->first()->id,
+ 'name' => 'Cisco Console til VGA',
+ 'total' => 44,
+ ],
+ [
+ 'cabel_category_id' => CabelCategory::where('name','=','Konsole')->first()->id,
+ 'name' => 'Cisco USB til Mini-USB',
+ 'total' => 5,
+ ],
+ [
+ 'cabel_category_id' => CabelCategory::where('name','=','Konsole')->first()->id,
+ 'name' => 'Cisco USB til Console',
+ 'total' => 23,
+ ],
+ ];
+ foreach ($items as $item) {
+ Cabel::create($item);
+ }
+ }
+}
diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php
new file mode 100644
index 0000000..81eb1dd
--- /dev/null
+++ b/database/seeders/DatabaseSeeder.php
@@ -0,0 +1,44 @@
+create();
+
+ // \App\Models\users::factory()->create([
+ // 'name' => 'Test users',
+ // 'email' => 'test@example.com',
+ // ]);
+
+ $this->call([
+ PermissionSeeder::class,
+ RoleSeeder::class,
+ LoanerTypeSeeder::class,
+ UserSeeder::class,
+ BuildingSeeder::class,
+ RoomSeeder::class,
+ BrandSeeder::class,
+ ProductCategorySeeder::class,
+ ProductSubcategorySeeder::class,
+ ProductModelSeeder::class,
+ ProductSeeder::class,
+ LoanTypeSeeder::class,
+ CabelCategorySeeder::class,
+ CabelSeeder::class,
+ NoteTypeSeeder::class,
+ NoteSeeder::class,
+ LogActionSeeder::class,
+ ]);
+ }
+}
diff --git a/database/seeders/LoanTypeSeeder.php b/database/seeders/LoanTypeSeeder.php
new file mode 100644
index 0000000..699fde3
--- /dev/null
+++ b/database/seeders/LoanTypeSeeder.php
@@ -0,0 +1,29 @@
+ 'Loan'],
+ ['name' => 'Reservation - Awaiting'],
+ ['name' => 'Reservation - Set Up'],
+ ['name' => 'Reservation - Pick Up'],
+ ];
+ foreach ($items as $item) {
+ LoanType::create($item);
+ }
+ }
+}
diff --git a/database/seeders/LoanerTypeSeeder.php b/database/seeders/LoanerTypeSeeder.php
new file mode 100644
index 0000000..b32cfdb
--- /dev/null
+++ b/database/seeders/LoanerTypeSeeder.php
@@ -0,0 +1,25 @@
+ 'adUser'],
+ ['name' => 'nadUser'],
+ ];
+ foreach ($items as $item) {
+ LoanerType::create($item);
+ }
+ }
+}
diff --git a/database/seeders/LogActionSeeder.php b/database/seeders/LogActionSeeder.php
new file mode 100644
index 0000000..8d5883f
--- /dev/null
+++ b/database/seeders/LogActionSeeder.php
@@ -0,0 +1,42 @@
+ 'created'],
+ ['name' => 'edited'],
+ ['name' => 'deleted'],
+ ['name' => 'restored'],
+ ['name' => 'force_deleted'],
+ ['name' => 'lent'],
+ ['name' => 'adjusted'],
+ ['name' => 'returned'],
+ ['name' => 'note'],
+ ['name' => 'reserved'],
+ ['name' => 'cancelled'],
+ ['name' => 'validated'],
+ ['name' => 'set up'],
+ ['name' => 'picked up'],
+ ['name' => 'amount_added'],
+ ['name' => 'amount_removed'],
+
+ ];
+ foreach ($items as $item) {
+ LogAction::create($item);
+ }
+ }
+}
diff --git a/database/seeders/NoteSeeder.php b/database/seeders/NoteSeeder.php
new file mode 100644
index 0000000..5bc281a
--- /dev/null
+++ b/database/seeders/NoteSeeder.php
@@ -0,0 +1,19 @@
+ 'Beskadiget'],
+ ['name' => 'Mangler'],
+ ];
+ foreach ($items as $item) {
+ NoteType::create($item);
+ }
+
+ }
+}
diff --git a/database/seeders/PermissionSeeder.php b/database/seeders/PermissionSeeder.php
new file mode 100644
index 0000000..f2c1e41
--- /dev/null
+++ b/database/seeders/PermissionSeeder.php
@@ -0,0 +1,147 @@
+ 'users_viewAny'],
+ ['name' => 'users_viewAny_deleted'],
+ ['name' => 'users_view'],
+ ['name' => 'users_create'],
+ ['name' => 'users_edit'],
+ ['name' => 'users_edit_role'],
+ ['name' => 'users_edit_username'],
+ ['name' => 'users_delete'],
+ ['name' => 'users_delete_force'],
+ ['name' => 'users_restore'],
+ ['name' => 'buildings_viewAny'],
+ ['name' => 'buildings_viewAny_deleted'],
+ ['name' => 'buildings_view'],
+ ['name' => 'buildings_create'],
+ ['name' => 'buildings_edit'],
+ ['name' => 'buildings_delete'],
+ ['name' => 'buildings_delete_force'],
+ ['name' => 'buildings_restore'],
+ ['name' => 'rooms_viewAny'],
+ ['name' => 'rooms_viewAny_deleted'],
+ ['name' => 'rooms_view'],
+ ['name' => 'rooms_create'],
+ ['name' => 'rooms_edit'],
+ ['name' => 'rooms_delete'],
+ ['name' => 'rooms_delete_force'],
+ ['name' => 'rooms_restore'],
+ ['name' => 'roles_viewAny'],
+ ['name' => 'roles_viewAny_deleted'],
+ ['name' => 'roles_view'],
+ ['name' => 'roles_create'],
+ ['name' => 'roles_edit'],
+ ['name' => 'roles_edit_permissions'],
+ ['name' => 'roles_delete'],
+ ['name' => 'roles_delete_force'],
+ ['name' => 'roles_restore'],
+ ['name' => 'roles_permission'],
+ ['name' => 'brands_viewAny'],
+ ['name' => 'brands_viewAny_deleted'],
+ ['name' => 'brands_view'],
+ ['name' => 'brands_create'],
+ ['name' => 'brands_edit'],
+ ['name' => 'brands_delete'],
+ ['name' => 'brands_delete_force'],
+ ['name' => 'brands_restore'],
+ ['name' => 'models_viewAny'],
+ ['name' => 'models_viewAny_deleted'],
+ ['name' => 'models_view'],
+ ['name' => 'models_create'],
+ ['name' => 'models_edit'],
+ ['name' => 'models_delete'],
+ ['name' => 'models_delete_force'],
+ ['name' => 'models_restore'],
+ ['name' => 'categories_viewAny'],
+ ['name' => 'categories_viewAny_deleted'],
+ ['name' => 'categories_view'],
+ ['name' => 'categories_create'],
+ ['name' => 'categories_edit'],
+ ['name' => 'categories_delete'],
+ ['name' => 'categories_delete_force'],
+ ['name' => 'categories_restore'],
+ ['name' => 'subcategories_viewAny'],
+ ['name' => 'subcategories_viewAny_deleted'],
+ ['name' => 'subcategories_view'],
+ ['name' => 'subcategories_create'],
+ ['name' => 'subcategories_edit'],
+ ['name' => 'subcategories_delete'],
+ ['name' => 'subcategories_delete_force'],
+ ['name' => 'subcategories_restore'],
+ ['name' => 'products_viewAny'],
+ ['name' => 'products_viewAny_deleted'],
+ ['name' => 'products_view'],
+ ['name' => 'products_create'],
+ ['name' => 'products_edit'],
+ ['name' => 'products_delete'],
+ ['name' => 'products_delete_force'],
+ ['name' => 'products_restore'],
+ ['name' => 'products_amount_add'],
+ ['name' => 'products_amount_remove'],
+ ['name' => 'pdf_viewAny'],
+ ['name' => 'pdf_view'],
+ ['name' => 'pdf_delete'],
+ ['name' => 'cabels_viewAny'],
+ ['name' => 'cabels_viewAny_deleted'],
+ ['name' => 'cabels_view'],
+ ['name' => 'cabels_create'],
+ ['name' => 'cabels_edit'],
+ ['name' => 'cabels_delete'],
+ ['name' => 'cabels_delete_force'],
+ ['name' => 'cabels_restore'],
+ ['name' => 'cabels_amount_add'],
+ ['name' => 'cabels_amount_remove'],
+ ['name' => 'cabelCategories_viewAny'],
+ ['name' => 'cabelCategories_viewAny_deleted'],
+ ['name' => 'cabelCategories_view'],
+ ['name' => 'cabelCategories_create'],
+ ['name' => 'cabelCategories_edit'],
+ ['name' => 'cabelCategories_delete'],
+ ['name' => 'cabelCategories_delete_force'],
+ ['name' => 'cabelCategories_restore'],
+ ['name' => 'cabelCategories_amount_add'],
+ ['name' => 'cabelCategories_amount_remove'],
+ ['name' => 'logs_viewAny'],
+ ['name' => 'statistics'],
+ ['name' => 'loans_viewAny'],
+ ['name' => 'loans_create_user'],
+ ['name' => 'loans_create_laptop'],
+ ['name' => 'loans_adjust'],
+ ['name' => 'loans_return'],
+ ['name' => 'reservations_viewAny'],
+ ['name' => 'reservations_create'],
+ ['name' => 'reservations_validate'],
+ ['name' => 'reservations_cancel'],
+ ['name' => 'reservations_setup'],
+ ['name' => 'reservations_pickup'],
+ ['name' => 'reservations_return'],
+ ['name' => 'reservations_adjust'],
+ ['name' => 'notes_viewAny'],
+ ['name' => 'notes_viewAny_deleted'],
+ ['name' => 'notes_view'],
+ ['name' => 'notes_create'],
+ ['name' => 'notes_edit'],
+ ['name' => 'notes_delete'],
+ ['name' => 'notes_delete_force'],
+ ['name' => 'notes_restore'],
+ ];
+ foreach ($items as $item) {
+ Permission::create($item);
+ }
+ }
+}
diff --git a/database/seeders/ProductCategorySeeder.php b/database/seeders/ProductCategorySeeder.php
new file mode 100644
index 0000000..9a0035c
--- /dev/null
+++ b/database/seeders/ProductCategorySeeder.php
@@ -0,0 +1,44 @@
+ 'Adapter'],
+ ['name' => 'Andet'],
+ ['name' => 'Laptop'],
+ ['name' => 'Bog'],
+ ['name' => 'El'],
+ ['name' => 'Enhed'],
+ ['name' => 'Hardware'],
+ ['name' => 'I/O Device'],
+ ['name' => 'Network'],
+ ['name' => 'Skærm'],
+ ['name' => 'Software'],
+ ['name' => 'Kit'],
+ ['name' => 'Printer'],
+ ['name' => 'Stationær'],
+ ['name' => 'Docking Station'],
+ ['name' => 'Server'],
+ ['name' => 'Tablet'],
+ ['name' => 'Værktøj'],
+ ['name' => 'Tilbehør'],
+ ['name' => 'Hub'],
+ ['name' => 'RobotArm - Tinker Kit'],
+ ];
+ foreach ($items as $item) {
+ ProductCategory::create($item);
+ }
+ }
+}
diff --git a/database/seeders/ProductModelSeeder.php b/database/seeders/ProductModelSeeder.php
new file mode 100644
index 0000000..786765c
--- /dev/null
+++ b/database/seeders/ProductModelSeeder.php
@@ -0,0 +1,27 @@
+ Brand::where('name','=','Test Brand')->first()->id,'name' => 'Test Model'],
+ ];
+ foreach ($items as $item) {
+ ProductModel::create($item);
+ }
+
+ }
+}
diff --git a/database/seeders/ProductSeeder.php b/database/seeders/ProductSeeder.php
new file mode 100644
index 0000000..1cc8c59
--- /dev/null
+++ b/database/seeders/ProductSeeder.php
@@ -0,0 +1,47 @@
+ ProductCategory::where('name','=','Laptop')->first()->id,
+ 'product_subcategory_id' => ProductSubcategory::where('name','=','Server Rum')->first()->id,
+ 'brand_id' => Brand::where('name','=','Test Brand')->first()->id,
+ 'product_model_id' => ProductModel::where('name','=','Test Model')->first()->id,
+ 'name' => 'Test Product',
+ 'description' => "Test Description",
+ 'total' => 100,
+ 'barcode' => "Test.Product.0001",
+ ],
+ [
+ 'product_category_id' => ProductCategory::where('name','=','Laptop')->first()->id,
+ 'brand_id' => Brand::where('name','=','Test Brand')->first()->id,
+ 'product_model_id' => ProductModel::where('name','=','Test Model')->first()->id,
+ 'name' => 'Test Product 2',
+ 'description' => "Test Description 2",
+ 'total' => 100,
+ 'barcode' => "Test.Product.0002",
+ ],
+ ];
+ foreach ($items as $item) {
+ Product::create($item);
+ }
+ }
+}
diff --git a/database/seeders/ProductSubcategorySeeder.php b/database/seeders/ProductSubcategorySeeder.php
new file mode 100644
index 0000000..4712cef
--- /dev/null
+++ b/database/seeders/ProductSubcategorySeeder.php
@@ -0,0 +1,26 @@
+ ProductCategory::where('name','=','Laptop')->first()->id,'name' => 'Server Rum'],
+ ];
+ foreach ($items as $item) {
+ ProductSubcategory::create($item);
+ }
+ }
+}
diff --git a/database/seeders/RoleSeeder.php b/database/seeders/RoleSeeder.php
new file mode 100644
index 0000000..992c195
--- /dev/null
+++ b/database/seeders/RoleSeeder.php
@@ -0,0 +1,31 @@
+ 'Administrator'],
+ ['name' => 'Elev'],
+ ['name' => 'Underviser'],
+ ['name' => 'Helpdesk'],
+ ['name' => 'Server'],
+ ];
+ foreach ($items as $item) {
+ Role::create($item);
+ }
+
+ Role::where('name', '=', 'Administrator')->first()->permissions()->sync(Permission::all());
+ }
+}
diff --git a/database/seeders/RoomSeeder.php b/database/seeders/RoomSeeder.php
new file mode 100644
index 0000000..a9dde05
--- /dev/null
+++ b/database/seeders/RoomSeeder.php
@@ -0,0 +1,27 @@
+ Building::where('name','=','Bygning 7')->first()->id,'name' => '7X1'],
+ ['building_id' => Building::where('name','=','Bygning 8')->first()->id,'name' => '8X1'],
+ ];
+ foreach ($items as $item) {
+ Room::create($item);
+ }
+ }
+}
diff --git a/database/seeders/UserSeeder.php b/database/seeders/UserSeeder.php
new file mode 100644
index 0000000..7bd91db
--- /dev/null
+++ b/database/seeders/UserSeeder.php
@@ -0,0 +1,77 @@
+ "Danny Johansson",
+ 'username' => 'dann4624',
+ 'guid' => '5e5417ed-d489-4376-a2d3-c263e70fe15e',
+ 'domain' => 'default',
+ 'password' => Hash::make('Nimai!1159'),
+ 'loaner_type_id' => LoanerType::all()->firstWhere('name','=', 'adUser')->id,
+ 'role_id' => 1
+ ]);
+
+ User::firstOrCreate([
+ 'name' => "Ynnad Nossnahoj",
+ 'username' => 'dann4625',
+ 'password' => Hash::make('Nimai!1159'),
+ 'loaner_type_id' => LoanerType::all()->firstWhere('name','=', 'nadUser')->id,
+ 'role_id' => 1
+ ]);
+
+ User::firstOrCreate([
+ 'name' => "Demo Admin",
+ 'username' => 'demo_admin',
+ 'password' => Hash::make('Pass1234'),
+ 'loaner_type_id' => LoanerType::all()->firstWhere('name','=', 'nadUser')->id,
+ 'role_id' => 1
+ ]);
+
+ User::firstOrCreate([
+ 'name' => "Demo Student",
+ 'username' => 'demo_student',
+ 'password' => Hash::make('Pass1234'),
+ 'loaner_type_id' => LoanerType::all()->firstWhere('name','=', 'nadUser')->id,
+ 'role_id' => 2
+ ]);
+
+ User::firstOrCreate([
+ 'name' => "Demo Teacher",
+ 'username' => 'demo_teacher',
+ 'password' => Hash::make('Pass1234'),
+ 'loaner_type_id' => LoanerType::all()->firstWhere('name','=', 'nadUser')->id,
+ 'role_id' => 3
+ ]);
+
+ User::firstOrCreate([
+ 'name' => "Demo Helper",
+ 'username' => 'demo_helper',
+ 'password' => Hash::make('Pass1234'),
+ 'loaner_type_id' => LoanerType::all()->firstWhere('name','=', 'nadUser')->id,
+ 'role_id' => 4
+ ]);
+
+ User::firstOrCreate([
+ 'name' => "Demo Server",
+ 'username' => 'demo_server',
+ 'password' => Hash::make('Pass1234'),
+ 'loaner_type_id' => LoanerType::all()->firstWhere('name','=', 'nadUser')->id,
+ 'role_id' => 5
+ ]);
+ }
+}
diff --git a/lang/en/auth.php b/lang/en/auth.php
new file mode 100644
index 0000000..6598e2c
--- /dev/null
+++ b/lang/en/auth.php
@@ -0,0 +1,20 @@
+ 'These credentials do not match our records.',
+ 'password' => 'The provided password is incorrect.',
+ 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
+
+];
diff --git a/lang/en/pagination.php b/lang/en/pagination.php
new file mode 100644
index 0000000..d481411
--- /dev/null
+++ b/lang/en/pagination.php
@@ -0,0 +1,19 @@
+ '« Previous',
+ 'next' => 'Next »',
+
+];
diff --git a/lang/en/passwords.php b/lang/en/passwords.php
new file mode 100644
index 0000000..2345a56
--- /dev/null
+++ b/lang/en/passwords.php
@@ -0,0 +1,22 @@
+ 'Your password has been reset!',
+ 'sent' => 'We have emailed your password reset link!',
+ 'throttled' => 'Please wait before retrying.',
+ 'token' => 'This password reset token is invalid.',
+ 'user' => "We can't find a user with that email address.",
+
+];
diff --git a/lang/en/validation.php b/lang/en/validation.php
new file mode 100644
index 0000000..5ea01fa
--- /dev/null
+++ b/lang/en/validation.php
@@ -0,0 +1,174 @@
+ 'The :attribute must be accepted.',
+ 'accepted_if' => 'The :attribute must be accepted when :other is :value.',
+ 'active_url' => 'The :attribute is not a valid URL.',
+ 'after' => 'The :attribute must be a date after :date.',
+ 'after_or_equal' => 'The :attribute must be a date after or equal to :date.',
+ 'alpha' => 'The :attribute must only contain letters.',
+ 'alpha_dash' => 'The :attribute must only contain letters, numbers, dashes and underscores.',
+ 'alpha_num' => 'The :attribute must only contain letters and numbers.',
+ 'array' => 'The :attribute must be an array.',
+ 'before' => 'The :attribute must be a date before :date.',
+ 'before_or_equal' => 'The :attribute must be a date before or equal to :date.',
+ 'between' => [
+ 'array' => 'The :attribute must have between :min and :max items.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ ],
+ 'boolean' => 'The :attribute field must be true or false.',
+ 'confirmed' => 'The :attribute confirmation does not match.',
+ 'current_password' => 'The password is incorrect.',
+ 'date' => 'The :attribute is not a valid date.',
+ 'date_equals' => 'The :attribute must be a date equal to :date.',
+ 'date_format' => 'The :attribute does not match the format :format.',
+ 'declined' => 'The :attribute must be declined.',
+ 'declined_if' => 'The :attribute must be declined when :other is :value.',
+ 'different' => 'The :attribute and :other must be different.',
+ 'digits' => 'The :attribute must be :digits digits.',
+ 'digits_between' => 'The :attribute must be between :min and :max digits.',
+ 'dimensions' => 'The :attribute has invalid image dimensions.',
+ 'distinct' => 'The :attribute field has a duplicate value.',
+ 'doesnt_end_with' => 'The :attribute may not end with one of the following: :values.',
+ 'doesnt_start_with' => 'The :attribute may not start with one of the following: :values.',
+ 'email' => 'The :attribute must be a valid email address.',
+ 'ends_with' => 'The :attribute must end with one of the following: :values.',
+ 'enum' => 'The selected :attribute is invalid.',
+ 'exists' => 'The selected :attribute is invalid.',
+ 'file' => 'The :attribute must be a file.',
+ 'filled' => 'The :attribute field must have a value.',
+ 'gt' => [
+ 'array' => 'The :attribute must have more than :value items.',
+ 'file' => 'The :attribute must be greater than :value kilobytes.',
+ 'numeric' => 'The :attribute must be greater than :value.',
+ 'string' => 'The :attribute must be greater than :value characters.',
+ ],
+ 'gte' => [
+ 'array' => 'The :attribute must have :value items or more.',
+ 'file' => 'The :attribute must be greater than or equal to :value kilobytes.',
+ 'numeric' => 'The :attribute must be greater than or equal to :value.',
+ 'string' => 'The :attribute must be greater than or equal to :value characters.',
+ ],
+ 'image' => 'The :attribute must be an image.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'The :attribute field does not exist in :other.',
+ 'integer' => 'The :attribute must be an integer.',
+ 'ip' => 'The :attribute must be a valid IP address.',
+ 'ipv4' => 'The :attribute must be a valid IPv4 address.',
+ 'ipv6' => 'The :attribute must be a valid IPv6 address.',
+ 'json' => 'The :attribute must be a valid JSON string.',
+ 'lt' => [
+ 'array' => 'The :attribute must have less than :value items.',
+ 'file' => 'The :attribute must be less than :value kilobytes.',
+ 'numeric' => 'The :attribute must be less than :value.',
+ 'string' => 'The :attribute must be less than :value characters.',
+ ],
+ 'lte' => [
+ 'array' => 'The :attribute must not have more than :value items.',
+ 'file' => 'The :attribute must be less than or equal to :value kilobytes.',
+ 'numeric' => 'The :attribute must be less than or equal to :value.',
+ 'string' => 'The :attribute must be less than or equal to :value characters.',
+ ],
+ 'mac_address' => 'The :attribute must be a valid MAC address.',
+ 'max' => [
+ 'array' => 'The :attribute must not have more than :max items.',
+ 'file' => 'The :attribute must not be greater than :max kilobytes.',
+ 'numeric' => 'The :attribute must not be greater than :max.',
+ 'string' => 'The :attribute must not be greater than :max characters.',
+ ],
+ 'max_digits' => 'The :attribute must not have more than :max digits.',
+ 'mimes' => 'The :attribute must be a file of type: :values.',
+ 'mimetypes' => 'The :attribute must be a file of type: :values.',
+ 'min' => [
+ 'array' => 'The :attribute must have at least :min items.',
+ 'file' => 'The :attribute must be at least :min kilobytes.',
+ 'numeric' => 'The :attribute must be at least :min.',
+ 'string' => 'The :attribute must be at least :min characters.',
+ ],
+ 'min_digits' => 'The :attribute must have at least :min digits.',
+ 'multiple_of' => 'The :attribute must be a multiple of :value.',
+ 'not_in' => 'The selected :attribute is invalid.',
+ 'not_regex' => 'The :attribute format is invalid.',
+ 'numeric' => 'The :attribute must be a number.',
+ 'password' => [
+ 'letters' => 'The :attribute must contain at least one letter.',
+ 'mixed' => 'The :attribute must contain at least one uppercase and one lowercase letter.',
+ 'numbers' => 'The :attribute must contain at least one number.',
+ 'symbols' => 'The :attribute must contain at least one symbol.',
+ 'uncompromised' => 'The given :attribute has appeared in a data leak. Please choose a different :attribute.',
+ ],
+ 'present' => 'The :attribute field must be present.',
+ 'prohibited' => 'The :attribute field is prohibited.',
+ 'prohibited_if' => 'The :attribute field is prohibited when :other is :value.',
+ 'prohibited_unless' => 'The :attribute field is prohibited unless :other is in :values.',
+ 'prohibits' => 'The :attribute field prohibits :other from being present.',
+ 'regex' => 'The :attribute format is invalid.',
+ 'required' => 'The :attribute field is required.',
+ 'required_array_keys' => 'The :attribute field must contain entries for: :values.',
+ 'required_if' => 'The :attribute field is required when :other is :value.',
+ 'required_if_accepted' => 'The :attribute field is required when :other is accepted.',
+ 'required_unless' => 'The :attribute field is required unless :other is in :values.',
+ 'required_with' => 'The :attribute field is required when :values is present.',
+ 'required_with_all' => 'The :attribute field is required when :values are present.',
+ 'required_without' => 'The :attribute field is required when :values is not present.',
+ 'required_without_all' => 'The :attribute field is required when none of :values are present.',
+ 'same' => 'The :attribute and :other must match.',
+ 'size' => [
+ 'array' => 'The :attribute must contain :size items.',
+ 'file' => 'The :attribute must be :size kilobytes.',
+ 'numeric' => 'The :attribute must be :size.',
+ 'string' => 'The :attribute must be :size characters.',
+ ],
+ 'starts_with' => 'The :attribute must start with one of the following: :values.',
+ 'string' => 'The :attribute must be a string.',
+ 'timezone' => 'The :attribute must be a valid timezone.',
+ 'unique' => 'The :attribute has already been taken.',
+ 'uploaded' => 'The :attribute failed to upload.',
+ 'url' => 'The :attribute must be a valid URL.',
+ 'uuid' => 'The :attribute must be a valid UUID.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'custom-message',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap our attribute placeholder
+ | with something more reader friendly such as "E-Mail Address" instead
+ | of "email". This simply helps us make our message more expressive.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..dab50d8
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,1114 @@
+{
+ "name": "lager6",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "devDependencies": {
+ "axios": "^0.27",
+ "laravel-vite-plugin": "^0.6.0",
+ "lodash": "^4.17.19",
+ "postcss": "^8.1.14",
+ "vite": "^3.0.0"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.9.tgz",
+ "integrity": "sha512-VZPy/ETF3fBG5PiinIkA0W/tlsvlEgJccyN2DzWZEl0DlVKRbu91PvY2D6Lxgluj4w9QtYHjOWjAT44C+oQ+EQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.9.tgz",
+ "integrity": "sha512-O+NfmkfRrb3uSsTa4jE3WApidSe3N5++fyOVGP1SmMZi4A3BZELkhUUvj5hwmMuNdlpzAZ8iAPz2vmcR7DCFQA==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
+ "dev": true
+ },
+ "node_modules/axios": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
+ "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
+ "dev": true,
+ "dependencies": {
+ "follow-redirects": "^1.14.9",
+ "form-data": "^4.0.0"
+ }
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dev": true,
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/esbuild": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.9.tgz",
+ "integrity": "sha512-OnYr1rkMVxtmMHIAKZLMcEUlJmqcbxBz9QoBU8G9v455na0fuzlT/GLu6l+SRghrk0Mm2fSSciMmzV43Q8e0Gg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/android-arm": "0.15.9",
+ "@esbuild/linux-loong64": "0.15.9",
+ "esbuild-android-64": "0.15.9",
+ "esbuild-android-arm64": "0.15.9",
+ "esbuild-darwin-64": "0.15.9",
+ "esbuild-darwin-arm64": "0.15.9",
+ "esbuild-freebsd-64": "0.15.9",
+ "esbuild-freebsd-arm64": "0.15.9",
+ "esbuild-linux-32": "0.15.9",
+ "esbuild-linux-64": "0.15.9",
+ "esbuild-linux-arm": "0.15.9",
+ "esbuild-linux-arm64": "0.15.9",
+ "esbuild-linux-mips64le": "0.15.9",
+ "esbuild-linux-ppc64le": "0.15.9",
+ "esbuild-linux-riscv64": "0.15.9",
+ "esbuild-linux-s390x": "0.15.9",
+ "esbuild-netbsd-64": "0.15.9",
+ "esbuild-openbsd-64": "0.15.9",
+ "esbuild-sunos-64": "0.15.9",
+ "esbuild-windows-32": "0.15.9",
+ "esbuild-windows-64": "0.15.9",
+ "esbuild-windows-arm64": "0.15.9"
+ }
+ },
+ "node_modules/esbuild-android-64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.9.tgz",
+ "integrity": "sha512-HQCX7FJn9T4kxZQkhPjNZC7tBWZqJvhlLHPU2SFzrQB/7nDXjmTIFpFTjt7Bd1uFpeXmuwf5h5fZm+x/hLnhbw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-android-arm64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.9.tgz",
+ "integrity": "sha512-E6zbLfqbFVCNEKircSHnPiSTsm3fCRxeIMPfrkS33tFjIAoXtwegQfVZqMGR0FlsvVxp2NEDOUz+WW48COCjSg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-darwin-64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.9.tgz",
+ "integrity": "sha512-gI7dClcDN/HHVacZhTmGjl0/TWZcGuKJ0I7/xDGJwRQQn7aafZGtvagOFNmuOq+OBFPhlPv1T6JElOXb0unkSQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-darwin-arm64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.9.tgz",
+ "integrity": "sha512-VZIMlcRN29yg/sv7DsDwN+OeufCcoTNaTl3Vnav7dL/nvsApD7uvhVRbgyMzv0zU/PP0xRhhIpTyc7lxEzHGSw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-freebsd-64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.9.tgz",
+ "integrity": "sha512-uM4z5bTvuAXqPxrI204txhlsPIolQPWRMLenvGuCPZTnnGlCMF2QLs0Plcm26gcskhxewYo9LkkmYSS5Czrb5A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-freebsd-arm64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.9.tgz",
+ "integrity": "sha512-HHDjT3O5gWzicGdgJ5yokZVN9K9KG05SnERwl9nBYZaCjcCgj/sX8Ps1jvoFSfNCO04JSsHSOWo4qvxFuj8FoA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-32": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.9.tgz",
+ "integrity": "sha512-AQIdE8FugGt1DkcekKi5ycI46QZpGJ/wqcMr7w6YUmOmp2ohQ8eO4sKUsOxNOvYL7hGEVwkndSyszR6HpVHLFg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.9.tgz",
+ "integrity": "sha512-4RXjae7g6Qs7StZyiYyXTZXBlfODhb1aBVAjd+ANuPmMhWthQilWo7rFHwJwL7DQu1Fjej2sODAVwLbcIVsAYQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-arm": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.9.tgz",
+ "integrity": "sha512-3Zf2GVGUOI7XwChH3qrnTOSqfV1V4CAc/7zLVm4lO6JT6wbJrTgEYCCiNSzziSju+J9Jhf9YGWk/26quWPC6yQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-arm64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.9.tgz",
+ "integrity": "sha512-a+bTtxJmYmk9d+s2W4/R1SYKDDAldOKmWjWP0BnrWtDbvUBNOm++du0ysPju4mZVoEFgS1yLNW+VXnG/4FNwdQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-mips64le": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.9.tgz",
+ "integrity": "sha512-Zn9HSylDp89y+TRREMDoGrc3Z4Hs5u56ozZLQCiZAUx2+HdbbXbWdjmw3FdTJ/i7t5Cew6/Q+6kfO3KCcFGlyw==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-ppc64le": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.9.tgz",
+ "integrity": "sha512-OEiOxNAMH9ENFYqRsWUj3CWyN3V8P3ZXyfNAtX5rlCEC/ERXrCEFCJji/1F6POzsXAzxvUJrTSTCy7G6BhA6Fw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-riscv64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.9.tgz",
+ "integrity": "sha512-ukm4KsC3QRausEFjzTsOZ/qqazw0YvJsKmfoZZm9QW27OHjk2XKSQGGvx8gIEswft/Sadp03/VZvAaqv5AIwNA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-s390x": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.9.tgz",
+ "integrity": "sha512-uDOQEH55wQ6ahcIKzQr3VyjGc6Po/xblLGLoUk3fVL1qjlZAibtQr6XRfy5wPJLu/M2o0vQKLq4lyJ2r1tWKcw==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-netbsd-64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.9.tgz",
+ "integrity": "sha512-yWgxaYTQz+TqX80wXRq6xAtb7GSBAp6gqLKfOdANg9qEmAI1Bxn04IrQr0Mzm4AhxvGKoHzjHjMgXbCCSSDxcw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-openbsd-64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.9.tgz",
+ "integrity": "sha512-JmS18acQl4iSAjrEha1MfEmUMN4FcnnrtTaJ7Qg0tDCOcgpPPQRLGsZqhes0vmx8VA6IqRyScqXvaL7+Q0Uf3A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-sunos-64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.9.tgz",
+ "integrity": "sha512-UKynGSWpzkPmXW3D2UMOD9BZPIuRaSqphxSCwScfEE05Be3KAmvjsBhht1fLzKpiFVJb0BYMd4jEbWMyJ/z1hQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-windows-32": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.9.tgz",
+ "integrity": "sha512-aqXvu4/W9XyTVqO/hw3rNxKE1TcZiEYHPsXM9LwYmKSX9/hjvfIJzXwQBlPcJ/QOxedfoMVH0YnhhQ9Ffb0RGA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-windows-64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.9.tgz",
+ "integrity": "sha512-zm7h91WUmlS4idMtjvCrEeNhlH7+TNOmqw5dJPJZrgFaxoFyqYG6CKDpdFCQXdyKpD5yvzaQBOMVTCBVKGZDEg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-windows-arm64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.9.tgz",
+ "integrity": "sha512-yQEVIv27oauAtvtuhJVfSNMztJJX47ismRS6Sv2QMVV9RM+6xjbMWuuwM2nxr5A2/gj/mu2z9YlQxiwoFRCfZA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.15.2",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
+ "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dev": true,
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
+ "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
+ "dev": true,
+ "dependencies": {
+ "has": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/laravel-vite-plugin": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-0.6.1.tgz",
+ "integrity": "sha512-L8zt+bttm6+C0mo3an5J8wRW03SsjbTEouGb3bH2jj/XclFVAX/xEUkG9efhdRHjbEH5RY6cmdJ7bmf7zqjwIQ==",
+ "dev": true,
+ "dependencies": {
+ "vite-plugin-full-reload": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "vite": "^3.0.0"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "dev": true
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dev": true,
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
+ "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+ "dev": true,
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true
+ },
+ "node_modules/picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+ "dev": true
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.4.16",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz",
+ "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ }
+ ],
+ "dependencies": {
+ "nanoid": "^3.3.4",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.2"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/resolve": {
+ "version": "1.22.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
+ "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
+ "dev": true,
+ "dependencies": {
+ "is-core-module": "^2.9.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "2.78.1",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.78.1.tgz",
+ "integrity": "sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==",
+ "dev": true,
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/vite": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-3.1.3.tgz",
+ "integrity": "sha512-/3XWiktaopByM5bd8dqvHxRt5EEgRikevnnrpND0gRfNkrMrPaGGexhtLCzv15RcCMtV2CLw+BPas8YFeSG0KA==",
+ "dev": true,
+ "dependencies": {
+ "esbuild": "^0.15.6",
+ "postcss": "^8.4.16",
+ "resolve": "^1.22.1",
+ "rollup": "~2.78.0"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ },
+ "peerDependencies": {
+ "less": "*",
+ "sass": "*",
+ "stylus": "*",
+ "terser": "^5.4.0"
+ },
+ "peerDependenciesMeta": {
+ "less": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vite-plugin-full-reload": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/vite-plugin-full-reload/-/vite-plugin-full-reload-1.0.4.tgz",
+ "integrity": "sha512-9WejQII6zJ++m/YE173Zvl2jq4cqa404KNrVT+JDzDnqaGRq5UvOvA48fnsSWPIMXFV7S0dq5+sZqcSB+tKBgA==",
+ "dev": true,
+ "dependencies": {
+ "picocolors": "^1.0.0",
+ "picomatch": "^2.3.1"
+ },
+ "peerDependencies": {
+ "vite": "^2 || ^3"
+ }
+ }
+ },
+ "dependencies": {
+ "@esbuild/android-arm": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.9.tgz",
+ "integrity": "sha512-VZPy/ETF3fBG5PiinIkA0W/tlsvlEgJccyN2DzWZEl0DlVKRbu91PvY2D6Lxgluj4w9QtYHjOWjAT44C+oQ+EQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-loong64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.9.tgz",
+ "integrity": "sha512-O+NfmkfRrb3uSsTa4jE3WApidSe3N5++fyOVGP1SmMZi4A3BZELkhUUvj5hwmMuNdlpzAZ8iAPz2vmcR7DCFQA==",
+ "dev": true,
+ "optional": true
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
+ "dev": true
+ },
+ "axios": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
+ "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
+ "dev": true,
+ "requires": {
+ "follow-redirects": "^1.14.9",
+ "form-data": "^4.0.0"
+ }
+ },
+ "combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dev": true,
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "dev": true
+ },
+ "esbuild": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.9.tgz",
+ "integrity": "sha512-OnYr1rkMVxtmMHIAKZLMcEUlJmqcbxBz9QoBU8G9v455na0fuzlT/GLu6l+SRghrk0Mm2fSSciMmzV43Q8e0Gg==",
+ "dev": true,
+ "requires": {
+ "@esbuild/android-arm": "0.15.9",
+ "@esbuild/linux-loong64": "0.15.9",
+ "esbuild-android-64": "0.15.9",
+ "esbuild-android-arm64": "0.15.9",
+ "esbuild-darwin-64": "0.15.9",
+ "esbuild-darwin-arm64": "0.15.9",
+ "esbuild-freebsd-64": "0.15.9",
+ "esbuild-freebsd-arm64": "0.15.9",
+ "esbuild-linux-32": "0.15.9",
+ "esbuild-linux-64": "0.15.9",
+ "esbuild-linux-arm": "0.15.9",
+ "esbuild-linux-arm64": "0.15.9",
+ "esbuild-linux-mips64le": "0.15.9",
+ "esbuild-linux-ppc64le": "0.15.9",
+ "esbuild-linux-riscv64": "0.15.9",
+ "esbuild-linux-s390x": "0.15.9",
+ "esbuild-netbsd-64": "0.15.9",
+ "esbuild-openbsd-64": "0.15.9",
+ "esbuild-sunos-64": "0.15.9",
+ "esbuild-windows-32": "0.15.9",
+ "esbuild-windows-64": "0.15.9",
+ "esbuild-windows-arm64": "0.15.9"
+ }
+ },
+ "esbuild-android-64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.9.tgz",
+ "integrity": "sha512-HQCX7FJn9T4kxZQkhPjNZC7tBWZqJvhlLHPU2SFzrQB/7nDXjmTIFpFTjt7Bd1uFpeXmuwf5h5fZm+x/hLnhbw==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-android-arm64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.9.tgz",
+ "integrity": "sha512-E6zbLfqbFVCNEKircSHnPiSTsm3fCRxeIMPfrkS33tFjIAoXtwegQfVZqMGR0FlsvVxp2NEDOUz+WW48COCjSg==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-darwin-64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.9.tgz",
+ "integrity": "sha512-gI7dClcDN/HHVacZhTmGjl0/TWZcGuKJ0I7/xDGJwRQQn7aafZGtvagOFNmuOq+OBFPhlPv1T6JElOXb0unkSQ==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-darwin-arm64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.9.tgz",
+ "integrity": "sha512-VZIMlcRN29yg/sv7DsDwN+OeufCcoTNaTl3Vnav7dL/nvsApD7uvhVRbgyMzv0zU/PP0xRhhIpTyc7lxEzHGSw==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-freebsd-64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.9.tgz",
+ "integrity": "sha512-uM4z5bTvuAXqPxrI204txhlsPIolQPWRMLenvGuCPZTnnGlCMF2QLs0Plcm26gcskhxewYo9LkkmYSS5Czrb5A==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-freebsd-arm64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.9.tgz",
+ "integrity": "sha512-HHDjT3O5gWzicGdgJ5yokZVN9K9KG05SnERwl9nBYZaCjcCgj/sX8Ps1jvoFSfNCO04JSsHSOWo4qvxFuj8FoA==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-linux-32": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.9.tgz",
+ "integrity": "sha512-AQIdE8FugGt1DkcekKi5ycI46QZpGJ/wqcMr7w6YUmOmp2ohQ8eO4sKUsOxNOvYL7hGEVwkndSyszR6HpVHLFg==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-linux-64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.9.tgz",
+ "integrity": "sha512-4RXjae7g6Qs7StZyiYyXTZXBlfODhb1aBVAjd+ANuPmMhWthQilWo7rFHwJwL7DQu1Fjej2sODAVwLbcIVsAYQ==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-linux-arm": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.9.tgz",
+ "integrity": "sha512-3Zf2GVGUOI7XwChH3qrnTOSqfV1V4CAc/7zLVm4lO6JT6wbJrTgEYCCiNSzziSju+J9Jhf9YGWk/26quWPC6yQ==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-linux-arm64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.9.tgz",
+ "integrity": "sha512-a+bTtxJmYmk9d+s2W4/R1SYKDDAldOKmWjWP0BnrWtDbvUBNOm++du0ysPju4mZVoEFgS1yLNW+VXnG/4FNwdQ==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-linux-mips64le": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.9.tgz",
+ "integrity": "sha512-Zn9HSylDp89y+TRREMDoGrc3Z4Hs5u56ozZLQCiZAUx2+HdbbXbWdjmw3FdTJ/i7t5Cew6/Q+6kfO3KCcFGlyw==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-linux-ppc64le": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.9.tgz",
+ "integrity": "sha512-OEiOxNAMH9ENFYqRsWUj3CWyN3V8P3ZXyfNAtX5rlCEC/ERXrCEFCJji/1F6POzsXAzxvUJrTSTCy7G6BhA6Fw==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-linux-riscv64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.9.tgz",
+ "integrity": "sha512-ukm4KsC3QRausEFjzTsOZ/qqazw0YvJsKmfoZZm9QW27OHjk2XKSQGGvx8gIEswft/Sadp03/VZvAaqv5AIwNA==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-linux-s390x": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.9.tgz",
+ "integrity": "sha512-uDOQEH55wQ6ahcIKzQr3VyjGc6Po/xblLGLoUk3fVL1qjlZAibtQr6XRfy5wPJLu/M2o0vQKLq4lyJ2r1tWKcw==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-netbsd-64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.9.tgz",
+ "integrity": "sha512-yWgxaYTQz+TqX80wXRq6xAtb7GSBAp6gqLKfOdANg9qEmAI1Bxn04IrQr0Mzm4AhxvGKoHzjHjMgXbCCSSDxcw==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-openbsd-64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.9.tgz",
+ "integrity": "sha512-JmS18acQl4iSAjrEha1MfEmUMN4FcnnrtTaJ7Qg0tDCOcgpPPQRLGsZqhes0vmx8VA6IqRyScqXvaL7+Q0Uf3A==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-sunos-64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.9.tgz",
+ "integrity": "sha512-UKynGSWpzkPmXW3D2UMOD9BZPIuRaSqphxSCwScfEE05Be3KAmvjsBhht1fLzKpiFVJb0BYMd4jEbWMyJ/z1hQ==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-windows-32": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.9.tgz",
+ "integrity": "sha512-aqXvu4/W9XyTVqO/hw3rNxKE1TcZiEYHPsXM9LwYmKSX9/hjvfIJzXwQBlPcJ/QOxedfoMVH0YnhhQ9Ffb0RGA==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-windows-64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.9.tgz",
+ "integrity": "sha512-zm7h91WUmlS4idMtjvCrEeNhlH7+TNOmqw5dJPJZrgFaxoFyqYG6CKDpdFCQXdyKpD5yvzaQBOMVTCBVKGZDEg==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-windows-arm64": {
+ "version": "0.15.9",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.9.tgz",
+ "integrity": "sha512-yQEVIv27oauAtvtuhJVfSNMztJJX47ismRS6Sv2QMVV9RM+6xjbMWuuwM2nxr5A2/gj/mu2z9YlQxiwoFRCfZA==",
+ "dev": true,
+ "optional": true
+ },
+ "follow-redirects": {
+ "version": "1.15.2",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
+ "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
+ "dev": true
+ },
+ "form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dev": true,
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "optional": true
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "is-core-module": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
+ "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "laravel-vite-plugin": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-0.6.1.tgz",
+ "integrity": "sha512-L8zt+bttm6+C0mo3an5J8wRW03SsjbTEouGb3bH2jj/XclFVAX/xEUkG9efhdRHjbEH5RY6cmdJ7bmf7zqjwIQ==",
+ "dev": true,
+ "requires": {
+ "vite-plugin-full-reload": "^1.0.1"
+ }
+ },
+ "lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "dev": true
+ },
+ "mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dev": true,
+ "requires": {
+ "mime-db": "1.52.0"
+ }
+ },
+ "nanoid": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
+ "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true
+ },
+ "picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+ "dev": true
+ },
+ "picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true
+ },
+ "postcss": {
+ "version": "8.4.16",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz",
+ "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==",
+ "dev": true,
+ "requires": {
+ "nanoid": "^3.3.4",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.2"
+ }
+ },
+ "resolve": {
+ "version": "1.22.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
+ "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
+ "dev": true,
+ "requires": {
+ "is-core-module": "^2.9.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ }
+ },
+ "rollup": {
+ "version": "2.78.1",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.78.1.tgz",
+ "integrity": "sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==",
+ "dev": true,
+ "requires": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "source-map-js": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+ "dev": true
+ },
+ "supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true
+ },
+ "vite": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-3.1.3.tgz",
+ "integrity": "sha512-/3XWiktaopByM5bd8dqvHxRt5EEgRikevnnrpND0gRfNkrMrPaGGexhtLCzv15RcCMtV2CLw+BPas8YFeSG0KA==",
+ "dev": true,
+ "requires": {
+ "esbuild": "^0.15.6",
+ "fsevents": "~2.3.2",
+ "postcss": "^8.4.16",
+ "resolve": "^1.22.1",
+ "rollup": "~2.78.0"
+ }
+ },
+ "vite-plugin-full-reload": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/vite-plugin-full-reload/-/vite-plugin-full-reload-1.0.4.tgz",
+ "integrity": "sha512-9WejQII6zJ++m/YE173Zvl2jq4cqa404KNrVT+JDzDnqaGRq5UvOvA48fnsSWPIMXFV7S0dq5+sZqcSB+tKBgA==",
+ "dev": true,
+ "requires": {
+ "picocolors": "^1.0.0",
+ "picomatch": "^2.3.1"
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..6d30231
--- /dev/null
+++ b/package.json
@@ -0,0 +1,14 @@
+{
+ "private": true,
+ "scripts": {
+ "dev": "vite",
+ "build": "vite build"
+ },
+ "devDependencies": {
+ "axios": "^0.27",
+ "laravel-vite-plugin": "^0.6.0",
+ "lodash": "^4.17.19",
+ "postcss": "^8.1.14",
+ "vite": "^3.0.0"
+ }
+}
diff --git a/phpunit.xml b/phpunit.xml
new file mode 100644
index 0000000..2ac86a1
--- /dev/null
+++ b/phpunit.xml
@@ -0,0 +1,31 @@
+
+
+
+
+ ./tests/Unit
+
+
+ ./tests/Feature
+
+
+
+
+ ./app
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/.htaccess b/public/.htaccess
new file mode 100644
index 0000000..3aec5e2
--- /dev/null
+++ b/public/.htaccess
@@ -0,0 +1,21 @@
+
+
+ Options -MultiViews -Indexes
+
+
+ RewriteEngine On
+
+ # Handle Authorization Header
+ RewriteCond %{HTTP:Authorization} .
+ RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
+
+ # Redirect Trailing Slashes If Not A Folder...
+ RewriteCond %{REQUEST_FILENAME} !-d
+ RewriteCond %{REQUEST_URI} (.+)/$
+ RewriteRule ^ %1 [L,R=301]
+
+ # Send Requests To Front Controller...
+ RewriteCond %{REQUEST_FILENAME} !-d
+ RewriteCond %{REQUEST_FILENAME} !-f
+ RewriteRule ^ index.php [L]
+
diff --git a/public/SDELogo.PNG b/public/SDELogo.PNG
new file mode 100644
index 0000000..e6de8d3
Binary files /dev/null and b/public/SDELogo.PNG differ
diff --git a/public/SKPFullLogo.png b/public/SKPFullLogo.png
new file mode 100644
index 0000000..abf4a0d
Binary files /dev/null and b/public/SKPFullLogo.png differ
diff --git a/public/SdeFullLogo.png b/public/SdeFullLogo.png
new file mode 100644
index 0000000..f09631f
Binary files /dev/null and b/public/SdeFullLogo.png differ
diff --git a/public/css/app.css b/public/css/app.css
new file mode 100644
index 0000000..a2d11e3
--- /dev/null
+++ b/public/css/app.css
@@ -0,0 +1,18407 @@
+@charset "UTF-8";
+td.dt-control {
+ background: url("https://www.datatables.net/examples/resources/details_open.png") no-repeat center center;
+ cursor: pointer;
+}
+
+tr.dt-hasChild td.dt-control {
+ background: url("https://www.datatables.net/examples/resources/details_close.png") no-repeat center center;
+}
+
+table.dataTable th.dt-left,
+table.dataTable td.dt-left {
+ text-align: left;
+}
+table.dataTable th.dt-center,
+table.dataTable td.dt-center,
+table.dataTable td.dataTables_empty {
+ text-align: center;
+}
+table.dataTable th.dt-right,
+table.dataTable td.dt-right {
+ text-align: right;
+}
+table.dataTable th.dt-justify,
+table.dataTable td.dt-justify {
+ text-align: justify;
+}
+table.dataTable th.dt-nowrap,
+table.dataTable td.dt-nowrap {
+ white-space: nowrap;
+}
+table.dataTable thead th.dt-head-left,
+table.dataTable thead td.dt-head-left,
+table.dataTable tfoot th.dt-head-left,
+table.dataTable tfoot td.dt-head-left {
+ text-align: left;
+}
+table.dataTable thead th.dt-head-center,
+table.dataTable thead td.dt-head-center,
+table.dataTable tfoot th.dt-head-center,
+table.dataTable tfoot td.dt-head-center {
+ text-align: center;
+}
+table.dataTable thead th.dt-head-right,
+table.dataTable thead td.dt-head-right,
+table.dataTable tfoot th.dt-head-right,
+table.dataTable tfoot td.dt-head-right {
+ text-align: right;
+}
+table.dataTable thead th.dt-head-justify,
+table.dataTable thead td.dt-head-justify,
+table.dataTable tfoot th.dt-head-justify,
+table.dataTable tfoot td.dt-head-justify {
+ text-align: justify;
+}
+table.dataTable thead th.dt-head-nowrap,
+table.dataTable thead td.dt-head-nowrap,
+table.dataTable tfoot th.dt-head-nowrap,
+table.dataTable tfoot td.dt-head-nowrap {
+ white-space: nowrap;
+}
+table.dataTable tbody th.dt-body-left,
+table.dataTable tbody td.dt-body-left {
+ text-align: left;
+}
+table.dataTable tbody th.dt-body-center,
+table.dataTable tbody td.dt-body-center {
+ text-align: center;
+}
+table.dataTable tbody th.dt-body-right,
+table.dataTable tbody td.dt-body-right {
+ text-align: right;
+}
+table.dataTable tbody th.dt-body-justify,
+table.dataTable tbody td.dt-body-justify {
+ text-align: justify;
+}
+table.dataTable tbody th.dt-body-nowrap,
+table.dataTable tbody td.dt-body-nowrap {
+ white-space: nowrap;
+}
+
+/*! Bootstrap 5 integration for DataTables
+ *
+ * ©2020 SpryMedia Ltd, all rights reserved.
+ * License: MIT datatables.net/license/mit
+ */
+table.dataTable {
+ clear: both;
+ margin-top: 6px !important;
+ margin-bottom: 6px !important;
+ max-width: none !important;
+ border-collapse: separate !important;
+ border-spacing: 0;
+}
+table.dataTable td,
+table.dataTable th {
+ box-sizing: content-box;
+}
+table.dataTable td.dataTables_empty,
+table.dataTable th.dataTables_empty {
+ text-align: center;
+}
+table.dataTable.nowrap th,
+table.dataTable.nowrap td {
+ white-space: nowrap;
+}
+
+div.dataTables_wrapper div.dataTables_length label {
+ font-weight: normal;
+ text-align: left;
+ white-space: nowrap;
+}
+div.dataTables_wrapper div.dataTables_length select {
+ width: auto;
+ display: inline-block;
+}
+div.dataTables_wrapper div.dataTables_filter {
+ text-align: right;
+}
+div.dataTables_wrapper div.dataTables_filter label {
+ font-weight: normal;
+ white-space: nowrap;
+ text-align: left;
+}
+div.dataTables_wrapper div.dataTables_filter input {
+ margin-left: 0.5em;
+ display: inline-block;
+ width: auto;
+}
+div.dataTables_wrapper div.dataTables_info {
+ padding-top: 0.85em;
+}
+div.dataTables_wrapper div.dataTables_paginate {
+ margin: 0;
+ white-space: nowrap;
+ text-align: right;
+}
+div.dataTables_wrapper div.dataTables_paginate ul.pagination {
+ margin: 2px 0;
+ white-space: nowrap;
+ justify-content: flex-end;
+}
+div.dataTables_wrapper div.dataTables_processing {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: 200px;
+ margin-left: -100px;
+ margin-top: -26px;
+ text-align: center;
+ padding: 1em 0;
+}
+
+table.dataTable > thead > tr > th:active,
+table.dataTable > thead > tr > td:active {
+ outline: none;
+}
+table.dataTable > thead > tr > th:not(.sorting_disabled),
+table.dataTable > thead > tr > td:not(.sorting_disabled) {
+ padding-right: 30px;
+}
+table.dataTable > thead .sorting,
+table.dataTable > thead .sorting_asc,
+table.dataTable > thead .sorting_desc,
+table.dataTable > thead .sorting_asc_disabled,
+table.dataTable > thead .sorting_desc_disabled {
+ cursor: pointer;
+ position: relative;
+}
+table.dataTable > thead .sorting:before, table.dataTable > thead .sorting:after,
+table.dataTable > thead .sorting_asc:before,
+table.dataTable > thead .sorting_asc:after,
+table.dataTable > thead .sorting_desc:before,
+table.dataTable > thead .sorting_desc:after,
+table.dataTable > thead .sorting_asc_disabled:before,
+table.dataTable > thead .sorting_asc_disabled:after,
+table.dataTable > thead .sorting_desc_disabled:before,
+table.dataTable > thead .sorting_desc_disabled:after {
+ position: absolute;
+ bottom: 0.5em;
+ display: block;
+ opacity: 0.3;
+}
+table.dataTable > thead .sorting:before,
+table.dataTable > thead .sorting_asc:before,
+table.dataTable > thead .sorting_desc:before,
+table.dataTable > thead .sorting_asc_disabled:before,
+table.dataTable > thead .sorting_desc_disabled:before {
+ right: 1em;
+ content: "↑";
+}
+table.dataTable > thead .sorting:after,
+table.dataTable > thead .sorting_asc:after,
+table.dataTable > thead .sorting_desc:after,
+table.dataTable > thead .sorting_asc_disabled:after,
+table.dataTable > thead .sorting_desc_disabled:after {
+ right: 0.5em;
+ content: "↓";
+}
+table.dataTable > thead .sorting_asc:before,
+table.dataTable > thead .sorting_desc:after {
+ opacity: 1;
+}
+table.dataTable > thead .sorting_asc_disabled:before,
+table.dataTable > thead .sorting_desc_disabled:after {
+ opacity: 0;
+}
+
+div.dataTables_scrollHead table.dataTable {
+ margin-bottom: 0 !important;
+}
+
+div.dataTables_scrollBody > table {
+ border-top: none;
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+}
+div.dataTables_scrollBody > table > thead .sorting:before,
+div.dataTables_scrollBody > table > thead .sorting_asc:before,
+div.dataTables_scrollBody > table > thead .sorting_desc:before,
+div.dataTables_scrollBody > table > thead .sorting:after,
+div.dataTables_scrollBody > table > thead .sorting_asc:after,
+div.dataTables_scrollBody > table > thead .sorting_desc:after {
+ display: none;
+}
+div.dataTables_scrollBody > table > tbody tr:first-child th,
+div.dataTables_scrollBody > table > tbody tr:first-child td {
+ border-top: none;
+}
+
+div.dataTables_scrollFoot > .dataTables_scrollFootInner {
+ box-sizing: content-box;
+}
+div.dataTables_scrollFoot > .dataTables_scrollFootInner > table {
+ margin-top: 0 !important;
+ border-top: none;
+}
+
+@media screen and (max-width: 767px) {
+ div.dataTables_wrapper div.dataTables_length,
+ div.dataTables_wrapper div.dataTables_filter,
+ div.dataTables_wrapper div.dataTables_info,
+ div.dataTables_wrapper div.dataTables_paginate {
+ text-align: center;
+ }
+ div.dataTables_wrapper div.dataTables_paginate ul.pagination {
+ justify-content: center !important;
+ }
+}
+table.dataTable.table-sm > thead > tr > th:not(.sorting_disabled) {
+ padding-right: 20px;
+}
+table.dataTable.table-sm .sorting:before,
+table.dataTable.table-sm .sorting_asc:before,
+table.dataTable.table-sm .sorting_desc:before {
+ top: 5px;
+ right: 0.85em;
+}
+table.dataTable.table-sm .sorting:after,
+table.dataTable.table-sm .sorting_asc:after,
+table.dataTable.table-sm .sorting_desc:after {
+ top: 5px;
+}
+
+table.table-bordered.dataTable {
+ border-right-width: 0;
+}
+table.table-bordered.dataTable thead tr:first-child th,
+table.table-bordered.dataTable thead tr:first-child td {
+ border-top-width: 1px;
+}
+table.table-bordered.dataTable th,
+table.table-bordered.dataTable td {
+ border-left-width: 0;
+}
+table.table-bordered.dataTable th:first-child, table.table-bordered.dataTable th:first-child,
+table.table-bordered.dataTable td:first-child,
+table.table-bordered.dataTable td:first-child {
+ border-left-width: 1px;
+}
+table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child,
+table.table-bordered.dataTable td:last-child,
+table.table-bordered.dataTable td:last-child {
+ border-right-width: 1px;
+}
+table.table-bordered.dataTable th,
+table.table-bordered.dataTable td {
+ border-bottom-width: 1px;
+}
+
+div.dataTables_scrollHead table.table-bordered {
+ border-bottom-width: 0;
+}
+
+div.table-responsive > div.dataTables_wrapper > div.row {
+ margin: 0;
+}
+div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:first-child {
+ padding-left: 0;
+}
+div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:last-child {
+ padding-right: 0;
+}
+
+table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1) {
+ --bs-table-accent-bg: transparent;
+}
+table.dataTable.table-striped > tbody > tr.odd {
+ --bs-table-accent-bg: var(--bs-table-striped-bg);
+}
+
+@charset "UTF-8";
+/*!
+ * Bootstrap v5.1.3 (https://getbootstrap.com/)
+ * Copyright 2011-2021 The Bootstrap Authors
+ * Copyright 2011-2021 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ */
+:root {
+ --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-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-white-rgb: 255, 255, 255;
+ --bs-black-rgb: 0, 0, 0;
+ --bs-body-color-rgb: 33, 37, 41;
+ --bs-body-bg-rgb: 255, 255, 255;
+ --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", 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-bg: #fff;
+}
+
+*,
+*::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;
+ background-color: currentColor;
+ border: 0;
+ opacity: 0.25;
+}
+
+hr:not([size]) {
+ height: 1px;
+}
+
+h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
+ margin-top: 0;
+ margin-bottom: 0.5rem;
+ font-weight: 500;
+ line-height: 1.2;
+}
+
+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],
+abbr[data-bs-original-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;
+}
+
+ol,
+ul,
+dl {
+ margin-top: 0;
+ margin-bottom: 1rem;
+}
+
+ol ol,
+ul ul,
+ol ul,
+ul ol {
+ margin-bottom: 0;
+}
+
+dt {
+ font-weight: 700;
+}
+
+dd {
+ margin-bottom: 0.5rem;
+ margin-left: 0;
+}
+
+blockquote {
+ margin: 0 0 1rem;
+}
+
+b,
+strong {
+ font-weight: bolder;
+}
+
+small, .small {
+ font-size: 0.875em;
+}
+
+mark, .mark {
+ padding: 0.2em;
+ background-color: #fcf8e3;
+}
+
+sub,
+sup {
+ position: relative;
+ font-size: 0.75em;
+ line-height: 0;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+sup {
+ top: -0.5em;
+}
+
+a {
+ color: #0d6efd;
+ text-decoration: underline;
+}
+a:hover {
+ color: #0a58ca;
+}
+
+a:not([href]):not([class]), a:not([href]):not([class]):hover {
+ color: inherit;
+ text-decoration: none;
+}
+
+pre,
+code,
+kbd,
+samp {
+ font-family: var(--bs-font-monospace);
+ font-size: 1em;
+ direction: ltr /* rtl:ignore */;
+ unicode-bidi: bidi-override;
+}
+
+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: #d63384;
+ word-wrap: break-word;
+}
+a > code {
+ color: inherit;
+}
+
+kbd {
+ padding: 0.2rem 0.4rem;
+ font-size: 0.875em;
+ color: #fff;
+ background-color: #212529;
+ border-radius: 0.2rem;
+}
+kbd kbd {
+ padding: 0;
+ font-size: 1em;
+ font-weight: 700;
+}
+
+figure {
+ margin: 0 0 1rem;
+}
+
+img,
+svg {
+ vertical-align: middle;
+}
+
+table {
+ caption-side: bottom;
+ border-collapse: collapse;
+}
+
+caption {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+ color: #6c757d;
+ 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]::-webkit-calendar-picker-indicator {
+ display: none;
+}
+
+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: 0.5rem;
+ font-size: calc(1.275rem + 0.3vw);
+ line-height: inherit;
+}
+@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] {
+ outline-offset: -2px;
+ -webkit-appearance: textfield;
+}
+
+/* rtl:raw:
+[type="tel"],
+[type="url"],
+[type="email"],
+[type="number"] {
+ direction: ltr;
+}
+*/
+::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+::-webkit-color-swatch-wrapper {
+ padding: 0;
+}
+
+::-webkit-file-upload-button {
+ font: inherit;
+}
+
+::file-selector-button {
+ font: inherit;
+}
+
+::-webkit-file-upload-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-size: calc(1.625rem + 4.5vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-1 {
+ font-size: 5rem;
+ }
+}
+
+.display-2 {
+ font-size: calc(1.575rem + 3.9vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-2 {
+ font-size: 4.5rem;
+ }
+}
+
+.display-3 {
+ font-size: calc(1.525rem + 3.3vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-3 {
+ font-size: 4rem;
+ }
+}
+
+.display-4 {
+ font-size: calc(1.475rem + 2.7vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-4 {
+ font-size: 3.5rem;
+ }
+}
+
+.display-5 {
+ font-size: calc(1.425rem + 2.1vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-5 {
+ font-size: 3rem;
+ }
+}
+
+.display-6 {
+ font-size: calc(1.375rem + 1.5vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@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: 0.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: 0.25rem;
+ background-color: #fff;
+ border: 1px solid #dee2e6;
+ border-radius: 0.25rem;
+ max-width: 100%;
+ height: auto;
+}
+
+.figure {
+ display: inline-block;
+}
+
+.figure-img {
+ margin-bottom: 0.5rem;
+ line-height: 1;
+}
+
+.figure-caption {
+ font-size: 0.875em;
+ color: #6c757d;
+}
+
+.container,
+.container-fluid,
+.container-xxl,
+.container-xl,
+.container-lg,
+.container-md,
+.container-sm {
+ width: 100%;
+ padding-right: var(--bs-gutter-x, 0.75rem);
+ padding-left: var(--bs-gutter-x, 0.75rem);
+ 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;
+ }
+}
+.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) * 0.5);
+ padding-left: calc(var(--bs-gutter-x) * 0.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.3333333333%;
+}
+
+.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.6666666667%;
+}
+
+.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.3333333333%;
+ }
+
+ .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.6666666667%;
+ }
+
+ .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.3333333333%;
+ }
+
+ .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.6666666667%;
+ }
+
+ .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.3333333333%;
+ }
+
+ .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.6666666667%;
+ }
+
+ .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.3333333333%;
+ }
+
+ .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.6666666667%;
+ }
+
+ .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.3333333333%;
+ }
+
+ .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.6666666667%;
+ }
+
+ .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-bg: transparent;
+ --bs-table-accent-bg: transparent;
+ --bs-table-striped-color: #212529;
+ --bs-table-striped-bg: rgba(0, 0, 0, 0.05);
+ --bs-table-active-color: #212529;
+ --bs-table-active-bg: rgba(0, 0, 0, 0.1);
+ --bs-table-hover-color: #212529;
+ --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
+ width: 100%;
+ margin-bottom: 1rem;
+ color: #212529;
+ vertical-align: top;
+ border-color: #dee2e6;
+}
+.table > :not(caption) > * > * {
+ padding: 0.5rem 0.5rem;
+ background-color: var(--bs-table-bg);
+ border-bottom-width: 1px;
+ box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
+}
+.table > tbody {
+ vertical-align: inherit;
+}
+.table > thead {
+ vertical-align: bottom;
+}
+.table > :not(:first-child) {
+ border-top: 2px solid currentColor;
+}
+
+.caption-top {
+ caption-side: top;
+}
+
+.table-sm > :not(caption) > * > * {
+ padding: 0.25rem 0.25rem;
+}
+
+.table-bordered > :not(caption) > * {
+ border-width: 1px 0;
+}
+.table-bordered > :not(caption) > * > * {
+ border-width: 0 1px;
+}
+
+.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-accent-bg: var(--bs-table-striped-bg);
+ color: var(--bs-table-striped-color);
+}
+
+.table-active {
+ --bs-table-accent-bg: var(--bs-table-active-bg);
+ color: var(--bs-table-active-color);
+}
+
+.table-hover > tbody > tr:hover > * {
+ --bs-table-accent-bg: var(--bs-table-hover-bg);
+ color: var(--bs-table-hover-color);
+}
+
+.table-primary {
+ --bs-table-bg: #cfe2ff;
+ --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: #000;
+ border-color: #bacbe6;
+}
+
+.table-secondary {
+ --bs-table-bg: #e2e3e5;
+ --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: #000;
+ border-color: #cbccce;
+}
+
+.table-success {
+ --bs-table-bg: #d1e7dd;
+ --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: #000;
+ border-color: #bcd0c7;
+}
+
+.table-info {
+ --bs-table-bg: #cff4fc;
+ --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: #000;
+ border-color: #badce3;
+}
+
+.table-warning {
+ --bs-table-bg: #fff3cd;
+ --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: #000;
+ border-color: #e6dbb9;
+}
+
+.table-danger {
+ --bs-table-bg: #f8d7da;
+ --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: #000;
+ border-color: #dfc2c4;
+}
+
+.table-light {
+ --bs-table-bg: #f8f9fa;
+ --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: #000;
+ border-color: #dfe0e1;
+}
+
+.table-dark {
+ --bs-table-bg: #212529;
+ --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: #fff;
+ border-color: #373b3e;
+}
+
+.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: 0.5rem;
+}
+
+.col-form-label {
+ padding-top: calc(0.375rem + 1px);
+ padding-bottom: calc(0.375rem + 1px);
+ margin-bottom: 0;
+ font-size: inherit;
+ line-height: 1.5;
+}
+
+.col-form-label-lg {
+ padding-top: calc(0.5rem + 1px);
+ padding-bottom: calc(0.5rem + 1px);
+ font-size: 1.25rem;
+}
+
+.col-form-label-sm {
+ padding-top: calc(0.25rem + 1px);
+ padding-bottom: calc(0.25rem + 1px);
+ font-size: 0.875rem;
+}
+
+.form-text {
+ margin-top: 0.25rem;
+ font-size: 0.875em;
+ color: #6c757d;
+}
+
+.form-control {
+ display: block;
+ width: 100%;
+ padding: 0.375rem 0.75rem;
+ font-size: 1rem;
+ font-weight: 400;
+ line-height: 1.5;
+ color: #212529;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 1px solid #ced4da;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ border-radius: 0.25rem;
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-control {
+ transition: none;
+ }
+}
+.form-control[type=file] {
+ overflow: hidden;
+}
+.form-control[type=file]:not(:disabled):not([readonly]) {
+ cursor: pointer;
+}
+.form-control:focus {
+ color: #212529;
+ background-color: #fff;
+ border-color: #86b7fe;
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
+}
+.form-control::-webkit-date-and-time-value {
+ height: 1.5em;
+}
+.form-control::-moz-placeholder {
+ color: #6c757d;
+ opacity: 1;
+}
+.form-control:-ms-input-placeholder {
+ color: #6c757d;
+ opacity: 1;
+}
+.form-control::placeholder {
+ color: #6c757d;
+ opacity: 1;
+}
+.form-control:disabled, .form-control[readonly] {
+ background-color: #e9ecef;
+ opacity: 1;
+}
+.form-control::-webkit-file-upload-button {
+ padding: 0.375rem 0.75rem;
+ margin: -0.375rem -0.75rem;
+ -webkit-margin-end: 0.75rem;
+ margin-inline-end: 0.75rem;
+ color: #212529;
+ background-color: #e9ecef;
+ pointer-events: none;
+ border-color: inherit;
+ border-style: solid;
+ border-width: 0;
+ border-inline-end-width: 1px;
+ border-radius: 0;
+ -webkit-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;
+ 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;
+}
+.form-control::file-selector-button {
+ padding: 0.375rem 0.75rem;
+ margin: -0.375rem -0.75rem;
+ -webkit-margin-end: 0.75rem;
+ margin-inline-end: 0.75rem;
+ color: #212529;
+ background-color: #e9ecef;
+ pointer-events: none;
+ border-color: inherit;
+ border-style: solid;
+ border-width: 0;
+ border-inline-end-width: 1px;
+ border-radius: 0;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .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: #dde0e3;
+}
+.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
+ background-color: #dde0e3;
+}
+.form-control::-webkit-file-upload-button {
+ padding: 0.375rem 0.75rem;
+ margin: -0.375rem -0.75rem;
+ -webkit-margin-end: 0.75rem;
+ margin-inline-end: 0.75rem;
+ color: #212529;
+ background-color: #e9ecef;
+ pointer-events: none;
+ border-color: inherit;
+ border-style: solid;
+ border-width: 0;
+ border-inline-end-width: 1px;
+ border-radius: 0;
+ -webkit-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;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-control::-webkit-file-upload-button {
+ -webkit-transition: none;
+ transition: none;
+ }
+}
+.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
+ background-color: #dde0e3;
+}
+
+.form-control-plaintext {
+ display: block;
+ width: 100%;
+ padding: 0.375rem 0;
+ margin-bottom: 0;
+ line-height: 1.5;
+ color: #212529;
+ background-color: transparent;
+ border: solid transparent;
+ border-width: 1px 0;
+}
+.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
+ padding-right: 0;
+ padding-left: 0;
+}
+
+.form-control-sm {
+ min-height: calc(1.5em + 0.5rem + 2px);
+ padding: 0.25rem 0.5rem;
+ font-size: 0.875rem;
+ border-radius: 0.2rem;
+}
+.form-control-sm::-webkit-file-upload-button {
+ padding: 0.25rem 0.5rem;
+ margin: -0.25rem -0.5rem;
+ -webkit-margin-end: 0.5rem;
+ margin-inline-end: 0.5rem;
+}
+.form-control-sm::file-selector-button {
+ padding: 0.25rem 0.5rem;
+ margin: -0.25rem -0.5rem;
+ -webkit-margin-end: 0.5rem;
+ margin-inline-end: 0.5rem;
+}
+.form-control-sm::-webkit-file-upload-button {
+ padding: 0.25rem 0.5rem;
+ margin: -0.25rem -0.5rem;
+ -webkit-margin-end: 0.5rem;
+ margin-inline-end: 0.5rem;
+}
+
+.form-control-lg {
+ min-height: calc(1.5em + 1rem + 2px);
+ padding: 0.5rem 1rem;
+ font-size: 1.25rem;
+ border-radius: 0.3rem;
+}
+.form-control-lg::-webkit-file-upload-button {
+ padding: 0.5rem 1rem;
+ margin: -0.5rem -1rem;
+ -webkit-margin-end: 1rem;
+ margin-inline-end: 1rem;
+}
+.form-control-lg::file-selector-button {
+ padding: 0.5rem 1rem;
+ margin: -0.5rem -1rem;
+ -webkit-margin-end: 1rem;
+ margin-inline-end: 1rem;
+}
+.form-control-lg::-webkit-file-upload-button {
+ padding: 0.5rem 1rem;
+ margin: -0.5rem -1rem;
+ -webkit-margin-end: 1rem;
+ margin-inline-end: 1rem;
+}
+
+textarea.form-control {
+ min-height: calc(1.5em + 0.75rem + 2px);
+}
+textarea.form-control-sm {
+ min-height: calc(1.5em + 0.5rem + 2px);
+}
+textarea.form-control-lg {
+ min-height: calc(1.5em + 1rem + 2px);
+}
+
+.form-control-color {
+ width: 3rem;
+ height: auto;
+ padding: 0.375rem;
+}
+.form-control-color:not(:disabled):not([readonly]) {
+ cursor: pointer;
+}
+.form-control-color::-moz-color-swatch {
+ height: 1.5em;
+ border-radius: 0.25rem;
+}
+.form-control-color::-webkit-color-swatch {
+ height: 1.5em;
+ border-radius: 0.25rem;
+}
+
+.form-select {
+ display: block;
+ width: 100%;
+ padding: 0.375rem 2.25rem 0.375rem 0.75rem;
+ -moz-padding-start: calc(0.75rem - 3px);
+ font-size: 1rem;
+ font-weight: 400;
+ line-height: 1.5;
+ color: #212529;
+ background-color: #fff;
+ background-image: 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 5l6 6 6-6'/%3e%3c/svg%3e");
+ background-repeat: no-repeat;
+ background-position: right 0.75rem center;
+ background-size: 16px 12px;
+ border: 1px solid #ced4da;
+ border-radius: 0.25rem;
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-select {
+ transition: none;
+ }
+}
+.form-select:focus {
+ border-color: #86b7fe;
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
+}
+.form-select[multiple], .form-select[size]:not([size="1"]) {
+ padding-right: 0.75rem;
+ background-image: none;
+}
+.form-select:disabled {
+ background-color: #e9ecef;
+}
+.form-select:-moz-focusring {
+ color: transparent;
+ text-shadow: 0 0 0 #212529;
+}
+
+.form-select-sm {
+ padding-top: 0.25rem;
+ padding-bottom: 0.25rem;
+ padding-left: 0.5rem;
+ font-size: 0.875rem;
+ border-radius: 0.2rem;
+}
+
+.form-select-lg {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+ padding-left: 1rem;
+ font-size: 1.25rem;
+ border-radius: 0.3rem;
+}
+
+.form-check {
+ display: block;
+ min-height: 1.5rem;
+ padding-left: 1.5em;
+ margin-bottom: 0.125rem;
+}
+.form-check .form-check-input {
+ float: left;
+ margin-left: -1.5em;
+}
+
+.form-check-input {
+ width: 1em;
+ height: 1em;
+ margin-top: 0.25em;
+ vertical-align: top;
+ background-color: #fff;
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: contain;
+ border: 1px solid rgba(0, 0, 0, 0.25);
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ -webkit-print-color-adjust: exact;
+ color-adjust: exact;
+}
+.form-check-input[type=checkbox] {
+ border-radius: 0.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 0.25rem rgba(13, 110, 253, 0.25);
+}
+.form-check-input:checked {
+ background-color: #0d6efd;
+ border-color: #0d6efd;
+}
+.form-check-input:checked[type=checkbox] {
+ background-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 10l3 3l6-6'/%3e%3c/svg%3e");
+}
+.form-check-input:checked[type=radio] {
+ background-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;
+ background-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: 0.5;
+}
+.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
+ opacity: 0.5;
+}
+
+.form-switch {
+ padding-left: 2.5em;
+}
+.form-switch .form-check-input {
+ width: 2em;
+ margin-left: -2.5em;
+ background-image: 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");
+ background-position: left center;
+ border-radius: 2em;
+ transition: background-position 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-switch .form-check-input {
+ transition: none;
+ }
+}
+.form-switch .form-check-input:focus {
+ background-image: 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;
+ background-image: 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-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: 0.65;
+}
+
+.form-range {
+ width: 100%;
+ height: 1.5rem;
+ padding: 0;
+ background-color: transparent;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+}
+.form-range:focus {
+ outline: 0;
+}
+.form-range:focus::-webkit-slider-thumb {
+ box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
+}
+.form-range:focus::-moz-range-thumb {
+ box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
+}
+.form-range::-moz-focus-outer {
+ border: 0;
+}
+.form-range::-webkit-slider-thumb {
+ width: 1rem;
+ height: 1rem;
+ margin-top: -0.25rem;
+ background-color: #0d6efd;
+ border: 0;
+ border-radius: 1rem;
+ -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ -webkit-appearance: none;
+ appearance: none;
+}
+@media (prefers-reduced-motion: reduce) {
+ .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: 0.5rem;
+ color: transparent;
+ cursor: pointer;
+ background-color: #dee2e6;
+ border-color: transparent;
+ border-radius: 1rem;
+}
+.form-range::-moz-range-thumb {
+ width: 1rem;
+ height: 1rem;
+ background-color: #0d6efd;
+ border: 0;
+ border-radius: 1rem;
+ -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ -moz-appearance: none;
+ appearance: none;
+}
+@media (prefers-reduced-motion: reduce) {
+ .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: 0.5rem;
+ color: transparent;
+ cursor: pointer;
+ background-color: #dee2e6;
+ border-color: transparent;
+ border-radius: 1rem;
+}
+.form-range:disabled {
+ pointer-events: none;
+}
+.form-range:disabled::-webkit-slider-thumb {
+ background-color: #adb5bd;
+}
+.form-range:disabled::-moz-range-thumb {
+ background-color: #adb5bd;
+}
+
+.form-floating {
+ position: relative;
+}
+.form-floating > .form-control,
+.form-floating > .form-select {
+ height: calc(3.5rem + 2px);
+ line-height: 1.25;
+}
+.form-floating > label {
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 100%;
+ padding: 1rem 0.75rem;
+ pointer-events: none;
+ border: 1px solid transparent;
+ transform-origin: 0 0;
+ transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-floating > label {
+ transition: none;
+ }
+}
+.form-floating > .form-control {
+ padding: 1rem 0.75rem;
+}
+.form-floating > .form-control::-moz-placeholder {
+ color: transparent;
+}
+.form-floating > .form-control:-ms-input-placeholder {
+ color: transparent;
+}
+.form-floating > .form-control::placeholder {
+ color: transparent;
+}
+.form-floating > .form-control:not(:-moz-placeholder-shown) {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:not(:-ms-input-placeholder) {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:-webkit-autofill {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-select {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {
+ opacity: 0.65;
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+.form-floating > .form-control:not(:-ms-input-placeholder) ~ label {
+ opacity: 0.65;
+ 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-select ~ label {
+ opacity: 0.65;
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+.form-floating > .form-control:-webkit-autofill ~ label {
+ opacity: 0.65;
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+
+.input-group {
+ position: relative;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: stretch;
+ width: 100%;
+}
+.input-group > .form-control,
+.input-group > .form-select {
+ position: relative;
+ flex: 1 1 auto;
+ width: 1%;
+ min-width: 0;
+}
+.input-group > .form-control:focus,
+.input-group > .form-select:focus {
+ z-index: 3;
+}
+.input-group .btn {
+ position: relative;
+ z-index: 2;
+}
+.input-group .btn:focus {
+ z-index: 3;
+}
+
+.input-group-text {
+ display: flex;
+ align-items: center;
+ padding: 0.375rem 0.75rem;
+ font-size: 1rem;
+ font-weight: 400;
+ line-height: 1.5;
+ color: #212529;
+ text-align: center;
+ white-space: nowrap;
+ background-color: #e9ecef;
+ border: 1px solid #ced4da;
+ border-radius: 0.25rem;
+}
+
+.input-group-lg > .form-control,
+.input-group-lg > .form-select,
+.input-group-lg > .input-group-text,
+.input-group-lg > .btn {
+ padding: 0.5rem 1rem;
+ font-size: 1.25rem;
+ border-radius: 0.3rem;
+}
+
+.input-group-sm > .form-control,
+.input-group-sm > .form-select,
+.input-group-sm > .input-group-text,
+.input-group-sm > .btn {
+ padding: 0.25rem 0.5rem;
+ font-size: 0.875rem;
+ border-radius: 0.2rem;
+}
+
+.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),
+.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3) {
+ 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),
+.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4) {
+ 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: -1px;
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.valid-feedback {
+ display: none;
+ width: 100%;
+ margin-top: 0.25rem;
+ font-size: 0.875em;
+ color: #198754;
+}
+
+.valid-tooltip {
+ position: absolute;
+ top: 100%;
+ z-index: 5;
+ display: none;
+ max-width: 100%;
+ padding: 0.25rem 0.5rem;
+ margin-top: 0.1rem;
+ font-size: 0.875rem;
+ color: #fff;
+ background-color: rgba(25, 135, 84, 0.9);
+ border-radius: 0.25rem;
+}
+
+.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: #198754;
+ padding-right: calc(1.5em + 0.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.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
+ background-repeat: no-repeat;
+ background-position: right calc(0.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: #198754;
+ box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 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: #198754;
+}
+.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"] {
+ padding-right: 4.125rem;
+ background-image: 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 5l6 6 6-6'/%3e%3c/svg%3e"), 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.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
+ background-position: right 0.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: #198754;
+ box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
+}
+
+.was-validated .form-check-input:valid, .form-check-input.is-valid {
+ border-color: #198754;
+}
+.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
+ background-color: #198754;
+}
+.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
+ box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
+}
+.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
+ color: #198754;
+}
+
+.form-check-inline .form-check-input ~ .valid-feedback {
+ margin-left: 0.5em;
+}
+
+.was-validated .input-group .form-control:valid, .input-group .form-control.is-valid,
+.was-validated .input-group .form-select:valid,
+.input-group .form-select.is-valid {
+ z-index: 1;
+}
+.was-validated .input-group .form-control:valid:focus, .input-group .form-control.is-valid:focus,
+.was-validated .input-group .form-select:valid:focus,
+.input-group .form-select.is-valid:focus {
+ z-index: 3;
+}
+
+.invalid-feedback {
+ display: none;
+ width: 100%;
+ margin-top: 0.25rem;
+ font-size: 0.875em;
+ color: #dc3545;
+}
+
+.invalid-tooltip {
+ position: absolute;
+ top: 100%;
+ z-index: 5;
+ display: none;
+ max-width: 100%;
+ padding: 0.25rem 0.5rem;
+ margin-top: 0.1rem;
+ font-size: 0.875rem;
+ color: #fff;
+ background-color: rgba(220, 53, 69, 0.9);
+ border-radius: 0.25rem;
+}
+
+.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: #dc3545;
+ padding-right: calc(1.5em + 0.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(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: #dc3545;
+ box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 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: #dc3545;
+}
+.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"] {
+ padding-right: 4.125rem;
+ background-image: 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 5l6 6 6-6'/%3e%3c/svg%3e"), 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-position: right 0.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: #dc3545;
+ box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
+}
+
+.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
+ border-color: #dc3545;
+}
+.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
+ background-color: #dc3545;
+}
+.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
+ box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
+}
+.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
+ color: #dc3545;
+}
+
+.form-check-inline .form-check-input ~ .invalid-feedback {
+ margin-left: 0.5em;
+}
+
+.was-validated .input-group .form-control:invalid, .input-group .form-control.is-invalid,
+.was-validated .input-group .form-select:invalid,
+.input-group .form-select.is-invalid {
+ z-index: 2;
+}
+.was-validated .input-group .form-control:invalid:focus, .input-group .form-control.is-invalid:focus,
+.was-validated .input-group .form-select:invalid:focus,
+.input-group .form-select.is-invalid:focus {
+ z-index: 3;
+}
+
+.btn {
+ display: inline-block;
+ font-weight: 400;
+ line-height: 1.5;
+ color: #212529;
+ text-align: center;
+ text-decoration: none;
+ vertical-align: middle;
+ cursor: pointer;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ background-color: transparent;
+ border: 1px solid transparent;
+ padding: 0.375rem 0.75rem;
+ font-size: 1rem;
+ border-radius: 0.25rem;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .btn {
+ transition: none;
+ }
+}
+.btn:hover {
+ color: #212529;
+}
+.btn-check:focus + .btn, .btn:focus {
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
+}
+.btn:disabled, .btn.disabled, fieldset:disabled .btn {
+ pointer-events: none;
+ opacity: 0.65;
+}
+
+.btn-primary {
+ color: #fff;
+ background-color: #0d6efd;
+ border-color: #0d6efd;
+}
+.btn-primary:hover {
+ color: #fff;
+ background-color: #0b5ed7;
+ border-color: #0a58ca;
+}
+.btn-check:focus + .btn-primary, .btn-primary:focus {
+ color: #fff;
+ background-color: #0b5ed7;
+ border-color: #0a58ca;
+ box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);
+}
+.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle {
+ color: #fff;
+ background-color: #0a58ca;
+ border-color: #0a53be;
+}
+.btn-check:checked + .btn-primary:focus, .btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus, .show > .btn-primary.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);
+}
+.btn-primary:disabled, .btn-primary.disabled {
+ color: #fff;
+ background-color: #0d6efd;
+ border-color: #0d6efd;
+}
+
+.btn-secondary {
+ color: #fff;
+ background-color: #6c757d;
+ border-color: #6c757d;
+}
+.btn-secondary:hover {
+ color: #fff;
+ background-color: #5c636a;
+ border-color: #565e64;
+}
+.btn-check:focus + .btn-secondary, .btn-secondary:focus {
+ color: #fff;
+ background-color: #5c636a;
+ border-color: #565e64;
+ box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);
+}
+.btn-check:checked + .btn-secondary, .btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active, .show > .btn-secondary.dropdown-toggle {
+ color: #fff;
+ background-color: #565e64;
+ border-color: #51585e;
+}
+.btn-check:checked + .btn-secondary:focus, .btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus, .show > .btn-secondary.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);
+}
+.btn-secondary:disabled, .btn-secondary.disabled {
+ color: #fff;
+ background-color: #6c757d;
+ border-color: #6c757d;
+}
+
+.btn-success {
+ color: #fff;
+ background-color: #198754;
+ border-color: #198754;
+}
+.btn-success:hover {
+ color: #fff;
+ background-color: #157347;
+ border-color: #146c43;
+}
+.btn-check:focus + .btn-success, .btn-success:focus {
+ color: #fff;
+ background-color: #157347;
+ border-color: #146c43;
+ box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);
+}
+.btn-check:checked + .btn-success, .btn-check:active + .btn-success, .btn-success:active, .btn-success.active, .show > .btn-success.dropdown-toggle {
+ color: #fff;
+ background-color: #146c43;
+ border-color: #13653f;
+}
+.btn-check:checked + .btn-success:focus, .btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus, .show > .btn-success.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);
+}
+.btn-success:disabled, .btn-success.disabled {
+ color: #fff;
+ background-color: #198754;
+ border-color: #198754;
+}
+
+.btn-info {
+ color: #000;
+ background-color: #0dcaf0;
+ border-color: #0dcaf0;
+}
+.btn-info:hover {
+ color: #000;
+ background-color: #31d2f2;
+ border-color: #25cff2;
+}
+.btn-check:focus + .btn-info, .btn-info:focus {
+ color: #000;
+ background-color: #31d2f2;
+ border-color: #25cff2;
+ box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);
+}
+.btn-check:checked + .btn-info, .btn-check:active + .btn-info, .btn-info:active, .btn-info.active, .show > .btn-info.dropdown-toggle {
+ color: #000;
+ background-color: #3dd5f3;
+ border-color: #25cff2;
+}
+.btn-check:checked + .btn-info:focus, .btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus, .show > .btn-info.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);
+}
+.btn-info:disabled, .btn-info.disabled {
+ color: #000;
+ background-color: #0dcaf0;
+ border-color: #0dcaf0;
+}
+
+.btn-warning {
+ color: #000;
+ background-color: #ffc107;
+ border-color: #ffc107;
+}
+.btn-warning:hover {
+ color: #000;
+ background-color: #ffca2c;
+ border-color: #ffc720;
+}
+.btn-check:focus + .btn-warning, .btn-warning:focus {
+ color: #000;
+ background-color: #ffca2c;
+ border-color: #ffc720;
+ box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);
+}
+.btn-check:checked + .btn-warning, .btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active, .show > .btn-warning.dropdown-toggle {
+ color: #000;
+ background-color: #ffcd39;
+ border-color: #ffc720;
+}
+.btn-check:checked + .btn-warning:focus, .btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus, .show > .btn-warning.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);
+}
+.btn-warning:disabled, .btn-warning.disabled {
+ color: #000;
+ background-color: #ffc107;
+ border-color: #ffc107;
+}
+
+.btn-danger {
+ color: #fff;
+ background-color: #dc3545;
+ border-color: #dc3545;
+}
+.btn-danger:hover {
+ color: #fff;
+ background-color: #bb2d3b;
+ border-color: #b02a37;
+}
+.btn-check:focus + .btn-danger, .btn-danger:focus {
+ color: #fff;
+ background-color: #bb2d3b;
+ border-color: #b02a37;
+ box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);
+}
+.btn-check:checked + .btn-danger, .btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active, .show > .btn-danger.dropdown-toggle {
+ color: #fff;
+ background-color: #b02a37;
+ border-color: #a52834;
+}
+.btn-check:checked + .btn-danger:focus, .btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus, .show > .btn-danger.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);
+}
+.btn-danger:disabled, .btn-danger.disabled {
+ color: #fff;
+ background-color: #dc3545;
+ border-color: #dc3545;
+}
+
+.btn-light {
+ color: #000;
+ background-color: #f8f9fa;
+ border-color: #f8f9fa;
+}
+.btn-light:hover {
+ color: #000;
+ background-color: #f9fafb;
+ border-color: #f9fafb;
+}
+.btn-check:focus + .btn-light, .btn-light:focus {
+ color: #000;
+ background-color: #f9fafb;
+ border-color: #f9fafb;
+ box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);
+}
+.btn-check:checked + .btn-light, .btn-check:active + .btn-light, .btn-light:active, .btn-light.active, .show > .btn-light.dropdown-toggle {
+ color: #000;
+ background-color: #f9fafb;
+ border-color: #f9fafb;
+}
+.btn-check:checked + .btn-light:focus, .btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus, .show > .btn-light.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);
+}
+.btn-light:disabled, .btn-light.disabled {
+ color: #000;
+ background-color: #f8f9fa;
+ border-color: #f8f9fa;
+}
+
+.btn-dark {
+ color: #fff;
+ background-color: #212529;
+ border-color: #212529;
+}
+.btn-dark:hover {
+ color: #fff;
+ background-color: #1c1f23;
+ border-color: #1a1e21;
+}
+.btn-check:focus + .btn-dark, .btn-dark:focus {
+ color: #fff;
+ background-color: #1c1f23;
+ border-color: #1a1e21;
+ box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);
+}
+.btn-check:checked + .btn-dark, .btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active, .show > .btn-dark.dropdown-toggle {
+ color: #fff;
+ background-color: #1a1e21;
+ border-color: #191c1f;
+}
+.btn-check:checked + .btn-dark:focus, .btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus, .show > .btn-dark.dropdown-toggle:focus {
+ box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);
+}
+.btn-dark:disabled, .btn-dark.disabled {
+ color: #fff;
+ background-color: #212529;
+ border-color: #212529;
+}
+
+.btn-outline-primary {
+ color: #0d6efd;
+ border-color: #0d6efd;
+}
+.btn-outline-primary:hover {
+ color: #fff;
+ background-color: #0d6efd;
+ border-color: #0d6efd;
+}
+.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus {
+ box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);
+}
+.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {
+ color: #fff;
+ background-color: #0d6efd;
+ border-color: #0d6efd;
+}
+.btn-check:checked + .btn-outline-primary:focus, .btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);
+}
+.btn-outline-primary:disabled, .btn-outline-primary.disabled {
+ color: #0d6efd;
+ background-color: transparent;
+}
+
+.btn-outline-secondary {
+ color: #6c757d;
+ border-color: #6c757d;
+}
+.btn-outline-secondary:hover {
+ color: #fff;
+ background-color: #6c757d;
+ border-color: #6c757d;
+}
+.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus {
+ box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);
+}
+.btn-check:checked + .btn-outline-secondary, .btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {
+ color: #fff;
+ background-color: #6c757d;
+ border-color: #6c757d;
+}
+.btn-check:checked + .btn-outline-secondary:focus, .btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);
+}
+.btn-outline-secondary:disabled, .btn-outline-secondary.disabled {
+ color: #6c757d;
+ background-color: transparent;
+}
+
+.btn-outline-success {
+ color: #198754;
+ border-color: #198754;
+}
+.btn-outline-success:hover {
+ color: #fff;
+ background-color: #198754;
+ border-color: #198754;
+}
+.btn-check:focus + .btn-outline-success, .btn-outline-success:focus {
+ box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);
+}
+.btn-check:checked + .btn-outline-success, .btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {
+ color: #fff;
+ background-color: #198754;
+ border-color: #198754;
+}
+.btn-check:checked + .btn-outline-success:focus, .btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);
+}
+.btn-outline-success:disabled, .btn-outline-success.disabled {
+ color: #198754;
+ background-color: transparent;
+}
+
+.btn-outline-info {
+ color: #0dcaf0;
+ border-color: #0dcaf0;
+}
+.btn-outline-info:hover {
+ color: #000;
+ background-color: #0dcaf0;
+ border-color: #0dcaf0;
+}
+.btn-check:focus + .btn-outline-info, .btn-outline-info:focus {
+ box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);
+}
+.btn-check:checked + .btn-outline-info, .btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {
+ color: #000;
+ background-color: #0dcaf0;
+ border-color: #0dcaf0;
+}
+.btn-check:checked + .btn-outline-info:focus, .btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);
+}
+.btn-outline-info:disabled, .btn-outline-info.disabled {
+ color: #0dcaf0;
+ background-color: transparent;
+}
+
+.btn-outline-warning {
+ color: #ffc107;
+ border-color: #ffc107;
+}
+.btn-outline-warning:hover {
+ color: #000;
+ background-color: #ffc107;
+ border-color: #ffc107;
+}
+.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus {
+ box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);
+}
+.btn-check:checked + .btn-outline-warning, .btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {
+ color: #000;
+ background-color: #ffc107;
+ border-color: #ffc107;
+}
+.btn-check:checked + .btn-outline-warning:focus, .btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);
+}
+.btn-outline-warning:disabled, .btn-outline-warning.disabled {
+ color: #ffc107;
+ background-color: transparent;
+}
+
+.btn-outline-danger {
+ color: #dc3545;
+ border-color: #dc3545;
+}
+.btn-outline-danger:hover {
+ color: #fff;
+ background-color: #dc3545;
+ border-color: #dc3545;
+}
+.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus {
+ box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);
+}
+.btn-check:checked + .btn-outline-danger, .btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show {
+ color: #fff;
+ background-color: #dc3545;
+ border-color: #dc3545;
+}
+.btn-check:checked + .btn-outline-danger:focus, .btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);
+}
+.btn-outline-danger:disabled, .btn-outline-danger.disabled {
+ color: #dc3545;
+ background-color: transparent;
+}
+
+.btn-outline-light {
+ color: #f8f9fa;
+ border-color: #f8f9fa;
+}
+.btn-outline-light:hover {
+ color: #000;
+ background-color: #f8f9fa;
+ border-color: #f8f9fa;
+}
+.btn-check:focus + .btn-outline-light, .btn-outline-light:focus {
+ box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);
+}
+.btn-check:checked + .btn-outline-light, .btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {
+ color: #000;
+ background-color: #f8f9fa;
+ border-color: #f8f9fa;
+}
+.btn-check:checked + .btn-outline-light:focus, .btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);
+}
+.btn-outline-light:disabled, .btn-outline-light.disabled {
+ color: #f8f9fa;
+ background-color: transparent;
+}
+
+.btn-outline-dark {
+ color: #212529;
+ border-color: #212529;
+}
+.btn-outline-dark:hover {
+ color: #fff;
+ background-color: #212529;
+ border-color: #212529;
+}
+.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus {
+ box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);
+}
+.btn-check:checked + .btn-outline-dark, .btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {
+ color: #fff;
+ background-color: #212529;
+ border-color: #212529;
+}
+.btn-check:checked + .btn-outline-dark:focus, .btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {
+ box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);
+}
+.btn-outline-dark:disabled, .btn-outline-dark.disabled {
+ color: #212529;
+ background-color: transparent;
+}
+
+.btn-link {
+ font-weight: 400;
+ color: #0d6efd;
+ text-decoration: underline;
+}
+.btn-link:hover {
+ color: #0a58ca;
+}
+.btn-link:disabled, .btn-link.disabled {
+ color: #6c757d;
+}
+
+.btn-lg, .btn-group-lg > .btn {
+ padding: 0.5rem 1rem;
+ font-size: 1.25rem;
+ border-radius: 0.3rem;
+}
+
+.btn-sm, .btn-group-sm > .btn {
+ padding: 0.25rem 0.5rem;
+ font-size: 0.875rem;
+ border-radius: 0.2rem;
+}
+
+.fade {
+ transition: opacity 0.15s linear;
+}
+@media (prefers-reduced-motion: reduce) {
+ .fade {
+ transition: none;
+ }
+}
+.fade:not(.show) {
+ opacity: 0;
+}
+
+.collapse:not(.show) {
+ display: none;
+}
+
+.collapsing {
+ height: 0;
+ overflow: hidden;
+ transition: height 0.35s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .collapsing {
+ transition: none;
+ }
+}
+.collapsing.collapse-horizontal {
+ width: 0;
+ height: auto;
+ transition: width 0.35s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .collapsing.collapse-horizontal {
+ transition: none;
+ }
+}
+
+.dropup,
+.dropend,
+.dropdown,
+.dropstart {
+ position: relative;
+}
+
+.dropdown-toggle {
+ white-space: nowrap;
+}
+.dropdown-toggle::after {
+ display: inline-block;
+ margin-left: 0.255em;
+ vertical-align: 0.255em;
+ content: "";
+ border-top: 0.3em solid;
+ border-right: 0.3em solid transparent;
+ border-bottom: 0;
+ border-left: 0.3em solid transparent;
+}
+.dropdown-toggle:empty::after {
+ margin-left: 0;
+}
+
+.dropdown-menu {
+ position: absolute;
+ z-index: 1000;
+ display: none;
+ min-width: 10rem;
+ padding: 0.5rem 0;
+ margin: 0;
+ font-size: 1rem;
+ color: #212529;
+ text-align: left;
+ list-style: none;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 1px solid rgba(0, 0, 0, 0.15);
+ border-radius: 0.25rem;
+}
+.dropdown-menu[data-bs-popper] {
+ top: 100%;
+ left: 0;
+ margin-top: 0.125rem;
+}
+
+.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: 0.125rem;
+}
+.dropup .dropdown-toggle::after {
+ display: inline-block;
+ margin-left: 0.255em;
+ vertical-align: 0.255em;
+ content: "";
+ border-top: 0;
+ border-right: 0.3em solid transparent;
+ border-bottom: 0.3em solid;
+ border-left: 0.3em solid transparent;
+}
+.dropup .dropdown-toggle:empty::after {
+ margin-left: 0;
+}
+
+.dropend .dropdown-menu[data-bs-popper] {
+ top: 0;
+ right: auto;
+ left: 100%;
+ margin-top: 0;
+ margin-left: 0.125rem;
+}
+.dropend .dropdown-toggle::after {
+ display: inline-block;
+ margin-left: 0.255em;
+ vertical-align: 0.255em;
+ content: "";
+ border-top: 0.3em solid transparent;
+ border-right: 0;
+ border-bottom: 0.3em solid transparent;
+ border-left: 0.3em solid;
+}
+.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: 0.125rem;
+}
+.dropstart .dropdown-toggle::after {
+ display: inline-block;
+ margin-left: 0.255em;
+ vertical-align: 0.255em;
+ content: "";
+}
+.dropstart .dropdown-toggle::after {
+ display: none;
+}
+.dropstart .dropdown-toggle::before {
+ display: inline-block;
+ margin-right: 0.255em;
+ vertical-align: 0.255em;
+ content: "";
+ border-top: 0.3em solid transparent;
+ border-right: 0.3em solid;
+ border-bottom: 0.3em solid transparent;
+}
+.dropstart .dropdown-toggle:empty::after {
+ margin-left: 0;
+}
+.dropstart .dropdown-toggle::before {
+ vertical-align: 0;
+}
+
+.dropdown-divider {
+ height: 0;
+ margin: 0.5rem 0;
+ overflow: hidden;
+ border-top: 1px solid rgba(0, 0, 0, 0.15);
+}
+
+.dropdown-item {
+ display: block;
+ width: 100%;
+ padding: 0.25rem 1rem;
+ clear: both;
+ font-weight: 400;
+ color: #212529;
+ text-align: inherit;
+ text-decoration: none;
+ white-space: nowrap;
+ background-color: transparent;
+ border: 0;
+}
+.dropdown-item:hover, .dropdown-item:focus {
+ color: #1e2125;
+ background-color: #e9ecef;
+}
+.dropdown-item.active, .dropdown-item:active {
+ color: #fff;
+ text-decoration: none;
+ background-color: #0d6efd;
+}
+.dropdown-item.disabled, .dropdown-item:disabled {
+ color: #adb5bd;
+ pointer-events: none;
+ background-color: transparent;
+}
+
+.dropdown-menu.show {
+ display: block;
+}
+
+.dropdown-header {
+ display: block;
+ padding: 0.5rem 1rem;
+ margin-bottom: 0;
+ font-size: 0.875rem;
+ color: #6c757d;
+ white-space: nowrap;
+}
+
+.dropdown-item-text {
+ display: block;
+ padding: 0.25rem 1rem;
+ color: #212529;
+}
+
+.dropdown-menu-dark {
+ color: #dee2e6;
+ background-color: #343a40;
+ border-color: rgba(0, 0, 0, 0.15);
+}
+.dropdown-menu-dark .dropdown-item {
+ color: #dee2e6;
+}
+.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus {
+ color: #fff;
+ background-color: rgba(255, 255, 255, 0.15);
+}
+.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active {
+ color: #fff;
+ background-color: #0d6efd;
+}
+.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled {
+ color: #adb5bd;
+}
+.dropdown-menu-dark .dropdown-divider {
+ border-color: rgba(0, 0, 0, 0.15);
+}
+.dropdown-menu-dark .dropdown-item-text {
+ color: #dee2e6;
+}
+.dropdown-menu-dark .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 > .btn:not(:first-child),
+.btn-group > .btn-group:not(:first-child) {
+ margin-left: -1px;
+}
+.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
+.btn-group > .btn-group:not(:last-child) > .btn {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.btn-group > .btn: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: 0.5625rem;
+ padding-left: 0.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: 0.375rem;
+ padding-left: 0.375rem;
+}
+
+.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
+ padding-right: 0.75rem;
+ padding-left: 0.75rem;
+}
+
+.btn-group-vertical {
+ flex-direction: column;
+ align-items: flex-start;
+ justify-content: center;
+}
+.btn-group-vertical > .btn,
+.btn-group-vertical > .btn-group {
+ width: 100%;
+}
+.btn-group-vertical > .btn:not(:first-child),
+.btn-group-vertical > .btn-group:not(:first-child) {
+ margin-top: -1px;
+}
+.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
+.btn-group-vertical > .btn-group:not(:last-child) > .btn {
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.btn-group-vertical > .btn ~ .btn,
+.btn-group-vertical > .btn-group:not(:first-child) > .btn {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+
+.nav {
+ display: flex;
+ flex-wrap: wrap;
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+}
+
+.nav-link {
+ display: block;
+ padding: 0.5rem 1rem;
+ color: #0d6efd;
+ text-decoration: none;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .nav-link {
+ transition: none;
+ }
+}
+.nav-link:hover, .nav-link:focus {
+ color: #0a58ca;
+}
+.nav-link.disabled {
+ color: #6c757d;
+ pointer-events: none;
+ cursor: default;
+}
+
+.nav-tabs {
+ border-bottom: 1px solid #dee2e6;
+}
+.nav-tabs .nav-link {
+ margin-bottom: -1px;
+ background: none;
+ border: 1px solid transparent;
+ border-top-left-radius: 0.25rem;
+ border-top-right-radius: 0.25rem;
+}
+.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
+ border-color: #e9ecef #e9ecef #dee2e6;
+ isolation: isolate;
+}
+.nav-tabs .nav-link.disabled {
+ color: #6c757d;
+ background-color: transparent;
+ border-color: transparent;
+}
+.nav-tabs .nav-link.active,
+.nav-tabs .nav-item.show .nav-link {
+ color: #495057;
+ background-color: #fff;
+ border-color: #dee2e6 #dee2e6 #fff;
+}
+.nav-tabs .dropdown-menu {
+ margin-top: -1px;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+
+.nav-pills .nav-link {
+ background: none;
+ border: 0;
+ border-radius: 0.25rem;
+}
+.nav-pills .nav-link.active,
+.nav-pills .show > .nav-link {
+ color: #fff;
+ background-color: #0d6efd;
+}
+
+.nav-fill > .nav-link,
+.nav-fill .nav-item {
+ flex: 1 1 auto;
+ text-align: center;
+}
+
+.nav-justified > .nav-link,
+.nav-justified .nav-item {
+ flex-basis: 0;
+ flex-grow: 1;
+ text-align: center;
+}
+
+.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 {
+ position: relative;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: space-between;
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+}
+.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: 0.3125rem;
+ padding-bottom: 0.3125rem;
+ margin-right: 1rem;
+ font-size: 1.25rem;
+ text-decoration: none;
+ white-space: nowrap;
+}
+.navbar-nav {
+ display: flex;
+ flex-direction: column;
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+}
+.navbar-nav .nav-link {
+ padding-right: 0;
+ padding-left: 0;
+}
+.navbar-nav .dropdown-menu {
+ position: static;
+}
+
+.navbar-text {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+}
+
+.navbar-collapse {
+ flex-basis: 100%;
+ flex-grow: 1;
+ align-items: center;
+}
+
+.navbar-toggler {
+ padding: 0.25rem 0.75rem;
+ font-size: 1.25rem;
+ line-height: 1;
+ background-color: transparent;
+ border: 1px solid transparent;
+ border-radius: 0.25rem;
+ transition: box-shadow 0.15s ease-in-out;
+}
+@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 0.25rem;
+}
+
+.navbar-toggler-icon {
+ display: inline-block;
+ width: 1.5em;
+ height: 1.5em;
+ vertical-align: middle;
+ 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: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .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-header {
+ display: none;
+ }
+ .navbar-expand-sm .offcanvas {
+ position: inherit;
+ bottom: 0;
+ z-index: 1000;
+ flex-grow: 1;
+ visibility: visible !important;
+ background-color: transparent;
+ border-right: 0;
+ border-left: 0;
+ transition: none;
+ transform: none;
+ }
+ .navbar-expand-sm .offcanvas-top,
+ .navbar-expand-sm .offcanvas-bottom {
+ height: auto;
+ border-top: 0;
+ border-bottom: 0;
+ }
+ .navbar-expand-sm .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: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .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-header {
+ display: none;
+ }
+ .navbar-expand-md .offcanvas {
+ position: inherit;
+ bottom: 0;
+ z-index: 1000;
+ flex-grow: 1;
+ visibility: visible !important;
+ background-color: transparent;
+ border-right: 0;
+ border-left: 0;
+ transition: none;
+ transform: none;
+ }
+ .navbar-expand-md .offcanvas-top,
+ .navbar-expand-md .offcanvas-bottom {
+ height: auto;
+ border-top: 0;
+ border-bottom: 0;
+ }
+ .navbar-expand-md .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: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .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-header {
+ display: none;
+ }
+ .navbar-expand-lg .offcanvas {
+ position: inherit;
+ bottom: 0;
+ z-index: 1000;
+ flex-grow: 1;
+ visibility: visible !important;
+ background-color: transparent;
+ border-right: 0;
+ border-left: 0;
+ transition: none;
+ transform: none;
+ }
+ .navbar-expand-lg .offcanvas-top,
+ .navbar-expand-lg .offcanvas-bottom {
+ height: auto;
+ border-top: 0;
+ border-bottom: 0;
+ }
+ .navbar-expand-lg .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: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .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-header {
+ display: none;
+ }
+ .navbar-expand-xl .offcanvas {
+ position: inherit;
+ bottom: 0;
+ z-index: 1000;
+ flex-grow: 1;
+ visibility: visible !important;
+ background-color: transparent;
+ border-right: 0;
+ border-left: 0;
+ transition: none;
+ transform: none;
+ }
+ .navbar-expand-xl .offcanvas-top,
+ .navbar-expand-xl .offcanvas-bottom {
+ height: auto;
+ border-top: 0;
+ border-bottom: 0;
+ }
+ .navbar-expand-xl .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: 0.5rem;
+ padding-left: 0.5rem;
+ }
+ .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-header {
+ display: none;
+ }
+ .navbar-expand-xxl .offcanvas {
+ position: inherit;
+ bottom: 0;
+ z-index: 1000;
+ flex-grow: 1;
+ visibility: visible !important;
+ background-color: transparent;
+ border-right: 0;
+ border-left: 0;
+ transition: none;
+ transform: none;
+ }
+ .navbar-expand-xxl .offcanvas-top,
+ .navbar-expand-xxl .offcanvas-bottom {
+ height: auto;
+ border-top: 0;
+ border-bottom: 0;
+ }
+ .navbar-expand-xxl .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: 0.5rem;
+ padding-left: 0.5rem;
+}
+.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-header {
+ display: none;
+}
+.navbar-expand .offcanvas {
+ position: inherit;
+ bottom: 0;
+ z-index: 1000;
+ flex-grow: 1;
+ visibility: visible !important;
+ background-color: transparent;
+ border-right: 0;
+ border-left: 0;
+ transition: none;
+ transform: none;
+}
+.navbar-expand .offcanvas-top,
+.navbar-expand .offcanvas-bottom {
+ height: auto;
+ border-top: 0;
+ border-bottom: 0;
+}
+.navbar-expand .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+}
+
+.navbar-light .navbar-brand {
+ color: rgba(0, 0, 0, 0.9);
+}
+.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
+ color: rgba(0, 0, 0, 0.9);
+}
+.navbar-light .navbar-nav .nav-link {
+ color: rgba(0, 0, 0, 0.55);
+}
+.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
+ color: rgba(0, 0, 0, 0.7);
+}
+.navbar-light .navbar-nav .nav-link.disabled {
+ color: rgba(0, 0, 0, 0.3);
+}
+.navbar-light .navbar-nav .show > .nav-link,
+.navbar-light .navbar-nav .nav-link.active {
+ color: rgba(0, 0, 0, 0.9);
+}
+.navbar-light .navbar-toggler {
+ color: rgba(0, 0, 0, 0.55);
+ border-color: rgba(0, 0, 0, 0.1);
+}
+.navbar-light .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+}
+.navbar-light .navbar-text {
+ color: rgba(0, 0, 0, 0.55);
+}
+.navbar-light .navbar-text a,
+.navbar-light .navbar-text a:hover,
+.navbar-light .navbar-text a:focus {
+ color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-dark .navbar-brand {
+ color: #fff;
+}
+.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
+ color: #fff;
+}
+.navbar-dark .navbar-nav .nav-link {
+ color: rgba(255, 255, 255, 0.55);
+}
+.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
+ color: rgba(255, 255, 255, 0.75);
+}
+.navbar-dark .navbar-nav .nav-link.disabled {
+ color: rgba(255, 255, 255, 0.25);
+}
+.navbar-dark .navbar-nav .show > .nav-link,
+.navbar-dark .navbar-nav .nav-link.active {
+ color: #fff;
+}
+.navbar-dark .navbar-toggler {
+ color: rgba(255, 255, 255, 0.55);
+ border-color: rgba(255, 255, 255, 0.1);
+}
+.navbar-dark .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' 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");
+}
+.navbar-dark .navbar-text {
+ color: rgba(255, 255, 255, 0.55);
+}
+.navbar-dark .navbar-text a,
+.navbar-dark .navbar-text a:hover,
+.navbar-dark .navbar-text a:focus {
+ color: #fff;
+}
+
+.card {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ min-width: 0;
+ word-wrap: break-word;
+ background-color: #fff;
+ background-clip: border-box;
+ border: 1px solid rgba(0, 0, 0, 0.125);
+ border-radius: 0.25rem;
+}
+.card > hr {
+ margin-right: 0;
+ margin-left: 0;
+}
+.card > .list-group {
+ border-top: inherit;
+ border-bottom: inherit;
+}
+.card > .list-group:first-child {
+ border-top-width: 0;
+ border-top-left-radius: calc(0.25rem - 1px);
+ border-top-right-radius: calc(0.25rem - 1px);
+}
+.card > .list-group:last-child {
+ border-bottom-width: 0;
+ border-bottom-right-radius: calc(0.25rem - 1px);
+ border-bottom-left-radius: calc(0.25rem - 1px);
+}
+.card > .card-header + .list-group,
+.card > .list-group + .card-footer {
+ border-top: 0;
+}
+
+.card-body {
+ flex: 1 1 auto;
+ padding: 1rem 1rem;
+}
+
+.card-title {
+ margin-bottom: 0.5rem;
+}
+
+.card-subtitle {
+ margin-top: -0.25rem;
+ margin-bottom: 0;
+}
+
+.card-text:last-child {
+ margin-bottom: 0;
+}
+
+.card-link + .card-link {
+ margin-left: 1rem;
+}
+
+.card-header {
+ padding: 0.5rem 1rem;
+ margin-bottom: 0;
+ background-color: rgba(0, 0, 0, 0.03);
+ border-bottom: 1px solid rgba(0, 0, 0, 0.125);
+}
+.card-header:first-child {
+ border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
+}
+
+.card-footer {
+ padding: 0.5rem 1rem;
+ background-color: rgba(0, 0, 0, 0.03);
+ border-top: 1px solid rgba(0, 0, 0, 0.125);
+}
+.card-footer:last-child {
+ border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
+}
+
+.card-header-tabs {
+ margin-right: -0.5rem;
+ margin-bottom: -0.5rem;
+ margin-left: -0.5rem;
+ border-bottom: 0;
+}
+
+.card-header-pills {
+ margin-right: -0.5rem;
+ margin-left: -0.5rem;
+}
+
+.card-img-overlay {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ padding: 1rem;
+ border-radius: calc(0.25rem - 1px);
+}
+
+.card-img,
+.card-img-top,
+.card-img-bottom {
+ width: 100%;
+}
+
+.card-img,
+.card-img-top {
+ border-top-left-radius: calc(0.25rem - 1px);
+ border-top-right-radius: calc(0.25rem - 1px);
+}
+
+.card-img,
+.card-img-bottom {
+ border-bottom-right-radius: calc(0.25rem - 1px);
+ border-bottom-left-radius: calc(0.25rem - 1px);
+}
+
+.card-group > .card {
+ margin-bottom: 0.75rem;
+}
+@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-button {
+ position: relative;
+ display: flex;
+ align-items: center;
+ width: 100%;
+ padding: 1rem 1.25rem;
+ font-size: 1rem;
+ color: #212529;
+ text-align: left;
+ background-color: #fff;
+ border: 0;
+ border-radius: 0;
+ overflow-anchor: none;
+ 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;
+}
+@media (prefers-reduced-motion: reduce) {
+ .accordion-button {
+ transition: none;
+ }
+}
+.accordion-button:not(.collapsed) {
+ color: #0c63e4;
+ background-color: #e7f1ff;
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125);
+}
+.accordion-button:not(.collapsed)::after {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%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-.708z'/%3e%3c/svg%3e");
+ transform: rotate(-180deg);
+}
+.accordion-button::after {
+ flex-shrink: 0;
+ width: 1.25rem;
+ height: 1.25rem;
+ margin-left: auto;
+ content: "";
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%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-.708z'/%3e%3c/svg%3e");
+ background-repeat: no-repeat;
+ background-size: 1.25rem;
+ transition: transform 0.2s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .accordion-button::after {
+ transition: none;
+ }
+}
+.accordion-button:hover {
+ z-index: 2;
+}
+.accordion-button:focus {
+ z-index: 3;
+ border-color: #86b7fe;
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
+}
+
+.accordion-header {
+ margin-bottom: 0;
+}
+
+.accordion-item {
+ background-color: #fff;
+ border: 1px solid rgba(0, 0, 0, 0.125);
+}
+.accordion-item:first-of-type {
+ border-top-left-radius: 0.25rem;
+ border-top-right-radius: 0.25rem;
+}
+.accordion-item:first-of-type .accordion-button {
+ border-top-left-radius: calc(0.25rem - 1px);
+ border-top-right-radius: calc(0.25rem - 1px);
+}
+.accordion-item:not(:first-of-type) {
+ border-top: 0;
+}
+.accordion-item:last-of-type {
+ border-bottom-right-radius: 0.25rem;
+ border-bottom-left-radius: 0.25rem;
+}
+.accordion-item:last-of-type .accordion-button.collapsed {
+ border-bottom-right-radius: calc(0.25rem - 1px);
+ border-bottom-left-radius: calc(0.25rem - 1px);
+}
+.accordion-item:last-of-type .accordion-collapse {
+ border-bottom-right-radius: 0.25rem;
+ border-bottom-left-radius: 0.25rem;
+}
+
+.accordion-body {
+ padding: 1rem 1.25rem;
+}
+
+.accordion-flush .accordion-collapse {
+ border-width: 0;
+}
+.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-button {
+ border-radius: 0;
+}
+
+.breadcrumb {
+ display: flex;
+ flex-wrap: wrap;
+ padding: 0 0;
+ margin-bottom: 1rem;
+ list-style: none;
+}
+
+.breadcrumb-item + .breadcrumb-item {
+ padding-left: 0.5rem;
+}
+.breadcrumb-item + .breadcrumb-item::before {
+ float: left;
+ padding-right: 0.5rem;
+ color: #6c757d;
+ content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
+}
+.breadcrumb-item.active {
+ color: #6c757d;
+}
+
+.pagination {
+ display: flex;
+ padding-left: 0;
+ list-style: none;
+}
+
+.page-link {
+ position: relative;
+ display: block;
+ color: #0d6efd;
+ text-decoration: none;
+ background-color: #fff;
+ border: 1px solid #dee2e6;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .page-link {
+ transition: none;
+ }
+}
+.page-link:hover {
+ z-index: 2;
+ color: #0a58ca;
+ background-color: #e9ecef;
+ border-color: #dee2e6;
+}
+.page-link:focus {
+ z-index: 3;
+ color: #0a58ca;
+ background-color: #e9ecef;
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
+}
+
+.page-item:not(:first-child) .page-link {
+ margin-left: -1px;
+}
+.page-item.active .page-link {
+ z-index: 3;
+ color: #fff;
+ background-color: #0d6efd;
+ border-color: #0d6efd;
+}
+.page-item.disabled .page-link {
+ color: #6c757d;
+ pointer-events: none;
+ background-color: #fff;
+ border-color: #dee2e6;
+}
+
+.page-link {
+ padding: 0.375rem 0.75rem;
+}
+
+.page-item:first-child .page-link {
+ border-top-left-radius: 0.25rem;
+ border-bottom-left-radius: 0.25rem;
+}
+.page-item:last-child .page-link {
+ border-top-right-radius: 0.25rem;
+ border-bottom-right-radius: 0.25rem;
+}
+
+.pagination-lg .page-link {
+ padding: 0.75rem 1.5rem;
+ font-size: 1.25rem;
+}
+.pagination-lg .page-item:first-child .page-link {
+ border-top-left-radius: 0.3rem;
+ border-bottom-left-radius: 0.3rem;
+}
+.pagination-lg .page-item:last-child .page-link {
+ border-top-right-radius: 0.3rem;
+ border-bottom-right-radius: 0.3rem;
+}
+
+.pagination-sm .page-link {
+ padding: 0.25rem 0.5rem;
+ font-size: 0.875rem;
+}
+.pagination-sm .page-item:first-child .page-link {
+ border-top-left-radius: 0.2rem;
+ border-bottom-left-radius: 0.2rem;
+}
+.pagination-sm .page-item:last-child .page-link {
+ border-top-right-radius: 0.2rem;
+ border-bottom-right-radius: 0.2rem;
+}
+
+.badge {
+ display: inline-block;
+ padding: 0.35em 0.65em;
+ font-size: 0.75em;
+ font-weight: 700;
+ line-height: 1;
+ color: #fff;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: baseline;
+ border-radius: 0.25rem;
+}
+.badge:empty {
+ display: none;
+}
+
+.btn .badge {
+ position: relative;
+ top: -1px;
+}
+
+.alert {
+ position: relative;
+ padding: 1rem 1rem;
+ margin-bottom: 1rem;
+ border: 1px solid transparent;
+ border-radius: 0.25rem;
+}
+
+.alert-heading {
+ color: inherit;
+}
+
+.alert-link {
+ font-weight: 700;
+}
+
+.alert-dismissible {
+ padding-right: 3rem;
+}
+.alert-dismissible .btn-close {
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 2;
+ padding: 1.25rem 1rem;
+}
+
+.alert-primary {
+ color: #084298;
+ background-color: #cfe2ff;
+ border-color: #b6d4fe;
+}
+.alert-primary .alert-link {
+ color: #06357a;
+}
+
+.alert-secondary {
+ color: #41464b;
+ background-color: #e2e3e5;
+ border-color: #d3d6d8;
+}
+.alert-secondary .alert-link {
+ color: #34383c;
+}
+
+.alert-success {
+ color: #0f5132;
+ background-color: #d1e7dd;
+ border-color: #badbcc;
+}
+.alert-success .alert-link {
+ color: #0c4128;
+}
+
+.alert-info {
+ color: #055160;
+ background-color: #cff4fc;
+ border-color: #b6effb;
+}
+.alert-info .alert-link {
+ color: #04414d;
+}
+
+.alert-warning {
+ color: #664d03;
+ background-color: #fff3cd;
+ border-color: #ffecb5;
+}
+.alert-warning .alert-link {
+ color: #523e02;
+}
+
+.alert-danger {
+ color: #842029;
+ background-color: #f8d7da;
+ border-color: #f5c2c7;
+}
+.alert-danger .alert-link {
+ color: #6a1a21;
+}
+
+.alert-light {
+ color: #636464;
+ background-color: #fefefe;
+ border-color: #fdfdfe;
+}
+.alert-light .alert-link {
+ color: #4f5050;
+}
+
+.alert-dark {
+ color: #141619;
+ background-color: #d3d3d4;
+ border-color: #bcbebf;
+}
+.alert-dark .alert-link {
+ color: #101214;
+}
+
+@-webkit-keyframes progress-bar-stripes {
+ 0% {
+ background-position-x: 1rem;
+ }
+}
+
+@keyframes progress-bar-stripes {
+ 0% {
+ background-position-x: 1rem;
+ }
+}
+.progress {
+ display: flex;
+ height: 1rem;
+ overflow: hidden;
+ font-size: 0.75rem;
+ background-color: #e9ecef;
+ border-radius: 0.25rem;
+}
+
+.progress-bar {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ overflow: hidden;
+ color: #fff;
+ text-align: center;
+ white-space: nowrap;
+ background-color: #0d6efd;
+ transition: width 0.6s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .progress-bar {
+ transition: none;
+ }
+}
+
+.progress-bar-striped {
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-size: 1rem 1rem;
+}
+
+.progress-bar-animated {
+ -webkit-animation: 1s linear infinite progress-bar-stripes;
+ animation: 1s linear infinite progress-bar-stripes;
+}
+@media (prefers-reduced-motion: reduce) {
+ .progress-bar-animated {
+ -webkit-animation: none;
+ animation: none;
+ }
+}
+
+.list-group {
+ display: flex;
+ flex-direction: column;
+ padding-left: 0;
+ margin-bottom: 0;
+ border-radius: 0.25rem;
+}
+
+.list-group-numbered {
+ list-style-type: none;
+ counter-reset: section;
+}
+.list-group-numbered > li::before {
+ content: counters(section, ".") ". ";
+ counter-increment: section;
+}
+
+.list-group-item-action {
+ width: 100%;
+ color: #495057;
+ text-align: inherit;
+}
+.list-group-item-action:hover, .list-group-item-action:focus {
+ z-index: 1;
+ color: #495057;
+ text-decoration: none;
+ background-color: #f8f9fa;
+}
+.list-group-item-action:active {
+ color: #212529;
+ background-color: #e9ecef;
+}
+
+.list-group-item {
+ position: relative;
+ display: block;
+ padding: 0.5rem 1rem;
+ color: #212529;
+ text-decoration: none;
+ background-color: #fff;
+ border: 1px solid rgba(0, 0, 0, 0.125);
+}
+.list-group-item:first-child {
+ border-top-left-radius: inherit;
+ border-top-right-radius: inherit;
+}
+.list-group-item:last-child {
+ border-bottom-right-radius: inherit;
+ border-bottom-left-radius: inherit;
+}
+.list-group-item.disabled, .list-group-item:disabled {
+ color: #6c757d;
+ pointer-events: none;
+ background-color: #fff;
+}
+.list-group-item.active {
+ z-index: 2;
+ color: #fff;
+ background-color: #0d6efd;
+ border-color: #0d6efd;
+}
+.list-group-item + .list-group-item {
+ border-top-width: 0;
+}
+.list-group-item + .list-group-item.active {
+ margin-top: -1px;
+ border-top-width: 1px;
+}
+
+.list-group-horizontal {
+ flex-direction: row;
+}
+.list-group-horizontal > .list-group-item:first-child {
+ border-bottom-left-radius: 0.25rem;
+ border-top-right-radius: 0;
+}
+.list-group-horizontal > .list-group-item:last-child {
+ border-top-right-radius: 0.25rem;
+ border-bottom-left-radius: 0;
+}
+.list-group-horizontal > .list-group-item.active {
+ margin-top: 0;
+}
+.list-group-horizontal > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
+}
+.list-group-horizontal > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+}
+
+@media (min-width: 576px) {
+ .list-group-horizontal-sm {
+ flex-direction: row;
+ }
+ .list-group-horizontal-sm > .list-group-item:first-child {
+ border-bottom-left-radius: 0.25rem;
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item:last-child {
+ border-top-right-radius: 0.25rem;
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+ }
+}
+@media (min-width: 768px) {
+ .list-group-horizontal-md {
+ flex-direction: row;
+ }
+ .list-group-horizontal-md > .list-group-item:first-child {
+ border-bottom-left-radius: 0.25rem;
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-md > .list-group-item:last-child {
+ border-top-right-radius: 0.25rem;
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-md > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-md > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
+ }
+ .list-group-horizontal-md > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+ }
+}
+@media (min-width: 992px) {
+ .list-group-horizontal-lg {
+ flex-direction: row;
+ }
+ .list-group-horizontal-lg > .list-group-item:first-child {
+ border-bottom-left-radius: 0.25rem;
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item:last-child {
+ border-top-right-radius: 0.25rem;
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+ }
+}
+@media (min-width: 1200px) {
+ .list-group-horizontal-xl {
+ flex-direction: row;
+ }
+ .list-group-horizontal-xl > .list-group-item:first-child {
+ border-bottom-left-radius: 0.25rem;
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item:last-child {
+ border-top-right-radius: 0.25rem;
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item + .list-group-item {
+ border-top-width: 1px;
+ border-left-width: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+ }
+}
+@media (min-width: 1400px) {
+ .list-group-horizontal-xxl {
+ flex-direction: row;
+ }
+ .list-group-horizontal-xxl > .list-group-item:first-child {
+ border-bottom-left-radius: 0.25rem;
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-xxl > .list-group-item:last-child {
+ border-top-right-radius: 0.25rem;
+ 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: 1px;
+ border-left-width: 0;
+ }
+ .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
+ margin-left: -1px;
+ border-left-width: 1px;
+ }
+}
+.list-group-flush {
+ border-radius: 0;
+}
+.list-group-flush > .list-group-item {
+ border-width: 0 0 1px;
+}
+.list-group-flush > .list-group-item:last-child {
+ border-bottom-width: 0;
+}
+
+.list-group-item-primary {
+ color: #084298;
+ background-color: #cfe2ff;
+}
+.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
+ color: #084298;
+ background-color: #bacbe6;
+}
+.list-group-item-primary.list-group-item-action.active {
+ color: #fff;
+ background-color: #084298;
+ border-color: #084298;
+}
+
+.list-group-item-secondary {
+ color: #41464b;
+ background-color: #e2e3e5;
+}
+.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
+ color: #41464b;
+ background-color: #cbccce;
+}
+.list-group-item-secondary.list-group-item-action.active {
+ color: #fff;
+ background-color: #41464b;
+ border-color: #41464b;
+}
+
+.list-group-item-success {
+ color: #0f5132;
+ background-color: #d1e7dd;
+}
+.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
+ color: #0f5132;
+ background-color: #bcd0c7;
+}
+.list-group-item-success.list-group-item-action.active {
+ color: #fff;
+ background-color: #0f5132;
+ border-color: #0f5132;
+}
+
+.list-group-item-info {
+ color: #055160;
+ background-color: #cff4fc;
+}
+.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
+ color: #055160;
+ background-color: #badce3;
+}
+.list-group-item-info.list-group-item-action.active {
+ color: #fff;
+ background-color: #055160;
+ border-color: #055160;
+}
+
+.list-group-item-warning {
+ color: #664d03;
+ background-color: #fff3cd;
+}
+.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
+ color: #664d03;
+ background-color: #e6dbb9;
+}
+.list-group-item-warning.list-group-item-action.active {
+ color: #fff;
+ background-color: #664d03;
+ border-color: #664d03;
+}
+
+.list-group-item-danger {
+ color: #842029;
+ background-color: #f8d7da;
+}
+.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
+ color: #842029;
+ background-color: #dfc2c4;
+}
+.list-group-item-danger.list-group-item-action.active {
+ color: #fff;
+ background-color: #842029;
+ border-color: #842029;
+}
+
+.list-group-item-light {
+ color: #636464;
+ background-color: #fefefe;
+}
+.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
+ color: #636464;
+ background-color: #e5e5e5;
+}
+.list-group-item-light.list-group-item-action.active {
+ color: #fff;
+ background-color: #636464;
+ border-color: #636464;
+}
+
+.list-group-item-dark {
+ color: #141619;
+ background-color: #d3d3d4;
+}
+.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
+ color: #141619;
+ background-color: #bebebf;
+}
+.list-group-item-dark.list-group-item-action.active {
+ color: #fff;
+ background-color: #141619;
+ border-color: #141619;
+}
+
+.btn-close {
+ box-sizing: content-box;
+ width: 1em;
+ height: 1em;
+ padding: 0.25em 0.25em;
+ color: #000;
+ background: transparent 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 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
+ border: 0;
+ border-radius: 0.25rem;
+ opacity: 0.5;
+}
+.btn-close:hover {
+ color: #000;
+ text-decoration: none;
+ opacity: 0.75;
+}
+.btn-close:focus {
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
+ opacity: 1;
+}
+.btn-close:disabled, .btn-close.disabled {
+ pointer-events: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ opacity: 0.25;
+}
+
+.btn-close-white {
+ filter: invert(1) grayscale(100%) brightness(200%);
+}
+
+.toast {
+ width: 350px;
+ max-width: 100%;
+ font-size: 0.875rem;
+ pointer-events: auto;
+ background-color: rgba(255, 255, 255, 0.85);
+ background-clip: padding-box;
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
+ border-radius: 0.25rem;
+}
+.toast.showing {
+ opacity: 0;
+}
+.toast:not(.show) {
+ display: none;
+}
+
+.toast-container {
+ width: -webkit-max-content;
+ width: -moz-max-content;
+ width: max-content;
+ max-width: 100%;
+ pointer-events: none;
+}
+.toast-container > :not(:last-child) {
+ margin-bottom: 0.75rem;
+}
+
+.toast-header {
+ display: flex;
+ align-items: center;
+ padding: 0.5rem 0.75rem;
+ color: #6c757d;
+ background-color: rgba(255, 255, 255, 0.85);
+ background-clip: padding-box;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.05);
+ border-top-left-radius: calc(0.25rem - 1px);
+ border-top-right-radius: calc(0.25rem - 1px);
+}
+.toast-header .btn-close {
+ margin-right: -0.375rem;
+ margin-left: 0.75rem;
+}
+
+.toast-body {
+ padding: 0.75rem;
+ word-wrap: break-word;
+}
+
+.modal {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 1055;
+ display: none;
+ width: 100%;
+ height: 100%;
+ overflow-x: hidden;
+ overflow-y: auto;
+ outline: 0;
+}
+
+.modal-dialog {
+ position: relative;
+ width: auto;
+ margin: 0.5rem;
+ pointer-events: none;
+}
+.modal.fade .modal-dialog {
+ transition: transform 0.3s ease-out;
+ transform: translate(0, -50px);
+}
+@media (prefers-reduced-motion: reduce) {
+ .modal.fade .modal-dialog {
+ transition: none;
+ }
+}
+.modal.show .modal-dialog {
+ transform: none;
+}
+.modal.modal-static .modal-dialog {
+ transform: scale(1.02);
+}
+
+.modal-dialog-scrollable {
+ height: calc(100% - 1rem);
+}
+.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% - 1rem);
+}
+
+.modal-content {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+ pointer-events: auto;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 0.3rem;
+ outline: 0;
+}
+
+.modal-backdrop {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 1050;
+ width: 100vw;
+ height: 100vh;
+ background-color: #000;
+}
+.modal-backdrop.fade {
+ opacity: 0;
+}
+.modal-backdrop.show {
+ opacity: 0.5;
+}
+
+.modal-header {
+ display: flex;
+ flex-shrink: 0;
+ align-items: center;
+ justify-content: space-between;
+ padding: 1rem 1rem;
+ border-bottom: 1px solid #dee2e6;
+ border-top-left-radius: calc(0.3rem - 1px);
+ border-top-right-radius: calc(0.3rem - 1px);
+}
+.modal-header .btn-close {
+ padding: 0.5rem 0.5rem;
+ margin: -0.5rem -0.5rem -0.5rem auto;
+}
+
+.modal-title {
+ margin-bottom: 0;
+ line-height: 1.5;
+}
+
+.modal-body {
+ position: relative;
+ flex: 1 1 auto;
+ padding: 1rem;
+}
+
+.modal-footer {
+ display: flex;
+ flex-wrap: wrap;
+ flex-shrink: 0;
+ align-items: center;
+ justify-content: flex-end;
+ padding: 0.75rem;
+ border-top: 1px solid #dee2e6;
+ border-bottom-right-radius: calc(0.3rem - 1px);
+ border-bottom-left-radius: calc(0.3rem - 1px);
+}
+.modal-footer > * {
+ margin: 0.25rem;
+}
+
+@media (min-width: 576px) {
+ .modal-dialog {
+ max-width: 500px;
+ margin: 1.75rem auto;
+ }
+
+ .modal-dialog-scrollable {
+ height: calc(100% - 3.5rem);
+ }
+
+ .modal-dialog-centered {
+ min-height: calc(100% - 3.5rem);
+ }
+
+ .modal-sm {
+ max-width: 300px;
+ }
+}
+@media (min-width: 992px) {
+ .modal-lg,
+ .modal-xl {
+ max-width: 800px;
+ }
+}
+@media (min-width: 1200px) {
+ .modal-xl {
+ max-width: 1140px;
+ }
+}
+.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 {
+ border-radius: 0;
+}
+.modal-fullscreen .modal-body {
+ overflow-y: auto;
+}
+.modal-fullscreen .modal-footer {
+ border-radius: 0;
+}
+
+@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 {
+ border-radius: 0;
+ }
+ .modal-fullscreen-sm-down .modal-body {
+ overflow-y: auto;
+ }
+ .modal-fullscreen-sm-down .modal-footer {
+ border-radius: 0;
+ }
+}
+@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 {
+ border-radius: 0;
+ }
+ .modal-fullscreen-md-down .modal-body {
+ overflow-y: auto;
+ }
+ .modal-fullscreen-md-down .modal-footer {
+ border-radius: 0;
+ }
+}
+@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 {
+ border-radius: 0;
+ }
+ .modal-fullscreen-lg-down .modal-body {
+ overflow-y: auto;
+ }
+ .modal-fullscreen-lg-down .modal-footer {
+ border-radius: 0;
+ }
+}
+@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 {
+ border-radius: 0;
+ }
+ .modal-fullscreen-xl-down .modal-body {
+ overflow-y: auto;
+ }
+ .modal-fullscreen-xl-down .modal-footer {
+ border-radius: 0;
+ }
+}
+@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 {
+ border-radius: 0;
+ }
+ .modal-fullscreen-xxl-down .modal-body {
+ overflow-y: auto;
+ }
+ .modal-fullscreen-xxl-down .modal-footer {
+ border-radius: 0;
+ }
+}
+.tooltip {
+ position: absolute;
+ z-index: 1080;
+ display: block;
+ margin: 0;
+ 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;
+ word-spacing: normal;
+ white-space: normal;
+ line-break: auto;
+ font-size: 0.875rem;
+ word-wrap: break-word;
+ opacity: 0;
+}
+.tooltip.show {
+ opacity: 0.9;
+}
+.tooltip .tooltip-arrow {
+ position: absolute;
+ display: block;
+ width: 0.8rem;
+ height: 0.4rem;
+}
+.tooltip .tooltip-arrow::before {
+ position: absolute;
+ content: "";
+ border-color: transparent;
+ border-style: solid;
+}
+
+.bs-tooltip-top, .bs-tooltip-auto[data-popper-placement^=top] {
+ padding: 0.4rem 0;
+}
+.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
+ bottom: 0;
+}
+.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
+ top: -1px;
+ border-width: 0.4rem 0.4rem 0;
+ border-top-color: #000;
+}
+
+.bs-tooltip-end, .bs-tooltip-auto[data-popper-placement^=right] {
+ padding: 0 0.4rem;
+}
+.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
+ left: 0;
+ width: 0.4rem;
+ height: 0.8rem;
+}
+.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
+ right: -1px;
+ border-width: 0.4rem 0.4rem 0.4rem 0;
+ border-right-color: #000;
+}
+
+.bs-tooltip-bottom, .bs-tooltip-auto[data-popper-placement^=bottom] {
+ padding: 0.4rem 0;
+}
+.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
+ top: 0;
+}
+.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
+ bottom: -1px;
+ border-width: 0 0.4rem 0.4rem;
+ border-bottom-color: #000;
+}
+
+.bs-tooltip-start, .bs-tooltip-auto[data-popper-placement^=left] {
+ padding: 0 0.4rem;
+}
+.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
+ right: 0;
+ width: 0.4rem;
+ height: 0.8rem;
+}
+.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
+ left: -1px;
+ border-width: 0.4rem 0 0.4rem 0.4rem;
+ border-left-color: #000;
+}
+
+.tooltip-inner {
+ max-width: 200px;
+ padding: 0.25rem 0.5rem;
+ color: #fff;
+ text-align: center;
+ background-color: #000;
+ border-radius: 0.25rem;
+}
+
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0 /* rtl:ignore */;
+ z-index: 1070;
+ display: block;
+ max-width: 276px;
+ 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;
+ word-spacing: normal;
+ white-space: normal;
+ line-break: auto;
+ font-size: 0.875rem;
+ word-wrap: break-word;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 0.3rem;
+}
+.popover .popover-arrow {
+ position: absolute;
+ display: block;
+ width: 1rem;
+ height: 0.5rem;
+}
+.popover .popover-arrow::before, .popover .popover-arrow::after {
+ position: absolute;
+ display: block;
+ content: "";
+ border-color: transparent;
+ border-style: solid;
+}
+
+.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
+ bottom: calc(-0.5rem - 1px);
+}
+.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
+ bottom: 0;
+ border-width: 0.5rem 0.5rem 0;
+ border-top-color: rgba(0, 0, 0, 0.25);
+}
+.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
+ bottom: 1px;
+ border-width: 0.5rem 0.5rem 0;
+ border-top-color: #fff;
+}
+
+.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
+ left: calc(-0.5rem - 1px);
+ width: 0.5rem;
+ height: 1rem;
+}
+.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
+ left: 0;
+ border-width: 0.5rem 0.5rem 0.5rem 0;
+ border-right-color: rgba(0, 0, 0, 0.25);
+}
+.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
+ left: 1px;
+ border-width: 0.5rem 0.5rem 0.5rem 0;
+ border-right-color: #fff;
+}
+
+.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
+ top: calc(-0.5rem - 1px);
+}
+.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
+ top: 0;
+ border-width: 0 0.5rem 0.5rem 0.5rem;
+ border-bottom-color: rgba(0, 0, 0, 0.25);
+}
+.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
+ top: 1px;
+ border-width: 0 0.5rem 0.5rem 0.5rem;
+ border-bottom-color: #fff;
+}
+.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {
+ position: absolute;
+ top: 0;
+ left: 50%;
+ display: block;
+ width: 1rem;
+ margin-left: -0.5rem;
+ content: "";
+ border-bottom: 1px solid #f0f0f0;
+}
+
+.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
+ right: calc(-0.5rem - 1px);
+ width: 0.5rem;
+ height: 1rem;
+}
+.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
+ right: 0;
+ border-width: 0.5rem 0 0.5rem 0.5rem;
+ border-left-color: rgba(0, 0, 0, 0.25);
+}
+.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
+ right: 1px;
+ border-width: 0.5rem 0 0.5rem 0.5rem;
+ border-left-color: #fff;
+}
+
+.popover-header {
+ padding: 0.5rem 1rem;
+ margin-bottom: 0;
+ font-size: 1rem;
+ background-color: #f0f0f0;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+ border-top-left-radius: calc(0.3rem - 1px);
+ border-top-right-radius: calc(0.3rem - 1px);
+}
+.popover-header:empty {
+ display: none;
+}
+
+.popover-body {
+ padding: 1rem 1rem;
+ color: #212529;
+}
+
+.carousel {
+ position: relative;
+}
+
+.carousel.pointer-event {
+ touch-action: pan-y;
+}
+
+.carousel-inner {
+ position: relative;
+ width: 100%;
+ overflow: hidden;
+}
+.carousel-inner::after {
+ display: block;
+ clear: both;
+ content: "";
+}
+
+.carousel-item {
+ position: relative;
+ display: none;
+ float: left;
+ width: 100%;
+ margin-right: -100%;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ transition: transform 0.6s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-item {
+ transition: none;
+ }
+}
+
+.carousel-item.active,
+.carousel-item-next,
+.carousel-item-prev {
+ display: block;
+}
+
+/* rtl:begin:ignore */
+.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%);
+}
+
+/* rtl:end:ignore */
+.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 0.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;
+ border: 0;
+ opacity: 0.5;
+ transition: opacity 0.15s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-control-prev,
+ .carousel-control-next {
+ transition: none;
+ }
+}
+.carousel-control-prev:hover, .carousel-control-prev:focus,
+.carousel-control-next:hover,
+.carousel-control-next:focus {
+ color: #fff;
+ text-decoration: none;
+ outline: 0;
+ opacity: 0.9;
+}
+
+.carousel-control-prev {
+ left: 0;
+}
+
+.carousel-control-next {
+ right: 0;
+}
+
+.carousel-control-prev-icon,
+.carousel-control-next-icon {
+ display: inline-block;
+ width: 2rem;
+ height: 2rem;
+ background-repeat: no-repeat;
+ background-position: 50%;
+ background-size: 100% 100%;
+}
+
+/* rtl:options: {
+ "autoRename": true,
+ "stringMap":[ {
+ "name" : "prev-next",
+ "search" : "prev",
+ "replace" : "next"
+ } ]
+} */
+.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 0z'/%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-.708z'/%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%;
+ list-style: none;
+}
+.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: #fff;
+ background-clip: padding-box;
+ border: 0;
+ border-top: 10px solid transparent;
+ border-bottom: 10px solid transparent;
+ opacity: 0.5;
+ transition: opacity 0.6s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-indicators [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: #fff;
+ text-align: center;
+}
+
+.carousel-dark .carousel-control-prev-icon,
+.carousel-dark .carousel-control-next-icon {
+ filter: invert(1) grayscale(100);
+}
+.carousel-dark .carousel-indicators [data-bs-target] {
+ background-color: #000;
+}
+.carousel-dark .carousel-caption {
+ color: #000;
+}
+
+@-webkit-keyframes spinner-border {
+ to {
+ transform: rotate(360deg) /* rtl:ignore */;
+ }
+}
+
+@keyframes spinner-border {
+ to {
+ transform: rotate(360deg) /* rtl:ignore */;
+ }
+}
+.spinner-border {
+ display: inline-block;
+ width: 2rem;
+ height: 2rem;
+ vertical-align: -0.125em;
+ border: 0.25em solid currentColor;
+ border-right-color: transparent;
+ border-radius: 50%;
+ -webkit-animation: 0.75s linear infinite spinner-border;
+ animation: 0.75s linear infinite spinner-border;
+}
+
+.spinner-border-sm {
+ width: 1rem;
+ height: 1rem;
+ border-width: 0.2em;
+}
+
+@-webkit-keyframes spinner-grow {
+ 0% {
+ transform: scale(0);
+ }
+ 50% {
+ opacity: 1;
+ transform: none;
+ }
+}
+
+@keyframes spinner-grow {
+ 0% {
+ transform: scale(0);
+ }
+ 50% {
+ opacity: 1;
+ transform: none;
+ }
+}
+.spinner-grow {
+ display: inline-block;
+ width: 2rem;
+ height: 2rem;
+ vertical-align: -0.125em;
+ background-color: currentColor;
+ border-radius: 50%;
+ opacity: 0;
+ -webkit-animation: 0.75s linear infinite spinner-grow;
+ animation: 0.75s linear infinite spinner-grow;
+}
+
+.spinner-grow-sm {
+ width: 1rem;
+ height: 1rem;
+}
+
+@media (prefers-reduced-motion: reduce) {
+ .spinner-border,
+ .spinner-grow {
+ -webkit-animation-duration: 1.5s;
+ animation-duration: 1.5s;
+ }
+}
+.offcanvas {
+ position: fixed;
+ bottom: 0;
+ z-index: 1045;
+ display: flex;
+ flex-direction: column;
+ max-width: 100%;
+ visibility: hidden;
+ background-color: #fff;
+ background-clip: padding-box;
+ outline: 0;
+ transition: transform 0.3s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .offcanvas {
+ transition: none;
+ }
+}
+
+.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: 0.5;
+}
+
+.offcanvas-header {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 1rem 1rem;
+}
+.offcanvas-header .btn-close {
+ padding: 0.5rem 0.5rem;
+ margin-top: -0.5rem;
+ margin-right: -0.5rem;
+ margin-bottom: -0.5rem;
+}
+
+.offcanvas-title {
+ margin-bottom: 0;
+ line-height: 1.5;
+}
+
+.offcanvas-body {
+ flex-grow: 1;
+ padding: 1rem 1rem;
+ overflow-y: auto;
+}
+
+.offcanvas-start {
+ top: 0;
+ left: 0;
+ width: 400px;
+ border-right: 1px solid rgba(0, 0, 0, 0.2);
+ transform: translateX(-100%);
+}
+
+.offcanvas-end {
+ top: 0;
+ right: 0;
+ width: 400px;
+ border-left: 1px solid rgba(0, 0, 0, 0.2);
+ transform: translateX(100%);
+}
+
+.offcanvas-top {
+ top: 0;
+ right: 0;
+ left: 0;
+ height: 30vh;
+ max-height: 100%;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+ transform: translateY(-100%);
+}
+
+.offcanvas-bottom {
+ right: 0;
+ left: 0;
+ height: 30vh;
+ max-height: 100%;
+ border-top: 1px solid rgba(0, 0, 0, 0.2);
+ transform: translateY(100%);
+}
+
+.offcanvas.show {
+ transform: none;
+}
+
+.placeholder {
+ display: inline-block;
+ min-height: 1em;
+ vertical-align: middle;
+ cursor: wait;
+ background-color: currentColor;
+ opacity: 0.5;
+}
+.placeholder.btn::before {
+ display: inline-block;
+ content: "";
+}
+
+.placeholder-xs {
+ min-height: 0.6em;
+}
+
+.placeholder-sm {
+ min-height: 0.8em;
+}
+
+.placeholder-lg {
+ min-height: 1.2em;
+}
+
+.placeholder-glow .placeholder {
+ -webkit-animation: placeholder-glow 2s ease-in-out infinite;
+ animation: placeholder-glow 2s ease-in-out infinite;
+}
+
+@-webkit-keyframes placeholder-glow {
+ 50% {
+ opacity: 0.2;
+ }
+}
+
+@keyframes placeholder-glow {
+ 50% {
+ opacity: 0.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%;
+ -webkit-animation: placeholder-wave 2s linear infinite;
+ animation: placeholder-wave 2s linear infinite;
+}
+
+@-webkit-keyframes placeholder-wave {
+ 100% {
+ -webkit-mask-position: -200% 0%;
+ mask-position: -200% 0%;
+ }
+}
+
+@keyframes placeholder-wave {
+ 100% {
+ -webkit-mask-position: -200% 0%;
+ mask-position: -200% 0%;
+ }
+}
+.clearfix::after {
+ display: block;
+ clear: both;
+ content: "";
+}
+
+.link-primary {
+ color: #0d6efd;
+}
+.link-primary:hover, .link-primary:focus {
+ color: #0a58ca;
+}
+
+.link-secondary {
+ color: #6c757d;
+}
+.link-secondary:hover, .link-secondary:focus {
+ color: #565e64;
+}
+
+.link-success {
+ color: #198754;
+}
+.link-success:hover, .link-success:focus {
+ color: #146c43;
+}
+
+.link-info {
+ color: #0dcaf0;
+}
+.link-info:hover, .link-info:focus {
+ color: #3dd5f3;
+}
+
+.link-warning {
+ color: #ffc107;
+}
+.link-warning:hover, .link-warning:focus {
+ color: #ffcd39;
+}
+
+.link-danger {
+ color: #dc3545;
+}
+.link-danger:hover, .link-danger:focus {
+ color: #b02a37;
+}
+
+.link-light {
+ color: #f8f9fa;
+}
+.link-light:hover, .link-light:focus {
+ color: #f9fafb;
+}
+
+.link-dark {
+ color: #212529;
+}
+.link-dark:hover, .link-dark:focus {
+ color: #1a1e21;
+}
+
+.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;
+}
+
+@media (min-width: 576px) {
+ .sticky-sm-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 768px) {
+ .sticky-md-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 992px) {
+ .sticky-lg-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 1200px) {
+ .sticky-xl-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 1400px) {
+ .sticky-xxl-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 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) {
+ position: absolute !important;
+ 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;
+}
+
+.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: 1px;
+ min-height: 1em;
+ background-color: currentColor;
+ opacity: 0.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;
+}
+
+.opacity-0 {
+ opacity: 0 !important;
+}
+
+.opacity-25 {
+ opacity: 0.25 !important;
+}
+
+.opacity-50 {
+ opacity: 0.5 !important;
+}
+
+.opacity-75 {
+ opacity: 0.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;
+}
+
+.d-inline {
+ display: inline !important;
+}
+
+.d-inline-block {
+ display: inline-block !important;
+}
+
+.d-block {
+ display: block !important;
+}
+
+.d-grid {
+ display: 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: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
+}
+
+.shadow-sm {
+ box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
+}
+
+.shadow-lg {
+ box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
+}
+
+.shadow-none {
+ box-shadow: none !important;
+}
+
+.position-static {
+ position: static !important;
+}
+
+.position-relative {
+ position: relative !important;
+}
+
+.position-absolute {
+ position: absolute !important;
+}
+
+.position-fixed {
+ position: fixed !important;
+}
+
+.position-sticky {
+ position: -webkit-sticky !important;
+ position: sticky !important;
+}
+
+.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: 1px solid #dee2e6 !important;
+}
+
+.border-0 {
+ border: 0 !important;
+}
+
+.border-top {
+ border-top: 1px solid #dee2e6 !important;
+}
+
+.border-top-0 {
+ border-top: 0 !important;
+}
+
+.border-end {
+ border-right: 1px solid #dee2e6 !important;
+}
+
+.border-end-0 {
+ border-right: 0 !important;
+}
+
+.border-bottom {
+ border-bottom: 1px solid #dee2e6 !important;
+}
+
+.border-bottom-0 {
+ border-bottom: 0 !important;
+}
+
+.border-start {
+ border-left: 1px solid #dee2e6 !important;
+}
+
+.border-start-0 {
+ border-left: 0 !important;
+}
+
+.border-primary {
+ border-color: #0d6efd !important;
+}
+
+.border-secondary {
+ border-color: #6c757d !important;
+}
+
+.border-success {
+ border-color: #198754 !important;
+}
+
+.border-info {
+ border-color: #0dcaf0 !important;
+}
+
+.border-warning {
+ border-color: #ffc107 !important;
+}
+
+.border-danger {
+ border-color: #dc3545 !important;
+}
+
+.border-light {
+ border-color: #f8f9fa !important;
+}
+
+.border-dark {
+ border-color: #212529 !important;
+}
+
+.border-white {
+ border-color: #fff !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;
+}
+
+.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;
+}
+
+.gap-0 {
+ gap: 0 !important;
+}
+
+.gap-1 {
+ gap: 0.25rem !important;
+}
+
+.gap-2 {
+ gap: 0.5rem !important;
+}
+
+.gap-3 {
+ gap: 1rem !important;
+}
+
+.gap-4 {
+ gap: 1.5rem !important;
+}
+
+.gap-5 {
+ gap: 3rem !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: 0.25rem !important;
+}
+
+.m-2 {
+ margin: 0.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: 0.25rem !important;
+ margin-left: 0.25rem !important;
+}
+
+.mx-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.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: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+}
+
+.my-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.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: 0.25rem !important;
+}
+
+.mt-2 {
+ margin-top: 0.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: 0.25rem !important;
+}
+
+.me-2 {
+ margin-right: 0.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: 0.25rem !important;
+}
+
+.mb-2 {
+ margin-bottom: 0.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: 0.25rem !important;
+}
+
+.ms-2 {
+ margin-left: 0.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: 0.25rem !important;
+}
+
+.p-2 {
+ padding: 0.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: 0.25rem !important;
+ padding-left: 0.25rem !important;
+}
+
+.px-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.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: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+}
+
+.py-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.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: 0.25rem !important;
+}
+
+.pt-2 {
+ padding-top: 0.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: 0.25rem !important;
+}
+
+.pe-2 {
+ padding-right: 0.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: 0.25rem !important;
+}
+
+.pb-2 {
+ padding-bottom: 0.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: 0.25rem !important;
+}
+
+.ps-2 {
+ padding-left: 0.5rem !important;
+}
+
+.ps-3 {
+ padding-left: 1rem !important;
+}
+
+.ps-4 {
+ padding-left: 1.5rem !important;
+}
+
+.ps-5 {
+ padding-left: 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-light {
+ font-weight: 300 !important;
+}
+
+.fw-lighter {
+ font-weight: lighter !important;
+}
+
+.fw-normal {
+ font-weight: 400 !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;
+}
+
+/* rtl:begin:remove */
+.text-break {
+ word-wrap: break-word !important;
+ word-break: break-word !important;
+}
+
+/* rtl:end:remove */
+.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: #6c757d !important;
+}
+
+.text-black-50 {
+ --bs-text-opacity: 1;
+ color: rgba(0, 0, 0, 0.5) !important;
+}
+
+.text-white-50 {
+ --bs-text-opacity: 1;
+ color: rgba(255, 255, 255, 0.5) !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;
+}
+
+.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-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-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;
+ -ms-user-select: auto !important;
+ user-select: auto !important;
+}
+
+.user-select-none {
+ -webkit-user-select: none !important;
+ -moz-user-select: none !important;
+ -ms-user-select: none !important;
+ user-select: none !important;
+}
+
+.pe-none {
+ pointer-events: none !important;
+}
+
+.pe-auto {
+ pointer-events: auto !important;
+}
+
+.rounded {
+ border-radius: 0.25rem !important;
+}
+
+.rounded-0 {
+ border-radius: 0 !important;
+}
+
+.rounded-1 {
+ border-radius: 0.2rem !important;
+}
+
+.rounded-2 {
+ border-radius: 0.25rem !important;
+}
+
+.rounded-3 {
+ border-radius: 0.3rem !important;
+}
+
+.rounded-circle {
+ border-radius: 50% !important;
+}
+
+.rounded-pill {
+ border-radius: 50rem !important;
+}
+
+.rounded-top {
+ border-top-left-radius: 0.25rem !important;
+ border-top-right-radius: 0.25rem !important;
+}
+
+.rounded-end {
+ border-top-right-radius: 0.25rem !important;
+ border-bottom-right-radius: 0.25rem !important;
+}
+
+.rounded-bottom {
+ border-bottom-right-radius: 0.25rem !important;
+ border-bottom-left-radius: 0.25rem !important;
+}
+
+.rounded-start {
+ border-bottom-left-radius: 0.25rem !important;
+ border-top-left-radius: 0.25rem !important;
+}
+
+.visible {
+ visibility: visible !important;
+}
+
+.invisible {
+ visibility: hidden !important;
+}
+
+@media (min-width: 576px) {
+ .float-sm-start {
+ float: left !important;
+ }
+
+ .float-sm-end {
+ float: right !important;
+ }
+
+ .float-sm-none {
+ float: 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-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;
+ }
+
+ .gap-sm-0 {
+ gap: 0 !important;
+ }
+
+ .gap-sm-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-sm-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-sm-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-sm-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-sm-5 {
+ gap: 3rem !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: 0.25rem !important;
+ }
+
+ .m-sm-2 {
+ margin: 0.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: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+
+ .mx-sm-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.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: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+
+ .my-sm-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.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: 0.25rem !important;
+ }
+
+ .mt-sm-2 {
+ margin-top: 0.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: 0.25rem !important;
+ }
+
+ .me-sm-2 {
+ margin-right: 0.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: 0.25rem !important;
+ }
+
+ .mb-sm-2 {
+ margin-bottom: 0.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: 0.25rem !important;
+ }
+
+ .ms-sm-2 {
+ margin-left: 0.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: 0.25rem !important;
+ }
+
+ .p-sm-2 {
+ padding: 0.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: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+
+ .px-sm-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.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: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+
+ .py-sm-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.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: 0.25rem !important;
+ }
+
+ .pt-sm-2 {
+ padding-top: 0.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: 0.25rem !important;
+ }
+
+ .pe-sm-2 {
+ padding-right: 0.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: 0.25rem !important;
+ }
+
+ .pb-sm-2 {
+ padding-bottom: 0.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: 0.25rem !important;
+ }
+
+ .ps-sm-2 {
+ padding-left: 0.5rem !important;
+ }
+
+ .ps-sm-3 {
+ padding-left: 1rem !important;
+ }
+
+ .ps-sm-4 {
+ padding-left: 1.5rem !important;
+ }
+
+ .ps-sm-5 {
+ padding-left: 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;
+ }
+
+ .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-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;
+ }
+
+ .gap-md-0 {
+ gap: 0 !important;
+ }
+
+ .gap-md-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-md-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-md-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-md-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-md-5 {
+ gap: 3rem !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: 0.25rem !important;
+ }
+
+ .m-md-2 {
+ margin: 0.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: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+
+ .mx-md-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.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: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+
+ .my-md-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.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: 0.25rem !important;
+ }
+
+ .mt-md-2 {
+ margin-top: 0.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: 0.25rem !important;
+ }
+
+ .me-md-2 {
+ margin-right: 0.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: 0.25rem !important;
+ }
+
+ .mb-md-2 {
+ margin-bottom: 0.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: 0.25rem !important;
+ }
+
+ .ms-md-2 {
+ margin-left: 0.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: 0.25rem !important;
+ }
+
+ .p-md-2 {
+ padding: 0.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: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+
+ .px-md-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.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: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+
+ .py-md-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.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: 0.25rem !important;
+ }
+
+ .pt-md-2 {
+ padding-top: 0.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: 0.25rem !important;
+ }
+
+ .pe-md-2 {
+ padding-right: 0.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: 0.25rem !important;
+ }
+
+ .pb-md-2 {
+ padding-bottom: 0.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: 0.25rem !important;
+ }
+
+ .ps-md-2 {
+ padding-left: 0.5rem !important;
+ }
+
+ .ps-md-3 {
+ padding-left: 1rem !important;
+ }
+
+ .ps-md-4 {
+ padding-left: 1.5rem !important;
+ }
+
+ .ps-md-5 {
+ padding-left: 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;
+ }
+
+ .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-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;
+ }
+
+ .gap-lg-0 {
+ gap: 0 !important;
+ }
+
+ .gap-lg-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-lg-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-lg-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-lg-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-lg-5 {
+ gap: 3rem !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: 0.25rem !important;
+ }
+
+ .m-lg-2 {
+ margin: 0.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: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+
+ .mx-lg-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.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: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+
+ .my-lg-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.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: 0.25rem !important;
+ }
+
+ .mt-lg-2 {
+ margin-top: 0.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: 0.25rem !important;
+ }
+
+ .me-lg-2 {
+ margin-right: 0.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: 0.25rem !important;
+ }
+
+ .mb-lg-2 {
+ margin-bottom: 0.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: 0.25rem !important;
+ }
+
+ .ms-lg-2 {
+ margin-left: 0.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: 0.25rem !important;
+ }
+
+ .p-lg-2 {
+ padding: 0.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: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+
+ .px-lg-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.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: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+
+ .py-lg-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.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: 0.25rem !important;
+ }
+
+ .pt-lg-2 {
+ padding-top: 0.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: 0.25rem !important;
+ }
+
+ .pe-lg-2 {
+ padding-right: 0.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: 0.25rem !important;
+ }
+
+ .pb-lg-2 {
+ padding-bottom: 0.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: 0.25rem !important;
+ }
+
+ .ps-lg-2 {
+ padding-left: 0.5rem !important;
+ }
+
+ .ps-lg-3 {
+ padding-left: 1rem !important;
+ }
+
+ .ps-lg-4 {
+ padding-left: 1.5rem !important;
+ }
+
+ .ps-lg-5 {
+ padding-left: 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;
+ }
+
+ .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-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;
+ }
+
+ .gap-xl-0 {
+ gap: 0 !important;
+ }
+
+ .gap-xl-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-xl-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-xl-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-xl-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-xl-5 {
+ gap: 3rem !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: 0.25rem !important;
+ }
+
+ .m-xl-2 {
+ margin: 0.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: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+
+ .mx-xl-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.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: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+
+ .my-xl-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.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: 0.25rem !important;
+ }
+
+ .mt-xl-2 {
+ margin-top: 0.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: 0.25rem !important;
+ }
+
+ .me-xl-2 {
+ margin-right: 0.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: 0.25rem !important;
+ }
+
+ .mb-xl-2 {
+ margin-bottom: 0.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: 0.25rem !important;
+ }
+
+ .ms-xl-2 {
+ margin-left: 0.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: 0.25rem !important;
+ }
+
+ .p-xl-2 {
+ padding: 0.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: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+
+ .px-xl-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.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: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+
+ .py-xl-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.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: 0.25rem !important;
+ }
+
+ .pt-xl-2 {
+ padding-top: 0.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: 0.25rem !important;
+ }
+
+ .pe-xl-2 {
+ padding-right: 0.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: 0.25rem !important;
+ }
+
+ .pb-xl-2 {
+ padding-bottom: 0.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: 0.25rem !important;
+ }
+
+ .ps-xl-2 {
+ padding-left: 0.5rem !important;
+ }
+
+ .ps-xl-3 {
+ padding-left: 1rem !important;
+ }
+
+ .ps-xl-4 {
+ padding-left: 1.5rem !important;
+ }
+
+ .ps-xl-5 {
+ padding-left: 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;
+ }
+
+ .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-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;
+ }
+
+ .gap-xxl-0 {
+ gap: 0 !important;
+ }
+
+ .gap-xxl-1 {
+ gap: 0.25rem !important;
+ }
+
+ .gap-xxl-2 {
+ gap: 0.5rem !important;
+ }
+
+ .gap-xxl-3 {
+ gap: 1rem !important;
+ }
+
+ .gap-xxl-4 {
+ gap: 1.5rem !important;
+ }
+
+ .gap-xxl-5 {
+ gap: 3rem !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: 0.25rem !important;
+ }
+
+ .m-xxl-2 {
+ margin: 0.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: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+
+ .mx-xxl-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.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: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+
+ .my-xxl-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.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: 0.25rem !important;
+ }
+
+ .mt-xxl-2 {
+ margin-top: 0.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: 0.25rem !important;
+ }
+
+ .me-xxl-2 {
+ margin-right: 0.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: 0.25rem !important;
+ }
+
+ .mb-xxl-2 {
+ margin-bottom: 0.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: 0.25rem !important;
+ }
+
+ .ms-xxl-2 {
+ margin-left: 0.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: 0.25rem !important;
+ }
+
+ .p-xxl-2 {
+ padding: 0.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: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+
+ .px-xxl-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.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: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+
+ .py-xxl-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.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: 0.25rem !important;
+ }
+
+ .pt-xxl-2 {
+ padding-top: 0.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: 0.25rem !important;
+ }
+
+ .pe-xxl-2 {
+ padding-right: 0.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: 0.25rem !important;
+ }
+
+ .pb-xxl-2 {
+ padding-bottom: 0.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: 0.25rem !important;
+ }
+
+ .ps-xxl-2 {
+ padding-left: 0.5rem !important;
+ }
+
+ .ps-xxl-3 {
+ padding-left: 1rem !important;
+ }
+
+ .ps-xxl-4 {
+ padding-left: 1.5rem !important;
+ }
+
+ .ps-xxl-5 {
+ padding-left: 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-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;
+ }
+}
+/*!
+ * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+.fa,
+.fas,
+.far,
+.fal,
+.fad,
+.fab {
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-font-smoothing: antialiased;
+ display: inline-block;
+ font-style: normal;
+ font-variant: normal;
+ text-rendering: auto;
+ line-height: 1;
+}
+
+.fa-lg {
+ font-size: 1.3333333333em;
+ line-height: 0.75em;
+ vertical-align: -0.0667em;
+}
+
+.fa-xs {
+ font-size: 0.75em;
+}
+
+.fa-sm {
+ font-size: 0.875em;
+}
+
+.fa-1x {
+ font-size: 1em;
+}
+
+.fa-2x {
+ font-size: 2em;
+}
+
+.fa-3x {
+ font-size: 3em;
+}
+
+.fa-4x {
+ font-size: 4em;
+}
+
+.fa-5x {
+ font-size: 5em;
+}
+
+.fa-6x {
+ font-size: 6em;
+}
+
+.fa-7x {
+ font-size: 7em;
+}
+
+.fa-8x {
+ font-size: 8em;
+}
+
+.fa-9x {
+ font-size: 9em;
+}
+
+.fa-10x {
+ font-size: 10em;
+}
+
+.fa-fw {
+ text-align: center;
+ width: 1.25em;
+}
+
+.fa-ul {
+ list-style-type: none;
+ margin-left: 2.5em;
+ padding-left: 0;
+}
+.fa-ul > li {
+ position: relative;
+}
+
+.fa-li {
+ left: -2em;
+ position: absolute;
+ text-align: center;
+ width: 2em;
+ line-height: inherit;
+}
+
+.fa-border {
+ border: solid 0.08em #eee;
+ border-radius: 0.1em;
+ padding: 0.2em 0.25em 0.15em;
+}
+
+.fa-pull-left {
+ float: left;
+}
+
+.fa-pull-right {
+ float: right;
+}
+
+.fa.fa-pull-left,
+.fas.fa-pull-left,
+.far.fa-pull-left,
+.fal.fa-pull-left,
+.fab.fa-pull-left {
+ margin-right: 0.3em;
+}
+.fa.fa-pull-right,
+.fas.fa-pull-right,
+.far.fa-pull-right,
+.fal.fa-pull-right,
+.fab.fa-pull-right {
+ margin-left: 0.3em;
+}
+
+.fa-spin {
+ -webkit-animation: fa-spin 2s infinite linear;
+ animation: fa-spin 2s infinite linear;
+}
+
+.fa-pulse {
+ -webkit-animation: fa-spin 1s infinite steps(8);
+ animation: fa-spin 1s infinite steps(8);
+}
+
+@-webkit-keyframes fa-spin {
+ 0% {
+ transform: rotate(0deg);
+ }
+ 100% {
+ transform: rotate(360deg);
+ }
+}
+
+@keyframes fa-spin {
+ 0% {
+ transform: rotate(0deg);
+ }
+ 100% {
+ transform: rotate(360deg);
+ }
+}
+.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);
+}
+
+.fa-flip-both, .fa-flip-horizontal.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,
+:root .fa-flip-both {
+ filter: none;
+}
+
+.fa-stack {
+ display: inline-block;
+ height: 2em;
+ line-height: 2em;
+ position: relative;
+ vertical-align: middle;
+ width: 2.5em;
+}
+
+.fa-stack-1x,
+.fa-stack-2x {
+ left: 0;
+ position: absolute;
+ text-align: center;
+ width: 100%;
+}
+
+.fa-stack-1x {
+ line-height: inherit;
+}
+
+.fa-stack-2x {
+ font-size: 2em;
+}
+
+.fa-inverse {
+ color: #fff;
+}
+
+/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
+readers do not read off random characters that represent icons */
+.fa-500px:before {
+ content: "\f26e";
+}
+
+.fa-accessible-icon:before {
+ content: "\f368";
+}
+
+.fa-accusoft:before {
+ content: "\f369";
+}
+
+.fa-acquisitions-incorporated:before {
+ content: "\f6af";
+}
+
+.fa-ad:before {
+ content: "\f641";
+}
+
+.fa-address-book:before {
+ content: "\f2b9";
+}
+
+.fa-address-card:before {
+ content: "\f2bb";
+}
+
+.fa-adjust:before {
+ content: "\f042";
+}
+
+.fa-adn:before {
+ content: "\f170";
+}
+
+.fa-adversal:before {
+ content: "\f36a";
+}
+
+.fa-affiliatetheme:before {
+ content: "\f36b";
+}
+
+.fa-air-freshener:before {
+ content: "\f5d0";
+}
+
+.fa-airbnb:before {
+ content: "\f834";
+}
+
+.fa-algolia:before {
+ content: "\f36c";
+}
+
+.fa-align-center:before {
+ content: "\f037";
+}
+
+.fa-align-justify:before {
+ content: "\f039";
+}
+
+.fa-align-left:before {
+ content: "\f036";
+}
+
+.fa-align-right:before {
+ content: "\f038";
+}
+
+.fa-alipay:before {
+ content: "\f642";
+}
+
+.fa-allergies:before {
+ content: "\f461";
+}
+
+.fa-amazon:before {
+ content: "\f270";
+}
+
+.fa-amazon-pay:before {
+ content: "\f42c";
+}
+
+.fa-ambulance:before {
+ content: "\f0f9";
+}
+
+.fa-american-sign-language-interpreting:before {
+ content: "\f2a3";
+}
+
+.fa-amilia:before {
+ content: "\f36d";
+}
+
+.fa-anchor:before {
+ content: "\f13d";
+}
+
+.fa-android:before {
+ content: "\f17b";
+}
+
+.fa-angellist:before {
+ content: "\f209";
+}
+
+.fa-angle-double-down:before {
+ content: "\f103";
+}
+
+.fa-angle-double-left:before {
+ content: "\f100";
+}
+
+.fa-angle-double-right:before {
+ content: "\f101";
+}
+
+.fa-angle-double-up:before {
+ content: "\f102";
+}
+
+.fa-angle-down:before {
+ content: "\f107";
+}
+
+.fa-angle-left:before {
+ content: "\f104";
+}
+
+.fa-angle-right:before {
+ content: "\f105";
+}
+
+.fa-angle-up:before {
+ content: "\f106";
+}
+
+.fa-angry:before {
+ content: "\f556";
+}
+
+.fa-angrycreative:before {
+ content: "\f36e";
+}
+
+.fa-angular:before {
+ content: "\f420";
+}
+
+.fa-ankh:before {
+ content: "\f644";
+}
+
+.fa-app-store:before {
+ content: "\f36f";
+}
+
+.fa-app-store-ios:before {
+ content: "\f370";
+}
+
+.fa-apper:before {
+ content: "\f371";
+}
+
+.fa-apple:before {
+ content: "\f179";
+}
+
+.fa-apple-alt:before {
+ content: "\f5d1";
+}
+
+.fa-apple-pay:before {
+ content: "\f415";
+}
+
+.fa-archive:before {
+ content: "\f187";
+}
+
+.fa-archway:before {
+ content: "\f557";
+}
+
+.fa-arrow-alt-circle-down:before {
+ content: "\f358";
+}
+
+.fa-arrow-alt-circle-left:before {
+ content: "\f359";
+}
+
+.fa-arrow-alt-circle-right:before {
+ content: "\f35a";
+}
+
+.fa-arrow-alt-circle-up:before {
+ content: "\f35b";
+}
+
+.fa-arrow-circle-down:before {
+ content: "\f0ab";
+}
+
+.fa-arrow-circle-left:before {
+ content: "\f0a8";
+}
+
+.fa-arrow-circle-right:before {
+ content: "\f0a9";
+}
+
+.fa-arrow-circle-up:before {
+ content: "\f0aa";
+}
+
+.fa-arrow-down:before {
+ content: "\f063";
+}
+
+.fa-arrow-left:before {
+ content: "\f060";
+}
+
+.fa-arrow-right:before {
+ content: "\f061";
+}
+
+.fa-arrow-up:before {
+ content: "\f062";
+}
+
+.fa-arrows-alt:before {
+ content: "\f0b2";
+}
+
+.fa-arrows-alt-h:before {
+ content: "\f337";
+}
+
+.fa-arrows-alt-v:before {
+ content: "\f338";
+}
+
+.fa-artstation:before {
+ content: "\f77a";
+}
+
+.fa-assistive-listening-systems:before {
+ content: "\f2a2";
+}
+
+.fa-asterisk:before {
+ content: "\f069";
+}
+
+.fa-asymmetrik:before {
+ content: "\f372";
+}
+
+.fa-at:before {
+ content: "\f1fa";
+}
+
+.fa-atlas:before {
+ content: "\f558";
+}
+
+.fa-atlassian:before {
+ content: "\f77b";
+}
+
+.fa-atom:before {
+ content: "\f5d2";
+}
+
+.fa-audible:before {
+ content: "\f373";
+}
+
+.fa-audio-description:before {
+ content: "\f29e";
+}
+
+.fa-autoprefixer:before {
+ content: "\f41c";
+}
+
+.fa-avianex:before {
+ content: "\f374";
+}
+
+.fa-aviato:before {
+ content: "\f421";
+}
+
+.fa-award:before {
+ content: "\f559";
+}
+
+.fa-aws:before {
+ content: "\f375";
+}
+
+.fa-baby:before {
+ content: "\f77c";
+}
+
+.fa-baby-carriage:before {
+ content: "\f77d";
+}
+
+.fa-backspace:before {
+ content: "\f55a";
+}
+
+.fa-backward:before {
+ content: "\f04a";
+}
+
+.fa-bacon:before {
+ content: "\f7e5";
+}
+
+.fa-bacteria:before {
+ content: "\e059";
+}
+
+.fa-bacterium:before {
+ content: "\e05a";
+}
+
+.fa-bahai:before {
+ content: "\f666";
+}
+
+.fa-balance-scale:before {
+ content: "\f24e";
+}
+
+.fa-balance-scale-left:before {
+ content: "\f515";
+}
+
+.fa-balance-scale-right:before {
+ content: "\f516";
+}
+
+.fa-ban:before {
+ content: "\f05e";
+}
+
+.fa-band-aid:before {
+ content: "\f462";
+}
+
+.fa-bandcamp:before {
+ content: "\f2d5";
+}
+
+.fa-barcode:before {
+ content: "\f02a";
+}
+
+.fa-bars:before {
+ content: "\f0c9";
+}
+
+.fa-baseball-ball:before {
+ content: "\f433";
+}
+
+.fa-basketball-ball:before {
+ content: "\f434";
+}
+
+.fa-bath:before {
+ content: "\f2cd";
+}
+
+.fa-battery-empty:before {
+ content: "\f244";
+}
+
+.fa-battery-full:before {
+ content: "\f240";
+}
+
+.fa-battery-half:before {
+ content: "\f242";
+}
+
+.fa-battery-quarter:before {
+ content: "\f243";
+}
+
+.fa-battery-three-quarters:before {
+ content: "\f241";
+}
+
+.fa-battle-net:before {
+ content: "\f835";
+}
+
+.fa-bed:before {
+ content: "\f236";
+}
+
+.fa-beer:before {
+ content: "\f0fc";
+}
+
+.fa-behance:before {
+ content: "\f1b4";
+}
+
+.fa-behance-square:before {
+ content: "\f1b5";
+}
+
+.fa-bell:before {
+ content: "\f0f3";
+}
+
+.fa-bell-slash:before {
+ content: "\f1f6";
+}
+
+.fa-bezier-curve:before {
+ content: "\f55b";
+}
+
+.fa-bible:before {
+ content: "\f647";
+}
+
+.fa-bicycle:before {
+ content: "\f206";
+}
+
+.fa-biking:before {
+ content: "\f84a";
+}
+
+.fa-bimobject:before {
+ content: "\f378";
+}
+
+.fa-binoculars:before {
+ content: "\f1e5";
+}
+
+.fa-biohazard:before {
+ content: "\f780";
+}
+
+.fa-birthday-cake:before {
+ content: "\f1fd";
+}
+
+.fa-bitbucket:before {
+ content: "\f171";
+}
+
+.fa-bitcoin:before {
+ content: "\f379";
+}
+
+.fa-bity:before {
+ content: "\f37a";
+}
+
+.fa-black-tie:before {
+ content: "\f27e";
+}
+
+.fa-blackberry:before {
+ content: "\f37b";
+}
+
+.fa-blender:before {
+ content: "\f517";
+}
+
+.fa-blender-phone:before {
+ content: "\f6b6";
+}
+
+.fa-blind:before {
+ content: "\f29d";
+}
+
+.fa-blog:before {
+ content: "\f781";
+}
+
+.fa-blogger:before {
+ content: "\f37c";
+}
+
+.fa-blogger-b:before {
+ content: "\f37d";
+}
+
+.fa-bluetooth:before {
+ content: "\f293";
+}
+
+.fa-bluetooth-b:before {
+ content: "\f294";
+}
+
+.fa-bold:before {
+ content: "\f032";
+}
+
+.fa-bolt:before {
+ content: "\f0e7";
+}
+
+.fa-bomb:before {
+ content: "\f1e2";
+}
+
+.fa-bone:before {
+ content: "\f5d7";
+}
+
+.fa-bong:before {
+ content: "\f55c";
+}
+
+.fa-book:before {
+ content: "\f02d";
+}
+
+.fa-book-dead:before {
+ content: "\f6b7";
+}
+
+.fa-book-medical:before {
+ content: "\f7e6";
+}
+
+.fa-book-open:before {
+ content: "\f518";
+}
+
+.fa-book-reader:before {
+ content: "\f5da";
+}
+
+.fa-bookmark:before {
+ content: "\f02e";
+}
+
+.fa-bootstrap:before {
+ content: "\f836";
+}
+
+.fa-border-all:before {
+ content: "\f84c";
+}
+
+.fa-border-none:before {
+ content: "\f850";
+}
+
+.fa-border-style:before {
+ content: "\f853";
+}
+
+.fa-bowling-ball:before {
+ content: "\f436";
+}
+
+.fa-box:before {
+ content: "\f466";
+}
+
+.fa-box-open:before {
+ content: "\f49e";
+}
+
+.fa-box-tissue:before {
+ content: "\e05b";
+}
+
+.fa-boxes:before {
+ content: "\f468";
+}
+
+.fa-braille:before {
+ content: "\f2a1";
+}
+
+.fa-brain:before {
+ content: "\f5dc";
+}
+
+.fa-bread-slice:before {
+ content: "\f7ec";
+}
+
+.fa-briefcase:before {
+ content: "\f0b1";
+}
+
+.fa-briefcase-medical:before {
+ content: "\f469";
+}
+
+.fa-broadcast-tower:before {
+ content: "\f519";
+}
+
+.fa-broom:before {
+ content: "\f51a";
+}
+
+.fa-brush:before {
+ content: "\f55d";
+}
+
+.fa-btc:before {
+ content: "\f15a";
+}
+
+.fa-buffer:before {
+ content: "\f837";
+}
+
+.fa-bug:before {
+ content: "\f188";
+}
+
+.fa-building:before {
+ content: "\f1ad";
+}
+
+.fa-bullhorn:before {
+ content: "\f0a1";
+}
+
+.fa-bullseye:before {
+ content: "\f140";
+}
+
+.fa-burn:before {
+ content: "\f46a";
+}
+
+.fa-buromobelexperte:before {
+ content: "\f37f";
+}
+
+.fa-bus:before {
+ content: "\f207";
+}
+
+.fa-bus-alt:before {
+ content: "\f55e";
+}
+
+.fa-business-time:before {
+ content: "\f64a";
+}
+
+.fa-buy-n-large:before {
+ content: "\f8a6";
+}
+
+.fa-buysellads:before {
+ content: "\f20d";
+}
+
+.fa-calculator:before {
+ content: "\f1ec";
+}
+
+.fa-calendar:before {
+ content: "\f133";
+}
+
+.fa-calendar-alt:before {
+ content: "\f073";
+}
+
+.fa-calendar-check:before {
+ content: "\f274";
+}
+
+.fa-calendar-day:before {
+ content: "\f783";
+}
+
+.fa-calendar-minus:before {
+ content: "\f272";
+}
+
+.fa-calendar-plus:before {
+ content: "\f271";
+}
+
+.fa-calendar-times:before {
+ content: "\f273";
+}
+
+.fa-calendar-week:before {
+ content: "\f784";
+}
+
+.fa-camera:before {
+ content: "\f030";
+}
+
+.fa-camera-retro:before {
+ content: "\f083";
+}
+
+.fa-campground:before {
+ content: "\f6bb";
+}
+
+.fa-canadian-maple-leaf:before {
+ content: "\f785";
+}
+
+.fa-candy-cane:before {
+ content: "\f786";
+}
+
+.fa-cannabis:before {
+ content: "\f55f";
+}
+
+.fa-capsules:before {
+ content: "\f46b";
+}
+
+.fa-car:before {
+ content: "\f1b9";
+}
+
+.fa-car-alt:before {
+ content: "\f5de";
+}
+
+.fa-car-battery:before {
+ content: "\f5df";
+}
+
+.fa-car-crash:before {
+ content: "\f5e1";
+}
+
+.fa-car-side:before {
+ content: "\f5e4";
+}
+
+.fa-caravan:before {
+ content: "\f8ff";
+}
+
+.fa-caret-down:before {
+ content: "\f0d7";
+}
+
+.fa-caret-left:before {
+ content: "\f0d9";
+}
+
+.fa-caret-right:before {
+ content: "\f0da";
+}
+
+.fa-caret-square-down:before {
+ content: "\f150";
+}
+
+.fa-caret-square-left:before {
+ content: "\f191";
+}
+
+.fa-caret-square-right:before {
+ content: "\f152";
+}
+
+.fa-caret-square-up:before {
+ content: "\f151";
+}
+
+.fa-caret-up:before {
+ content: "\f0d8";
+}
+
+.fa-carrot:before {
+ content: "\f787";
+}
+
+.fa-cart-arrow-down:before {
+ content: "\f218";
+}
+
+.fa-cart-plus:before {
+ content: "\f217";
+}
+
+.fa-cash-register:before {
+ content: "\f788";
+}
+
+.fa-cat:before {
+ content: "\f6be";
+}
+
+.fa-cc-amazon-pay:before {
+ content: "\f42d";
+}
+
+.fa-cc-amex:before {
+ content: "\f1f3";
+}
+
+.fa-cc-apple-pay:before {
+ content: "\f416";
+}
+
+.fa-cc-diners-club:before {
+ content: "\f24c";
+}
+
+.fa-cc-discover:before {
+ content: "\f1f2";
+}
+
+.fa-cc-jcb:before {
+ content: "\f24b";
+}
+
+.fa-cc-mastercard:before {
+ content: "\f1f1";
+}
+
+.fa-cc-paypal:before {
+ content: "\f1f4";
+}
+
+.fa-cc-stripe:before {
+ content: "\f1f5";
+}
+
+.fa-cc-visa:before {
+ content: "\f1f0";
+}
+
+.fa-centercode:before {
+ content: "\f380";
+}
+
+.fa-centos:before {
+ content: "\f789";
+}
+
+.fa-certificate:before {
+ content: "\f0a3";
+}
+
+.fa-chair:before {
+ content: "\f6c0";
+}
+
+.fa-chalkboard:before {
+ content: "\f51b";
+}
+
+.fa-chalkboard-teacher:before {
+ content: "\f51c";
+}
+
+.fa-charging-station:before {
+ content: "\f5e7";
+}
+
+.fa-chart-area:before {
+ content: "\f1fe";
+}
+
+.fa-chart-bar:before {
+ content: "\f080";
+}
+
+.fa-chart-line:before {
+ content: "\f201";
+}
+
+.fa-chart-pie:before {
+ content: "\f200";
+}
+
+.fa-check:before {
+ content: "\f00c";
+}
+
+.fa-check-circle:before {
+ content: "\f058";
+}
+
+.fa-check-double:before {
+ content: "\f560";
+}
+
+.fa-check-square:before {
+ content: "\f14a";
+}
+
+.fa-cheese:before {
+ content: "\f7ef";
+}
+
+.fa-chess:before {
+ content: "\f439";
+}
+
+.fa-chess-bishop:before {
+ content: "\f43a";
+}
+
+.fa-chess-board:before {
+ content: "\f43c";
+}
+
+.fa-chess-king:before {
+ content: "\f43f";
+}
+
+.fa-chess-knight:before {
+ content: "\f441";
+}
+
+.fa-chess-pawn:before {
+ content: "\f443";
+}
+
+.fa-chess-queen:before {
+ content: "\f445";
+}
+
+.fa-chess-rook:before {
+ content: "\f447";
+}
+
+.fa-chevron-circle-down:before {
+ content: "\f13a";
+}
+
+.fa-chevron-circle-left:before {
+ content: "\f137";
+}
+
+.fa-chevron-circle-right:before {
+ content: "\f138";
+}
+
+.fa-chevron-circle-up:before {
+ content: "\f139";
+}
+
+.fa-chevron-down:before {
+ content: "\f078";
+}
+
+.fa-chevron-left:before {
+ content: "\f053";
+}
+
+.fa-chevron-right:before {
+ content: "\f054";
+}
+
+.fa-chevron-up:before {
+ content: "\f077";
+}
+
+.fa-child:before {
+ content: "\f1ae";
+}
+
+.fa-chrome:before {
+ content: "\f268";
+}
+
+.fa-chromecast:before {
+ content: "\f838";
+}
+
+.fa-church:before {
+ content: "\f51d";
+}
+
+.fa-circle:before {
+ content: "\f111";
+}
+
+.fa-circle-notch:before {
+ content: "\f1ce";
+}
+
+.fa-city:before {
+ content: "\f64f";
+}
+
+.fa-clinic-medical:before {
+ content: "\f7f2";
+}
+
+.fa-clipboard:before {
+ content: "\f328";
+}
+
+.fa-clipboard-check:before {
+ content: "\f46c";
+}
+
+.fa-clipboard-list:before {
+ content: "\f46d";
+}
+
+.fa-clock:before {
+ content: "\f017";
+}
+
+.fa-clone:before {
+ content: "\f24d";
+}
+
+.fa-closed-captioning:before {
+ content: "\f20a";
+}
+
+.fa-cloud:before {
+ content: "\f0c2";
+}
+
+.fa-cloud-download-alt:before {
+ content: "\f381";
+}
+
+.fa-cloud-meatball:before {
+ content: "\f73b";
+}
+
+.fa-cloud-moon:before {
+ content: "\f6c3";
+}
+
+.fa-cloud-moon-rain:before {
+ content: "\f73c";
+}
+
+.fa-cloud-rain:before {
+ content: "\f73d";
+}
+
+.fa-cloud-showers-heavy:before {
+ content: "\f740";
+}
+
+.fa-cloud-sun:before {
+ content: "\f6c4";
+}
+
+.fa-cloud-sun-rain:before {
+ content: "\f743";
+}
+
+.fa-cloud-upload-alt:before {
+ content: "\f382";
+}
+
+.fa-cloudflare:before {
+ content: "\e07d";
+}
+
+.fa-cloudscale:before {
+ content: "\f383";
+}
+
+.fa-cloudsmith:before {
+ content: "\f384";
+}
+
+.fa-cloudversify:before {
+ content: "\f385";
+}
+
+.fa-cocktail:before {
+ content: "\f561";
+}
+
+.fa-code:before {
+ content: "\f121";
+}
+
+.fa-code-branch:before {
+ content: "\f126";
+}
+
+.fa-codepen:before {
+ content: "\f1cb";
+}
+
+.fa-codiepie:before {
+ content: "\f284";
+}
+
+.fa-coffee:before {
+ content: "\f0f4";
+}
+
+.fa-cog:before {
+ content: "\f013";
+}
+
+.fa-cogs:before {
+ content: "\f085";
+}
+
+.fa-coins:before {
+ content: "\f51e";
+}
+
+.fa-columns:before {
+ content: "\f0db";
+}
+
+.fa-comment:before {
+ content: "\f075";
+}
+
+.fa-comment-alt:before {
+ content: "\f27a";
+}
+
+.fa-comment-dollar:before {
+ content: "\f651";
+}
+
+.fa-comment-dots:before {
+ content: "\f4ad";
+}
+
+.fa-comment-medical:before {
+ content: "\f7f5";
+}
+
+.fa-comment-slash:before {
+ content: "\f4b3";
+}
+
+.fa-comments:before {
+ content: "\f086";
+}
+
+.fa-comments-dollar:before {
+ content: "\f653";
+}
+
+.fa-compact-disc:before {
+ content: "\f51f";
+}
+
+.fa-compass:before {
+ content: "\f14e";
+}
+
+.fa-compress:before {
+ content: "\f066";
+}
+
+.fa-compress-alt:before {
+ content: "\f422";
+}
+
+.fa-compress-arrows-alt:before {
+ content: "\f78c";
+}
+
+.fa-concierge-bell:before {
+ content: "\f562";
+}
+
+.fa-confluence:before {
+ content: "\f78d";
+}
+
+.fa-connectdevelop:before {
+ content: "\f20e";
+}
+
+.fa-contao:before {
+ content: "\f26d";
+}
+
+.fa-cookie:before {
+ content: "\f563";
+}
+
+.fa-cookie-bite:before {
+ content: "\f564";
+}
+
+.fa-copy:before {
+ content: "\f0c5";
+}
+
+.fa-copyright:before {
+ content: "\f1f9";
+}
+
+.fa-cotton-bureau:before {
+ content: "\f89e";
+}
+
+.fa-couch:before {
+ content: "\f4b8";
+}
+
+.fa-cpanel:before {
+ content: "\f388";
+}
+
+.fa-creative-commons:before {
+ content: "\f25e";
+}
+
+.fa-creative-commons-by:before {
+ content: "\f4e7";
+}
+
+.fa-creative-commons-nc:before {
+ content: "\f4e8";
+}
+
+.fa-creative-commons-nc-eu:before {
+ content: "\f4e9";
+}
+
+.fa-creative-commons-nc-jp:before {
+ content: "\f4ea";
+}
+
+.fa-creative-commons-nd:before {
+ content: "\f4eb";
+}
+
+.fa-creative-commons-pd:before {
+ content: "\f4ec";
+}
+
+.fa-creative-commons-pd-alt:before {
+ content: "\f4ed";
+}
+
+.fa-creative-commons-remix:before {
+ content: "\f4ee";
+}
+
+.fa-creative-commons-sa:before {
+ content: "\f4ef";
+}
+
+.fa-creative-commons-sampling:before {
+ content: "\f4f0";
+}
+
+.fa-creative-commons-sampling-plus:before {
+ content: "\f4f1";
+}
+
+.fa-creative-commons-share:before {
+ content: "\f4f2";
+}
+
+.fa-creative-commons-zero:before {
+ content: "\f4f3";
+}
+
+.fa-credit-card:before {
+ content: "\f09d";
+}
+
+.fa-critical-role:before {
+ content: "\f6c9";
+}
+
+.fa-crop:before {
+ content: "\f125";
+}
+
+.fa-crop-alt:before {
+ content: "\f565";
+}
+
+.fa-cross:before {
+ content: "\f654";
+}
+
+.fa-crosshairs:before {
+ content: "\f05b";
+}
+
+.fa-crow:before {
+ content: "\f520";
+}
+
+.fa-crown:before {
+ content: "\f521";
+}
+
+.fa-crutch:before {
+ content: "\f7f7";
+}
+
+.fa-css3:before {
+ content: "\f13c";
+}
+
+.fa-css3-alt:before {
+ content: "\f38b";
+}
+
+.fa-cube:before {
+ content: "\f1b2";
+}
+
+.fa-cubes:before {
+ content: "\f1b3";
+}
+
+.fa-cut:before {
+ content: "\f0c4";
+}
+
+.fa-cuttlefish:before {
+ content: "\f38c";
+}
+
+.fa-d-and-d:before {
+ content: "\f38d";
+}
+
+.fa-d-and-d-beyond:before {
+ content: "\f6ca";
+}
+
+.fa-dailymotion:before {
+ content: "\e052";
+}
+
+.fa-dashcube:before {
+ content: "\f210";
+}
+
+.fa-database:before {
+ content: "\f1c0";
+}
+
+.fa-deaf:before {
+ content: "\f2a4";
+}
+
+.fa-deezer:before {
+ content: "\e077";
+}
+
+.fa-delicious:before {
+ content: "\f1a5";
+}
+
+.fa-democrat:before {
+ content: "\f747";
+}
+
+.fa-deploydog:before {
+ content: "\f38e";
+}
+
+.fa-deskpro:before {
+ content: "\f38f";
+}
+
+.fa-desktop:before {
+ content: "\f108";
+}
+
+.fa-dev:before {
+ content: "\f6cc";
+}
+
+.fa-deviantart:before {
+ content: "\f1bd";
+}
+
+.fa-dharmachakra:before {
+ content: "\f655";
+}
+
+.fa-dhl:before {
+ content: "\f790";
+}
+
+.fa-diagnoses:before {
+ content: "\f470";
+}
+
+.fa-diaspora:before {
+ content: "\f791";
+}
+
+.fa-dice:before {
+ content: "\f522";
+}
+
+.fa-dice-d20:before {
+ content: "\f6cf";
+}
+
+.fa-dice-d6:before {
+ content: "\f6d1";
+}
+
+.fa-dice-five:before {
+ content: "\f523";
+}
+
+.fa-dice-four:before {
+ content: "\f524";
+}
+
+.fa-dice-one:before {
+ content: "\f525";
+}
+
+.fa-dice-six:before {
+ content: "\f526";
+}
+
+.fa-dice-three:before {
+ content: "\f527";
+}
+
+.fa-dice-two:before {
+ content: "\f528";
+}
+
+.fa-digg:before {
+ content: "\f1a6";
+}
+
+.fa-digital-ocean:before {
+ content: "\f391";
+}
+
+.fa-digital-tachograph:before {
+ content: "\f566";
+}
+
+.fa-directions:before {
+ content: "\f5eb";
+}
+
+.fa-discord:before {
+ content: "\f392";
+}
+
+.fa-discourse:before {
+ content: "\f393";
+}
+
+.fa-disease:before {
+ content: "\f7fa";
+}
+
+.fa-divide:before {
+ content: "\f529";
+}
+
+.fa-dizzy:before {
+ content: "\f567";
+}
+
+.fa-dna:before {
+ content: "\f471";
+}
+
+.fa-dochub:before {
+ content: "\f394";
+}
+
+.fa-docker:before {
+ content: "\f395";
+}
+
+.fa-dog:before {
+ content: "\f6d3";
+}
+
+.fa-dollar-sign:before {
+ content: "\f155";
+}
+
+.fa-dolly:before {
+ content: "\f472";
+}
+
+.fa-dolly-flatbed:before {
+ content: "\f474";
+}
+
+.fa-donate:before {
+ content: "\f4b9";
+}
+
+.fa-door-closed:before {
+ content: "\f52a";
+}
+
+.fa-door-open:before {
+ content: "\f52b";
+}
+
+.fa-dot-circle:before {
+ content: "\f192";
+}
+
+.fa-dove:before {
+ content: "\f4ba";
+}
+
+.fa-download:before {
+ content: "\f019";
+}
+
+.fa-draft2digital:before {
+ content: "\f396";
+}
+
+.fa-drafting-compass:before {
+ content: "\f568";
+}
+
+.fa-dragon:before {
+ content: "\f6d5";
+}
+
+.fa-draw-polygon:before {
+ content: "\f5ee";
+}
+
+.fa-dribbble:before {
+ content: "\f17d";
+}
+
+.fa-dribbble-square:before {
+ content: "\f397";
+}
+
+.fa-dropbox:before {
+ content: "\f16b";
+}
+
+.fa-drum:before {
+ content: "\f569";
+}
+
+.fa-drum-steelpan:before {
+ content: "\f56a";
+}
+
+.fa-drumstick-bite:before {
+ content: "\f6d7";
+}
+
+.fa-drupal:before {
+ content: "\f1a9";
+}
+
+.fa-dumbbell:before {
+ content: "\f44b";
+}
+
+.fa-dumpster:before {
+ content: "\f793";
+}
+
+.fa-dumpster-fire:before {
+ content: "\f794";
+}
+
+.fa-dungeon:before {
+ content: "\f6d9";
+}
+
+.fa-dyalog:before {
+ content: "\f399";
+}
+
+.fa-earlybirds:before {
+ content: "\f39a";
+}
+
+.fa-ebay:before {
+ content: "\f4f4";
+}
+
+.fa-edge:before {
+ content: "\f282";
+}
+
+.fa-edge-legacy:before {
+ content: "\e078";
+}
+
+.fa-edit:before {
+ content: "\f044";
+}
+
+.fa-egg:before {
+ content: "\f7fb";
+}
+
+.fa-eject:before {
+ content: "\f052";
+}
+
+.fa-elementor:before {
+ content: "\f430";
+}
+
+.fa-ellipsis-h:before {
+ content: "\f141";
+}
+
+.fa-ellipsis-v:before {
+ content: "\f142";
+}
+
+.fa-ello:before {
+ content: "\f5f1";
+}
+
+.fa-ember:before {
+ content: "\f423";
+}
+
+.fa-empire:before {
+ content: "\f1d1";
+}
+
+.fa-envelope:before {
+ content: "\f0e0";
+}
+
+.fa-envelope-open:before {
+ content: "\f2b6";
+}
+
+.fa-envelope-open-text:before {
+ content: "\f658";
+}
+
+.fa-envelope-square:before {
+ content: "\f199";
+}
+
+.fa-envira:before {
+ content: "\f299";
+}
+
+.fa-equals:before {
+ content: "\f52c";
+}
+
+.fa-eraser:before {
+ content: "\f12d";
+}
+
+.fa-erlang:before {
+ content: "\f39d";
+}
+
+.fa-ethereum:before {
+ content: "\f42e";
+}
+
+.fa-ethernet:before {
+ content: "\f796";
+}
+
+.fa-etsy:before {
+ content: "\f2d7";
+}
+
+.fa-euro-sign:before {
+ content: "\f153";
+}
+
+.fa-evernote:before {
+ content: "\f839";
+}
+
+.fa-exchange-alt:before {
+ content: "\f362";
+}
+
+.fa-exclamation:before {
+ content: "\f12a";
+}
+
+.fa-exclamation-circle:before {
+ content: "\f06a";
+}
+
+.fa-exclamation-triangle:before {
+ content: "\f071";
+}
+
+.fa-expand:before {
+ content: "\f065";
+}
+
+.fa-expand-alt:before {
+ content: "\f424";
+}
+
+.fa-expand-arrows-alt:before {
+ content: "\f31e";
+}
+
+.fa-expeditedssl:before {
+ content: "\f23e";
+}
+
+.fa-external-link-alt:before {
+ content: "\f35d";
+}
+
+.fa-external-link-square-alt:before {
+ content: "\f360";
+}
+
+.fa-eye:before {
+ content: "\f06e";
+}
+
+.fa-eye-dropper:before {
+ content: "\f1fb";
+}
+
+.fa-eye-slash:before {
+ content: "\f070";
+}
+
+.fa-facebook:before {
+ content: "\f09a";
+}
+
+.fa-facebook-f:before {
+ content: "\f39e";
+}
+
+.fa-facebook-messenger:before {
+ content: "\f39f";
+}
+
+.fa-facebook-square:before {
+ content: "\f082";
+}
+
+.fa-fan:before {
+ content: "\f863";
+}
+
+.fa-fantasy-flight-games:before {
+ content: "\f6dc";
+}
+
+.fa-fast-backward:before {
+ content: "\f049";
+}
+
+.fa-fast-forward:before {
+ content: "\f050";
+}
+
+.fa-faucet:before {
+ content: "\e005";
+}
+
+.fa-fax:before {
+ content: "\f1ac";
+}
+
+.fa-feather:before {
+ content: "\f52d";
+}
+
+.fa-feather-alt:before {
+ content: "\f56b";
+}
+
+.fa-fedex:before {
+ content: "\f797";
+}
+
+.fa-fedora:before {
+ content: "\f798";
+}
+
+.fa-female:before {
+ content: "\f182";
+}
+
+.fa-fighter-jet:before {
+ content: "\f0fb";
+}
+
+.fa-figma:before {
+ content: "\f799";
+}
+
+.fa-file:before {
+ content: "\f15b";
+}
+
+.fa-file-alt:before {
+ content: "\f15c";
+}
+
+.fa-file-archive:before {
+ content: "\f1c6";
+}
+
+.fa-file-audio:before {
+ content: "\f1c7";
+}
+
+.fa-file-code:before {
+ content: "\f1c9";
+}
+
+.fa-file-contract:before {
+ content: "\f56c";
+}
+
+.fa-file-csv:before {
+ content: "\f6dd";
+}
+
+.fa-file-download:before {
+ content: "\f56d";
+}
+
+.fa-file-excel:before {
+ content: "\f1c3";
+}
+
+.fa-file-export:before {
+ content: "\f56e";
+}
+
+.fa-file-image:before {
+ content: "\f1c5";
+}
+
+.fa-file-import:before {
+ content: "\f56f";
+}
+
+.fa-file-invoice:before {
+ content: "\f570";
+}
+
+.fa-file-invoice-dollar:before {
+ content: "\f571";
+}
+
+.fa-file-medical:before {
+ content: "\f477";
+}
+
+.fa-file-medical-alt:before {
+ content: "\f478";
+}
+
+.fa-file-pdf:before {
+ content: "\f1c1";
+}
+
+.fa-file-powerpoint:before {
+ content: "\f1c4";
+}
+
+.fa-file-prescription:before {
+ content: "\f572";
+}
+
+.fa-file-signature:before {
+ content: "\f573";
+}
+
+.fa-file-upload:before {
+ content: "\f574";
+}
+
+.fa-file-video:before {
+ content: "\f1c8";
+}
+
+.fa-file-word:before {
+ content: "\f1c2";
+}
+
+.fa-fill:before {
+ content: "\f575";
+}
+
+.fa-fill-drip:before {
+ content: "\f576";
+}
+
+.fa-film:before {
+ content: "\f008";
+}
+
+.fa-filter:before {
+ content: "\f0b0";
+}
+
+.fa-fingerprint:before {
+ content: "\f577";
+}
+
+.fa-fire:before {
+ content: "\f06d";
+}
+
+.fa-fire-alt:before {
+ content: "\f7e4";
+}
+
+.fa-fire-extinguisher:before {
+ content: "\f134";
+}
+
+.fa-firefox:before {
+ content: "\f269";
+}
+
+.fa-firefox-browser:before {
+ content: "\e007";
+}
+
+.fa-first-aid:before {
+ content: "\f479";
+}
+
+.fa-first-order:before {
+ content: "\f2b0";
+}
+
+.fa-first-order-alt:before {
+ content: "\f50a";
+}
+
+.fa-firstdraft:before {
+ content: "\f3a1";
+}
+
+.fa-fish:before {
+ content: "\f578";
+}
+
+.fa-fist-raised:before {
+ content: "\f6de";
+}
+
+.fa-flag:before {
+ content: "\f024";
+}
+
+.fa-flag-checkered:before {
+ content: "\f11e";
+}
+
+.fa-flag-usa:before {
+ content: "\f74d";
+}
+
+.fa-flask:before {
+ content: "\f0c3";
+}
+
+.fa-flickr:before {
+ content: "\f16e";
+}
+
+.fa-flipboard:before {
+ content: "\f44d";
+}
+
+.fa-flushed:before {
+ content: "\f579";
+}
+
+.fa-fly:before {
+ content: "\f417";
+}
+
+.fa-folder:before {
+ content: "\f07b";
+}
+
+.fa-folder-minus:before {
+ content: "\f65d";
+}
+
+.fa-folder-open:before {
+ content: "\f07c";
+}
+
+.fa-folder-plus:before {
+ content: "\f65e";
+}
+
+.fa-font:before {
+ content: "\f031";
+}
+
+.fa-font-awesome:before {
+ content: "\f2b4";
+}
+
+.fa-font-awesome-alt:before {
+ content: "\f35c";
+}
+
+.fa-font-awesome-flag:before {
+ content: "\f425";
+}
+
+.fa-font-awesome-logo-full:before {
+ content: "\f4e6";
+}
+
+.fa-fonticons:before {
+ content: "\f280";
+}
+
+.fa-fonticons-fi:before {
+ content: "\f3a2";
+}
+
+.fa-football-ball:before {
+ content: "\f44e";
+}
+
+.fa-fort-awesome:before {
+ content: "\f286";
+}
+
+.fa-fort-awesome-alt:before {
+ content: "\f3a3";
+}
+
+.fa-forumbee:before {
+ content: "\f211";
+}
+
+.fa-forward:before {
+ content: "\f04e";
+}
+
+.fa-foursquare:before {
+ content: "\f180";
+}
+
+.fa-free-code-camp:before {
+ content: "\f2c5";
+}
+
+.fa-freebsd:before {
+ content: "\f3a4";
+}
+
+.fa-frog:before {
+ content: "\f52e";
+}
+
+.fa-frown:before {
+ content: "\f119";
+}
+
+.fa-frown-open:before {
+ content: "\f57a";
+}
+
+.fa-fulcrum:before {
+ content: "\f50b";
+}
+
+.fa-funnel-dollar:before {
+ content: "\f662";
+}
+
+.fa-futbol:before {
+ content: "\f1e3";
+}
+
+.fa-galactic-republic:before {
+ content: "\f50c";
+}
+
+.fa-galactic-senate:before {
+ content: "\f50d";
+}
+
+.fa-gamepad:before {
+ content: "\f11b";
+}
+
+.fa-gas-pump:before {
+ content: "\f52f";
+}
+
+.fa-gavel:before {
+ content: "\f0e3";
+}
+
+.fa-gem:before {
+ content: "\f3a5";
+}
+
+.fa-genderless:before {
+ content: "\f22d";
+}
+
+.fa-get-pocket:before {
+ content: "\f265";
+}
+
+.fa-gg:before {
+ content: "\f260";
+}
+
+.fa-gg-circle:before {
+ content: "\f261";
+}
+
+.fa-ghost:before {
+ content: "\f6e2";
+}
+
+.fa-gift:before {
+ content: "\f06b";
+}
+
+.fa-gifts:before {
+ content: "\f79c";
+}
+
+.fa-git:before {
+ content: "\f1d3";
+}
+
+.fa-git-alt:before {
+ content: "\f841";
+}
+
+.fa-git-square:before {
+ content: "\f1d2";
+}
+
+.fa-github:before {
+ content: "\f09b";
+}
+
+.fa-github-alt:before {
+ content: "\f113";
+}
+
+.fa-github-square:before {
+ content: "\f092";
+}
+
+.fa-gitkraken:before {
+ content: "\f3a6";
+}
+
+.fa-gitlab:before {
+ content: "\f296";
+}
+
+.fa-gitter:before {
+ content: "\f426";
+}
+
+.fa-glass-cheers:before {
+ content: "\f79f";
+}
+
+.fa-glass-martini:before {
+ content: "\f000";
+}
+
+.fa-glass-martini-alt:before {
+ content: "\f57b";
+}
+
+.fa-glass-whiskey:before {
+ content: "\f7a0";
+}
+
+.fa-glasses:before {
+ content: "\f530";
+}
+
+.fa-glide:before {
+ content: "\f2a5";
+}
+
+.fa-glide-g:before {
+ content: "\f2a6";
+}
+
+.fa-globe:before {
+ content: "\f0ac";
+}
+
+.fa-globe-africa:before {
+ content: "\f57c";
+}
+
+.fa-globe-americas:before {
+ content: "\f57d";
+}
+
+.fa-globe-asia:before {
+ content: "\f57e";
+}
+
+.fa-globe-europe:before {
+ content: "\f7a2";
+}
+
+.fa-gofore:before {
+ content: "\f3a7";
+}
+
+.fa-golf-ball:before {
+ content: "\f450";
+}
+
+.fa-goodreads:before {
+ content: "\f3a8";
+}
+
+.fa-goodreads-g:before {
+ content: "\f3a9";
+}
+
+.fa-google:before {
+ content: "\f1a0";
+}
+
+.fa-google-drive:before {
+ content: "\f3aa";
+}
+
+.fa-google-pay:before {
+ content: "\e079";
+}
+
+.fa-google-play:before {
+ content: "\f3ab";
+}
+
+.fa-google-plus:before {
+ content: "\f2b3";
+}
+
+.fa-google-plus-g:before {
+ content: "\f0d5";
+}
+
+.fa-google-plus-square:before {
+ content: "\f0d4";
+}
+
+.fa-google-wallet:before {
+ content: "\f1ee";
+}
+
+.fa-gopuram:before {
+ content: "\f664";
+}
+
+.fa-graduation-cap:before {
+ content: "\f19d";
+}
+
+.fa-gratipay:before {
+ content: "\f184";
+}
+
+.fa-grav:before {
+ content: "\f2d6";
+}
+
+.fa-greater-than:before {
+ content: "\f531";
+}
+
+.fa-greater-than-equal:before {
+ content: "\f532";
+}
+
+.fa-grimace:before {
+ content: "\f57f";
+}
+
+.fa-grin:before {
+ content: "\f580";
+}
+
+.fa-grin-alt:before {
+ content: "\f581";
+}
+
+.fa-grin-beam:before {
+ content: "\f582";
+}
+
+.fa-grin-beam-sweat:before {
+ content: "\f583";
+}
+
+.fa-grin-hearts:before {
+ content: "\f584";
+}
+
+.fa-grin-squint:before {
+ content: "\f585";
+}
+
+.fa-grin-squint-tears:before {
+ content: "\f586";
+}
+
+.fa-grin-stars:before {
+ content: "\f587";
+}
+
+.fa-grin-tears:before {
+ content: "\f588";
+}
+
+.fa-grin-tongue:before {
+ content: "\f589";
+}
+
+.fa-grin-tongue-squint:before {
+ content: "\f58a";
+}
+
+.fa-grin-tongue-wink:before {
+ content: "\f58b";
+}
+
+.fa-grin-wink:before {
+ content: "\f58c";
+}
+
+.fa-grip-horizontal:before {
+ content: "\f58d";
+}
+
+.fa-grip-lines:before {
+ content: "\f7a4";
+}
+
+.fa-grip-lines-vertical:before {
+ content: "\f7a5";
+}
+
+.fa-grip-vertical:before {
+ content: "\f58e";
+}
+
+.fa-gripfire:before {
+ content: "\f3ac";
+}
+
+.fa-grunt:before {
+ content: "\f3ad";
+}
+
+.fa-guilded:before {
+ content: "\e07e";
+}
+
+.fa-guitar:before {
+ content: "\f7a6";
+}
+
+.fa-gulp:before {
+ content: "\f3ae";
+}
+
+.fa-h-square:before {
+ content: "\f0fd";
+}
+
+.fa-hacker-news:before {
+ content: "\f1d4";
+}
+
+.fa-hacker-news-square:before {
+ content: "\f3af";
+}
+
+.fa-hackerrank:before {
+ content: "\f5f7";
+}
+
+.fa-hamburger:before {
+ content: "\f805";
+}
+
+.fa-hammer:before {
+ content: "\f6e3";
+}
+
+.fa-hamsa:before {
+ content: "\f665";
+}
+
+.fa-hand-holding:before {
+ content: "\f4bd";
+}
+
+.fa-hand-holding-heart:before {
+ content: "\f4be";
+}
+
+.fa-hand-holding-medical:before {
+ content: "\e05c";
+}
+
+.fa-hand-holding-usd:before {
+ content: "\f4c0";
+}
+
+.fa-hand-holding-water:before {
+ content: "\f4c1";
+}
+
+.fa-hand-lizard:before {
+ content: "\f258";
+}
+
+.fa-hand-middle-finger:before {
+ content: "\f806";
+}
+
+.fa-hand-paper:before {
+ content: "\f256";
+}
+
+.fa-hand-peace:before {
+ content: "\f25b";
+}
+
+.fa-hand-point-down:before {
+ content: "\f0a7";
+}
+
+.fa-hand-point-left:before {
+ content: "\f0a5";
+}
+
+.fa-hand-point-right:before {
+ content: "\f0a4";
+}
+
+.fa-hand-point-up:before {
+ content: "\f0a6";
+}
+
+.fa-hand-pointer:before {
+ content: "\f25a";
+}
+
+.fa-hand-rock:before {
+ content: "\f255";
+}
+
+.fa-hand-scissors:before {
+ content: "\f257";
+}
+
+.fa-hand-sparkles:before {
+ content: "\e05d";
+}
+
+.fa-hand-spock:before {
+ content: "\f259";
+}
+
+.fa-hands:before {
+ content: "\f4c2";
+}
+
+.fa-hands-helping:before {
+ content: "\f4c4";
+}
+
+.fa-hands-wash:before {
+ content: "\e05e";
+}
+
+.fa-handshake:before {
+ content: "\f2b5";
+}
+
+.fa-handshake-alt-slash:before {
+ content: "\e05f";
+}
+
+.fa-handshake-slash:before {
+ content: "\e060";
+}
+
+.fa-hanukiah:before {
+ content: "\f6e6";
+}
+
+.fa-hard-hat:before {
+ content: "\f807";
+}
+
+.fa-hashtag:before {
+ content: "\f292";
+}
+
+.fa-hat-cowboy:before {
+ content: "\f8c0";
+}
+
+.fa-hat-cowboy-side:before {
+ content: "\f8c1";
+}
+
+.fa-hat-wizard:before {
+ content: "\f6e8";
+}
+
+.fa-hdd:before {
+ content: "\f0a0";
+}
+
+.fa-head-side-cough:before {
+ content: "\e061";
+}
+
+.fa-head-side-cough-slash:before {
+ content: "\e062";
+}
+
+.fa-head-side-mask:before {
+ content: "\e063";
+}
+
+.fa-head-side-virus:before {
+ content: "\e064";
+}
+
+.fa-heading:before {
+ content: "\f1dc";
+}
+
+.fa-headphones:before {
+ content: "\f025";
+}
+
+.fa-headphones-alt:before {
+ content: "\f58f";
+}
+
+.fa-headset:before {
+ content: "\f590";
+}
+
+.fa-heart:before {
+ content: "\f004";
+}
+
+.fa-heart-broken:before {
+ content: "\f7a9";
+}
+
+.fa-heartbeat:before {
+ content: "\f21e";
+}
+
+.fa-helicopter:before {
+ content: "\f533";
+}
+
+.fa-highlighter:before {
+ content: "\f591";
+}
+
+.fa-hiking:before {
+ content: "\f6ec";
+}
+
+.fa-hippo:before {
+ content: "\f6ed";
+}
+
+.fa-hips:before {
+ content: "\f452";
+}
+
+.fa-hire-a-helper:before {
+ content: "\f3b0";
+}
+
+.fa-history:before {
+ content: "\f1da";
+}
+
+.fa-hive:before {
+ content: "\e07f";
+}
+
+.fa-hockey-puck:before {
+ content: "\f453";
+}
+
+.fa-holly-berry:before {
+ content: "\f7aa";
+}
+
+.fa-home:before {
+ content: "\f015";
+}
+
+.fa-hooli:before {
+ content: "\f427";
+}
+
+.fa-hornbill:before {
+ content: "\f592";
+}
+
+.fa-horse:before {
+ content: "\f6f0";
+}
+
+.fa-horse-head:before {
+ content: "\f7ab";
+}
+
+.fa-hospital:before {
+ content: "\f0f8";
+}
+
+.fa-hospital-alt:before {
+ content: "\f47d";
+}
+
+.fa-hospital-symbol:before {
+ content: "\f47e";
+}
+
+.fa-hospital-user:before {
+ content: "\f80d";
+}
+
+.fa-hot-tub:before {
+ content: "\f593";
+}
+
+.fa-hotdog:before {
+ content: "\f80f";
+}
+
+.fa-hotel:before {
+ content: "\f594";
+}
+
+.fa-hotjar:before {
+ content: "\f3b1";
+}
+
+.fa-hourglass:before {
+ content: "\f254";
+}
+
+.fa-hourglass-end:before {
+ content: "\f253";
+}
+
+.fa-hourglass-half:before {
+ content: "\f252";
+}
+
+.fa-hourglass-start:before {
+ content: "\f251";
+}
+
+.fa-house-damage:before {
+ content: "\f6f1";
+}
+
+.fa-house-user:before {
+ content: "\e065";
+}
+
+.fa-houzz:before {
+ content: "\f27c";
+}
+
+.fa-hryvnia:before {
+ content: "\f6f2";
+}
+
+.fa-html5:before {
+ content: "\f13b";
+}
+
+.fa-hubspot:before {
+ content: "\f3b2";
+}
+
+.fa-i-cursor:before {
+ content: "\f246";
+}
+
+.fa-ice-cream:before {
+ content: "\f810";
+}
+
+.fa-icicles:before {
+ content: "\f7ad";
+}
+
+.fa-icons:before {
+ content: "\f86d";
+}
+
+.fa-id-badge:before {
+ content: "\f2c1";
+}
+
+.fa-id-card:before {
+ content: "\f2c2";
+}
+
+.fa-id-card-alt:before {
+ content: "\f47f";
+}
+
+.fa-ideal:before {
+ content: "\e013";
+}
+
+.fa-igloo:before {
+ content: "\f7ae";
+}
+
+.fa-image:before {
+ content: "\f03e";
+}
+
+.fa-images:before {
+ content: "\f302";
+}
+
+.fa-imdb:before {
+ content: "\f2d8";
+}
+
+.fa-inbox:before {
+ content: "\f01c";
+}
+
+.fa-indent:before {
+ content: "\f03c";
+}
+
+.fa-industry:before {
+ content: "\f275";
+}
+
+.fa-infinity:before {
+ content: "\f534";
+}
+
+.fa-info:before {
+ content: "\f129";
+}
+
+.fa-info-circle:before {
+ content: "\f05a";
+}
+
+.fa-innosoft:before {
+ content: "\e080";
+}
+
+.fa-instagram:before {
+ content: "\f16d";
+}
+
+.fa-instagram-square:before {
+ content: "\e055";
+}
+
+.fa-instalod:before {
+ content: "\e081";
+}
+
+.fa-intercom:before {
+ content: "\f7af";
+}
+
+.fa-internet-explorer:before {
+ content: "\f26b";
+}
+
+.fa-invision:before {
+ content: "\f7b0";
+}
+
+.fa-ioxhost:before {
+ content: "\f208";
+}
+
+.fa-italic:before {
+ content: "\f033";
+}
+
+.fa-itch-io:before {
+ content: "\f83a";
+}
+
+.fa-itunes:before {
+ content: "\f3b4";
+}
+
+.fa-itunes-note:before {
+ content: "\f3b5";
+}
+
+.fa-java:before {
+ content: "\f4e4";
+}
+
+.fa-jedi:before {
+ content: "\f669";
+}
+
+.fa-jedi-order:before {
+ content: "\f50e";
+}
+
+.fa-jenkins:before {
+ content: "\f3b6";
+}
+
+.fa-jira:before {
+ content: "\f7b1";
+}
+
+.fa-joget:before {
+ content: "\f3b7";
+}
+
+.fa-joint:before {
+ content: "\f595";
+}
+
+.fa-joomla:before {
+ content: "\f1aa";
+}
+
+.fa-journal-whills:before {
+ content: "\f66a";
+}
+
+.fa-js:before {
+ content: "\f3b8";
+}
+
+.fa-js-square:before {
+ content: "\f3b9";
+}
+
+.fa-jsfiddle:before {
+ content: "\f1cc";
+}
+
+.fa-kaaba:before {
+ content: "\f66b";
+}
+
+.fa-kaggle:before {
+ content: "\f5fa";
+}
+
+.fa-key:before {
+ content: "\f084";
+}
+
+.fa-keybase:before {
+ content: "\f4f5";
+}
+
+.fa-keyboard:before {
+ content: "\f11c";
+}
+
+.fa-keycdn:before {
+ content: "\f3ba";
+}
+
+.fa-khanda:before {
+ content: "\f66d";
+}
+
+.fa-kickstarter:before {
+ content: "\f3bb";
+}
+
+.fa-kickstarter-k:before {
+ content: "\f3bc";
+}
+
+.fa-kiss:before {
+ content: "\f596";
+}
+
+.fa-kiss-beam:before {
+ content: "\f597";
+}
+
+.fa-kiss-wink-heart:before {
+ content: "\f598";
+}
+
+.fa-kiwi-bird:before {
+ content: "\f535";
+}
+
+.fa-korvue:before {
+ content: "\f42f";
+}
+
+.fa-landmark:before {
+ content: "\f66f";
+}
+
+.fa-language:before {
+ content: "\f1ab";
+}
+
+.fa-laptop:before {
+ content: "\f109";
+}
+
+.fa-laptop-code:before {
+ content: "\f5fc";
+}
+
+.fa-laptop-house:before {
+ content: "\e066";
+}
+
+.fa-laptop-medical:before {
+ content: "\f812";
+}
+
+.fa-laravel:before {
+ content: "\f3bd";
+}
+
+.fa-lastfm:before {
+ content: "\f202";
+}
+
+.fa-lastfm-square:before {
+ content: "\f203";
+}
+
+.fa-laugh:before {
+ content: "\f599";
+}
+
+.fa-laugh-beam:before {
+ content: "\f59a";
+}
+
+.fa-laugh-squint:before {
+ content: "\f59b";
+}
+
+.fa-laugh-wink:before {
+ content: "\f59c";
+}
+
+.fa-layer-group:before {
+ content: "\f5fd";
+}
+
+.fa-leaf:before {
+ content: "\f06c";
+}
+
+.fa-leanpub:before {
+ content: "\f212";
+}
+
+.fa-lemon:before {
+ content: "\f094";
+}
+
+.fa-less:before {
+ content: "\f41d";
+}
+
+.fa-less-than:before {
+ content: "\f536";
+}
+
+.fa-less-than-equal:before {
+ content: "\f537";
+}
+
+.fa-level-down-alt:before {
+ content: "\f3be";
+}
+
+.fa-level-up-alt:before {
+ content: "\f3bf";
+}
+
+.fa-life-ring:before {
+ content: "\f1cd";
+}
+
+.fa-lightbulb:before {
+ content: "\f0eb";
+}
+
+.fa-line:before {
+ content: "\f3c0";
+}
+
+.fa-link:before {
+ content: "\f0c1";
+}
+
+.fa-linkedin:before {
+ content: "\f08c";
+}
+
+.fa-linkedin-in:before {
+ content: "\f0e1";
+}
+
+.fa-linode:before {
+ content: "\f2b8";
+}
+
+.fa-linux:before {
+ content: "\f17c";
+}
+
+.fa-lira-sign:before {
+ content: "\f195";
+}
+
+.fa-list:before {
+ content: "\f03a";
+}
+
+.fa-list-alt:before {
+ content: "\f022";
+}
+
+.fa-list-ol:before {
+ content: "\f0cb";
+}
+
+.fa-list-ul:before {
+ content: "\f0ca";
+}
+
+.fa-location-arrow:before {
+ content: "\f124";
+}
+
+.fa-lock:before {
+ content: "\f023";
+}
+
+.fa-lock-open:before {
+ content: "\f3c1";
+}
+
+.fa-long-arrow-alt-down:before {
+ content: "\f309";
+}
+
+.fa-long-arrow-alt-left:before {
+ content: "\f30a";
+}
+
+.fa-long-arrow-alt-right:before {
+ content: "\f30b";
+}
+
+.fa-long-arrow-alt-up:before {
+ content: "\f30c";
+}
+
+.fa-low-vision:before {
+ content: "\f2a8";
+}
+
+.fa-luggage-cart:before {
+ content: "\f59d";
+}
+
+.fa-lungs:before {
+ content: "\f604";
+}
+
+.fa-lungs-virus:before {
+ content: "\e067";
+}
+
+.fa-lyft:before {
+ content: "\f3c3";
+}
+
+.fa-magento:before {
+ content: "\f3c4";
+}
+
+.fa-magic:before {
+ content: "\f0d0";
+}
+
+.fa-magnet:before {
+ content: "\f076";
+}
+
+.fa-mail-bulk:before {
+ content: "\f674";
+}
+
+.fa-mailchimp:before {
+ content: "\f59e";
+}
+
+.fa-male:before {
+ content: "\f183";
+}
+
+.fa-mandalorian:before {
+ content: "\f50f";
+}
+
+.fa-map:before {
+ content: "\f279";
+}
+
+.fa-map-marked:before {
+ content: "\f59f";
+}
+
+.fa-map-marked-alt:before {
+ content: "\f5a0";
+}
+
+.fa-map-marker:before {
+ content: "\f041";
+}
+
+.fa-map-marker-alt:before {
+ content: "\f3c5";
+}
+
+.fa-map-pin:before {
+ content: "\f276";
+}
+
+.fa-map-signs:before {
+ content: "\f277";
+}
+
+.fa-markdown:before {
+ content: "\f60f";
+}
+
+.fa-marker:before {
+ content: "\f5a1";
+}
+
+.fa-mars:before {
+ content: "\f222";
+}
+
+.fa-mars-double:before {
+ content: "\f227";
+}
+
+.fa-mars-stroke:before {
+ content: "\f229";
+}
+
+.fa-mars-stroke-h:before {
+ content: "\f22b";
+}
+
+.fa-mars-stroke-v:before {
+ content: "\f22a";
+}
+
+.fa-mask:before {
+ content: "\f6fa";
+}
+
+.fa-mastodon:before {
+ content: "\f4f6";
+}
+
+.fa-maxcdn:before {
+ content: "\f136";
+}
+
+.fa-mdb:before {
+ content: "\f8ca";
+}
+
+.fa-medal:before {
+ content: "\f5a2";
+}
+
+.fa-medapps:before {
+ content: "\f3c6";
+}
+
+.fa-medium:before {
+ content: "\f23a";
+}
+
+.fa-medium-m:before {
+ content: "\f3c7";
+}
+
+.fa-medkit:before {
+ content: "\f0fa";
+}
+
+.fa-medrt:before {
+ content: "\f3c8";
+}
+
+.fa-meetup:before {
+ content: "\f2e0";
+}
+
+.fa-megaport:before {
+ content: "\f5a3";
+}
+
+.fa-meh:before {
+ content: "\f11a";
+}
+
+.fa-meh-blank:before {
+ content: "\f5a4";
+}
+
+.fa-meh-rolling-eyes:before {
+ content: "\f5a5";
+}
+
+.fa-memory:before {
+ content: "\f538";
+}
+
+.fa-mendeley:before {
+ content: "\f7b3";
+}
+
+.fa-menorah:before {
+ content: "\f676";
+}
+
+.fa-mercury:before {
+ content: "\f223";
+}
+
+.fa-meteor:before {
+ content: "\f753";
+}
+
+.fa-microblog:before {
+ content: "\e01a";
+}
+
+.fa-microchip:before {
+ content: "\f2db";
+}
+
+.fa-microphone:before {
+ content: "\f130";
+}
+
+.fa-microphone-alt:before {
+ content: "\f3c9";
+}
+
+.fa-microphone-alt-slash:before {
+ content: "\f539";
+}
+
+.fa-microphone-slash:before {
+ content: "\f131";
+}
+
+.fa-microscope:before {
+ content: "\f610";
+}
+
+.fa-microsoft:before {
+ content: "\f3ca";
+}
+
+.fa-minus:before {
+ content: "\f068";
+}
+
+.fa-minus-circle:before {
+ content: "\f056";
+}
+
+.fa-minus-square:before {
+ content: "\f146";
+}
+
+.fa-mitten:before {
+ content: "\f7b5";
+}
+
+.fa-mix:before {
+ content: "\f3cb";
+}
+
+.fa-mixcloud:before {
+ content: "\f289";
+}
+
+.fa-mixer:before {
+ content: "\e056";
+}
+
+.fa-mizuni:before {
+ content: "\f3cc";
+}
+
+.fa-mobile:before {
+ content: "\f10b";
+}
+
+.fa-mobile-alt:before {
+ content: "\f3cd";
+}
+
+.fa-modx:before {
+ content: "\f285";
+}
+
+.fa-monero:before {
+ content: "\f3d0";
+}
+
+.fa-money-bill:before {
+ content: "\f0d6";
+}
+
+.fa-money-bill-alt:before {
+ content: "\f3d1";
+}
+
+.fa-money-bill-wave:before {
+ content: "\f53a";
+}
+
+.fa-money-bill-wave-alt:before {
+ content: "\f53b";
+}
+
+.fa-money-check:before {
+ content: "\f53c";
+}
+
+.fa-money-check-alt:before {
+ content: "\f53d";
+}
+
+.fa-monument:before {
+ content: "\f5a6";
+}
+
+.fa-moon:before {
+ content: "\f186";
+}
+
+.fa-mortar-pestle:before {
+ content: "\f5a7";
+}
+
+.fa-mosque:before {
+ content: "\f678";
+}
+
+.fa-motorcycle:before {
+ content: "\f21c";
+}
+
+.fa-mountain:before {
+ content: "\f6fc";
+}
+
+.fa-mouse:before {
+ content: "\f8cc";
+}
+
+.fa-mouse-pointer:before {
+ content: "\f245";
+}
+
+.fa-mug-hot:before {
+ content: "\f7b6";
+}
+
+.fa-music:before {
+ content: "\f001";
+}
+
+.fa-napster:before {
+ content: "\f3d2";
+}
+
+.fa-neos:before {
+ content: "\f612";
+}
+
+.fa-network-wired:before {
+ content: "\f6ff";
+}
+
+.fa-neuter:before {
+ content: "\f22c";
+}
+
+.fa-newspaper:before {
+ content: "\f1ea";
+}
+
+.fa-nimblr:before {
+ content: "\f5a8";
+}
+
+.fa-node:before {
+ content: "\f419";
+}
+
+.fa-node-js:before {
+ content: "\f3d3";
+}
+
+.fa-not-equal:before {
+ content: "\f53e";
+}
+
+.fa-notes-medical:before {
+ content: "\f481";
+}
+
+.fa-npm:before {
+ content: "\f3d4";
+}
+
+.fa-ns8:before {
+ content: "\f3d5";
+}
+
+.fa-nutritionix:before {
+ content: "\f3d6";
+}
+
+.fa-object-group:before {
+ content: "\f247";
+}
+
+.fa-object-ungroup:before {
+ content: "\f248";
+}
+
+.fa-octopus-deploy:before {
+ content: "\e082";
+}
+
+.fa-odnoklassniki:before {
+ content: "\f263";
+}
+
+.fa-odnoklassniki-square:before {
+ content: "\f264";
+}
+
+.fa-oil-can:before {
+ content: "\f613";
+}
+
+.fa-old-republic:before {
+ content: "\f510";
+}
+
+.fa-om:before {
+ content: "\f679";
+}
+
+.fa-opencart:before {
+ content: "\f23d";
+}
+
+.fa-openid:before {
+ content: "\f19b";
+}
+
+.fa-opera:before {
+ content: "\f26a";
+}
+
+.fa-optin-monster:before {
+ content: "\f23c";
+}
+
+.fa-orcid:before {
+ content: "\f8d2";
+}
+
+.fa-osi:before {
+ content: "\f41a";
+}
+
+.fa-otter:before {
+ content: "\f700";
+}
+
+.fa-outdent:before {
+ content: "\f03b";
+}
+
+.fa-page4:before {
+ content: "\f3d7";
+}
+
+.fa-pagelines:before {
+ content: "\f18c";
+}
+
+.fa-pager:before {
+ content: "\f815";
+}
+
+.fa-paint-brush:before {
+ content: "\f1fc";
+}
+
+.fa-paint-roller:before {
+ content: "\f5aa";
+}
+
+.fa-palette:before {
+ content: "\f53f";
+}
+
+.fa-palfed:before {
+ content: "\f3d8";
+}
+
+.fa-pallet:before {
+ content: "\f482";
+}
+
+.fa-paper-plane:before {
+ content: "\f1d8";
+}
+
+.fa-paperclip:before {
+ content: "\f0c6";
+}
+
+.fa-parachute-box:before {
+ content: "\f4cd";
+}
+
+.fa-paragraph:before {
+ content: "\f1dd";
+}
+
+.fa-parking:before {
+ content: "\f540";
+}
+
+.fa-passport:before {
+ content: "\f5ab";
+}
+
+.fa-pastafarianism:before {
+ content: "\f67b";
+}
+
+.fa-paste:before {
+ content: "\f0ea";
+}
+
+.fa-patreon:before {
+ content: "\f3d9";
+}
+
+.fa-pause:before {
+ content: "\f04c";
+}
+
+.fa-pause-circle:before {
+ content: "\f28b";
+}
+
+.fa-paw:before {
+ content: "\f1b0";
+}
+
+.fa-paypal:before {
+ content: "\f1ed";
+}
+
+.fa-peace:before {
+ content: "\f67c";
+}
+
+.fa-pen:before {
+ content: "\f304";
+}
+
+.fa-pen-alt:before {
+ content: "\f305";
+}
+
+.fa-pen-fancy:before {
+ content: "\f5ac";
+}
+
+.fa-pen-nib:before {
+ content: "\f5ad";
+}
+
+.fa-pen-square:before {
+ content: "\f14b";
+}
+
+.fa-pencil-alt:before {
+ content: "\f303";
+}
+
+.fa-pencil-ruler:before {
+ content: "\f5ae";
+}
+
+.fa-penny-arcade:before {
+ content: "\f704";
+}
+
+.fa-people-arrows:before {
+ content: "\e068";
+}
+
+.fa-people-carry:before {
+ content: "\f4ce";
+}
+
+.fa-pepper-hot:before {
+ content: "\f816";
+}
+
+.fa-perbyte:before {
+ content: "\e083";
+}
+
+.fa-percent:before {
+ content: "\f295";
+}
+
+.fa-percentage:before {
+ content: "\f541";
+}
+
+.fa-periscope:before {
+ content: "\f3da";
+}
+
+.fa-person-booth:before {
+ content: "\f756";
+}
+
+.fa-phabricator:before {
+ content: "\f3db";
+}
+
+.fa-phoenix-framework:before {
+ content: "\f3dc";
+}
+
+.fa-phoenix-squadron:before {
+ content: "\f511";
+}
+
+.fa-phone:before {
+ content: "\f095";
+}
+
+.fa-phone-alt:before {
+ content: "\f879";
+}
+
+.fa-phone-slash:before {
+ content: "\f3dd";
+}
+
+.fa-phone-square:before {
+ content: "\f098";
+}
+
+.fa-phone-square-alt:before {
+ content: "\f87b";
+}
+
+.fa-phone-volume:before {
+ content: "\f2a0";
+}
+
+.fa-photo-video:before {
+ content: "\f87c";
+}
+
+.fa-php:before {
+ content: "\f457";
+}
+
+.fa-pied-piper:before {
+ content: "\f2ae";
+}
+
+.fa-pied-piper-alt:before {
+ content: "\f1a8";
+}
+
+.fa-pied-piper-hat:before {
+ content: "\f4e5";
+}
+
+.fa-pied-piper-pp:before {
+ content: "\f1a7";
+}
+
+.fa-pied-piper-square:before {
+ content: "\e01e";
+}
+
+.fa-piggy-bank:before {
+ content: "\f4d3";
+}
+
+.fa-pills:before {
+ content: "\f484";
+}
+
+.fa-pinterest:before {
+ content: "\f0d2";
+}
+
+.fa-pinterest-p:before {
+ content: "\f231";
+}
+
+.fa-pinterest-square:before {
+ content: "\f0d3";
+}
+
+.fa-pizza-slice:before {
+ content: "\f818";
+}
+
+.fa-place-of-worship:before {
+ content: "\f67f";
+}
+
+.fa-plane:before {
+ content: "\f072";
+}
+
+.fa-plane-arrival:before {
+ content: "\f5af";
+}
+
+.fa-plane-departure:before {
+ content: "\f5b0";
+}
+
+.fa-plane-slash:before {
+ content: "\e069";
+}
+
+.fa-play:before {
+ content: "\f04b";
+}
+
+.fa-play-circle:before {
+ content: "\f144";
+}
+
+.fa-playstation:before {
+ content: "\f3df";
+}
+
+.fa-plug:before {
+ content: "\f1e6";
+}
+
+.fa-plus:before {
+ content: "\f067";
+}
+
+.fa-plus-circle:before {
+ content: "\f055";
+}
+
+.fa-plus-square:before {
+ content: "\f0fe";
+}
+
+.fa-podcast:before {
+ content: "\f2ce";
+}
+
+.fa-poll:before {
+ content: "\f681";
+}
+
+.fa-poll-h:before {
+ content: "\f682";
+}
+
+.fa-poo:before {
+ content: "\f2fe";
+}
+
+.fa-poo-storm:before {
+ content: "\f75a";
+}
+
+.fa-poop:before {
+ content: "\f619";
+}
+
+.fa-portrait:before {
+ content: "\f3e0";
+}
+
+.fa-pound-sign:before {
+ content: "\f154";
+}
+
+.fa-power-off:before {
+ content: "\f011";
+}
+
+.fa-pray:before {
+ content: "\f683";
+}
+
+.fa-praying-hands:before {
+ content: "\f684";
+}
+
+.fa-prescription:before {
+ content: "\f5b1";
+}
+
+.fa-prescription-bottle:before {
+ content: "\f485";
+}
+
+.fa-prescription-bottle-alt:before {
+ content: "\f486";
+}
+
+.fa-print:before {
+ content: "\f02f";
+}
+
+.fa-procedures:before {
+ content: "\f487";
+}
+
+.fa-product-hunt:before {
+ content: "\f288";
+}
+
+.fa-project-diagram:before {
+ content: "\f542";
+}
+
+.fa-pump-medical:before {
+ content: "\e06a";
+}
+
+.fa-pump-soap:before {
+ content: "\e06b";
+}
+
+.fa-pushed:before {
+ content: "\f3e1";
+}
+
+.fa-puzzle-piece:before {
+ content: "\f12e";
+}
+
+.fa-python:before {
+ content: "\f3e2";
+}
+
+.fa-qq:before {
+ content: "\f1d6";
+}
+
+.fa-qrcode:before {
+ content: "\f029";
+}
+
+.fa-question:before {
+ content: "\f128";
+}
+
+.fa-question-circle:before {
+ content: "\f059";
+}
+
+.fa-quidditch:before {
+ content: "\f458";
+}
+
+.fa-quinscape:before {
+ content: "\f459";
+}
+
+.fa-quora:before {
+ content: "\f2c4";
+}
+
+.fa-quote-left:before {
+ content: "\f10d";
+}
+
+.fa-quote-right:before {
+ content: "\f10e";
+}
+
+.fa-quran:before {
+ content: "\f687";
+}
+
+.fa-r-project:before {
+ content: "\f4f7";
+}
+
+.fa-radiation:before {
+ content: "\f7b9";
+}
+
+.fa-radiation-alt:before {
+ content: "\f7ba";
+}
+
+.fa-rainbow:before {
+ content: "\f75b";
+}
+
+.fa-random:before {
+ content: "\f074";
+}
+
+.fa-raspberry-pi:before {
+ content: "\f7bb";
+}
+
+.fa-ravelry:before {
+ content: "\f2d9";
+}
+
+.fa-react:before {
+ content: "\f41b";
+}
+
+.fa-reacteurope:before {
+ content: "\f75d";
+}
+
+.fa-readme:before {
+ content: "\f4d5";
+}
+
+.fa-rebel:before {
+ content: "\f1d0";
+}
+
+.fa-receipt:before {
+ content: "\f543";
+}
+
+.fa-record-vinyl:before {
+ content: "\f8d9";
+}
+
+.fa-recycle:before {
+ content: "\f1b8";
+}
+
+.fa-red-river:before {
+ content: "\f3e3";
+}
+
+.fa-reddit:before {
+ content: "\f1a1";
+}
+
+.fa-reddit-alien:before {
+ content: "\f281";
+}
+
+.fa-reddit-square:before {
+ content: "\f1a2";
+}
+
+.fa-redhat:before {
+ content: "\f7bc";
+}
+
+.fa-redo:before {
+ content: "\f01e";
+}
+
+.fa-redo-alt:before {
+ content: "\f2f9";
+}
+
+.fa-registered:before {
+ content: "\f25d";
+}
+
+.fa-remove-format:before {
+ content: "\f87d";
+}
+
+.fa-renren:before {
+ content: "\f18b";
+}
+
+.fa-reply:before {
+ content: "\f3e5";
+}
+
+.fa-reply-all:before {
+ content: "\f122";
+}
+
+.fa-replyd:before {
+ content: "\f3e6";
+}
+
+.fa-republican:before {
+ content: "\f75e";
+}
+
+.fa-researchgate:before {
+ content: "\f4f8";
+}
+
+.fa-resolving:before {
+ content: "\f3e7";
+}
+
+.fa-restroom:before {
+ content: "\f7bd";
+}
+
+.fa-retweet:before {
+ content: "\f079";
+}
+
+.fa-rev:before {
+ content: "\f5b2";
+}
+
+.fa-ribbon:before {
+ content: "\f4d6";
+}
+
+.fa-ring:before {
+ content: "\f70b";
+}
+
+.fa-road:before {
+ content: "\f018";
+}
+
+.fa-robot:before {
+ content: "\f544";
+}
+
+.fa-rocket:before {
+ content: "\f135";
+}
+
+.fa-rocketchat:before {
+ content: "\f3e8";
+}
+
+.fa-rockrms:before {
+ content: "\f3e9";
+}
+
+.fa-route:before {
+ content: "\f4d7";
+}
+
+.fa-rss:before {
+ content: "\f09e";
+}
+
+.fa-rss-square:before {
+ content: "\f143";
+}
+
+.fa-ruble-sign:before {
+ content: "\f158";
+}
+
+.fa-ruler:before {
+ content: "\f545";
+}
+
+.fa-ruler-combined:before {
+ content: "\f546";
+}
+
+.fa-ruler-horizontal:before {
+ content: "\f547";
+}
+
+.fa-ruler-vertical:before {
+ content: "\f548";
+}
+
+.fa-running:before {
+ content: "\f70c";
+}
+
+.fa-rupee-sign:before {
+ content: "\f156";
+}
+
+.fa-rust:before {
+ content: "\e07a";
+}
+
+.fa-sad-cry:before {
+ content: "\f5b3";
+}
+
+.fa-sad-tear:before {
+ content: "\f5b4";
+}
+
+.fa-safari:before {
+ content: "\f267";
+}
+
+.fa-salesforce:before {
+ content: "\f83b";
+}
+
+.fa-sass:before {
+ content: "\f41e";
+}
+
+.fa-satellite:before {
+ content: "\f7bf";
+}
+
+.fa-satellite-dish:before {
+ content: "\f7c0";
+}
+
+.fa-save:before {
+ content: "\f0c7";
+}
+
+.fa-schlix:before {
+ content: "\f3ea";
+}
+
+.fa-school:before {
+ content: "\f549";
+}
+
+.fa-screwdriver:before {
+ content: "\f54a";
+}
+
+.fa-scribd:before {
+ content: "\f28a";
+}
+
+.fa-scroll:before {
+ content: "\f70e";
+}
+
+.fa-sd-card:before {
+ content: "\f7c2";
+}
+
+.fa-search:before {
+ content: "\f002";
+}
+
+.fa-search-dollar:before {
+ content: "\f688";
+}
+
+.fa-search-location:before {
+ content: "\f689";
+}
+
+.fa-search-minus:before {
+ content: "\f010";
+}
+
+.fa-search-plus:before {
+ content: "\f00e";
+}
+
+.fa-searchengin:before {
+ content: "\f3eb";
+}
+
+.fa-seedling:before {
+ content: "\f4d8";
+}
+
+.fa-sellcast:before {
+ content: "\f2da";
+}
+
+.fa-sellsy:before {
+ content: "\f213";
+}
+
+.fa-server:before {
+ content: "\f233";
+}
+
+.fa-servicestack:before {
+ content: "\f3ec";
+}
+
+.fa-shapes:before {
+ content: "\f61f";
+}
+
+.fa-share:before {
+ content: "\f064";
+}
+
+.fa-share-alt:before {
+ content: "\f1e0";
+}
+
+.fa-share-alt-square:before {
+ content: "\f1e1";
+}
+
+.fa-share-square:before {
+ content: "\f14d";
+}
+
+.fa-shekel-sign:before {
+ content: "\f20b";
+}
+
+.fa-shield-alt:before {
+ content: "\f3ed";
+}
+
+.fa-shield-virus:before {
+ content: "\e06c";
+}
+
+.fa-ship:before {
+ content: "\f21a";
+}
+
+.fa-shipping-fast:before {
+ content: "\f48b";
+}
+
+.fa-shirtsinbulk:before {
+ content: "\f214";
+}
+
+.fa-shoe-prints:before {
+ content: "\f54b";
+}
+
+.fa-shopify:before {
+ content: "\e057";
+}
+
+.fa-shopping-bag:before {
+ content: "\f290";
+}
+
+.fa-shopping-basket:before {
+ content: "\f291";
+}
+
+.fa-shopping-cart:before {
+ content: "\f07a";
+}
+
+.fa-shopware:before {
+ content: "\f5b5";
+}
+
+.fa-shower:before {
+ content: "\f2cc";
+}
+
+.fa-shuttle-van:before {
+ content: "\f5b6";
+}
+
+.fa-sign:before {
+ content: "\f4d9";
+}
+
+.fa-sign-in-alt:before {
+ content: "\f2f6";
+}
+
+.fa-sign-language:before {
+ content: "\f2a7";
+}
+
+.fa-sign-out-alt:before {
+ content: "\f2f5";
+}
+
+.fa-signal:before {
+ content: "\f012";
+}
+
+.fa-signature:before {
+ content: "\f5b7";
+}
+
+.fa-sim-card:before {
+ content: "\f7c4";
+}
+
+.fa-simplybuilt:before {
+ content: "\f215";
+}
+
+.fa-sink:before {
+ content: "\e06d";
+}
+
+.fa-sistrix:before {
+ content: "\f3ee";
+}
+
+.fa-sitemap:before {
+ content: "\f0e8";
+}
+
+.fa-sith:before {
+ content: "\f512";
+}
+
+.fa-skating:before {
+ content: "\f7c5";
+}
+
+.fa-sketch:before {
+ content: "\f7c6";
+}
+
+.fa-skiing:before {
+ content: "\f7c9";
+}
+
+.fa-skiing-nordic:before {
+ content: "\f7ca";
+}
+
+.fa-skull:before {
+ content: "\f54c";
+}
+
+.fa-skull-crossbones:before {
+ content: "\f714";
+}
+
+.fa-skyatlas:before {
+ content: "\f216";
+}
+
+.fa-skype:before {
+ content: "\f17e";
+}
+
+.fa-slack:before {
+ content: "\f198";
+}
+
+.fa-slack-hash:before {
+ content: "\f3ef";
+}
+
+.fa-slash:before {
+ content: "\f715";
+}
+
+.fa-sleigh:before {
+ content: "\f7cc";
+}
+
+.fa-sliders-h:before {
+ content: "\f1de";
+}
+
+.fa-slideshare:before {
+ content: "\f1e7";
+}
+
+.fa-smile:before {
+ content: "\f118";
+}
+
+.fa-smile-beam:before {
+ content: "\f5b8";
+}
+
+.fa-smile-wink:before {
+ content: "\f4da";
+}
+
+.fa-smog:before {
+ content: "\f75f";
+}
+
+.fa-smoking:before {
+ content: "\f48d";
+}
+
+.fa-smoking-ban:before {
+ content: "\f54d";
+}
+
+.fa-sms:before {
+ content: "\f7cd";
+}
+
+.fa-snapchat:before {
+ content: "\f2ab";
+}
+
+.fa-snapchat-ghost:before {
+ content: "\f2ac";
+}
+
+.fa-snapchat-square:before {
+ content: "\f2ad";
+}
+
+.fa-snowboarding:before {
+ content: "\f7ce";
+}
+
+.fa-snowflake:before {
+ content: "\f2dc";
+}
+
+.fa-snowman:before {
+ content: "\f7d0";
+}
+
+.fa-snowplow:before {
+ content: "\f7d2";
+}
+
+.fa-soap:before {
+ content: "\e06e";
+}
+
+.fa-socks:before {
+ content: "\f696";
+}
+
+.fa-solar-panel:before {
+ content: "\f5ba";
+}
+
+.fa-sort:before {
+ content: "\f0dc";
+}
+
+.fa-sort-alpha-down:before {
+ content: "\f15d";
+}
+
+.fa-sort-alpha-down-alt:before {
+ content: "\f881";
+}
+
+.fa-sort-alpha-up:before {
+ content: "\f15e";
+}
+
+.fa-sort-alpha-up-alt:before {
+ content: "\f882";
+}
+
+.fa-sort-amount-down:before {
+ content: "\f160";
+}
+
+.fa-sort-amount-down-alt:before {
+ content: "\f884";
+}
+
+.fa-sort-amount-up:before {
+ content: "\f161";
+}
+
+.fa-sort-amount-up-alt:before {
+ content: "\f885";
+}
+
+.fa-sort-down:before {
+ content: "\f0dd";
+}
+
+.fa-sort-numeric-down:before {
+ content: "\f162";
+}
+
+.fa-sort-numeric-down-alt:before {
+ content: "\f886";
+}
+
+.fa-sort-numeric-up:before {
+ content: "\f163";
+}
+
+.fa-sort-numeric-up-alt:before {
+ content: "\f887";
+}
+
+.fa-sort-up:before {
+ content: "\f0de";
+}
+
+.fa-soundcloud:before {
+ content: "\f1be";
+}
+
+.fa-sourcetree:before {
+ content: "\f7d3";
+}
+
+.fa-spa:before {
+ content: "\f5bb";
+}
+
+.fa-space-shuttle:before {
+ content: "\f197";
+}
+
+.fa-speakap:before {
+ content: "\f3f3";
+}
+
+.fa-speaker-deck:before {
+ content: "\f83c";
+}
+
+.fa-spell-check:before {
+ content: "\f891";
+}
+
+.fa-spider:before {
+ content: "\f717";
+}
+
+.fa-spinner:before {
+ content: "\f110";
+}
+
+.fa-splotch:before {
+ content: "\f5bc";
+}
+
+.fa-spotify:before {
+ content: "\f1bc";
+}
+
+.fa-spray-can:before {
+ content: "\f5bd";
+}
+
+.fa-square:before {
+ content: "\f0c8";
+}
+
+.fa-square-full:before {
+ content: "\f45c";
+}
+
+.fa-square-root-alt:before {
+ content: "\f698";
+}
+
+.fa-squarespace:before {
+ content: "\f5be";
+}
+
+.fa-stack-exchange:before {
+ content: "\f18d";
+}
+
+.fa-stack-overflow:before {
+ content: "\f16c";
+}
+
+.fa-stackpath:before {
+ content: "\f842";
+}
+
+.fa-stamp:before {
+ content: "\f5bf";
+}
+
+.fa-star:before {
+ content: "\f005";
+}
+
+.fa-star-and-crescent:before {
+ content: "\f699";
+}
+
+.fa-star-half:before {
+ content: "\f089";
+}
+
+.fa-star-half-alt:before {
+ content: "\f5c0";
+}
+
+.fa-star-of-david:before {
+ content: "\f69a";
+}
+
+.fa-star-of-life:before {
+ content: "\f621";
+}
+
+.fa-staylinked:before {
+ content: "\f3f5";
+}
+
+.fa-steam:before {
+ content: "\f1b6";
+}
+
+.fa-steam-square:before {
+ content: "\f1b7";
+}
+
+.fa-steam-symbol:before {
+ content: "\f3f6";
+}
+
+.fa-step-backward:before {
+ content: "\f048";
+}
+
+.fa-step-forward:before {
+ content: "\f051";
+}
+
+.fa-stethoscope:before {
+ content: "\f0f1";
+}
+
+.fa-sticker-mule:before {
+ content: "\f3f7";
+}
+
+.fa-sticky-note:before {
+ content: "\f249";
+}
+
+.fa-stop:before {
+ content: "\f04d";
+}
+
+.fa-stop-circle:before {
+ content: "\f28d";
+}
+
+.fa-stopwatch:before {
+ content: "\f2f2";
+}
+
+.fa-stopwatch-20:before {
+ content: "\e06f";
+}
+
+.fa-store:before {
+ content: "\f54e";
+}
+
+.fa-store-alt:before {
+ content: "\f54f";
+}
+
+.fa-store-alt-slash:before {
+ content: "\e070";
+}
+
+.fa-store-slash:before {
+ content: "\e071";
+}
+
+.fa-strava:before {
+ content: "\f428";
+}
+
+.fa-stream:before {
+ content: "\f550";
+}
+
+.fa-street-view:before {
+ content: "\f21d";
+}
+
+.fa-strikethrough:before {
+ content: "\f0cc";
+}
+
+.fa-stripe:before {
+ content: "\f429";
+}
+
+.fa-stripe-s:before {
+ content: "\f42a";
+}
+
+.fa-stroopwafel:before {
+ content: "\f551";
+}
+
+.fa-studiovinari:before {
+ content: "\f3f8";
+}
+
+.fa-stumbleupon:before {
+ content: "\f1a4";
+}
+
+.fa-stumbleupon-circle:before {
+ content: "\f1a3";
+}
+
+.fa-subscript:before {
+ content: "\f12c";
+}
+
+.fa-subway:before {
+ content: "\f239";
+}
+
+.fa-suitcase:before {
+ content: "\f0f2";
+}
+
+.fa-suitcase-rolling:before {
+ content: "\f5c1";
+}
+
+.fa-sun:before {
+ content: "\f185";
+}
+
+.fa-superpowers:before {
+ content: "\f2dd";
+}
+
+.fa-superscript:before {
+ content: "\f12b";
+}
+
+.fa-supple:before {
+ content: "\f3f9";
+}
+
+.fa-surprise:before {
+ content: "\f5c2";
+}
+
+.fa-suse:before {
+ content: "\f7d6";
+}
+
+.fa-swatchbook:before {
+ content: "\f5c3";
+}
+
+.fa-swift:before {
+ content: "\f8e1";
+}
+
+.fa-swimmer:before {
+ content: "\f5c4";
+}
+
+.fa-swimming-pool:before {
+ content: "\f5c5";
+}
+
+.fa-symfony:before {
+ content: "\f83d";
+}
+
+.fa-synagogue:before {
+ content: "\f69b";
+}
+
+.fa-sync:before {
+ content: "\f021";
+}
+
+.fa-sync-alt:before {
+ content: "\f2f1";
+}
+
+.fa-syringe:before {
+ content: "\f48e";
+}
+
+.fa-table:before {
+ content: "\f0ce";
+}
+
+.fa-table-tennis:before {
+ content: "\f45d";
+}
+
+.fa-tablet:before {
+ content: "\f10a";
+}
+
+.fa-tablet-alt:before {
+ content: "\f3fa";
+}
+
+.fa-tablets:before {
+ content: "\f490";
+}
+
+.fa-tachometer-alt:before {
+ content: "\f3fd";
+}
+
+.fa-tag:before {
+ content: "\f02b";
+}
+
+.fa-tags:before {
+ content: "\f02c";
+}
+
+.fa-tape:before {
+ content: "\f4db";
+}
+
+.fa-tasks:before {
+ content: "\f0ae";
+}
+
+.fa-taxi:before {
+ content: "\f1ba";
+}
+
+.fa-teamspeak:before {
+ content: "\f4f9";
+}
+
+.fa-teeth:before {
+ content: "\f62e";
+}
+
+.fa-teeth-open:before {
+ content: "\f62f";
+}
+
+.fa-telegram:before {
+ content: "\f2c6";
+}
+
+.fa-telegram-plane:before {
+ content: "\f3fe";
+}
+
+.fa-temperature-high:before {
+ content: "\f769";
+}
+
+.fa-temperature-low:before {
+ content: "\f76b";
+}
+
+.fa-tencent-weibo:before {
+ content: "\f1d5";
+}
+
+.fa-tenge:before {
+ content: "\f7d7";
+}
+
+.fa-terminal:before {
+ content: "\f120";
+}
+
+.fa-text-height:before {
+ content: "\f034";
+}
+
+.fa-text-width:before {
+ content: "\f035";
+}
+
+.fa-th:before {
+ content: "\f00a";
+}
+
+.fa-th-large:before {
+ content: "\f009";
+}
+
+.fa-th-list:before {
+ content: "\f00b";
+}
+
+.fa-the-red-yeti:before {
+ content: "\f69d";
+}
+
+.fa-theater-masks:before {
+ content: "\f630";
+}
+
+.fa-themeco:before {
+ content: "\f5c6";
+}
+
+.fa-themeisle:before {
+ content: "\f2b2";
+}
+
+.fa-thermometer:before {
+ content: "\f491";
+}
+
+.fa-thermometer-empty:before {
+ content: "\f2cb";
+}
+
+.fa-thermometer-full:before {
+ content: "\f2c7";
+}
+
+.fa-thermometer-half:before {
+ content: "\f2c9";
+}
+
+.fa-thermometer-quarter:before {
+ content: "\f2ca";
+}
+
+.fa-thermometer-three-quarters:before {
+ content: "\f2c8";
+}
+
+.fa-think-peaks:before {
+ content: "\f731";
+}
+
+.fa-thumbs-down:before {
+ content: "\f165";
+}
+
+.fa-thumbs-up:before {
+ content: "\f164";
+}
+
+.fa-thumbtack:before {
+ content: "\f08d";
+}
+
+.fa-ticket-alt:before {
+ content: "\f3ff";
+}
+
+.fa-tiktok:before {
+ content: "\e07b";
+}
+
+.fa-times:before {
+ content: "\f00d";
+}
+
+.fa-times-circle:before {
+ content: "\f057";
+}
+
+.fa-tint:before {
+ content: "\f043";
+}
+
+.fa-tint-slash:before {
+ content: "\f5c7";
+}
+
+.fa-tired:before {
+ content: "\f5c8";
+}
+
+.fa-toggle-off:before {
+ content: "\f204";
+}
+
+.fa-toggle-on:before {
+ content: "\f205";
+}
+
+.fa-toilet:before {
+ content: "\f7d8";
+}
+
+.fa-toilet-paper:before {
+ content: "\f71e";
+}
+
+.fa-toilet-paper-slash:before {
+ content: "\e072";
+}
+
+.fa-toolbox:before {
+ content: "\f552";
+}
+
+.fa-tools:before {
+ content: "\f7d9";
+}
+
+.fa-tooth:before {
+ content: "\f5c9";
+}
+
+.fa-torah:before {
+ content: "\f6a0";
+}
+
+.fa-torii-gate:before {
+ content: "\f6a1";
+}
+
+.fa-tractor:before {
+ content: "\f722";
+}
+
+.fa-trade-federation:before {
+ content: "\f513";
+}
+
+.fa-trademark:before {
+ content: "\f25c";
+}
+
+.fa-traffic-light:before {
+ content: "\f637";
+}
+
+.fa-trailer:before {
+ content: "\e041";
+}
+
+.fa-train:before {
+ content: "\f238";
+}
+
+.fa-tram:before {
+ content: "\f7da";
+}
+
+.fa-transgender:before {
+ content: "\f224";
+}
+
+.fa-transgender-alt:before {
+ content: "\f225";
+}
+
+.fa-trash:before {
+ content: "\f1f8";
+}
+
+.fa-trash-alt:before {
+ content: "\f2ed";
+}
+
+.fa-trash-restore:before {
+ content: "\f829";
+}
+
+.fa-trash-restore-alt:before {
+ content: "\f82a";
+}
+
+.fa-tree:before {
+ content: "\f1bb";
+}
+
+.fa-trello:before {
+ content: "\f181";
+}
+
+.fa-trophy:before {
+ content: "\f091";
+}
+
+.fa-truck:before {
+ content: "\f0d1";
+}
+
+.fa-truck-loading:before {
+ content: "\f4de";
+}
+
+.fa-truck-monster:before {
+ content: "\f63b";
+}
+
+.fa-truck-moving:before {
+ content: "\f4df";
+}
+
+.fa-truck-pickup:before {
+ content: "\f63c";
+}
+
+.fa-tshirt:before {
+ content: "\f553";
+}
+
+.fa-tty:before {
+ content: "\f1e4";
+}
+
+.fa-tumblr:before {
+ content: "\f173";
+}
+
+.fa-tumblr-square:before {
+ content: "\f174";
+}
+
+.fa-tv:before {
+ content: "\f26c";
+}
+
+.fa-twitch:before {
+ content: "\f1e8";
+}
+
+.fa-twitter:before {
+ content: "\f099";
+}
+
+.fa-twitter-square:before {
+ content: "\f081";
+}
+
+.fa-typo3:before {
+ content: "\f42b";
+}
+
+.fa-uber:before {
+ content: "\f402";
+}
+
+.fa-ubuntu:before {
+ content: "\f7df";
+}
+
+.fa-uikit:before {
+ content: "\f403";
+}
+
+.fa-umbraco:before {
+ content: "\f8e8";
+}
+
+.fa-umbrella:before {
+ content: "\f0e9";
+}
+
+.fa-umbrella-beach:before {
+ content: "\f5ca";
+}
+
+.fa-uncharted:before {
+ content: "\e084";
+}
+
+.fa-underline:before {
+ content: "\f0cd";
+}
+
+.fa-undo:before {
+ content: "\f0e2";
+}
+
+.fa-undo-alt:before {
+ content: "\f2ea";
+}
+
+.fa-uniregistry:before {
+ content: "\f404";
+}
+
+.fa-unity:before {
+ content: "\e049";
+}
+
+.fa-universal-access:before {
+ content: "\f29a";
+}
+
+.fa-university:before {
+ content: "\f19c";
+}
+
+.fa-unlink:before {
+ content: "\f127";
+}
+
+.fa-unlock:before {
+ content: "\f09c";
+}
+
+.fa-unlock-alt:before {
+ content: "\f13e";
+}
+
+.fa-unsplash:before {
+ content: "\e07c";
+}
+
+.fa-untappd:before {
+ content: "\f405";
+}
+
+.fa-upload:before {
+ content: "\f093";
+}
+
+.fa-ups:before {
+ content: "\f7e0";
+}
+
+.fa-usb:before {
+ content: "\f287";
+}
+
+.fa-user:before {
+ content: "\f007";
+}
+
+.fa-user-alt:before {
+ content: "\f406";
+}
+
+.fa-user-alt-slash:before {
+ content: "\f4fa";
+}
+
+.fa-user-astronaut:before {
+ content: "\f4fb";
+}
+
+.fa-user-check:before {
+ content: "\f4fc";
+}
+
+.fa-user-circle:before {
+ content: "\f2bd";
+}
+
+.fa-user-clock:before {
+ content: "\f4fd";
+}
+
+.fa-user-cog:before {
+ content: "\f4fe";
+}
+
+.fa-user-edit:before {
+ content: "\f4ff";
+}
+
+.fa-user-friends:before {
+ content: "\f500";
+}
+
+.fa-user-graduate:before {
+ content: "\f501";
+}
+
+.fa-user-injured:before {
+ content: "\f728";
+}
+
+.fa-user-lock:before {
+ content: "\f502";
+}
+
+.fa-user-md:before {
+ content: "\f0f0";
+}
+
+.fa-user-minus:before {
+ content: "\f503";
+}
+
+.fa-user-ninja:before {
+ content: "\f504";
+}
+
+.fa-user-nurse:before {
+ content: "\f82f";
+}
+
+.fa-user-plus:before {
+ content: "\f234";
+}
+
+.fa-user-secret:before {
+ content: "\f21b";
+}
+
+.fa-user-shield:before {
+ content: "\f505";
+}
+
+.fa-user-slash:before {
+ content: "\f506";
+}
+
+.fa-user-tag:before {
+ content: "\f507";
+}
+
+.fa-user-tie:before {
+ content: "\f508";
+}
+
+.fa-user-times:before {
+ content: "\f235";
+}
+
+.fa-users:before {
+ content: "\f0c0";
+}
+
+.fa-users-cog:before {
+ content: "\f509";
+}
+
+.fa-users-slash:before {
+ content: "\e073";
+}
+
+.fa-usps:before {
+ content: "\f7e1";
+}
+
+.fa-ussunnah:before {
+ content: "\f407";
+}
+
+.fa-utensil-spoon:before {
+ content: "\f2e5";
+}
+
+.fa-utensils:before {
+ content: "\f2e7";
+}
+
+.fa-vaadin:before {
+ content: "\f408";
+}
+
+.fa-vector-square:before {
+ content: "\f5cb";
+}
+
+.fa-venus:before {
+ content: "\f221";
+}
+
+.fa-venus-double:before {
+ content: "\f226";
+}
+
+.fa-venus-mars:before {
+ content: "\f228";
+}
+
+.fa-vest:before {
+ content: "\e085";
+}
+
+.fa-vest-patches:before {
+ content: "\e086";
+}
+
+.fa-viacoin:before {
+ content: "\f237";
+}
+
+.fa-viadeo:before {
+ content: "\f2a9";
+}
+
+.fa-viadeo-square:before {
+ content: "\f2aa";
+}
+
+.fa-vial:before {
+ content: "\f492";
+}
+
+.fa-vials:before {
+ content: "\f493";
+}
+
+.fa-viber:before {
+ content: "\f409";
+}
+
+.fa-video:before {
+ content: "\f03d";
+}
+
+.fa-video-slash:before {
+ content: "\f4e2";
+}
+
+.fa-vihara:before {
+ content: "\f6a7";
+}
+
+.fa-vimeo:before {
+ content: "\f40a";
+}
+
+.fa-vimeo-square:before {
+ content: "\f194";
+}
+
+.fa-vimeo-v:before {
+ content: "\f27d";
+}
+
+.fa-vine:before {
+ content: "\f1ca";
+}
+
+.fa-virus:before {
+ content: "\e074";
+}
+
+.fa-virus-slash:before {
+ content: "\e075";
+}
+
+.fa-viruses:before {
+ content: "\e076";
+}
+
+.fa-vk:before {
+ content: "\f189";
+}
+
+.fa-vnv:before {
+ content: "\f40b";
+}
+
+.fa-voicemail:before {
+ content: "\f897";
+}
+
+.fa-volleyball-ball:before {
+ content: "\f45f";
+}
+
+.fa-volume-down:before {
+ content: "\f027";
+}
+
+.fa-volume-mute:before {
+ content: "\f6a9";
+}
+
+.fa-volume-off:before {
+ content: "\f026";
+}
+
+.fa-volume-up:before {
+ content: "\f028";
+}
+
+.fa-vote-yea:before {
+ content: "\f772";
+}
+
+.fa-vr-cardboard:before {
+ content: "\f729";
+}
+
+.fa-vuejs:before {
+ content: "\f41f";
+}
+
+.fa-walking:before {
+ content: "\f554";
+}
+
+.fa-wallet:before {
+ content: "\f555";
+}
+
+.fa-warehouse:before {
+ content: "\f494";
+}
+
+.fa-watchman-monitoring:before {
+ content: "\e087";
+}
+
+.fa-water:before {
+ content: "\f773";
+}
+
+.fa-wave-square:before {
+ content: "\f83e";
+}
+
+.fa-waze:before {
+ content: "\f83f";
+}
+
+.fa-weebly:before {
+ content: "\f5cc";
+}
+
+.fa-weibo:before {
+ content: "\f18a";
+}
+
+.fa-weight:before {
+ content: "\f496";
+}
+
+.fa-weight-hanging:before {
+ content: "\f5cd";
+}
+
+.fa-weixin:before {
+ content: "\f1d7";
+}
+
+.fa-whatsapp:before {
+ content: "\f232";
+}
+
+.fa-whatsapp-square:before {
+ content: "\f40c";
+}
+
+.fa-wheelchair:before {
+ content: "\f193";
+}
+
+.fa-whmcs:before {
+ content: "\f40d";
+}
+
+.fa-wifi:before {
+ content: "\f1eb";
+}
+
+.fa-wikipedia-w:before {
+ content: "\f266";
+}
+
+.fa-wind:before {
+ content: "\f72e";
+}
+
+.fa-window-close:before {
+ content: "\f410";
+}
+
+.fa-window-maximize:before {
+ content: "\f2d0";
+}
+
+.fa-window-minimize:before {
+ content: "\f2d1";
+}
+
+.fa-window-restore:before {
+ content: "\f2d2";
+}
+
+.fa-windows:before {
+ content: "\f17a";
+}
+
+.fa-wine-bottle:before {
+ content: "\f72f";
+}
+
+.fa-wine-glass:before {
+ content: "\f4e3";
+}
+
+.fa-wine-glass-alt:before {
+ content: "\f5ce";
+}
+
+.fa-wix:before {
+ content: "\f5cf";
+}
+
+.fa-wizards-of-the-coast:before {
+ content: "\f730";
+}
+
+.fa-wodu:before {
+ content: "\e088";
+}
+
+.fa-wolf-pack-battalion:before {
+ content: "\f514";
+}
+
+.fa-won-sign:before {
+ content: "\f159";
+}
+
+.fa-wordpress:before {
+ content: "\f19a";
+}
+
+.fa-wordpress-simple:before {
+ content: "\f411";
+}
+
+.fa-wpbeginner:before {
+ content: "\f297";
+}
+
+.fa-wpexplorer:before {
+ content: "\f2de";
+}
+
+.fa-wpforms:before {
+ content: "\f298";
+}
+
+.fa-wpressr:before {
+ content: "\f3e4";
+}
+
+.fa-wrench:before {
+ content: "\f0ad";
+}
+
+.fa-x-ray:before {
+ content: "\f497";
+}
+
+.fa-xbox:before {
+ content: "\f412";
+}
+
+.fa-xing:before {
+ content: "\f168";
+}
+
+.fa-xing-square:before {
+ content: "\f169";
+}
+
+.fa-y-combinator:before {
+ content: "\f23b";
+}
+
+.fa-yahoo:before {
+ content: "\f19e";
+}
+
+.fa-yammer:before {
+ content: "\f840";
+}
+
+.fa-yandex:before {
+ content: "\f413";
+}
+
+.fa-yandex-international:before {
+ content: "\f414";
+}
+
+.fa-yarn:before {
+ content: "\f7e3";
+}
+
+.fa-yelp:before {
+ content: "\f1e9";
+}
+
+.fa-yen-sign:before {
+ content: "\f157";
+}
+
+.fa-yin-yang:before {
+ content: "\f6ad";
+}
+
+.fa-yoast:before {
+ content: "\f2b1";
+}
+
+.fa-youtube:before {
+ content: "\f167";
+}
+
+.fa-youtube-square:before {
+ content: "\f431";
+}
+
+.fa-zhihu:before {
+ content: "\f63f";
+}
+
+.sr-only {
+ border: 0;
+ clip: rect(0, 0, 0, 0);
+ height: 1px;
+ margin: -1px;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px;
+}
+
+.sr-only-focusable:active, .sr-only-focusable:focus {
+ clip: auto;
+ height: auto;
+ margin: 0;
+ overflow: visible;
+ position: static;
+ width: auto;
+}
+
+
+.far {
+ font-family: "Font Awesome 5 Free";
+ font-weight: 400;
+}
+
+.fa,
+.fas {
+ font-family: "Font Awesome 5 Free";
+ font-weight: 900;
+}
+
+.fab {
+ font-family: "Font Awesome 5 Brands";
+ font-weight: 400;
+}
+
+body {
+ padding-top: 90px;
+}
+
+.navbar {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ z-index: 1030;
+ background-color: #4e5365;
+ overflow: auto;
+}
+
+@media (min-width: 768px) {
+ body {
+ margin-left: 200px;
+ padding-top: 0;
+ }
+
+ .navbar {
+ background-color: #4e5365;
+ bottom: 0;
+ width: 200px;
+ flex-flow: column nowrap;
+ align-items: flex-start;
+ }
+
+ .navbar .navbar-collapse {
+ flex-grow: 0;
+ flex-direction: column;
+ width: 100%;
+ }
+
+ .navbar .navbar-collapse .navbar-nav {
+ flex-direction: column;
+ width: 100%;
+ }
+
+ .navbar .navbar-collapse .navbar-nav .nav-item {
+ width: 100%;
+ }
+
+ .navbar {
+ right: auto;
+ }
+
+ #sidebar .collapse, #sidebar .navbar-collapse {
+ height: 100vh;
+ padding-bottom: 0;
+ }
+
+ #sidebar::-webkit-scrollbar {
+ width: 10px;
+ }
+
+ #sidebar::-webkit-scrollbar-track {
+ background: #f1f1f1;
+ }
+
+ #sidebar::-webkit-scrollbar-thumb {
+ background: #888;
+ }
+
+ #sidebar::-webkit-scrollbar-thumb:hover {
+ background: #555;
+ }
+}
+#sidebar ul li a {
+ display: block;
+}
+
+#sidebar ul li a:hover {
+ color: #202020;
+ background: gainsboro;
+}
+
+.nav {
+ width: 100%;
+ display: flex;
+}
+
+.nav-link {
+ color: #dde0e3;
+ text-align: center;
+}
+
+a:hover, a:focus {
+ color: darkgray;
+ text-decoration: none;
+ transition: all 0.3s;
+}
+
+.nav-pills .nav-link.active,
+.nav-pills .show .nav-link {
+ background-color: #727586;
+}
+
+.logged-in-user {
+ border-top: 1px solid grey;
+ width: 100%;
+ display: flex;
+ align-items: center;
+ position: -webkit-sticky;
+ position: sticky;
+ top: 100%;
+ padding: 12px 10px 2px;
+}
+
+.img-sidebar {
+ background-color: white;
+ width: 50px;
+ height: 50px;
+ margin-right: 10px;
+ border-radius: 30px;
+}
+
+.logged-in-user p {
+ color: white;
+ margin-top: 10px;
+}
+
+#newUser {
+ text-align: center;
+ width: 50%;
+ margin: 2% auto;
+}
+
+#uniLogin {
+ width: 100%;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+#names {
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+ margin-top: 1%;
+}
+
+#names .col-4 {
+ width: 32%;
+}
+
+#passwords {
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+ margin-top: 1%;
+}
+
+.disabled-button {
+ color: grey;
+ background-color: lightgray;
+ border: 1px solid grey;
+}
+
+.disabled-button:hover {
+ color: grey;
+ background-color: lightgray;
+ border: 1px solid grey;
+}
+
+#passwords .col-6 {
+ width: 49%;
+}
+
+.submitButton {
+ margin-top: 5%;
+}
+
+.edit-profile {
+ width: 100%;
+ display: flex;
+ justify-content: space-evenly;
+ margin: 0 auto;
+}
+
+.user-loan-lists {
+ width: 60%;
+ border-right: 1px solid #ced4da;
+ padding-right: 20px;
+}
+
+.bold-text {
+ font-weight: bold;
+ font-size: 24px;
+}
+
+.table-size {
+ height: 370px;
+ overflow-y: auto;
+}
+
+.profile-inputs {
+ width: 32%;
+ display: block;
+}
+
+.img-profil {
+ display: block;
+ margin: 0 auto;
+ border: 1px solid #ced4da;
+ width: 175px;
+ height: 175px;
+ border-radius: 105px;
+}
+
+#tooltip {
+ display: none;
+ background-color: #f1f1f1;
+ color: #000;
+ padding: 3px 10px;
+ border-radius: 3px;
+ font-size: 12px;
+ position: inherit;
+ margin: 5px 0 0 0;
+ opacity: 1 !important;
+}
+
+.fontSizeCreate p {
+ padding: 5px 10px;
+ font-size: 115%;
+}
+
+.fontSizeCreate h5, .fontSizeCreate .h5 {
+ font-size: 140%;
+}
+
+.fontSizeEdit p {
+ padding: 5px 10px;
+ font-size: 130%;
+}
+
+.fontSizeEdit h5, .fontSizeEdit .h5 {
+ font-size: 170%;
+}
+
+span.tooltipArrow {
+ content: " ";
+ height: 0;
+ position: absolute;
+ width: 0;
+ border: 6px solid transparent;
+ border-bottom-color: #f1f1f1;
+ top: -11px;
+ left: 5px;
+}
+
+/* Add a green text color and a checkmark when the requirements are right */
+.valid {
+ color: green;
+}
+
+.valid:before {
+ position: relative;
+ left: -10px;
+ content: "✓";
+}
+
+/* Add a red text color and an "x" icon when the requirements are wrong */
+.invalid {
+ color: red;
+}
+
+.invalid:before {
+ position: relative;
+ left: -10px;
+ content: "✕";
+}
+
+.passwordDropdownEdit {
+ width: 30%;
+}
+
+@media only screen and (max-width: 1100px) {
+ #newUser {
+ width: 100%;
+ }
+
+ #names, #passwords {
+ display: block;
+ }
+
+ #names .col-4, #passwords .col-6 {
+ width: 100%;
+ }
+
+ #names .col-4:first-of-type {
+ margin-top: 30px;
+ }
+
+ #names .col-4:last-of-type {
+ margin-bottom: 30px;
+ }
+
+ .edit-profile {
+ flex-direction: column-reverse;
+ }
+
+ .profile-inputs {
+ width: 100%;
+ padding-bottom: 20px;
+ margin-bottom: 20px;
+ border-bottom: 1px solid #ced4da;
+ }
+
+ .user-loan-lists {
+ width: 100%;
+ border: none;
+ }
+
+ .fontSizeCreate p {
+ padding: 5px 10px;
+ font-size: 130%;
+ }
+
+ .fontSizeCreate h5, .fontSizeCreate .h5 {
+ font-size: 170%;
+ }
+}
+.categories {
+ width: 40%;
+ margin: 0 auto;
+}
+
+.category {
+ margin-bottom: 20px;
+}
+
+@media only screen and (max-width: 1100px) {
+ .categories {
+ width: 100%;
+ }
+}
+@media only screen and (max-width: 768px) {
+ .categories {
+ width: 100%;
+ }
+}
+.home-container {
+
+}
+
+.home-container .col-6:first-of-type {
+ border-right: 1px solid lightslategray;
+}
+
+.product-container {
+ margin-bottom: 20px;
+ width: 100%;
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+}
+
+.head-section, .product-head-section {
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+}
+
+.create-product-form {
+ width: 30%;
+ display: block;
+ margin: 20px auto;
+ padding-bottom: 20px;
+}
+
+.center-create {
+ margin-left: 3rem;
+ margin-right: 3rem;
+ margin-bottom: 3rem;
+}
+
+.col-7, .col-5 {
+ padding: 1em 1.5em;
+}
+
+.product-buttons {
+ padding: 0.5em 0em 1em 1em;
+ width: 10%;
+}
+
+#description, #product_status_id {
+ width: 50%;
+ margin: 0 auto;
+}
+
+#newProductModel {
+ width: 50%;
+ margin: 0 auto;
+ padding-top: 30px;
+}
+
+.flex-select {
+ width: 100%;
+ display: flex;
+}
+
+.flex-select select {
+ border-radius: 5px 0 0 5px;
+}
+
+.flex-select a {
+ border-radius: 0 5px 5px 0;
+}
+
+.center-button {
+ display: flex;
+ margin: 30px auto;
+}
+
+.padding {
+ padding: 1em 1.5em;
+}
+
+.pagination {
+ width: 100%;
+ display: flex;
+ justify-content: flex-end;
+}
+
+#userForm, #roomForm {
+ width: 60%;
+ display: flex;
+ margin: 0 auto;
+}
+
+.search-form-group {
+ width: 100%;
+ display: flex;
+}
+
+.search-form-group input {
+ border-radius: 5px 0 0 5px;
+}
+
+.search-form-group button {
+ border-radius: 0 5px 5px 0;
+}
+
+.even-spacing {
+ display: flex;
+ justify-content: space-evenly;
+}
+
+.section {
+ background-color: white;
+}
+
+.sort-button {
+ margin-top: 32px;
+}
+
+.headersection {
+ margin-block: 10px;
+ padding-block:20px;
+ font-weight: bold;
+ font-size: 25px;
+ border-bottom:1px solid black;
+}
+
+.col-sm-12 {
+ font-weight: bold;
+ font-size: 20px;
+ text-align: center;
+}
+
+.ulDecoration ul {
+ list-style: none;
+ padding: 0px;
+}
+
+.ulBorder {
+ border: 1px solid #ced4da;
+ border-radius: 5px;
+}
+
+.all-rights-checkbox {
+ margin: 10px 0px 10px 10px;
+}
+
+.all-rights-label {
+ padding: 10px 10px 10px 0px;
+}
+
+.top-border {
+ border-top: 1px solid #ced4da;
+}
+
+.current {
+ width: 100%;
+ display: flex;
+ border-bottom: 1px solid #ced4da;
+ padding: 10px;
+}
+
+.current:last-of-type {
+ border-bottom: 0px;
+}
+
+.sub_cat_box {
+ width: 100%;
+ display: block;
+}
+
+.sub_cat_box ul {
+ display: none;
+ padding-left: 40px;
+}
+
+.product-show {
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 15px;
+}
+
+.form-textarea {
+ height: 150px;
+}
+
+.status {
+ width: 30%;
+}
+
+.sub-inputs {
+ width: 47%;
+}
+
+.edit-product {
+ width: 40%;
+ display: block;
+ margin: 0 auto;
+}
+
+.edit-product #product_status_id {
+ width: 100%;
+}
+
+.product-edit-buttons {
+ width: 20%;
+ display: flex;
+ margin: 0 auto;
+ justify-content: space-between;
+}
+
+.product-edit-buttons input {
+ width: 100%;
+ margin-bottom: 20px;
+}
+
+.buttons-wrapper {
+ width: 50%;
+ display: flex;
+ margin: 0 auto;
+ padding-top: 20px;
+}
+
+.create-product-buttons {
+ width: 40%;
+ display: flex;
+ margin: 0 auto;
+ padding-top: 20px;
+}
+
+@media only screen and (max-width: 1100px) {
+ #userForm, #roomForm, #newProductModel {
+ width: 100%;
+ }
+
+ .edit-product {
+ width: 100%;
+ padding: 0rem 1.5rem;
+ }
+
+ .create-product-form, #description {
+ width: 60%;
+ }
+
+ .create-product-buttons {
+ width: 60%;
+ }
+}
+@media only screen and (max-width: 768px) {
+ .logged-in-user {
+ justify-content: center;
+ }
+
+ .content-form-group {
+ width: 60%;
+ }
+
+ .home-container {
+ padding-left: 0;
+ padding-right: 0;
+ }
+
+ #userForm, #roomForm {
+ width: 100%;
+ }
+
+ .head-section {
+ display: block;
+ }
+
+ .product-head-section {
+ display: flex;
+ justify-content: flex-start;
+ }
+
+ .product-head-section form {
+ width: 90%;
+ }
+
+ .product-head-section form .btn-primary {
+ border-radius: 0px;
+ }
+
+ .product-head-section .btn-success {
+ border-radius: 0 5px 5px 0;
+ }
+
+ .flex-right {
+ width: 100%;
+ display: flex;
+ justify-content: flex-end;
+ }
+
+ .center-create {
+ margin: 0;
+ }
+
+ .create-head-section {
+ width: 100%;
+ display: block;
+ }
+
+ .col-7, .col-5 {
+ width: 100%;
+ padding: 0;
+ }
+
+ .create-head-section .justify-content-center label:first-of-type {
+ margin-top: 20px;
+ }
+
+ #quantity {
+ width: 50%;
+ margin-bottom: 20px;
+ }
+
+ .product-buttons {
+ width: 40%;
+ }
+
+ .product-buttons input {
+ margin: 0 auto;
+ }
+
+ #description, #product_status_id, #newProductModel {
+ width: 100%;
+ margin: 0;
+ }
+
+ .edit-product {
+ width: 100%;
+ padding: 0rem 1.5rem;
+ }
+
+ .product-edit-buttons {
+ width: 45%;
+ display: flex;
+ margin: 0 auto;
+ justify-content: space-between;
+ }
+
+ .buttons-wrapper {
+ width: 80%;
+ }
+}
+@media (min-width: 768px) {
+ .main-container {
+ background: white;
+ margin-left: 3rem;
+ margin-right: 3rem;
+ }
+}
+.row {
+ --bs-gutter-x: 0px;
+ padding: 0px;
+}
+
+.container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {
+ padding: 0px;
+}
+
+.main-container {
+ background: white;
+ padding: 1.5rem;
+}
+
+body {
+ min-height: 100vh;
+ background-color: #F0F0F0;
+}
+
+.form-control-sm {
+ min-height: calc(1.5em + 0.5rem + 2px);
+ padding: 0.25rem 0.5rem;
+ font-size: 0.875rem;
+ background-repeat: no-repeat;
+ background-position: right 0.75rem center;
+ background-size: 16px 12px;
+ border: 1px solid #ced4da;
+ border-radius: 0.25rem;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+}
diff --git a/public/favicon.ico b/public/favicon.ico
new file mode 100644
index 0000000..e69de29
diff --git a/public/index.php b/public/index.php
new file mode 100644
index 0000000..1d69f3a
--- /dev/null
+++ b/public/index.php
@@ -0,0 +1,55 @@
+make(Kernel::class);
+
+$response = $kernel->handle(
+ $request = Request::capture()
+)->send();
+
+$kernel->terminate($request, $response);
diff --git a/public/robots.txt b/public/robots.txt
new file mode 100644
index 0000000..eb05362
--- /dev/null
+++ b/public/robots.txt
@@ -0,0 +1,2 @@
+User-agent: *
+Disallow:
diff --git a/resources/css/app.css b/resources/css/app.css
new file mode 100644
index 0000000..e69de29
diff --git a/resources/js/app.js b/resources/js/app.js
new file mode 100644
index 0000000..e59d6a0
--- /dev/null
+++ b/resources/js/app.js
@@ -0,0 +1 @@
+import './bootstrap';
diff --git a/resources/js/bootstrap.js b/resources/js/bootstrap.js
new file mode 100644
index 0000000..d21a8c0
--- /dev/null
+++ b/resources/js/bootstrap.js
@@ -0,0 +1,34 @@
+import _ from 'lodash';
+window._ = _;
+
+/**
+ * We'll load the axios HTTP library which allows us to easily issue requests
+ * to our Laravel back-end. This library automatically handles sending the
+ * CSRF token as a header based on the value of the "XSRF" token cookie.
+ */
+
+import axios from 'axios';
+window.axios = axios;
+
+window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
+
+/**
+ * Echo exposes an expressive API for subscribing to channels and listening
+ * for events that are broadcast by Laravel. Echo and event broadcasting
+ * allows your team to easily build robust real-time web applications.
+ */
+
+// import Echo from 'laravel-echo';
+
+// import Pusher from 'pusher-js';
+// window.Pusher = Pusher;
+
+// window.Echo = new Echo({
+// broadcaster: 'pusher',
+// key: import.meta.env.VITE_PUSHER_APP_KEY,
+// wsHost: import.meta.env.VITE_PUSHER_HOST ?? `ws-${import.meta.env.VITE_PUSHER_APP_CLUSTER}.pusher.com`,
+// wsPort: import.meta.env.VITE_PUSHER_PORT ?? 80,
+// wssPort: import.meta.env.VITE_PUSHER_PORT ?? 443,
+// forceTLS: (import.meta.env.VITE_PUSHER_SCHEME ?? 'https') === 'https',
+// enabledTransports: ['ws', 'wss'],
+// });
diff --git a/resources/lang/da.json b/resources/lang/da.json
new file mode 100644
index 0000000..899eb25
--- /dev/null
+++ b/resources/lang/da.json
@@ -0,0 +1,208 @@
+{
+ "no_amount": "Ingen",
+ "none": "Ingen",
+ "all": "Alle",
+
+ "author": "Danny Johansson",
+
+ "name": "Navn",
+ "name_full": "Fuldt Navn",
+
+ "action": "Handling",
+ "cancel": "Annuler",
+ "canceled": "Annulleret",
+ "update": "Opdater",
+ "updated": "Opdateret",
+ "create": "Opret",
+ "created": "Oprettet",
+ "edit": "Rediger",
+ "edited": "Redigeret",
+ "delete": "Slet",
+ "deleted": "Slettet",
+ "delete_force": "Slet Permanent",
+ "force_deleted": "Permanent Slettet",
+ "restore": "Genopret",
+ "restored": "Genoprettet",
+ "show": "Vis",
+ "select": "Vælg",
+ "search": "Søg",
+ "give": "Tildele",
+ "add": "Tilføj",
+ "choose": "Vælg",
+ "remove": "Fjern",
+ "removed": "Fjernet",
+ "return": "Aflever",
+ "returned": "Afleveret",
+ "see": "Se",
+ "extend": "Udvid",
+ "extended": "Udvidet",
+ "adjust": "Juster",
+ "adjusted": "Justeret",
+
+ "viewAny": "Se Liste",
+ "viewAny_deleted": "Se Slettede",
+ "view": "Se Specifik",
+ "view_pdf": "Se Specifik",
+ "amount_add": "Tilføj til Pulje",
+ "amount_added": "Tilføjet til Pulje",
+ "amount_remove": "Fjern fra Pulje",
+ "amount_removed": "Fjernet fra Pulje",
+
+ "homepage": "Hjemmeside",
+
+ "brand": "Fabrikant",
+ "brands": "Fabrikanter",
+ "building": "Bygning",
+ "buildings": "Bygninger",
+ "cabel": "Kabel",
+ "cabels": "Kabler",
+ "category" : "Kategori",
+ "categories" : "Kategorier",
+ "model": "Model",
+ "models": "Modeler",
+ "product": "Produkt",
+ "products": "Produkter",
+ "role": "Rolle",
+ "roles": "Roller",
+ "room": "Lokale",
+ "rooms": "Lokaler",
+ "stat" : "Statistik",
+ "stats" : "Statistiker",
+ "subcategory" : "Underkategori",
+ "subcategories" : "Underkategorier",
+ "user": "Bruger",
+ "users": "Brugere",
+ "log" : "Log",
+ "productCategory": "Produkt Kategori",
+ "cabelCategory": "Kabel Kategori",
+ "description": "Beskrivelse",
+ "barcode": "Stregkode",
+ "item": "Enhed",
+ "items": "Enheder",
+ "note": "Note",
+ "notes": "Noter",
+
+ "displaying": " Viser ",
+ "of": " af ",
+ "in": "i",
+ "to": "Til",
+ "total": "Total",
+ "lent": "Udlånt",
+ "reserve": "Reserver",
+ "reserved": "Reserveret",
+ "available": "Tilgængelig",
+ "status": "Status",
+ "pool": "Pulje",
+ "created_at": "Oprettet",
+ "updated_at": "Opdateret",
+ "deleted_at": "Slettet",
+ "amount": "Mængde",
+ "DELETED": "SLETTET",
+ "active": "Aktiv",
+ "deletion_force" : "Permanent Sletning",
+ "date_start" : "Start Dato",
+ "date_end" : "Slut Dato",
+ "date" : "Dato",
+
+ "loan": "Lån",
+ "loans": "Udlån",
+ "loan_out": "Udlån",
+ "loaned": "Udlånt",
+ "reservation": "Reservation",
+ "reservations": "Reservationer",
+ "contracts": "Kontrakter",
+ "productLoan": "Produkt Udlån",
+ "productLoans": "Produkt Udlån",
+
+ "returns": "Afleveringer",
+
+ "laptop": "Bærbar",
+ "street": "Vej",
+ "city": "By",
+ "zip": "Post",
+ "number": "Nummer",
+ "instructions": "Instruktioner",
+ "accessories": "Tilbehør",
+ "bag": "Taske",
+ "lock": "Lås",
+ "telephone": "Telefon",
+ "email": "Email",
+ "permanent": "Permanent",
+ "Missing": "Mangler",
+ "Damaged": "Beskadiget",
+
+ "permission": "Rettighed",
+ "permissions": "Rettigheder",
+
+ "pickup": "Afhentning",
+ "pickups": "Afhentninger",
+ "picked up": "Afhentet",
+ "setup": "Opsætning",
+ "setups": "Opsætninger",
+ "set up": "Opsat",
+ "validation": "Validering",
+ "validations": "Valideringer",
+ "deadline": "Deadline",
+ "validate": "Valider",
+ "validated": "Valideret",
+ "awaiting": "Afventer",
+ "target": "Modtager",
+
+
+ "password": "Kodeord",
+ "password_repeat": "Gentag Kodeord",
+
+ "login.title": "Login",
+ "login.send": "Log Ind",
+
+ "username": "Brugernavn",
+ "type": "Type",
+ "types": "Typer",
+
+
+ "notADUser": "Ikke AD Bruger",
+ "ADUser": "AD Bruger",
+
+ "repeatPassword": "Gentag Kodeord",
+ "user.submit": "Opdater",
+
+ "related": "Relateret",
+ "profile": "Profil",
+ "logout": "Log Ud",
+ "please_select": "Vælg...",
+
+ "static": "Statisk",
+ "dynamic": "Dynamisk",
+
+ "footer.created": "Lavet af ",
+ "footer.group": "SKP Programmering",
+ "footer.help": " delvist baseret på arbejde af",
+ "school": "Syddansk Erhvervsskole",
+ "division": "Skole Oplæring",
+ "loaner" : "Låner",
+ "lender" : "Udlåner",
+
+ "data": "Data",
+ "old": "Tidligere",
+
+ "yes": "Ja",
+ "no": "Nej",
+ "like": "Som",
+
+ "home": "Hjemmeside",
+ "logs": "Logs",
+
+ "statistic": "Statistik",
+ "statistics": "Statistikker",
+ "lastDay": "Sidste 24 Timer",
+
+ "signature": "Underskrift",
+ "sign": "Underskriv",
+
+ "Lån": "contracts",
+ "Bærbar": "laptops",
+ "Reservation": "reservations",
+ "storage": "Lager",
+ "activity": "Aktivitet",
+ "place": "Plads"
+}
diff --git a/resources/lang/en.json b/resources/lang/en.json
new file mode 100644
index 0000000..6aeed68
--- /dev/null
+++ b/resources/lang/en.json
@@ -0,0 +1,7 @@
+{
+ "Beskadiget": "Damaged",
+ "beskadiget": "Damaged",
+ "Mangler": "Missing",
+ "mangler": "Missing",
+ "blop": "dop"
+}
diff --git a/resources/views/Layouts/login.blade.php b/resources/views/Layouts/login.blade.php
new file mode 100644
index 0000000..dfc2941
--- /dev/null
+++ b/resources/views/Layouts/login.blade.php
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+ {{ $title ?? 'login'}}
+
+
+
+
+
+
+ @if($errors->any())
+ @foreach($errors->all() as $error)
+
+ "{{$error}}"
+
+ @endforeach
+ @endif
+ @yield('content')
+
+@include('Partials.footer')
+
+
+
diff --git a/resources/views/Layouts/master.blade.php b/resources/views/Layouts/master.blade.php
new file mode 100644
index 0000000..342d9ed
--- /dev/null
+++ b/resources/views/Layouts/master.blade.php
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+ {{ $title ?? 'Lagersystem' }}
+
+
+
+
+
+
+
+
+
+
+@include('Partials.Navbar')
+@if($errors->any())
+ @foreach($errors->all() as $error)
+
+ "{{$error}}"
+
+ @endforeach
+@endif
+
+
+
+
+
@lang(request()->segment(1))
+
+
+
@lang(request()->segment(1)) / @lang(request()->segment(2))
+
+
+
+ @yield('content')
+
+
+@include('partials.footer')
+
+
+
+@yield('scripting')
+
+
diff --git a/resources/views/Layouts/template.blade.php b/resources/views/Layouts/template.blade.php
new file mode 100644
index 0000000..193d90d
--- /dev/null
+++ b/resources/views/Layouts/template.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.show_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/Partials/Form/Input/Modal/delete.blade.php b/resources/views/Partials/Form/Input/Modal/delete.blade.php
new file mode 100644
index 0000000..48a5ff2
--- /dev/null
+++ b/resources/views/Partials/Form/Input/Modal/delete.blade.php
@@ -0,0 +1,38 @@
+
+
+
+ @lang('delete')
+
+
+
+
+
+
diff --git a/resources/views/Partials/Form/Input/Modal/delete_force.blade.php b/resources/views/Partials/Form/Input/Modal/delete_force.blade.php
new file mode 100644
index 0000000..2043867
--- /dev/null
+++ b/resources/views/Partials/Form/Input/Modal/delete_force.blade.php
@@ -0,0 +1,33 @@
+@lang('delete_force')
+
+
+
+
diff --git a/resources/views/Partials/Form/Input/Submit/submit_create.blade.php b/resources/views/Partials/Form/Input/Submit/submit_create.blade.php
new file mode 100644
index 0000000..393db7b
--- /dev/null
+++ b/resources/views/Partials/Form/Input/Submit/submit_create.blade.php
@@ -0,0 +1,7 @@
+
diff --git a/resources/views/Partials/Form/Input/Submit/submit_delete.blade.php b/resources/views/Partials/Form/Input/Submit/submit_delete.blade.php
new file mode 100644
index 0000000..a831b7b
--- /dev/null
+++ b/resources/views/Partials/Form/Input/Submit/submit_delete.blade.php
@@ -0,0 +1,8 @@
+
+ @method('delete')
+ @csrf
+
+
+
+
+
diff --git a/resources/views/Partials/Form/Input/Submit/submit_edit.blade.php b/resources/views/Partials/Form/Input/Submit/submit_edit.blade.php
new file mode 100644
index 0000000..6749b1b
--- /dev/null
+++ b/resources/views/Partials/Form/Input/Submit/submit_edit.blade.php
@@ -0,0 +1,8 @@
+
+ @method('put')
+ @csrf
+
+
+
+
+
diff --git a/resources/views/Partials/Form/Input/Submit/submit_update.blade.php b/resources/views/Partials/Form/Input/Submit/submit_update.blade.php
new file mode 100644
index 0000000..0de3f9b
--- /dev/null
+++ b/resources/views/Partials/Form/Input/Submit/submit_update.blade.php
@@ -0,0 +1,8 @@
+
+ @method('put')
+ @csrf
+
+
+
+
+
diff --git a/resources/views/Partials/Form/Input/amount.blade.php b/resources/views/Partials/Form/Input/amount.blade.php
new file mode 100644
index 0000000..d465008
--- /dev/null
+++ b/resources/views/Partials/Form/Input/amount.blade.php
@@ -0,0 +1,17 @@
+
+
@lang('amount') :
+
+
+
+
diff --git a/resources/views/Partials/Form/Input/barcode.blade.php b/resources/views/Partials/Form/Input/barcode.blade.php
new file mode 100644
index 0000000..b5d9d22
--- /dev/null
+++ b/resources/views/Partials/Form/Input/barcode.blade.php
@@ -0,0 +1,19 @@
+
+
@lang('barcode') :
+
+ barcode))
+ value="{{$data->barcode}}"
+ @endif
+ @endif
+ >
+
+
diff --git a/resources/views/Partials/Form/Input/brand.blade.php b/resources/views/Partials/Form/Input/brand.blade.php
new file mode 100644
index 0000000..23da5d1
--- /dev/null
+++ b/resources/views/Partials/Form/Input/brand.blade.php
@@ -0,0 +1,31 @@
+
+
@lang('brand') :
+
+
+ @lang('please_select')
+ @foreach($brands as $brand)
+ id == old('brand_id'))
+ selected
+ @endif
+ @else
+ @if(isset($data))
+ @if($brand->id == $data->brand->id)
+ selected
+ @endif
+ @endif
+ @endif
+ >
+ {{$brand->name}}
+
+ @endforeach
+
+
+
+
diff --git a/resources/views/Partials/Form/Input/building.blade.php b/resources/views/Partials/Form/Input/building.blade.php
new file mode 100644
index 0000000..790498f
--- /dev/null
+++ b/resources/views/Partials/Form/Input/building.blade.php
@@ -0,0 +1,27 @@
+
+
@lang('building') :
+
+
+ @foreach($buildings as $building)
+ id == old('building_id'))
+ selected
+ @endif
+ @else
+ @if(isset($data))
+ @if($building->id == $data->building->id)
+ selected
+ @endif
+ @endif
+ @endif
+ >
+ {{$building->name}}
+
+ @endforeach
+
+
+
+
+
diff --git a/resources/views/Partials/Form/Input/cabels.blade.php b/resources/views/Partials/Form/Input/cabels.blade.php
new file mode 100644
index 0000000..9006801
--- /dev/null
+++ b/resources/views/Partials/Form/Input/cabels.blade.php
@@ -0,0 +1,67 @@
+
+
@lang('cabels') :
+
+
+
+ @lang('barcode')
+ @lang('available')
+ @lang('amount')
+ @lang('action')
+
+
+
+ @foreach($cabels as $cabel)
+ {{$cabel->category->name}}.{{$cabel->name}}
+ @endforeach
+
+
+ @lang('add') @lang('cabel')
+
+
+
+
+
+
+
diff --git a/resources/views/Partials/Form/Input/cabels_return.blade.php b/resources/views/Partials/Form/Input/cabels_return.blade.php
new file mode 100644
index 0000000..809354d
--- /dev/null
+++ b/resources/views/Partials/Form/Input/cabels_return.blade.php
@@ -0,0 +1,89 @@
+
+
@lang('cabels') :
+
+
+
+ @lang('barcode')
+ @lang('lent')
+ @lang('amount')
+ @lang('action')
+
+
+
+ @foreach($cabels as $cabel)
+ {{$cabel->category->name}}.{{$cabel->name}}
+ @endforeach
+
+
+ @lang('add') @lang('cabel')
+
+
+
+
+
+
+
diff --git a/resources/views/Partials/Form/Input/category.blade.php b/resources/views/Partials/Form/Input/category.blade.php
new file mode 100644
index 0000000..29826a7
--- /dev/null
+++ b/resources/views/Partials/Form/Input/category.blade.php
@@ -0,0 +1,31 @@
+
+
@lang('category') :
+
+
+ @lang('please_select')
+ @foreach($categories as $category)
+ id == old('category_id'))
+ selected
+ @endif
+ @else
+ @if(isset($data))
+ @if($category->id == $data->category->id)
+ selected
+ @endif
+ @endif
+ @endif
+ >
+ {{$category->name}}
+
+ @endforeach
+
+
+
+
diff --git a/resources/views/Partials/Form/Input/city.blade.php b/resources/views/Partials/Form/Input/city.blade.php
new file mode 100644
index 0000000..f9292c3
--- /dev/null
+++ b/resources/views/Partials/Form/Input/city.blade.php
@@ -0,0 +1,29 @@
+
+
@lang('city') :
+
+
+
+
+
+
+
diff --git a/resources/views/Partials/Form/Input/date_end.blade.php b/resources/views/Partials/Form/Input/date_end.blade.php
new file mode 100644
index 0000000..c53e0d9
--- /dev/null
+++ b/resources/views/Partials/Form/Input/date_end.blade.php
@@ -0,0 +1,42 @@
+
+
@lang('date_end') :
+ @if(isset($date_end_permanent))
+
+
+ @lang('permanent')
+
+ @endif
+
+ date_end))
+ value="{{date('Y-m-d',strtotime($data->date_end))}}"
+ @else
+ value="{{date('Y-m-d',strtotime(now()))}}"
+ @endif
+ required
+ >
+
+
+
diff --git a/resources/views/Partials/Form/Input/date_start.blade.php b/resources/views/Partials/Form/Input/date_start.blade.php
new file mode 100644
index 0000000..83204e2
--- /dev/null
+++ b/resources/views/Partials/Form/Input/date_start.blade.php
@@ -0,0 +1,24 @@
+
+
@lang('date_start') :
+
+ date_start))
+ value="{{$data->date_start}}"
+ @else
+ value="{{date('Y-m-d',strtotime(now()))}}"
+ @endif
+ required
+ @if(isset($date_start_locked))
+ disabled
+ @endif
+ >
+
+
diff --git a/resources/views/Partials/Form/Input/description.blade.php b/resources/views/Partials/Form/Input/description.blade.php
new file mode 100644
index 0000000..b07396b
--- /dev/null
+++ b/resources/views/Partials/Form/Input/description.blade.php
@@ -0,0 +1,6 @@
+
+
@lang('description') :
+
+
+
+
diff --git a/resources/views/Partials/Form/Input/email.blade.php b/resources/views/Partials/Form/Input/email.blade.php
new file mode 100644
index 0000000..3dc3d2e
--- /dev/null
+++ b/resources/views/Partials/Form/Input/email.blade.php
@@ -0,0 +1,15 @@
+
+
@lang('email') :
+
+
+
+
diff --git a/resources/views/Partials/Form/Input/laptop.blade.php b/resources/views/Partials/Form/Input/laptop.blade.php
new file mode 100644
index 0000000..e8d300a
--- /dev/null
+++ b/resources/views/Partials/Form/Input/laptop.blade.php
@@ -0,0 +1,33 @@
+
+
@lang('laptop') :
+
+
+ @foreach($laptops as $laptop)
+ @if(config('app.barcode_mode') == 'dynamic')
+ {{$laptop->category->name}}.@if(!empty($laptop->subcategory->name)){{$laptop->subcategory->name}}.@endif{{$laptop->brand->name}}.{{$laptop->model->name}}@if(!empty($laptop->name)).{{$laptop->name}}@endif
+ @elseif(config('app.barcode_mode') == 'static')
+ {{$laptop->barcode}}
+ @endif
+ @endforeach
+
+
+
+
+
+
+
diff --git a/resources/views/Partials/Form/Input/laptop_extras.blade.php b/resources/views/Partials/Form/Input/laptop_extras.blade.php
new file mode 100644
index 0000000..13b9034
--- /dev/null
+++ b/resources/views/Partials/Form/Input/laptop_extras.blade.php
@@ -0,0 +1,11 @@
+
+
@lang('accessories') :
+
+
+ @lang('bag')
+
+
+
+ @lang('lock')
+
+
diff --git a/resources/views/Partials/Form/Input/model.blade.php b/resources/views/Partials/Form/Input/model.blade.php
new file mode 100644
index 0000000..c7e9269
--- /dev/null
+++ b/resources/views/Partials/Form/Input/model.blade.php
@@ -0,0 +1,46 @@
+
+
@lang('model') :
+
+
+ @lang('please_select')
+ @foreach($models as $model)
+ id == old('model_id'))
+ selected
+ @endif
+ @else
+ @if(isset($data))
+ @if(!empty($data->model))
+ @if($model->id == $data->model->id)
+ selected
+ @endif
+ @endif
+ @endif
+ @endif
+ >
+ {{$model->name}}
+
+ @endforeach
+
+
+
+
+
+
diff --git a/resources/views/Partials/Form/Input/name.blade.php b/resources/views/Partials/Form/Input/name.blade.php
new file mode 100644
index 0000000..57ffb2d
--- /dev/null
+++ b/resources/views/Partials/Form/Input/name.blade.php
@@ -0,0 +1,19 @@
+
+
@lang('name') :
+
+ name))
+ value="{{$data->name}}"
+ @endif
+ @endif
+ >
+
+
diff --git a/resources/views/Partials/Form/Input/password.blade.php b/resources/views/Partials/Form/Input/password.blade.php
new file mode 100644
index 0000000..09c67a2
--- /dev/null
+++ b/resources/views/Partials/Form/Input/password.blade.php
@@ -0,0 +1,30 @@
+
+
@lang('password') :
+
+
+
+
+@if(isset($password_input_repeat))
+
+
@lang('password_repeat') :
+
+
+
+
+@endif
diff --git a/resources/views/Partials/Form/Input/permissions.blade.php b/resources/views/Partials/Form/Input/permissions.blade.php
new file mode 100644
index 0000000..0a0d859
--- /dev/null
+++ b/resources/views/Partials/Form/Input/permissions.blade.php
@@ -0,0 +1,720 @@
+
+
@lang('permissions') :
+
+
+@section('scripting')
+
+@endsection
+
diff --git a/resources/views/Partials/Form/Input/phone.blade.php b/resources/views/Partials/Form/Input/phone.blade.php
new file mode 100644
index 0000000..5b4c27a
--- /dev/null
+++ b/resources/views/Partials/Form/Input/phone.blade.php
@@ -0,0 +1,15 @@
+
+
@lang('telephone') @lang('number'):
+
+
+
+
diff --git a/resources/views/Partials/Form/Input/products.blade.php b/resources/views/Partials/Form/Input/products.blade.php
new file mode 100644
index 0000000..0d95889
--- /dev/null
+++ b/resources/views/Partials/Form/Input/products.blade.php
@@ -0,0 +1,71 @@
+
+
@lang('products') :
+
+
+
+ @lang('barcode')
+ @lang('available')
+ @lang('amount')
+ @lang('action')
+
+
+
+ @foreach($products as $product)
+ @if(config('app.barcode_mode') == 'dynamic')
+ {{$product->category->name}}.@if(!empty($product->subcategory->name)){{$product->subcategory->name}}.@endif{{$product->brand->name}}.{{$product->model->name}}@if(!empty($product->name)).{{$product->name}}@endif
+ @elseif(config('app.barcode_mode') == 'static')
+ {{$product->barcode}}
+ @endif
+ @endforeach
+
+
+ @lang('add') @lang('product')
+
+
+
+
+
+
+
diff --git a/resources/views/Partials/Form/Input/products_return.blade.php b/resources/views/Partials/Form/Input/products_return.blade.php
new file mode 100644
index 0000000..5da6029
--- /dev/null
+++ b/resources/views/Partials/Form/Input/products_return.blade.php
@@ -0,0 +1,94 @@
+
+
@lang('products') :
+
+
+
+ @lang('barcode')
+ @lang('lent')
+ @lang('amount')
+ @lang('action')
+ @lang('note')
+
+
+
+
+ @foreach($products as $product)
+ @if(config('app.barcode_mode') == 'dynamic')
+ {{$product->category->name}}.@if(!empty($product->subcategory->name)){{$product->subcategory->name}}.@endif{{$product->brand->name}}.{{$product->model->name}}@if(!empty($product->name)).{{$product->name}}@endif
+ @elseif(config('app.barcode_mode') == 'static')
+ {{$product->barcode}}
+ @endif
+ @endforeach
+
+
+ @lang('add') @lang('product')
+
+
+
+
+
+
diff --git a/resources/views/Partials/Form/Input/role.blade.php b/resources/views/Partials/Form/Input/role.blade.php
new file mode 100644
index 0000000..f9f019c
--- /dev/null
+++ b/resources/views/Partials/Form/Input/role.blade.php
@@ -0,0 +1,10 @@
+
+
@lang('role') :
+
+
+ @foreach($roles as $role)
+ {{$role->name}}
+ @endforeach
+
+
+
diff --git a/resources/views/Partials/Form/Input/room.blade.php b/resources/views/Partials/Form/Input/room.blade.php
new file mode 100644
index 0000000..c93c9e5
--- /dev/null
+++ b/resources/views/Partials/Form/Input/room.blade.php
@@ -0,0 +1,39 @@
+
+
@lang('room') :
+
+ @foreach($rooms as $room)
+ {{$room->building->name}} - {{$room->name}}
+ @endforeach
+
+
+
+
+
+
+
diff --git a/resources/views/Partials/Form/Input/street.blade.php b/resources/views/Partials/Form/Input/street.blade.php
new file mode 100644
index 0000000..2f0c5b1
--- /dev/null
+++ b/resources/views/Partials/Form/Input/street.blade.php
@@ -0,0 +1,41 @@
+
diff --git a/resources/views/Partials/Form/Input/subcategory.blade.php b/resources/views/Partials/Form/Input/subcategory.blade.php
new file mode 100644
index 0000000..d035924
--- /dev/null
+++ b/resources/views/Partials/Form/Input/subcategory.blade.php
@@ -0,0 +1,46 @@
+
+
@lang('subcategory') :
+
+
+ @lang('please_select')
+ @lang('none')
+ @foreach($subcategories as $subcategory)
+ id == old('subcategory_id'))
+ selected
+ @endif
+ @else
+ @if(isset($data))
+ @if(!empty($data->subcategory))
+ @if($subcategory->id == $data->subcategory->id)
+ selected
+ @endif
+ @endif
+ @endif
+ @endif
+ >
+ {{$subcategory->name}}
+
+ @endforeach
+
+
+
+
diff --git a/resources/views/Partials/Form/Input/user.blade.php b/resources/views/Partials/Form/Input/user.blade.php
new file mode 100644
index 0000000..b2e07cc
--- /dev/null
+++ b/resources/views/Partials/Form/Input/user.blade.php
@@ -0,0 +1,26 @@
+
+
@lang('username') :
+
+ @foreach($users as $user)
+ {{$user->username}}
+ @endforeach
+
+
+ username))
+ value="{{$data->username}}"
+ @endif
+ @endif
+ required
+ >
+
+
diff --git a/resources/views/Partials/Form/Input/username.blade.php b/resources/views/Partials/Form/Input/username.blade.php
new file mode 100644
index 0000000..a3453f5
--- /dev/null
+++ b/resources/views/Partials/Form/Input/username.blade.php
@@ -0,0 +1,26 @@
+
+
@lang('username') :
+
+ @foreach($users as $user)
+ {{$user->username}}
+ @endforeach
+
+
+ username))
+ value="{{$data->username}}"
+ @endif
+ @endif
+ required
+ >
+
+
diff --git a/resources/views/Partials/Form/Signature/fake_full.blade.php b/resources/views/Partials/Form/Signature/fake_full.blade.php
new file mode 100644
index 0000000..e332acf
--- /dev/null
+++ b/resources/views/Partials/Form/Signature/fake_full.blade.php
@@ -0,0 +1,29 @@
+@if(!old('loanerSigRawData'))
+
+@endif
+
diff --git a/resources/views/Partials/Form/Signature/fake_lender.blade.php b/resources/views/Partials/Form/Signature/fake_lender.blade.php
new file mode 100644
index 0000000..f969ab4
--- /dev/null
+++ b/resources/views/Partials/Form/Signature/fake_lender.blade.php
@@ -0,0 +1,22 @@
+@if(!old('lenderSigRawData'))
+
+@endif
+
diff --git a/resources/views/Partials/Form/Signature/fake_loaner.blade.php b/resources/views/Partials/Form/Signature/fake_loaner.blade.php
new file mode 100644
index 0000000..9547341
--- /dev/null
+++ b/resources/views/Partials/Form/Signature/fake_loaner.blade.php
@@ -0,0 +1,22 @@
+@if(!old('lenderSigRawData'))
+
+@endif
+
diff --git a/resources/views/Partials/Form/Signature/lender.blade.php b/resources/views/Partials/Form/Signature/lender.blade.php
new file mode 100644
index 0000000..98dc557
--- /dev/null
+++ b/resources/views/Partials/Form/Signature/lender.blade.php
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+ @lang('lender') :
+
+
+
+ @lang('sign')
+ @if(old('lenderSigRawData')) Underskrift modtaget @endif
+
+
+
+
+
diff --git a/resources/views/Partials/Form/Signature/loaner.blade.php b/resources/views/Partials/Form/Signature/loaner.blade.php
new file mode 100644
index 0000000..0cfcd7d
--- /dev/null
+++ b/resources/views/Partials/Form/Signature/loaner.blade.php
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+ @lang('loaner') :
+
+
+
+ @lang('sign')
+ @if(old('loanerSigRawData')) Underskrift modtaget @endif
+
+
+
+
+
diff --git a/resources/views/Partials/Pages/Search/pagination.blade.php b/resources/views/Partials/Pages/Search/pagination.blade.php
new file mode 100644
index 0000000..804a624
--- /dev/null
+++ b/resources/views/Partials/Pages/Search/pagination.blade.php
@@ -0,0 +1,6 @@
+
+ >10
+ >25
+ >50
+ >100
+
diff --git a/resources/views/Partials/Pages/Search/search_bar.blade.php b/resources/views/Partials/Pages/Search/search_bar.blade.php
new file mode 100644
index 0000000..c74067f
--- /dev/null
+++ b/resources/views/Partials/Pages/Search/search_bar.blade.php
@@ -0,0 +1,8 @@
+
diff --git a/resources/views/Partials/Pages/Search/search_compare.blade.php b/resources/views/Partials/Pages/Search/search_compare.blade.php
new file mode 100644
index 0000000..b4de7d6
--- /dev/null
+++ b/resources/views/Partials/Pages/Search/search_compare.blade.php
@@ -0,0 +1,6 @@
+
+ ~
+ =
+ =') selected @endif>>=
+ <=
+
diff --git a/resources/views/Partials/Pages/Search/search_field.blade.php b/resources/views/Partials/Pages/Search/search_field.blade.php
new file mode 100644
index 0000000..1408ae0
--- /dev/null
+++ b/resources/views/Partials/Pages/Search/search_field.blade.php
@@ -0,0 +1,4 @@
+ ">
+
+
+
diff --git a/resources/views/Partials/Pages/Search/search_type.blade.php b/resources/views/Partials/Pages/Search/search_type.blade.php
new file mode 100644
index 0000000..22263e1
--- /dev/null
+++ b/resources/views/Partials/Pages/Search/search_type.blade.php
@@ -0,0 +1,10 @@
+
+ @foreach($search_types as $search_type)
+
+ @lang($search_type['name'])
+
+ @endforeach
+
diff --git a/resources/views/Partials/Pages/create_button.blade.php b/resources/views/Partials/Pages/create_button.blade.php
new file mode 100644
index 0000000..1ab53f3
--- /dev/null
+++ b/resources/views/Partials/Pages/create_button.blade.php
@@ -0,0 +1,7 @@
+
+ @can(Request::segment(1)."_create")
+
+
+
+ @endcan
+
diff --git a/resources/views/Partials/Pages/create_page.blade.php b/resources/views/Partials/Pages/create_page.blade.php
new file mode 100644
index 0000000..e8be5c9
--- /dev/null
+++ b/resources/views/Partials/Pages/create_page.blade.php
@@ -0,0 +1,6 @@
+
+
+
diff --git a/resources/views/Partials/Pages/deleted_page.blade.php b/resources/views/Partials/Pages/deleted_page.blade.php
new file mode 100644
index 0000000..856b1a6
--- /dev/null
+++ b/resources/views/Partials/Pages/deleted_page.blade.php
@@ -0,0 +1,43 @@
+
+ @include('Partials.Pages.index_top')
+
+
+ @lang('name')
+ @lang('action')
+
+
+ @foreach($data as $object)
+
+
+ @can(Request::segment(1).'_view')
+
+ {{$object->name}}
+
+ @else
+ {{$object->name}}
+ @endcan
+
+
+ @can(Request::segment(1).'_edit')
+
+ @lang('edit')
+
+ @endcan
+ @can(Request::segment(1).'_restore')
+
+ @lang('restore')
+
+ @endcan
+ @can(Request::segment(1).'_delete_force')
+ @include('Partials.Form.Input.Modal.delete_force')
+ @endcan
+
+
+ @endforeach
+
+
+ @include('Partials.Pages.display')
+
diff --git a/resources/views/Partials/Pages/deleted_selector.blade.php b/resources/views/Partials/Pages/deleted_selector.blade.php
new file mode 100644
index 0000000..33fbc1a
--- /dev/null
+++ b/resources/views/Partials/Pages/deleted_selector.blade.php
@@ -0,0 +1,15 @@
+
+
+ @lang('select')
+
+
+
+
diff --git a/resources/views/Partials/Pages/display.blade.php b/resources/views/Partials/Pages/display.blade.php
new file mode 100644
index 0000000..1d24dd2
--- /dev/null
+++ b/resources/views/Partials/Pages/display.blade.php
@@ -0,0 +1,4 @@
+{{$data->appends($_GET)->links()}}
+
+ @lang('displaying') {{$data->count()}} @lang('of'){{ $data->total() }} @lang($data_names).
+
diff --git a/resources/views/Partials/Pages/edit_page.blade.php b/resources/views/Partials/Pages/edit_page.blade.php
new file mode 100644
index 0000000..07b0c5e
--- /dev/null
+++ b/resources/views/Partials/Pages/edit_page.blade.php
@@ -0,0 +1,9 @@
+
+
+ @can(Request::segment(1).'_delete')
+ @include('Partials.Form.Input.Modal.delete')
+ @endcan
+
diff --git a/resources/views/Partials/Pages/index_top.blade.php b/resources/views/Partials/Pages/index_top.blade.php
new file mode 100644
index 0000000..25af607
--- /dev/null
+++ b/resources/views/Partials/Pages/index_top.blade.php
@@ -0,0 +1,17 @@
+
+ @include('Partials.Pages.Search.search_bar')
+ @if(Request::segment(2) == null)
+ @can(Request::segment(1)."_create")
+ @if(!isset($without_create))
+ @include('Partials.Pages.create_button')
+ @endif
+ @endcan
+ @endif
+
+@if(!isset($no_deleted))
+
+ @include('Partials.Pages.deleted_selector')
+
+@else
+
+@endif
diff --git a/resources/views/Partials/Pages/loan_items.blade.php b/resources/views/Partials/Pages/loan_items.blade.php
new file mode 100644
index 0000000..9184971
--- /dev/null
+++ b/resources/views/Partials/Pages/loan_items.blade.php
@@ -0,0 +1,78 @@
+@lang('items')
+
diff --git a/resources/views/Partials/Pages/reservation_items.blade.php b/resources/views/Partials/Pages/reservation_items.blade.php
new file mode 100644
index 0000000..3d8bbf7
--- /dev/null
+++ b/resources/views/Partials/Pages/reservation_items.blade.php
@@ -0,0 +1,80 @@
+@lang('items')
+
diff --git a/resources/views/Partials/Pages/reservation_pickup.blade.php b/resources/views/Partials/Pages/reservation_pickup.blade.php
new file mode 100644
index 0000000..16c8624
--- /dev/null
+++ b/resources/views/Partials/Pages/reservation_pickup.blade.php
@@ -0,0 +1,84 @@
+@lang('picked up')
+
diff --git a/resources/views/Partials/Pages/reservation_selector.blade.php b/resources/views/Partials/Pages/reservation_selector.blade.php
new file mode 100644
index 0000000..0b188d8
--- /dev/null
+++ b/resources/views/Partials/Pages/reservation_selector.blade.php
@@ -0,0 +1,46 @@
+
+
+ @lang('select')
+
+
+
diff --git a/resources/views/Partials/Pages/reservation_setup.blade.php b/resources/views/Partials/Pages/reservation_setup.blade.php
new file mode 100644
index 0000000..46d39d8
--- /dev/null
+++ b/resources/views/Partials/Pages/reservation_setup.blade.php
@@ -0,0 +1,84 @@
+@lang('set up')
+
diff --git a/resources/views/Partials/Pages/show_page.blade.php b/resources/views/Partials/Pages/show_page.blade.php
new file mode 100644
index 0000000..4c3095c
--- /dev/null
+++ b/resources/views/Partials/Pages/show_page.blade.php
@@ -0,0 +1,4 @@
+
+ @include('Partials.Pages.show_top')
+ @include(Request::segment(1).'.show_data')
+
diff --git a/resources/views/Partials/Pages/show_top.blade.php b/resources/views/Partials/Pages/show_top.blade.php
new file mode 100644
index 0000000..bdee19e
--- /dev/null
+++ b/resources/views/Partials/Pages/show_top.blade.php
@@ -0,0 +1,15 @@
+
+
+
+ @lang($data_name) : @if(!empty($data->name)){{$data->name}}@endif
+
+
+ @can(Request::segment(1).'_edit')
+
+ @endcan
+
diff --git a/resources/views/Partials/footer.blade.php b/resources/views/Partials/footer.blade.php
new file mode 100644
index 0000000..2a3d6bf
--- /dev/null
+++ b/resources/views/Partials/footer.blade.php
@@ -0,0 +1,30 @@
+
+
diff --git a/resources/views/Partials/navbar.blade.php b/resources/views/Partials/navbar.blade.php
new file mode 100644
index 0000000..b3a359b
--- /dev/null
+++ b/resources/views/Partials/navbar.blade.php
@@ -0,0 +1,302 @@
+
+ SKP Lagersystem
+
+
+
+
+
diff --git a/resources/views/brands/create.blade.php b/resources/views/brands/create.blade.php
new file mode 100644
index 0000000..cc12678
--- /dev/null
+++ b/resources/views/brands/create.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.create_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/brands/deleted.blade.php b/resources/views/brands/deleted.blade.php
new file mode 100644
index 0000000..a41a8b6
--- /dev/null
+++ b/resources/views/brands/deleted.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.deleted_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/brands/edit.blade.php b/resources/views/brands/edit.blade.php
new file mode 100644
index 0000000..8485b70
--- /dev/null
+++ b/resources/views/brands/edit.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.edit_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/brands/form_input.blade.php b/resources/views/brands/form_input.blade.php
new file mode 100644
index 0000000..b79d603
--- /dev/null
+++ b/resources/views/brands/form_input.blade.php
@@ -0,0 +1 @@
+@include('Partials.Form.Input.name')
diff --git a/resources/views/brands/index.blade.php b/resources/views/brands/index.blade.php
new file mode 100644
index 0000000..f559f66
--- /dev/null
+++ b/resources/views/brands/index.blade.php
@@ -0,0 +1,39 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+
+ @lang('name')
+ @lang('action')
+
+
+ @foreach($data as $brand)
+
+
+ @can('brands_view')
+
+ {{$brand->name}}
+
+ @else
+ {{$brand->name}}
+ @endcan
+
+
+ @can('brands_edit')
+
+ @lang('edit')
+
+ @endcan
+
+
+ @endforeach
+
+
+ @include('Partials.Pages.display')
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/brands/show.blade.php b/resources/views/brands/show.blade.php
new file mode 100644
index 0000000..193d90d
--- /dev/null
+++ b/resources/views/brands/show.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.show_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/brands/show_data.blade.php b/resources/views/brands/show_data.blade.php
new file mode 100644
index 0000000..7e25860
--- /dev/null
+++ b/resources/views/brands/show_data.blade.php
@@ -0,0 +1,41 @@
+@lang('models')
+@if(count($data->models) >= 1)
+
+ @foreach($data->models as $model)
+
+
+ @can('models_view')
+ {{$model->name}}
+ @else
+ {{$model->name}}
+ @endcan
+
+
+ @endforeach
+
+@else
+ @lang('no_amount') @lang('models')
+@endif
+
+
+
+@lang('products')
+@if(count($data->products) >= 1)
+
+@else
+ @lang('no_amount') @lang('products')
+@endif
diff --git a/resources/views/buildings/create.blade.php b/resources/views/buildings/create.blade.php
new file mode 100644
index 0000000..cc12678
--- /dev/null
+++ b/resources/views/buildings/create.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.create_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/buildings/deleted.blade.php b/resources/views/buildings/deleted.blade.php
new file mode 100644
index 0000000..aaa37d0
--- /dev/null
+++ b/resources/views/buildings/deleted.blade.php
@@ -0,0 +1,48 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+
+ @lang('name')
+ @lang('rooms')
+ @lang('action')
+
+
+ @foreach($data as $object)
+
+
+ {{$object->name}}
+
+
+ @lang('rooms')
+
+
+ @can(Request::segment(1).'_edit')
+
+ @lang('edit')
+
+ @endcan
+ @can(Request::segment(1).'_restore')
+
+ @lang('restore')
+
+ @endcan
+ @can(Request::segment(1).'_delete_force')
+ @include('Partials.Form.Input.Modal.delete_force')
+ @endcan
+
+
+ @endforeach
+
+
+ @include('Partials.Pages.display')
+
+@endsection
+@section('scripting')
+@endsection
diff --git a/resources/views/buildings/edit.blade.php b/resources/views/buildings/edit.blade.php
new file mode 100644
index 0000000..8485b70
--- /dev/null
+++ b/resources/views/buildings/edit.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.edit_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/buildings/form_input.blade.php b/resources/views/buildings/form_input.blade.php
new file mode 100644
index 0000000..b79d603
--- /dev/null
+++ b/resources/views/buildings/form_input.blade.php
@@ -0,0 +1 @@
+@include('Partials.Form.Input.name')
diff --git a/resources/views/buildings/index.blade.php b/resources/views/buildings/index.blade.php
new file mode 100644
index 0000000..6e90f07
--- /dev/null
+++ b/resources/views/buildings/index.blade.php
@@ -0,0 +1,35 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+ @include('Partials.Pages.display')
+
+@endsection
+@section('scripting')
+@endsection
diff --git a/resources/views/buildings/show.blade.php b/resources/views/buildings/show.blade.php
new file mode 100644
index 0000000..193d90d
--- /dev/null
+++ b/resources/views/buildings/show.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.show_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/buildings/show_data.blade.php b/resources/views/buildings/show_data.blade.php
new file mode 100644
index 0000000..ac33c1b
--- /dev/null
+++ b/resources/views/buildings/show_data.blade.php
@@ -0,0 +1,18 @@
+@lang('rooms')
+@if(count($data->rooms) >= 1)
+
+@else
+ @lang('no_amount') @lang('rooms')
+@endif
diff --git a/resources/views/cabelCategories/create.blade.php b/resources/views/cabelCategories/create.blade.php
new file mode 100644
index 0000000..cc12678
--- /dev/null
+++ b/resources/views/cabelCategories/create.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.create_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/cabelCategories/deleted.blade.php b/resources/views/cabelCategories/deleted.blade.php
new file mode 100644
index 0000000..bdbaa6c
--- /dev/null
+++ b/resources/views/cabelCategories/deleted.blade.php
@@ -0,0 +1,47 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+
+ @lang('name')
+ @lang('action')
+
+
+ @foreach($data as $object)
+
+
+ @can('cabelCategories_view')
+
+ {{$object->name}}
+
+ @else
+ {{$object->name}}
+ @endcan
+
+
+ @can(Request::segment(1).'_edit')
+
+ @lang('edit')
+
+ @endcan
+ @can(Request::segment(1).'_restore')
+
+ @lang('restore')
+
+ @endcan
+ @can(Request::segment(1).'_delete_force')
+ @include('Partials.Form.Input.Modal.delete_force')
+ @endcan
+
+
+ @endforeach
+
+
+
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/cabelCategories/edit.blade.php b/resources/views/cabelCategories/edit.blade.php
new file mode 100644
index 0000000..8485b70
--- /dev/null
+++ b/resources/views/cabelCategories/edit.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.edit_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/cabelCategories/form_input.blade.php b/resources/views/cabelCategories/form_input.blade.php
new file mode 100644
index 0000000..b79d603
--- /dev/null
+++ b/resources/views/cabelCategories/form_input.blade.php
@@ -0,0 +1 @@
+@include('Partials.Form.Input.name')
diff --git a/resources/views/cabelCategories/index.blade.php b/resources/views/cabelCategories/index.blade.php
new file mode 100644
index 0000000..682f32f
--- /dev/null
+++ b/resources/views/cabelCategories/index.blade.php
@@ -0,0 +1,38 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+
+ @lang('name')
+ @lang('action')
+
+
+ @foreach($data as $object)
+
+
+ @can('cabelCategories_view')
+
+ {{$object->name}}
+
+ @else
+ {{$role->name}}
+ @endcan
+
+
+ @can('cabelCategories_edit')
+ @lang('edit')
+ @endcan
+
+
+ @endforeach
+
+
+
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/cabelCategories/show.blade.php b/resources/views/cabelCategories/show.blade.php
new file mode 100644
index 0000000..193d90d
--- /dev/null
+++ b/resources/views/cabelCategories/show.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.show_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/cabelCategories/show_data.blade.php b/resources/views/cabelCategories/show_data.blade.php
new file mode 100644
index 0000000..4e22511
--- /dev/null
+++ b/resources/views/cabelCategories/show_data.blade.php
@@ -0,0 +1,20 @@
+@lang('cabels')
+@if(count($data->cabels) >= 1)
+
+@else
+ @lang('no_amount') @lang('products')
+@endif
diff --git a/resources/views/cabels/create.blade.php b/resources/views/cabels/create.blade.php
new file mode 100644
index 0000000..cc12678
--- /dev/null
+++ b/resources/views/cabels/create.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.create_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/cabels/deleted.blade.php b/resources/views/cabels/deleted.blade.php
new file mode 100644
index 0000000..543a1b2
--- /dev/null
+++ b/resources/views/cabels/deleted.blade.php
@@ -0,0 +1,68 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+
+ @lang('category')
+ @lang('name')
+ @lang('available')
+ @lang('lent')
+ @lang('reserved')
+ @lang('total')
+ @lang('action')
+
+
+ @foreach($data as $cabel)
+
+
+ {{$cabel->category->name}}
+
+
+
+ {{$cabel->name}}
+
+
+
+ {{$cabel->total - (count($cabel->loans) + count($cabel->reservations))}}
+
+
+ {{count($cabel->loans)}}
+
+
+ {{count($cabel->reservations)}}
+
+
+ {{$cabel->total}}
+
+
+ @can('cabels_edit')
+
+ @lang('edit')
+
+ @endcan
+ @can('cabels_restore')
+
+ @lang('restore')
+
+ @endcan
+ @can('cabels_delete_force')
+
+ @lang('delete_force')
+
+ @endcan
+
+
+ @endforeach
+
+
+ @include('Partials.Pages.display')
+
+@endsection
+@section('scripting')
+@endsection
diff --git a/resources/views/cabels/edit.blade.php b/resources/views/cabels/edit.blade.php
new file mode 100644
index 0000000..c205b0b
--- /dev/null
+++ b/resources/views/cabels/edit.blade.php
@@ -0,0 +1,50 @@
+@extends('Layouts.master')
+
+@section('content')
+
+
+ @can('cabels_delete')
+ @include('Partials.Form.Input.Modal.delete')
+ @endcan
+ @can('cabels_amount_add')
+
+
+ @endcan
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/cabels/form_input.blade.php b/resources/views/cabels/form_input.blade.php
new file mode 100644
index 0000000..6e90061
--- /dev/null
+++ b/resources/views/cabels/form_input.blade.php
@@ -0,0 +1,2 @@
+@include('Partials.Form.Input.category')
+@include('Partials.Form.Input.name')
diff --git a/resources/views/cabels/index.blade.php b/resources/views/cabels/index.blade.php
new file mode 100644
index 0000000..23cf4e4
--- /dev/null
+++ b/resources/views/cabels/index.blade.php
@@ -0,0 +1,67 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+
+ @lang('category')
+ @lang('name')
+ @lang('available')
+ @lang('lent')
+ @lang('reserved')
+ @lang('total')
+ @lang('action')
+
+
+ @foreach($data as $cabel)
+
+
+ @can('cabelCategories_view')
+
+ {{$cabel->category->name}}
+
+ @else
+ {{$cabel->category->name}}
+ @endcan
+
+
+ @can('cabels_view')
+
+ {{$cabel->name}}
+
+ @else
+ {{$cabel->name}}
+ @endcan
+
+
+ {{$cabel->total - (count($cabel->loans) + count($cabel->reservations))}}
+
+
+ {{count($cabel->loans)}}
+
+
+ {{count($cabel->reservations)}}
+
+
+ {{$cabel->total}}
+
+
+ @can('cabels_edit')
+ @lang('edit')
+
+ @endcan
+
+
+ @endforeach
+
+
+ @include('Partials.Pages.display')
+
+@endsection
+@section('scripting')
+@endsection
diff --git a/resources/views/cabels/show.blade.php b/resources/views/cabels/show.blade.php
new file mode 100644
index 0000000..193d90d
--- /dev/null
+++ b/resources/views/cabels/show.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.show_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/cabels/show_data.blade.php b/resources/views/cabels/show_data.blade.php
new file mode 100644
index 0000000..a7f18bd
--- /dev/null
+++ b/resources/views/cabels/show_data.blade.php
@@ -0,0 +1,10 @@
+
+ @lang('category') :
+ @can('cabelCategories_view')
+
+ {{$data->category->name}}
+
+ @else
+ {{$data->category->name}}
+ @endcan
+
diff --git a/resources/views/categories/create.blade.php b/resources/views/categories/create.blade.php
new file mode 100644
index 0000000..cc12678
--- /dev/null
+++ b/resources/views/categories/create.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.create_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/categories/deleted.blade.php b/resources/views/categories/deleted.blade.php
new file mode 100644
index 0000000..a41a8b6
--- /dev/null
+++ b/resources/views/categories/deleted.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.deleted_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/categories/edit.blade.php b/resources/views/categories/edit.blade.php
new file mode 100644
index 0000000..8485b70
--- /dev/null
+++ b/resources/views/categories/edit.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.edit_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/categories/form_input.blade.php b/resources/views/categories/form_input.blade.php
new file mode 100644
index 0000000..b79d603
--- /dev/null
+++ b/resources/views/categories/form_input.blade.php
@@ -0,0 +1 @@
+@include('Partials.Form.Input.name')
diff --git a/resources/views/categories/index.blade.php b/resources/views/categories/index.blade.php
new file mode 100644
index 0000000..a0707bb
--- /dev/null
+++ b/resources/views/categories/index.blade.php
@@ -0,0 +1,41 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+
+ @lang('name')
+ @lang('action')
+
+
+ @foreach($data as $category)
+
+
+ @can('categories_view')
+
+ {{$category->name}}
+
+ @else
+ {{$category->name}}
+ @endcan
+
+
+
+ @can('categories_edit')
+
+ @lang('edit')
+
+ @endcan
+
+
+ @endforeach
+
+
+ @include('Partials.Pages.display')
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/categories/show.blade.php b/resources/views/categories/show.blade.php
new file mode 100644
index 0000000..193d90d
--- /dev/null
+++ b/resources/views/categories/show.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.show_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/categories/show_data.blade.php b/resources/views/categories/show_data.blade.php
new file mode 100644
index 0000000..0fc69ca
--- /dev/null
+++ b/resources/views/categories/show_data.blade.php
@@ -0,0 +1,37 @@
+@lang('subcategories')
+@if(count($data->subcategories) >= 1)
+
+@else
+ @lang('no_amount') @lang('subcategories')
+@endif
+
+
+
+@lang('products')
+@if(count($data->products) >= 1)
+
+@else
+ @lang('no_amount') @lang('products')
+@endif
diff --git a/resources/views/contracts/index.blade.php b/resources/views/contracts/index.blade.php
new file mode 100644
index 0000000..4f48e3d
--- /dev/null
+++ b/resources/views/contracts/index.blade.php
@@ -0,0 +1,64 @@
+@extends('Layouts.master')
+
+@section('content')
+
+
+ @include('Partials.Pages.Search.search_bar')
+
+
+
+ @lang('user')
+ @lang('date')
+ @lang('type')
+ @lang('action')
+
+
+ @foreach($data as $contract)
+
+
+ @can('users_view')
+
+ {{ $contract->user->username }}
+
+ @else
+ {{ $contract->user->username }}
+ @endcan
+
+
+
+ {{ date('d.m.Y H:i:s', $contract->timestamp) }}
+
+
+ @if($contract->type == 'contracts')
+ @lang('loan')
+ @elseif($contract->type == 'laptops')
+ @lang('laptop')
+ @elseif($contract->type == 'reservations')
+ @lang('reservation')
+ @endif
+
+
+ @can('pdf_view')
+
+ @lang('show')
+
+ @endcan
+ @can('delete', App\Models\PDF::class)
+
+ @endcan
+
+
+ @endforeach
+
+
+ @include('Partials.Pages.display')
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/emails/.idea/.gitignore b/resources/views/emails/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/resources/views/emails/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/resources/views/emails/.idea/emails.iml b/resources/views/emails/.idea/emails.iml
new file mode 100644
index 0000000..c956989
--- /dev/null
+++ b/resources/views/emails/.idea/emails.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/views/emails/.idea/modules.xml b/resources/views/emails/.idea/modules.xml
new file mode 100644
index 0000000..ae1e1ca
--- /dev/null
+++ b/resources/views/emails/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/views/emails/.idea/vcs.xml b/resources/views/emails/.idea/vcs.xml
new file mode 100644
index 0000000..c2365ab
--- /dev/null
+++ b/resources/views/emails/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/views/emails/laptop.blade.php b/resources/views/emails/laptop.blade.php
new file mode 100644
index 0000000..120e4de
--- /dev/null
+++ b/resources/views/emails/laptop.blade.php
@@ -0,0 +1,16 @@
+
+
+
+{{ $user->name }},
+
+Dit Bærbar lån fra {{ $date->format('d-m-Y H:i')}} er bekræftiget.
+
+Bærbaren er dit ansvar i udlånsperioden.
+
+Se det vedhæftede PDF dokument for flere detaljer.
+
+Dette PDF Dokument kan også findes på din Profil i udlånssystemet
+
+Med venlig hilsen
+
+@lang('school')'s @lang('division')
diff --git a/resources/views/emails/loan.blade.php b/resources/views/emails/loan.blade.php
new file mode 100644
index 0000000..775224f
--- /dev/null
+++ b/resources/views/emails/loan.blade.php
@@ -0,0 +1,14 @@
+
+
+
+{{ $user->name }},
+
+Dit lån fra {{ $date->format('d-m-Y H:i')}} er bekræftiget.
+
+Se det vedhæftede PDF dokument for flere detaljer.
+
+Dette PDF Dokument kan også findes på din Profil i udlånssystemet
+
+Med venlig hilsen
+
+@lang('school')'s @lang('division')
diff --git a/resources/views/emails/reservation.blade.php b/resources/views/emails/reservation.blade.php
new file mode 100644
index 0000000..d7365f1
--- /dev/null
+++ b/resources/views/emails/reservation.blade.php
@@ -0,0 +1,12 @@
+
+
+
+{{ $user->name }},
+
+Din reservation fra {{ $date->format('d.m.Y H:i')}} er registreret.
+
+Før at reservation er gyldig - og produkterne kan opsættes i lokalet - skal den valideres ved Helpdesk senest {{ $deadline->format('d.m.Y H:i')}}.
+
+Med venlig hilsen
+
+@lang('school')'s @lang('division')
diff --git a/resources/views/emails/validation.blade.php b/resources/views/emails/validation.blade.php
new file mode 100644
index 0000000..03343e4
--- /dev/null
+++ b/resources/views/emails/validation.blade.php
@@ -0,0 +1,20 @@
+
+
+
+{{ $user->name }},
+
+Din reservation fra {{ $date->format('d-m-Y H:i')}} er bekræftiget.
+
+Se det vedhæftede PDF dokument for flere detaljer.
+
+Dette PDF Dokument kan også findes på din Profil i udlånssystemet
+
+Produkterne er dit ansvar i udlånsperioden.
+
+Kort tid før Start Dato starter vil de reserverede produkter blive opsat i lokalet.
+
+Kort tid efter Slut Dato vil de reserverede produkter blive hentet fra lokalet.
+
+Med venlig hilsen
+
+@lang('school')'s @lang('division')
diff --git a/resources/views/loans/adjust.blade.php b/resources/views/loans/adjust.blade.php
new file mode 100644
index 0000000..8825ecc
--- /dev/null
+++ b/resources/views/loans/adjust.blade.php
@@ -0,0 +1,21 @@
+@extends('Layouts.master')
+
+@section('content')
+
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/loans/create.blade.php b/resources/views/loans/create.blade.php
new file mode 100644
index 0000000..cc12678
--- /dev/null
+++ b/resources/views/loans/create.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.create_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/loans/create_pdf.blade.php b/resources/views/loans/create_pdf.blade.php
new file mode 100644
index 0000000..b3d9bbc
--- /dev/null
+++ b/resources/views/loans/create_pdf.blade.php
@@ -0,0 +1 @@
+
+
+
+@include('Partials.Form.Input.products')
+
+
+
+@include('Partials.Form.Input.cabels')
+
+
+
+@include('Partials.Form.Input.date_start')
+@include('Partials.Form.Input.date_end')
+
+
+
+@include('Partials.Form.Signature.loaner')
+@include('Partials.Form.Signature.lender')
+@include('Partials.Form.Signature.fake_full')
diff --git a/resources/views/loans/index.blade.php b/resources/views/loans/index.blade.php
new file mode 100644
index 0000000..aa0ea0c
--- /dev/null
+++ b/resources/views/loans/index.blade.php
@@ -0,0 +1,54 @@
+@extends('Layouts.master')
+
+@section('content')
+
+
+ @include('Partials.Pages.Search.search_bar')
+
+
+
+ @lang('user')
+ @lang('items')
+ @lang('date_start')
+ @lang('date_end')
+ @lang('action')
+
+
+ @foreach($data as $loan)
+
+
+
+ {{$loan->user->username}}
+
+
+
+ @include('Partials.Pages.loan_items')
+
+
+
+ {{date('d.m.Y',strtotime($loan->date_start))}}
+
+
+ @if(!empty($loan->date_end))
+ {{date('d.m.Y',strtotime($loan->date_end))}}
+ @else
+ @lang('permanent')
+ @endif
+
+
+ @can('loans_adjust')
+
+ @lang('adjust') @lang('date_end')
+
+ @endcan
+
+
+ @endforeach
+
+
+ @include('Partials.Pages.display')
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/loans/laptop/create.blade.php b/resources/views/loans/laptop/create.blade.php
new file mode 100644
index 0000000..d8488e3
--- /dev/null
+++ b/resources/views/loans/laptop/create.blade.php
@@ -0,0 +1,13 @@
+@extends('Layouts.master')
+
+@section('content')
+
+
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/loans/laptop/form_input.blade.php b/resources/views/loans/laptop/form_input.blade.php
new file mode 100644
index 0000000..d609ff7
--- /dev/null
+++ b/resources/views/loans/laptop/form_input.blade.php
@@ -0,0 +1,24 @@
+@include('Partials.Form.Input.user')
+@include('Partials.Form.Input.street')
+@include('Partials.Form.Input.city')
+
+
+
+@include('Partials.Form.Input.phone')
+@include('Partials.Form.Input.email')
+
+
+
+@include('Partials.Form.Input.laptop')
+@include('Partials.Form.Input.laptop_extras')
+
+
+
+@include('Partials.Form.Input.date_start')
+@include('Partials.Form.Input.date_end')
+
+
+
+@include('Partials.Form.Signature.loaner')
+@include('Partials.Form.Signature.lender')
+@include('Partials.Form.Signature.fake_full')
diff --git a/resources/views/loans/laptop/pdf.blade.php b/resources/views/loans/laptop/pdf.blade.php
new file mode 100644
index 0000000..e69de29
diff --git a/resources/views/loans/return.blade.php b/resources/views/loans/return.blade.php
new file mode 100644
index 0000000..91a12d4
--- /dev/null
+++ b/resources/views/loans/return.blade.php
@@ -0,0 +1,30 @@
+@extends('Layouts.master')
+
+@section('content')
+
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/login.blade.php b/resources/views/login.blade.php
new file mode 100644
index 0000000..83ad8da
--- /dev/null
+++ b/resources/views/login.blade.php
@@ -0,0 +1,82 @@
+
+@extends('layouts.login')
+
+
+@section('content')
+
+
+
+
@lang('login.title')
+
+
+
+
+
+
+
+@endsection
+
+
diff --git a/resources/views/logs.blade.php b/resources/views/logs.blade.php
new file mode 100644
index 0000000..d8a7af3
--- /dev/null
+++ b/resources/views/logs.blade.php
@@ -0,0 +1,197 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+ @include('Partials.Pages.display')
+
+@endsection
+@section('scripting')
+@endsection
diff --git a/resources/views/models/create.blade.php b/resources/views/models/create.blade.php
new file mode 100644
index 0000000..cc12678
--- /dev/null
+++ b/resources/views/models/create.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.create_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/models/deleted.blade.php b/resources/views/models/deleted.blade.php
new file mode 100644
index 0000000..bd9b5be
--- /dev/null
+++ b/resources/views/models/deleted.blade.php
@@ -0,0 +1,60 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+
+ @lang('brand')
+ @lang('name')
+ @lang('action')
+
+
+ @foreach($data as $object)
+
+
+ @can('brands_view')
+
+ {{$object->brand->name}}
+
+ @else
+ {{$object->brand->name}}
+ @endcan
+
+
+ @can('models_view')
+
+ {{$object->name}}
+
+ @else
+ {{$object->name}}
+ @endcan
+
+
+
+ @can(Request::segment(1).'_edit')
+
+ @lang('edit')
+
+ @endcan
+ @can(Request::segment(1).'_restore')
+
+ @lang('restore')
+
+ @endcan
+ @can(Request::segment(1).'_delete_force')
+ @include('Partials.Form.Input.Modal.delete_force')
+ @endcan
+
+
+ @endforeach
+
+
+ @include('Partials.Pages.display')
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/models/edit.blade.php b/resources/views/models/edit.blade.php
new file mode 100644
index 0000000..8485b70
--- /dev/null
+++ b/resources/views/models/edit.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.edit_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/models/form_input.blade.php b/resources/views/models/form_input.blade.php
new file mode 100644
index 0000000..ed534fb
--- /dev/null
+++ b/resources/views/models/form_input.blade.php
@@ -0,0 +1,2 @@
+@include('Partials.Form.Input.brand')
+@include('Partials.Form.Input.name')
diff --git a/resources/views/models/index.blade.php b/resources/views/models/index.blade.php
new file mode 100644
index 0000000..c37086b
--- /dev/null
+++ b/resources/views/models/index.blade.php
@@ -0,0 +1,50 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+
+ @lang('brand')
+ @lang('name')
+ @lang('action')
+
+
+ @foreach($data as $model)
+
+
+ @can('brands_view')
+
+ {{$model->brand->name}}
+
+ @else
+ {{$model->brand->name}}
+ @endcan
+
+
+ @can('models_view')
+
+ {{$model->name}}
+
+ @else
+ {{$model->name}}
+ @endcan
+
+
+
+ @can('models_edit')
+
+ @lang('edit')
+
+ @endcan
+
+
+ @endforeach
+
+
+ @include('Partials.Pages.display')
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/models/show.blade.php b/resources/views/models/show.blade.php
new file mode 100644
index 0000000..8ebcd82
--- /dev/null
+++ b/resources/views/models/show.blade.php
@@ -0,0 +1,51 @@
+@extends('Layouts.master')
+
+@section('content')
+
+
+
+
@lang('model') {{$data->name}}
+
+ @can('models_edit')
+
+ @endcan
+
+
+ @lang('brand') :
+ @can('brands_view')
+
+ {{$data->brand->name}}
+
+ @endcan
+
+
@lang('products')
+ @if(count($data->products) >= 1)
+
+ @else
+ @lang('no_amount') @lang('products')
+ @endif
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/notes/deleted.blade.php b/resources/views/notes/deleted.blade.php
new file mode 100644
index 0000000..f3e61e3
--- /dev/null
+++ b/resources/views/notes/deleted.blade.php
@@ -0,0 +1,118 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+ @include('Partials.Pages.display')
+
+@endsection
+@section('scripting')
+@endsection
diff --git a/resources/views/notes/edit.blade.php b/resources/views/notes/edit.blade.php
new file mode 100644
index 0000000..a368330
--- /dev/null
+++ b/resources/views/notes/edit.blade.php
@@ -0,0 +1,48 @@
+@extends('Layouts.master')
+
+@section('content')
+
+
+ @can('notes_delete')
+ @include('Partials.Form.Input.Modal.delete')
+ @endcan
+
+@endsection
+@section('scripting')
+@endsection
diff --git a/resources/views/notes/index.blade.php b/resources/views/notes/index.blade.php
new file mode 100644
index 0000000..0a26e1f
--- /dev/null
+++ b/resources/views/notes/index.blade.php
@@ -0,0 +1,95 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+ @include('Partials.Pages.display')
+
+@endsection
+@section('scripting')
+@endsection
diff --git a/resources/views/pdf/laptop.blade.php b/resources/views/pdf/laptop.blade.php
new file mode 100644
index 0000000..6ceec3c
--- /dev/null
+++ b/resources/views/pdf/laptop.blade.php
@@ -0,0 +1,284 @@
+
+
+@lang('school')
+
+
+
+
+
+
+
+
+
+@lang('division')
+@lang('laptop')
+
+
+
+ @lang('user') :
+
+
+
+ {{ $user->username }} - {{ $user->name }}
+
+
+
+
+
+ @lang('street') :
+
+
+
+ {{ $street_name }} {{ $street_number }} @if(!empty($street_instructions))- {{ $street_instructions }}@endif
+
+
+
+
+
+ @lang('city') :
+
+
+
+ {{ $city_zip }} {{ $city_name }}
+
+
+
+
+
+ @lang('telephone') :
+
+
+
+ {{ $telephone }}
+
+
+
+
+
+ @lang('email') :
+
+
+
+ {{ $email }}
+
+
+
+
+
+ @lang('date_start') :
+
+
+
+ {{ date('d.m.Y', strtotime($date_start)) }}
+
+
+
+
+ @lang('date_end') :
+
+
+
+ @if(!empty($date_end))
+ {{ date('d.m.Y', strtotime($date_end)) }}
+ @else
+ @lang('permanent')
+ @endif
+
+
+
+
+
+@lang('product')
+
+
+
+
+ @lang('category')
+
+
+
+ @lang('brand')
+
+
+
+ @lang('model')
+
+
+ @if(!empty($product->name))
+
+ @lang('name')
+
+ @endif
+
+
+
+
+ {{ $product->category->name }}
+
+
+ {{ $product->brand->name }}
+
+
+ {{ $product->model->name }}
+
+ @if(!empty($product->name))
+
+ {{ $product->name }}
+
+ @endif
+
+
+
+
+
+
+
+ @lang('lock') :
+
+
+ @lang($lock)
+
+
+ @if(!empty($bag))
+
+
+ @lang('bag') :
+
+
+ @lang($bag)
+
+
+ @endif
+
+
+
+
+
+
+ @lang('loaner')
+
+
+
+ @lang('lender')
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $user->name }}
+
+
+
+ {{ Auth::user()->name }}
+
+
+
diff --git a/resources/views/pdf/loan.blade.php b/resources/views/pdf/loan.blade.php
new file mode 100644
index 0000000..2bf3dc0
--- /dev/null
+++ b/resources/views/pdf/loan.blade.php
@@ -0,0 +1,282 @@
+
+
+@lang('school')
+
+
+
+
+
+
+
+
+
+@lang('division')
+@lang('loan')
+
+
+
+ @lang('user') :
+
+
+
+ {{ $user->username }} - {{ $user->name }}
+
+
+
+
+
+ @lang('date_start') :
+
+
+
+ {{ date('d.m.Y', strtotime($date_start)) }}
+
+
+
+
+ @lang('date_end') :
+
+
+
+ @if(!empty($date_end))
+ {{ date('d.m.Y', strtotime($date_end)) }}
+ @else
+ @lang('permanent')
+ @endif
+
+
+
+
+
+@if($products_total_amount >= 1)
+
+
+ @lang('products')
+
+
+
+
+ @lang('category')
+
+
+
+ @lang('subcategory')
+
+
+
+ @lang('brand')
+
+
+
+ @lang('model')
+
+
+
+ @lang('name')
+
+
+ @lang('amount')
+
+
+
+ @foreach($products as $product)
+
+
+ {{ $product[0]->category->name }}
+
+
+ @if(!empty($product[0]->subcategory))
+ {{ $product[0]->subcategory->name }}
+ @endif
+
+
+ {{ $product[0]->brand->name }}
+
+
+ {{ $product[0]->model->name }}
+
+
+ @if(!empty($product[0]->name))
+ {{ $product[0]->name }}
+ @endif
+
+
+ {{ $product[1]}}
+
+
+ @endforeach
+
+
+
+
+
+ Total @lang('amount') : {{$products_total_amount}}
+
+@endif
+
+@if($cabels_total_amount >= 1)
+
+
+ Kabler
+
+
+
+ @lang('category')
+ @lang('type')
+ @lang('amount')
+
+
+ @foreach($cabels as $cabel)
+
+
+ {{ $cabel[0]->category->name }}
+
+
+ {{ $cabel[0]->name }}
+
+
+ {{ $cabel[1] }}
+
+
+ @endforeach
+
+
+
+
+
+ Total @lang('amount') : {{$cabels_total_amount}}
+@endif
+
+
+
+
+
+
+ @lang('loaner')
+
+
+
+ @lang('lender')
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $user->name }}
+
+
+
+ {{ Auth::user()->name }}
+
+
+
+
diff --git a/resources/views/pdf/reservation.blade.php b/resources/views/pdf/reservation.blade.php
new file mode 100644
index 0000000..f15e49a
--- /dev/null
+++ b/resources/views/pdf/reservation.blade.php
@@ -0,0 +1,291 @@
+
+
+@lang('school')
+
+
+
+
+
+
+
+
+
+@lang('division')
+@lang('reservation')
+
+
+
+ @lang('user') :
+
+
+
+ {{ $user->username }} - {{ $user->name }}
+
+
+
+
+
+ @lang('room') :
+
+
+
+ {{ $room->building->name }} - {{ $room->name }}
+
+
+
+
+
+ @lang('date_start') :
+
+
+
+ {{ date('d.m.Y', strtotime($date_start)) }}
+
+
+
+
+ @lang('date_end') :
+
+
+
+ @if(!empty($date_end))
+ {{ date('d.m.Y', strtotime($date_end)) }}
+ @else
+ @lang('permanent')
+ @endif
+
+
+
+
+
+@if($products_total_amount >= 1)
+
+
+ @lang('products')
+
+
+
+
+ @lang('category')
+
+
+
+ @lang('subcategory')
+
+
+
+ @lang('brand')
+
+
+
+ @lang('model')
+
+
+
+ @lang('name')
+
+
+ @lang('amount')
+
+
+
+ @foreach($products as $loan)
+
+
+ {{ $loan->loanable->category->name }}
+
+
+ @if(!empty($loan->loanable->subcategory))
+ {{ $loan->loanable->subcategory->name }}
+ @endif
+
+
+ {{ $loan->loanable->brand->name }}
+
+
+ {{ $loan->loanable->model->name }}
+
+
+ @if(!empty($loan->loanable->name))
+ {{ $loan->loanable->name }}
+ @endif
+
+
+ {{ $loan->amount}}
+
+
+ @endforeach
+
+
+
+
+
+ Total @lang('amount') : {{$products_total_amount}}
+
+@endif
+
+@if($cabels_total_amount >= 1)
+
+
+ Kabler
+
+
+
+ @lang('category')
+ @lang('type')
+ @lang('amount')
+
+
+ @foreach($cabels as $loan)
+
+
+ {{ $loan->loanable->category->name }}
+
+
+ {{ $loan->loanable->name }}
+
+
+ {{ $loan->amount }}
+
+
+ @endforeach
+
+
+
+
+
+ Total @lang('amount') : {{$cabels_total_amount}}
+@endif
+
+
+
+
+
+
+ @lang('loaner')
+
+
+
+ @lang('lender')
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $user->name }}
+
+
+
+ {{ Auth::user()->name }}
+
+
+
diff --git a/resources/views/products/create.blade.php b/resources/views/products/create.blade.php
new file mode 100644
index 0000000..5258623
--- /dev/null
+++ b/resources/views/products/create.blade.php
@@ -0,0 +1,13 @@
+@extends('Layouts.master')
+
+@section('content')
+
+
+ @include('products.form_input')
+ @include('Partials.Form.Input.Submit.submit_create')
+
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/products/deleted.blade.php b/resources/views/products/deleted.blade.php
new file mode 100644
index 0000000..8c96ab3
--- /dev/null
+++ b/resources/views/products/deleted.blade.php
@@ -0,0 +1,138 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+
+ @if(config('app.barcode_mode') == 'static')
+ @lang('barcode')
+ @endif
+ @lang('category')
+ @lang('subcategory')
+ @lang('brand')
+ @lang('model')
+ @lang('name')
+ @lang('description')
+
+ @lang('available')
+ @lang('lent')
+ @lang('reserved')
+ @lang('total')
+ @lang('action')
+
+
+ @foreach($data as $product)
+
+ @if(config('app.barcode_mode') == 'static')
+
+ @if(!empty($product->barcode))
+ {{$product->barcode}}
+ @else
+ @lang('none')
+ @endif
+
+ @endif
+
+ @can('categories_view')
+
+ {{$product->category->name}}
+
+ @else
+ {{$product->category->name}}
+ @endcan
+
+
+ @can('subcategories_view')
+ @if(!empty($product->subcategory))
+
+ {{$product->subcategory->name}}
+
+ @else
+ @lang('none')
+ @endif
+ @else
+ {{$product->subcategory->name}}
+ @endcan
+
+
+ @can('brands_view')
+
+ {{$product->brand->name}}
+
+ @else
+ {{$product->brand->name}}
+ @endcan
+
+
+ @can('models_view')
+
+ {{$product->model->name}}
+
+ @else
+ {{$product->model->name}}
+ @endcan
+
+
+ @can('products_view')
+ @if(!empty($product->name))
+
+ {{$product->name}}
+
+ @else
+
+ @lang('show')
+
+ @endif
+ @else
+ {{$product->name}}
+ @endcan
+
+
+
+ {{$product->description}}
+
+
+ {{$product->total - (count($product->loans) + count($product->reservations))}}
+
+
+ {{count($product->loans)}}
+
+
+ {{count($product->reservations)}}
+
+
+ {{$product->total}}
+
+
+ @can('brand_edit')
+
+ @lang('edit')
+
+ @endcan
+ @can('brand_restore')
+
+ @lang('restore')
+
+ @endcan
+ @can('brand_delete_force')
+
+ @lang('delete_force')
+
+ @endcan
+
+
+ @endforeach
+
+
+ @include('Partials.Pages.display')
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/products/edit.blade.php b/resources/views/products/edit.blade.php
new file mode 100644
index 0000000..eb02b1c
--- /dev/null
+++ b/resources/views/products/edit.blade.php
@@ -0,0 +1,50 @@
+@extends('Layouts.master')
+
+@section('content')
+
+
+ @include('products.form_input')
+ @include('Partials.Form.Input.Submit.submit_edit')
+
+ @can('products_delete')
+ @include('Partials.Form.Input.Modal.delete')
+ @endcan
+ @can('products_amount_add')
+
+
+ @method('put')
+ @csrf
+
+
+ @endcan
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/products/form_input.blade.php b/resources/views/products/form_input.blade.php
new file mode 100644
index 0000000..bb19c82
--- /dev/null
+++ b/resources/views/products/form_input.blade.php
@@ -0,0 +1,9 @@
+@if(config('app.barcode_mode') == "static")
+ @include('Partials.Form.Input.barcode')
+@endif
+@include('Partials.Form.Input.category')
+@include('Partials.Form.Input.subcategory')
+@include('Partials.Form.Input.brand')
+@include('Partials.Form.Input.model')
+@include('Partials.Form.Input.name')
+@include('Partials.Form.Input.description')
diff --git a/resources/views/products/index.blade.php b/resources/views/products/index.blade.php
new file mode 100644
index 0000000..b11f776
--- /dev/null
+++ b/resources/views/products/index.blade.php
@@ -0,0 +1,129 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+
+ @if(config('app.barcode_mode') == 'static')
+ @lang('barcode')
+ @endif
+ @lang('category')
+ @lang('subcategory')
+ @lang('brand')
+ @lang('model')
+ @lang('name')
+ @lang('description')
+ @lang('available')
+ @lang('lent')
+ @lang('reserved')
+ @lang('total')
+ @lang('action')
+
+
+ @foreach($data as $product)
+
+ @if(config('app.barcode_mode') == 'static')
+
+ @if(!empty($product->barcode))
+ {{$product->barcode}}
+ @else
+ @lang('none')
+ @endif
+
+ @endif
+
+ @can('categories_view')
+
+ {{$product->category->name}}
+
+ @else
+ {{$product->category->name}}
+ @endcan
+
+
+ @can('subcategories_view')
+ @if(!empty($product->subcategory))
+
+ {{$product->subcategory->name}}
+
+ @else
+ @lang('none')
+ @endif
+ @else
+ {{$product->subcategory->name}}
+ @endcan
+
+
+ @can('brands_view')
+
+ {{$product->brand->name}}
+
+ @else
+ {{$product->brand->name}}
+ @endcan
+
+
+ @can('models_view')
+
+ {{$product->model->name}}
+
+ @else
+ {{$product->model->name}}
+ @endcan
+
+
+ @can('products_view')
+ @if(!empty($product->name))
+
+ {{$product->name}}
+
+ @else
+
+ @lang('show')
+
+ @endif
+ @else
+ {{$product->name}}
+ @endcan
+
+
+
+ {{$product->description}}
+
+
+ {{$product->total - (count($product->loans) + count($product->reservations))}}
+
+
+ {{count($product->loans)}}
+
+
+ {{count($product->reservations)}}
+
+
+ {{$product->total}}
+
+
+
+
+
+ @endforeach
+
+
+ @include('Partials.Pages.display')
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/products/show.blade.php b/resources/views/products/show.blade.php
new file mode 100644
index 0000000..5f1e406
--- /dev/null
+++ b/resources/views/products/show.blade.php
@@ -0,0 +1,163 @@
+@extends('Layouts.master')
+
+@section('content')
+
+
+
+
+ @if(!empty($data->deleted_at))
+ @lang('DELETED')
+ @endif
+ @lang('product')
+
+
+ @can('product_edit')
+
+ @endcan
+
+
+
+
+
+ @if(config('app.barcode_mode') == 'static')
+ @lang('static')
+ @elseif(config('app.barcode_mode') == 'dynamic')
+ @lang('dynamic')
+ @endif
+ @lang('barcode') :
+
+
+ @if(config('app.barcode_mode') == 'static')
+ @if(!empty($data->barcode))
+ {{$data->barcode}}
+ @endif
+ @elseif(config('app.barcode_mode') == 'dynamic')
+ {{$data->category->name}}.@if(!empty($data->subcategory)){{$data->subcategory->name}}.@endif{{$data->brand->name}}.{{$data->model->name}}@if(!empty($data->name)).{{$data->name}}@endif
+ @endif
+
+
+
+
+ @lang('category') :
+
+
+ {{$data->category->name}}
+
+
+
+
+ @lang('subcategory') :
+
+
+ @if(!empty($data->subcategory))
+ {{$data->subcategory->name}}
+ @else
+ @lang('none')
+ @endif
+
+
+
+
+ @lang('brand') :
+
+
+ {{$data->brand->name}}
+
+
+
+
+ @lang('model') :
+
+
+ {{$data->model->name}}
+
+
+
+
+ @lang('name') :
+
+
+ @if(!empty($data->name))
+ {{$data->name}}
+ @endif
+
+
+
+
+ @lang('created_at') :
+
+
+ {{date('d-m-Y H:i:s',strtotime($data->created_at))}}
+
+
+
+
+ @lang('updated_at') :
+
+
+ {{date('d-m-Y H:i:s',strtotime($data->updated_at))}}
+
+
+ @if(!empty($data->deleted_at))
+
+
+ @lang('deleted_at') :
+
+
+ {{date('d-m-Y H:i:s',strtotime($data->deleted_at))}}
+
+
+ @endif
+
+
+
+ @lang('pool')
+
+
+
+
+ @lang('available') :
+
+
+ {{$data->total - (count($data->loans) + count($data->reservations))}}
+
+
+
+
+ @lang('lent') :
+
+
+ {{count($data->loans)}}
+
+
+
+
+ @lang('reserved') :
+
+
+ {{count($data->reservations)}}
+
+
+
+
+ @lang('total') :
+
+
+ {{$data->total}}
+
+
+
+
+
+
+
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/reservations/create.blade.php b/resources/views/reservations/create.blade.php
new file mode 100644
index 0000000..cc12678
--- /dev/null
+++ b/resources/views/reservations/create.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.create_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/reservations/form_input.blade.php b/resources/views/reservations/form_input.blade.php
new file mode 100644
index 0000000..bc8e283
--- /dev/null
+++ b/resources/views/reservations/form_input.blade.php
@@ -0,0 +1,15 @@
+@include('Partials.Form.Input.user')
+@include('Partials.Form.Input.room')
+
+
+
+@include('Partials.Form.Input.products')
+
+
+
+@include('Partials.Form.Input.cabels')
+
+
+
+@include('Partials.Form.Input.date_start')
+@include('Partials.Form.Input.date_end')
diff --git a/resources/views/reservations/index.blade.php b/resources/views/reservations/index.blade.php
new file mode 100644
index 0000000..29739cb
--- /dev/null
+++ b/resources/views/reservations/index.blade.php
@@ -0,0 +1,74 @@
+@extends('Layouts.master')
+
+@section('content')
+
+
+ @include('Partials.Pages.Search.search_bar')
+
+ @include('Partials.Pages.reservation_selector')
+
+
+ @lang('user')
+ @lang('room')
+ @lang('items')
+ @lang('date_start')
+ @lang('date_end')
+ @lang('status')
+
+
+ @foreach($data as $reservation)
+
+
+
+ {{$reservation->user->username}}
+
+
+
+
+ {{$reservation->room->building->name}}.{{$reservation->room->name}}
+
+
+
+
+ @include('Partials.Pages.reservation_items')
+
+
+
+ {{date('d.m.Y',strtotime($reservation->date_start))}}
+
+
+ @if(!empty($reservation->date_end))
+ {{date('d.m.Y',strtotime($reservation->date_end))}}
+ @else
+ @lang('permanent')
+ @endif
+
+
+ @switch($reservation->type->name)
+ @case('Reservation - Awaiting')
+ @lang('validation')
+ @break
+ @case('Reservation - Set Up')
+ @lang('setup')
+ @break
+ @case('Reservation - Pick Up')
+ @lang('pickup')
+ @break
+ @endswitch
+
+
+ @endforeach
+
+
+ @include('Partials.Pages.display')
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/reservations/pickups.blade.php b/resources/views/reservations/pickups.blade.php
new file mode 100644
index 0000000..8d53ce1
--- /dev/null
+++ b/resources/views/reservations/pickups.blade.php
@@ -0,0 +1,61 @@
+@extends('Layouts.master')
+
+@section('content')
+
+
+ @include('Partials.Pages.Search.search_bar')
+
+ @include('Partials.Pages.reservation_selector')
+
+
+ @lang('user')
+ @lang('room')
+ @lang('items')
+ @lang('date_start')
+ @lang('date_end')
+ @lang('action')
+
+
+ @foreach($data as $reservation)
+
+
+
+ {{$reservation->user->username}}
+
+
+
+
+ {{$reservation->room->building->name}}.{{$reservation->room->name}}
+
+
+
+ @include('Partials.Pages.reservation_items')
+
+
+
+ {{date('d.m.Y',strtotime($reservation->date_start))}}
+
+
+ @if(!empty($reservation->date_end))
+ {{date('d.m.Y',strtotime($reservation->date_end))}}
+ @else
+ @lang('permanent')
+ @endif
+
+
+ @can('reservations_pickup')
+ @include('Partials.Pages.reservation_pickup')
+ @endcan
+
+
+ @endforeach
+
+
+ @include('Partials.Pages.display')
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/reservations/setups.blade.php b/resources/views/reservations/setups.blade.php
new file mode 100644
index 0000000..fd481c2
--- /dev/null
+++ b/resources/views/reservations/setups.blade.php
@@ -0,0 +1,61 @@
+@extends('Layouts.master')
+
+@section('content')
+
+
+ @include('Partials.Pages.Search.search_bar')
+
+ @include('Partials.Pages.reservation_selector')
+
+
+ @lang('user')
+ @lang('room')
+ @lang('items')
+ @lang('date_start')
+ @lang('date_end')
+ @lang('action')
+
+
+ @foreach($data as $reservation)
+
+
+
+ {{$reservation->user->username}}
+
+
+
+
+ {{$reservation->room->building->name}}.{{$reservation->room->name}}
+
+
+
+ @include('Partials.Pages.reservation_items')
+
+
+
+ {{date('d.m.Y',strtotime($reservation->date_start))}}
+
+
+ @if(!empty($reservation->date_end))
+ {{date('d.m.Y',strtotime($reservation->date_end))}}
+ @else
+ @lang('permanent')
+ @endif
+
+
+ @can('reservations_setup')
+ @include('Partials.Pages.reservation_setup')
+ @endcan
+
+
+ @endforeach
+
+
+ @include('Partials.Pages.display')
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/reservations/validate.blade.php b/resources/views/reservations/validate.blade.php
new file mode 100644
index 0000000..c5877c3
--- /dev/null
+++ b/resources/views/reservations/validate.blade.php
@@ -0,0 +1,93 @@
+@extends('Layouts.master')
+
+@section('content')
+
+
+
@lang('user') :
+
+ {{$user->username}}
+
+
+
+
@lang('room') :
+
+ {{$room->building->name}} - {{$room->name}}
+
+
+
+
@lang('date_start') :
+
+ {{date('d.m.Y',strtotime($data->date_start))}}
+
+
+
+
@lang('date_end') :
+
+ {{date('d.m.Y',strtotime($data->date_end))}}
+
+
+
+
+
@lang('loans') :
+
+
+
+ @lang('type')
+ @lang('item')
+ @lang('amount')
+
+
+ @foreach($reservations as $reservation)
+
+
+ @switch($reservation->loanable_type)
+ @case('App\Models\Product')
+ @lang('product')
+ @break
+ @case('App\Models\Cabel')
+ @lang('cabel')
+ @break
+ @endswitch
+
+
+ @switch($reservation->loanable_type)
+ @case('App\Models\Product')
+ @if(config('app.barcode_mode') == 'dynamic')
+ {{$reservation->loanable->category->name}}.@if(!empty($reservation->loanable->subcategory->name)){{$reservation->loanable->subcategory->name}}.@endif{{$reservation->loanable->brand->name}}.{{$reservation->loanable->model->name}}@if(!empty($reservation->loanable->name)).{{$reservation->loanable->name}}@endif
+ @endif
+ @if(config('app.barcode_mode') == 'static')
+ {{$reservation->loanable->barcode}}
+ @endif
+ @break
+ @case('App\Models\Cabel')
+ {{$reservation->loanable->category->name}}.{{$reservation->loanable->name}}
+ @break
+ @endswitch
+
+
+ {{$reservation->amount}}
+
+
+ @endforeach
+
+
+
+
+
+
+ @include('Partials.Form.Signature.loaner')
+ @include('Partials.Form.Signature.lender')
+ @include('Partials.Form.Signature.fake_full')
+
+
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/reservations/validations.blade.php b/resources/views/reservations/validations.blade.php
new file mode 100644
index 0000000..3cd66a0
--- /dev/null
+++ b/resources/views/reservations/validations.blade.php
@@ -0,0 +1,100 @@
+@extends('Layouts.master')
+
+@section('content')
+
+
+ @include('Partials.Pages.Search.search_bar')
+
+ @include('Partials.Pages.reservation_selector')
+
+
+ @lang('user')
+ @lang('room')
+ @lang('deadline')
+ @lang('date_start')
+ @lang('date_end')
+
+ @lang('action')
+
+
+ @foreach($data as $loan)
+
+
+
+ {{$loan->user->username}}
+
+
+
+
+ {{$loan->room->building->name}}.{{$loan->room->name}}
+
+
+
+ @if(!empty($loan->date_deadline))
+ {{date('d.m.Y H:i:s',strtotime($loan->date_deadline))}}
+ @endif
+
+
+ {{date('d.m.Y',strtotime($loan->date_start))}}
+
+
+ @if(!empty($loan->date_end))
+ {{date('d.m.Y',strtotime($loan->date_end))}}
+ @else
+ @lang('permanent')
+ @endif
+
+
+
+ @can('reservations_validate')
+ @if(NOW() < $loan->date_deadline)
+
+ @lang('validate') @lang('reservation')
+
+ @endif
+ @endcan
+ @can('reservations_cancel')
+ @if(NOW() > $loan->date_deadline)
+
+ @lang('delete')
+
+
+ @endif
+ @endcan
+
+
+ @endforeach
+
+
+ @include('Partials.Pages.display')
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/roles/create.blade.php b/resources/views/roles/create.blade.php
new file mode 100644
index 0000000..cc12678
--- /dev/null
+++ b/resources/views/roles/create.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.create_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/roles/deleted.blade.php b/resources/views/roles/deleted.blade.php
new file mode 100644
index 0000000..4c998c6
--- /dev/null
+++ b/resources/views/roles/deleted.blade.php
@@ -0,0 +1,40 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+
+ @lang('name')
+ @lang('action')
+
+
+ @foreach($data as $object)
+
+
+ {{$object->name}}
+
+
+ @can(Request::segment(1).'_edit')
+
+ @lang('edit')
+
+ @endcan
+ @can(Request::segment(1).'_restore')
+
+ @lang('restore')
+
+ @endcan
+ @can(Request::segment(1).'_delete_force')
+ @include('Partials.Form.Input.Modal.delete_force')
+ @endcan
+
+
+ @endforeach
+
+
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/roles/edit.blade.php b/resources/views/roles/edit.blade.php
new file mode 100644
index 0000000..8485b70
--- /dev/null
+++ b/resources/views/roles/edit.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.edit_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/roles/form_input.blade.php b/resources/views/roles/form_input.blade.php
new file mode 100644
index 0000000..ff2d7bd
--- /dev/null
+++ b/resources/views/roles/form_input.blade.php
@@ -0,0 +1,6 @@
+@include('Partials.Form.Input.name')
+@can('roles_edit_permissions')
+ @if(isset($data))
+ @include('Partials.Form.Input.permissions')
+ @endif
+@endcan
diff --git a/resources/views/roles/index.blade.php b/resources/views/roles/index.blade.php
new file mode 100644
index 0000000..69b67de
--- /dev/null
+++ b/resources/views/roles/index.blade.php
@@ -0,0 +1,39 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+
+ @lang('name')
+ @lang('action')
+
+
+ @foreach($data as $role)
+
+
+ @can('roles_view')
+
+ {{$role->name}}
+
+ @else
+ {{$role->name}}
+ @endcan
+
+
+ @can('roles_edit')
+ @lang('edit')
+ @endcan
+
+
+ @endforeach
+
+
+
+
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/roles/show.blade.php b/resources/views/roles/show.blade.php
new file mode 100644
index 0000000..193d90d
--- /dev/null
+++ b/resources/views/roles/show.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.show_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/roles/show_data.blade.php b/resources/views/roles/show_data.blade.php
new file mode 100644
index 0000000..973a6d7
--- /dev/null
+++ b/resources/views/roles/show_data.blade.php
@@ -0,0 +1,24 @@
+@lang('users')
+@if(count($data->users) >= 1)
+
+
+ @foreach($data->users as $user)
+
+
+ @can('users_view')
+
+ {{$user->username}}
+
+ @else
+ {{$user->username}}
+ @endcan
+
+
+ @endforeach
+
+
+@else
+ @lang('no_amount') @lang('users')
+@endif
diff --git a/resources/views/rooms/create.blade.php b/resources/views/rooms/create.blade.php
new file mode 100644
index 0000000..cc12678
--- /dev/null
+++ b/resources/views/rooms/create.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.create_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/rooms/deleted.blade.php b/resources/views/rooms/deleted.blade.php
new file mode 100644
index 0000000..323e877
--- /dev/null
+++ b/resources/views/rooms/deleted.blade.php
@@ -0,0 +1,48 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+
+ @lang('building')
+ @lang('room')
+ @lang('action')
+
+
+ @foreach($data as $object)
+
+
+ {{$object->building->name}}
+
+
+ {{$object->name}}
+
+
+ @can(Request::segment(1).'_edit')
+
+ @lang('edit')
+
+ @endcan
+ @can(Request::segment(1).'_restore')
+
+ @lang('restore')
+
+ @endcan
+ @can(Request::segment(1).'_delete_force')
+ @include('Partials.Form.Input.Modal.delete_force')
+ @endcan
+
+
+ @endforeach
+
+
+ @include('Partials.Pages.display')
+
+@endsection
+@section('scripting')
+@endsection
diff --git a/resources/views/rooms/edit.blade.php b/resources/views/rooms/edit.blade.php
new file mode 100644
index 0000000..8485b70
--- /dev/null
+++ b/resources/views/rooms/edit.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.edit_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/rooms/form_input.blade.php b/resources/views/rooms/form_input.blade.php
new file mode 100644
index 0000000..32df5b3
--- /dev/null
+++ b/resources/views/rooms/form_input.blade.php
@@ -0,0 +1,2 @@
+@include('Partials.Form.Input.building')
+@include('Partials.Form.Input.name')
diff --git a/resources/views/rooms/index.blade.php b/resources/views/rooms/index.blade.php
new file mode 100644
index 0000000..0b0c417
--- /dev/null
+++ b/resources/views/rooms/index.blade.php
@@ -0,0 +1,35 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+ @include('Partials.Pages.display')
+
+@endsection
+@section('scripting')
+@endsection
diff --git a/resources/views/rooms/show.blade.php b/resources/views/rooms/show.blade.php
new file mode 100644
index 0000000..193d90d
--- /dev/null
+++ b/resources/views/rooms/show.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.show_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/rooms/show_data.blade.php b/resources/views/rooms/show_data.blade.php
new file mode 100644
index 0000000..7449e88
--- /dev/null
+++ b/resources/views/rooms/show_data.blade.php
@@ -0,0 +1,116 @@
+
+ @lang('building') :
+ @can('buildings_view')
+
+ {{$data->building->name}}
+
+ @else
+ {{$data->building->name}}
+ @endcan
+
+
+@lang('reservations')
+@if(count($data->reservations) >= 1)
+
+@else
+ @lang('no_amount') @lang('reservations')
+@endif
diff --git a/resources/views/statistics.blade.php b/resources/views/statistics.blade.php
new file mode 100644
index 0000000..6c0f68f
--- /dev/null
+++ b/resources/views/statistics.blade.php
@@ -0,0 +1,366 @@
+@extends('Layouts.master')
+
+@section('content')
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @lang('returned'):
+
+ {{$lastday_returned}}
+
+
+
+
+ @lang('notes'):
+
+ {{$lastday_notes}}
+
+
+
+
+
+
+
+
+
+ @lang('available'):
+
+ {{$total_total - ($total_lent + $total_reserved)}}
+
+
+
+
+ @lang('loaned'):
+
+ {{$total_lent}}
+
+
+
+
+ @lang('reserved'):
+
+ {{$total_reserved}}
+
+
+
+
+ @lang('total'):
+
+ {{$total_total}}
+
+
+
+
+
+
+
+
+
+
+ @lang('loans')
+
+ @if(count($lent) >= 1)
+
+
+ @lang('place')
+ @lang('user')
+ @lang('amount')
+
+
+ @for($i = 1; $i <= count($lent);$i++)
+
+
+ {{$i}}
+
+
+ @can('users_view')
+
+ {{$lent[$i-1]->user->username}}
+
+ @else
+ {{$lent[$i-1]->user->username}}
+ @endcan
+
+
+ {{$lent[$i-1]->sum}}
+
+
+ @endfor
+
+
+ @else
+
+ @lang('no_amount')
+
+ @endif
+
+
+
+
+ @lang('returns')
+
+ @if(count($returned) >= 1)
+
+
+ @lang('place')
+ @lang('user')
+ @lang('amount')
+
+
+ @for($i = 1; $i <= count($returned);$i++)
+
+
+ {{$i}}
+
+
+ @can('users_view')
+
+ {{$returned[$i-1]->user->username}}
+
+ @else
+ {{$returned[$i-1]->user->username}}
+ @endcan
+
+
+ {{$returned[$i-1]->sum}}
+
+
+ @endfor
+
+
+ @else
+
+ @lang('no_amount')
+
+ @endif
+
+
+
+ @lang('notes')
+
+ @if(count($notes) >= 1)
+
+
+ @lang('place')
+ @lang('user')
+ @lang('amount')
+
+
+ @for($i = 1; $i <= count($notes);$i++)
+
+
+ {{$i}}
+
+
+ @can('users_view')
+
+ {{$notes[$i-1]->user->username}}
+
+ @else
+ {{$notes[$i-1]->user->username}}
+ @endcan
+
+
+ {{$notes[$i-1]->amount}}
+
+
+ @endfor
+
+
+ @else
+
+ @lang('no_amount')
+
+ @endif
+
+
+
+ @lang('reservations')
+
+ @if(count($reserved) >= 1)
+
+
+ @lang('place')
+ @lang('user')
+ @lang('amount')
+
+
+ @for($i = 1; $i <= count($reserved);$i++)
+
+
+ {{$i}}
+
+
+ @can('users_view')
+
+ {{$reserved[$i-1]->user->username}}
+
+ @else
+ {{$reserved[$i-1]->user->username}}
+ @endcan
+
+
+ {{$reserved[$i-1]->sum}}
+
+
+ @endfor
+
+
+ @else
+
+ @lang('no_amount')
+
+ @endif
+
+
+
+
+ @lang('validations')
+
+ @if(count($validated) >= 1)
+
+
+ @lang('place')
+ @lang('user')
+ @lang('amount')
+
+
+ @for($i = 1; $i <= count($validated);$i++)
+
+
+ {{$i}}
+
+
+ @can('users_view')
+
+ {{$validated[$i-1]->user->username}}
+
+ @else
+ {{$validated[$i-1]->user->username}}
+ @endcan
+
+
+
+ {{$validated[$i-1]->amount}}
+
+
+ @endfor
+
+
+ @else
+
+ @lang('no_amount')
+
+ @endif
+
+
+
+
+ @lang('setups')
+
+ @if(count($setups) >= 1)
+
+
+ @lang('place')
+ @lang('user')
+ @lang('amount')
+
+
+ @for($i = 1; $i <= count($setups);$i++)
+
+
+ {{$i}}
+
+
+ @can('users_view')
+
+ {{$setups[$i-1]->user->username}}
+
+ @else
+ {{$setups[$i-1]->user->username}}
+ @endcan
+
+
+
+ {{$setups[$i-1]->amount}}
+
+
+ @endfor
+
+
+ @else
+
+ @lang('no_amount')
+
+ @endif
+
+
+
+ @lang('pickups')
+
+ @if(count($pickups) >= 1)
+
+
+ @lang('place')
+ @lang('user')
+ @lang('amount')
+
+
+ @for($i = 1; $i <= count($pickups);$i++)
+
+
+ {{$i}}
+
+
+ @can('users_view')
+
+ {{$pickups[$i-1]->user->username}}
+
+ @else
+ {{$pickups[$i-1]->user->username}}
+ @endcan
+
+
+ {{$setups[$i-1]->amount}}
+
+
+ @endfor
+
+
+ @else
+
+ @lang('no_amount')
+
+ @endif
+
+
+
+@endsection
+@section('scripting')
+@endsection
diff --git a/resources/views/subcategories/create.blade.php b/resources/views/subcategories/create.blade.php
new file mode 100644
index 0000000..cc12678
--- /dev/null
+++ b/resources/views/subcategories/create.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.create_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/subcategories/deleted.blade.php b/resources/views/subcategories/deleted.blade.php
new file mode 100644
index 0000000..824f02f
--- /dev/null
+++ b/resources/views/subcategories/deleted.blade.php
@@ -0,0 +1,61 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+
+ @lang('category')
+ @lang('name')
+ @lang('action')
+
+
+ @foreach($data as $object)
+
+
+ @can('categories_view')
+
+ {{$object->category->name}}
+
+ @else
+ {{$object->name}}
+ @endcan
+
+
+ @can('categories_edit')
+
+ {{$object->name}}
+
+ @else
+ {{$object->name}}
+ @endcan
+
+
+ @can(Request::segment(1).'_edit')
+
+ @lang('edit')
+
+ @endcan
+ @can(Request::segment(1).'_restore')
+
+ @lang('restore')
+
+ @endcan
+ @can(Request::segment(1).'_delete_force')
+ @include('Partials.Form.Input.Modal.delete_force')
+ @endcan
+
+
+ @endforeach
+
+
+ @include('Partials.Pages.display')
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/subcategories/edit.blade.php b/resources/views/subcategories/edit.blade.php
new file mode 100644
index 0000000..8485b70
--- /dev/null
+++ b/resources/views/subcategories/edit.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.edit_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/subcategories/form_input.blade.php b/resources/views/subcategories/form_input.blade.php
new file mode 100644
index 0000000..6e90061
--- /dev/null
+++ b/resources/views/subcategories/form_input.blade.php
@@ -0,0 +1,2 @@
+@include('Partials.Form.Input.category')
+@include('Partials.Form.Input.name')
diff --git a/resources/views/subcategories/index.blade.php b/resources/views/subcategories/index.blade.php
new file mode 100644
index 0000000..fb6d17b
--- /dev/null
+++ b/resources/views/subcategories/index.blade.php
@@ -0,0 +1,52 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+ @include('Partials.Pages.display')
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/subcategories/show.blade.php b/resources/views/subcategories/show.blade.php
new file mode 100644
index 0000000..193d90d
--- /dev/null
+++ b/resources/views/subcategories/show.blade.php
@@ -0,0 +1,8 @@
+@extends('Layouts.master')
+
+@section('content')
+ @include('Partials.Pages.show_page')
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/subcategories/show_data.blade.php b/resources/views/subcategories/show_data.blade.php
new file mode 100644
index 0000000..2ff637c
--- /dev/null
+++ b/resources/views/subcategories/show_data.blade.php
@@ -0,0 +1,22 @@
+@lang('products')
+@if(count($data->products) >= 1)
+
+
+@else
+ @lang('no_amount') @lang('subcategories')
+@endif
diff --git a/resources/views/users/create.blade.php b/resources/views/users/create.blade.php
new file mode 100644
index 0000000..f21b3c8
--- /dev/null
+++ b/resources/views/users/create.blade.php
@@ -0,0 +1,13 @@
+@extends('Layouts.master')
+
+@section('content')
+
+
+ @include('Partials.Form.Input.name')
+ @include('Partials.Form.Input.user')
+ @include('Partials.Form.Input.password')
+ @include('Partials.Form.Input.role')
+ @include('Partials.Form.Input.Submit.submit_create')
+
+
+@endsection
diff --git a/resources/views/users/deleted.blade.php b/resources/views/users/deleted.blade.php
new file mode 100644
index 0000000..91b0557
--- /dev/null
+++ b/resources/views/users/deleted.blade.php
@@ -0,0 +1,148 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+
+
+
+ @lang('username')
+ @lang('name_full')
+ @lang('role')
+ @lang('action')
+
+
+
+ @foreach($data as $object)
+
+ {{$object->username}}
+ {{$object->name}}
+ {{$object->role->name}}
+
+ @can(Request::segment(1).'_edit')
+
+ @lang('edit')
+
+ @endcan
+ @can(Request::segment(1).'_restore')
+
+ @lang('restore')
+
+ @endcan
+ @can(Request::segment(1).'_delete_force')
+ @lang('delete_force')
+
+
+
+
+
+ @endcan
+
+
+ @endforeach
+
+
+
+ @include('Partials.Pages.display')
+
+@endsection
+@section('scripting')
+@endsection
diff --git a/resources/views/users/edit.blade.php b/resources/views/users/edit.blade.php
new file mode 100644
index 0000000..70b358a
--- /dev/null
+++ b/resources/views/users/edit.blade.php
@@ -0,0 +1,24 @@
+@extends('Layouts.master')
+
+@section('content')
+
+
+ @if($data->loanerType->name != "adUser")
+ @can("users_edit_username")
+ @include('Partials.Form.Input.name')
+ @include('Partials.Form.Input.user')
+ @endcan
+ @include('Partials.Form.Input.password')
+ @endif
+ @can("users_edit_role")
+ @if($data->id != Auth::user()->id)
+ @include('Partials.Form.Input.role')
+ @endif
+ @endcan
+ @include('Partials.Form.Input.Submit.submit_edit')
+
+ @can('users_delete')
+ @include('Partials.Form.Input.Modal.delete')
+ @endcan
+
+@endsection
diff --git a/resources/views/users/index.blade.php b/resources/views/users/index.blade.php
new file mode 100644
index 0000000..d724efb
--- /dev/null
+++ b/resources/views/users/index.blade.php
@@ -0,0 +1,56 @@
+@extends('Layouts.master')
+
+@section('content')
+
+ @include('Partials.Pages.index_top')
+
+
+
+
+ @lang('username')
+ @lang('name_full')
+ @lang('role')
+ @lang('action')
+
+
+
+ @foreach($data as $user)
+
+ {{$user->username}}
+ {{$user->name}}
+
+ @can('roles_view')
+
+ {{$user->role->name}}
+
+ @else
+ {{$user->role->name}}
+ @endcan
+
+
+
+ @can('view',\App\Models\User::class)
+
+ @lang('show')
+
+ @endcan
+ @can('edit',\App\Models\User::class)
+
+ @lang('edit')
+
+ @endcan
+
+
+ @endforeach
+
+
+
+ @include('Partials.Pages.display')
+
+@endsection
+@section('scripting')
+@endsection
+
diff --git a/resources/views/users/show.blade.php b/resources/views/users/show.blade.php
new file mode 100644
index 0000000..728201a
--- /dev/null
+++ b/resources/views/users/show.blade.php
@@ -0,0 +1,438 @@
+@extends('Layouts.master')
+
+@section('content')
+
+
+
+
+
@lang('loans')
+ @if(count($loans) >= 1)
+
+ @else
+ @lang('no_amount') @lang('loans')
+ @endif
+
+
+
+
+
+
@lang('reservations')
+ @if(count($reservations) >= 1)
+
+ @else
+ @lang('no_amount') @lang('reservations')
+ @endif
+
+
+
+
+
+
@lang('contracts')
+ @if(count($contracts) >= 1)
+ @can('pdf_view')
+
+
+
+ @lang('date')
+ @lang('type')
+ @lang('action')
+
+
+
+ @foreach($contracts as $file)
+
+
+ {{ date('d.m.Y H:i:s', $file->timestamp) }}
+
+
+ @if($file->type == 'contracts')
+ @lang('loan')
+ @elseif($file->type == 'laptops')
+ @lang('laptop')
+ @elseif($file->type == 'reservations')
+ @lang('reservation')
+ @endif
+
+
+
+ @lang('show')
+
+ @can('delete', App\Models\PDF::class)
+
+ @csrf
+ @method('DELETE')
+ @lang('delete')
+
+ @endcan
+
+
+
+ @endforeach
+
+ Total : {{count($contracts)}}
+
+
+
+
+ @endcan
+ @cannot('pdf_view')
+ @if(Auth::user()->id == $data->id)
+
+
+
+ @lang('date')
+ @lang('type')
+ @lang('action')
+
+
+
+ @foreach($contracts as $file)
+
+ {{ date('d.m.Y H:i:s', $file->timestamp) }}
+
+ @if($file->type == 'contracts')
+ @lang('loan')
+ @elseif($file->type == 'laptops')
+ @lang('laptop')
+ @elseif($file->type == 'reservations')
+ @lang('reservation')
+ @endif
+
+
+
+ @lang('show')
+
+
+
+ @endforeach
+
+ Total : {{count($contracts)}}
+
+
+
+
+ @endif
+ @endcannot
+ @else
+ @lang('no_amount') @lang('contracts')
+ @endif
+
+
+
+
+
+ @can('notes_view')
+
@lang('notes')
+ @if(count($notes) >= 1)
+
+ @else
+ @lang('no_amount') @lang('notes')
+ @endif
+ @endcan
+
+
+
+
+
+@endsection
+
+@section('scripting')
+@endsection
diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php
new file mode 100644
index 0000000..87f2968
--- /dev/null
+++ b/resources/views/welcome.blade.php
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SKP Lager System
+
+
+
+
+
+
diff --git a/routes/api.php b/routes/api.php
new file mode 100644
index 0000000..eb6fa48
--- /dev/null
+++ b/routes/api.php
@@ -0,0 +1,19 @@
+get('/user', function (Request $request) {
+ return $request->user();
+});
diff --git a/routes/channels.php b/routes/channels.php
new file mode 100644
index 0000000..5d451e1
--- /dev/null
+++ b/routes/channels.php
@@ -0,0 +1,18 @@
+id === (int) $id;
+});
diff --git a/routes/console.php b/routes/console.php
new file mode 100644
index 0000000..e05f4c9
--- /dev/null
+++ b/routes/console.php
@@ -0,0 +1,19 @@
+comment(Inspiring::quote());
+})->purpose('Display an inspiring quote');
diff --git a/routes/web.php b/routes/web.php
new file mode 100644
index 0000000..28ab384
--- /dev/null
+++ b/routes/web.php
@@ -0,0 +1,157 @@
+route('login');
+})->name('/');
+
+//auth
+Route::get('login', [LoginController::class, 'login'])->name('login');
+Route::post('authenticate', [LoginController::class, 'authenticate'])->name('authenticate');
+
+Route::middleware("auth:adUser,nadUser")->group(function () {
+ // Auth
+ Route::get('logout', [LoginController::class, 'logout'])->name('logout');
+
+ // Other Pages
+ Route::get('statistics', [OtherController::class, 'statistics'])->name('statistics')->middleware('can:statistics');
+ Route::get('logs', [OtherController::class, 'logs'])->name('logs')->middleware('can:logs_viewAny');
+
+ // Roles
+ Route::get('/roles/deleted', [RoleController::class,'deleted'])->name('roles.deleted');
+ Route::get('/roles/{role}/restore', [RoleController::class,'restore'])->name('roles.restore');
+ Route::get('/roles/{role}/forceDelete', [RoleController::class,'delete_force'])->name('roles.forceDelete');
+
+ // Users
+ Route::get('/users/deleted', [UserController::class,'deleted'])->name('users.deleted');
+ Route::get('/users/{user}/restore', [UserController::class,'restore'])->name('users.restore');
+ Route::get('/users/{user}/forceDelete', [UserController::class,'delete_force'])->name('users.forceDelete');
+
+ // Buildings
+ Route::get('/buildings/deleted', [BuildingController::class,'deleted'])->name('buildings.deleted');
+ Route::get('/buildings/{building}/restore', [BuildingController::class,'restore'])->name('buildings.restore');
+ Route::get('/buildings/{building}/forceDelete', [BuildingController::class,'delete_force'])->name('buildings.forceDelete');
+
+ // Rooms
+ Route::get('/rooms/deleted', [RoomController::class,'deleted'])->name('rooms.deleted');
+ Route::get('/rooms/{room}/restore', [RoomController::class,'restore'])->name('rooms.restore');
+ Route::get('/rooms/{room}/forceDelete', [RoomController::class,'delete_force'])->name('rooms.forceDelete');
+
+ // Categories
+ Route::get('/categories/deleted', [ProductCategoryController::class,'deleted'])->name('categories.deleted');
+ Route::get('/categories/{category}/restore', [ProductCategoryController::class,'restore'])->name('categories.restore');
+ Route::get('/categories/{category}/forceDelete', [ProductCategoryController::class,'delete_force'])->name('categories.forceDelete');
+
+ // Subcategories
+ Route::get('/subcategories/deleted', [ProductSubcategoryController::class,'deleted'])->name('subcategories.deleted');
+ Route::get('/subcategories/{subcategory}/restore', [ProductSubcategoryController::class,'restore'])->name('subcategories.restore');
+ Route::get('/subcategories/{subcategory}/forceDelete', [ProductSubcategoryController::class,'delete_force'])->name('subcategories.forceDelete');
+
+ // Brands
+ Route::get('/brands/deleted', [BrandController::class,'deleted'])->name('brands.deleted');
+ Route::get('/brands/{brand}/restore', [BrandController::class,'restore'])->name('brands.restore');
+ Route::get('/brands/{brand}/forceDelete', [BrandController::class,'delete_force'])->name('brands.forceDelete');
+
+ // Models
+ Route::get('/models/deleted', [ProductModelController::class,'deleted'])->name('models.deleted');
+ Route::get('/models/{model}/restore', [ProductModelController::class,'restore'])->name('models.restore');
+ Route::get('/models/{model}/forceDelete', [ProductModelController::class,'delete_force'])->name('models.forceDelete');
+
+ // Products
+ Route::get('/products/deleted', [ProductController::class,'deleted'])->name('products.deleted');
+ Route::get('/products/{product}/restore', [ProductController::class,'restore'])->name('products.restore');
+ Route::get('/products/{product}/forceDelete', [ProductController::class,'delete_force'])->name('products.forceDelete');
+ Route::put('/products/{product}/amount/add', [ProductController::class, 'amount_add'])->name('products.amount.add');
+ Route::put('/products/{product}/amount/remove', [ProductController::class, 'amount_remove'])->name('products.amount.remove');
+
+ // Cabels
+ Route::get('/cabelCategories/deleted', [CabelCategoryController::class,'deleted'])->name('cabelCategories.deleted');
+ Route::get('/cabelCategories/{cabelCategory}/restore', [CabelCategoryController::class,'restore'])->name('cabelCategories.restore');
+ Route::get('/cabelCategories/{cabelCategory}/forceDelete', [CabelCategoryController::class,'delete_force'])->name('cabelCategories.forceDelete');
+
+ // Cabels
+ Route::get('/cabels/deleted', [CabelController::class,'deleted'])->name('cabels.deleted');
+ Route::get('/cabels/{cabel}/restore', [CabelController::class,'restore'])->name('cabels.restore');
+ Route::get('/cabels/{cabel}/forceDelete', [CabelController::class,'delete_force'])->name('cabels.forceDelete');
+ Route::put('/cabels/{cabel}/amount/add', [CabelController::class, 'amount_add'])->name('cabels.amount.add');
+ Route::put('/cabels/{cabel}/amount/remove', [CabelController::class, 'amount_remove'])->name('cabels.amount.remove');
+
+ // Loans
+ Route::get('/loans', [LoanController::class,'index'])->name('loans.index');
+ Route::get('/loans/create', [LoanController::class,'create'])->name('loans.create');
+ Route::post('/loans', [LoanController::class,'store'])->name('loans.store');
+ Route::get('/loans/laptop', [LoanController::class,'laptop_create'])->name('loans.laptop.create');
+ Route::post('/loans/laptop', [LoanController::class,'laptop_store'])->name('loans.laptop.store');
+ Route::get('/loans/return', [LoanController::class,'return_page'])->name('loans.return.page');
+ Route::post('/loans/return', [LoanController::class,'return_action'])->name('loans.return.action');
+ Route::get('/loans/{loan}/adjust', [LoanController::class,'adjust_page'])->name('loans.adjust.page');
+ Route::put('/loans/{loan}/adjust', [LoanController::class,'adjust_action'])->name('loans.adjust.action');
+
+ // Reservations
+ Route::get('/reservations', [ReservationController::class,'index'])->name('reservations.index');
+ Route::get('/reservations/{reservation}/validate', [ReservationController::class,'validate_page'])->name('reservations.validate.page');
+ Route::post('/reservations/{reservation}/validate', [ReservationController::class,'validate_action'])->name('reservations.validate.action');
+ Route::delete('/reservations/{reservation}/validate', [ReservationController::class,'cancel'])->name('reservations.validate.cancel');
+ Route::get('/reservations/validations', [ReservationController::class,'validations'])->name('reservations.validations');
+ Route::get('/reservations/setups', [ReservationController::class,'setups'])->name('reservations.setups');
+ Route::post('/reservations/{reservation}/setup', [ReservationController::class,'setup'])->name('reservations.setup');
+ Route::get('/reservations/pickups', [ReservationController::class,'pickups'])->name('reservations.pickups');
+ Route::post('/reservations/{reservation}/pickup', [ReservationController::class,'pickup'])->name('reservations.pickup');
+ Route::get('/reservations/create', [ReservationController::class,'create'])->name('reservations.create');
+ Route::post('/reservations', [ReservationController::class,'store'])->name('reservations.store');
+
+ // Notes
+ Route::get('/notes', [NoteController::class,'index'])->name('notes.index');
+ Route::get('/notes/deleted', [NoteController::class,'deleted'])->name('notes.deleted');
+ Route::get('/notes/{note}/edit', [NoteController::class,'edit'])->name('notes.edit');
+ Route::put('/notes/{note}/edit', [NoteController::class,'update'])->name('notes.update');
+ Route::delete('/notes/{note}', [NoteController::class,'delete'])->name('notes.destroy');
+ Route::get('/notes/{note}/forceDelete', [NoteController::class,'delete_force'])->name('notes.forceDelete');
+ Route::get('/notes/{note}/restore', [NoteController::class,'restore'])->name('notes.restore');
+
+ // PDF
+ Route::get('/contracts', [PdfController::class, 'index'],)->name('contracts.index');
+ Route::get('/PDF/{user}/{type}/{timestamp}', [PdfController::class, 'show'],)->name('pdf.show');
+ Route::delete('/PDF/{user}/{type}/{timestamp}', [PdfController::class, 'destroy'],)->name('pdf.delete')->middleware('can:pdf_delete');
+
+ // Resources
+ Route::resource('brands', BrandController::class);
+ Route::resource('models', ProductModelController::class);
+ Route::resource('products', ProductController::class);
+ Route::resource('categories', ProductCategoryController::class);
+ Route::resource('subcategories', ProductSubcategoryController::class);
+ Route::resource('users', UserController::class);
+ Route::resource('rooms', RoomController::class);
+ Route::resource('buildings', BuildingController::class);
+ Route::resource('roles', RoleController::class);
+ Route::resource('cabelCategories', CabelCategoryController::class);
+ Route::resource('cabels', CabelController::class);
+});
diff --git a/storage/app/.gitignore b/storage/app/.gitignore
new file mode 100644
index 0000000..8f4803c
--- /dev/null
+++ b/storage/app/.gitignore
@@ -0,0 +1,3 @@
+*
+!public/
+!.gitignore
diff --git a/storage/app/public/.gitignore b/storage/app/public/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/storage/app/public/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/storage/framework/.gitignore b/storage/framework/.gitignore
new file mode 100644
index 0000000..05c4471
--- /dev/null
+++ b/storage/framework/.gitignore
@@ -0,0 +1,9 @@
+compiled.php
+config.php
+down
+events.scanned.php
+maintenance.php
+routes.php
+routes.scanned.php
+schedule-*
+services.json
diff --git a/storage/framework/cache/.gitignore b/storage/framework/cache/.gitignore
new file mode 100644
index 0000000..01e4a6c
--- /dev/null
+++ b/storage/framework/cache/.gitignore
@@ -0,0 +1,3 @@
+*
+!data/
+!.gitignore
diff --git a/storage/framework/cache/data/.gitignore b/storage/framework/cache/data/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/storage/framework/cache/data/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/storage/framework/sessions/.gitignore b/storage/framework/sessions/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/storage/framework/sessions/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/storage/framework/testing/.gitignore b/storage/framework/testing/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/storage/framework/testing/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/storage/framework/views/.gitignore b/storage/framework/views/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/storage/framework/views/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/storage/logs/.gitignore b/storage/logs/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/storage/logs/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/tests/CreatesApplication.php b/tests/CreatesApplication.php
new file mode 100644
index 0000000..547152f
--- /dev/null
+++ b/tests/CreatesApplication.php
@@ -0,0 +1,22 @@
+make(Kernel::class)->bootstrap();
+
+ return $app;
+ }
+}
diff --git a/tests/Feature/ExampleTest.php b/tests/Feature/ExampleTest.php
new file mode 100644
index 0000000..1eafba6
--- /dev/null
+++ b/tests/Feature/ExampleTest.php
@@ -0,0 +1,21 @@
+get('/');
+
+ $response->assertStatus(200);
+ }
+}
diff --git a/tests/TestCase.php b/tests/TestCase.php
new file mode 100644
index 0000000..2932d4a
--- /dev/null
+++ b/tests/TestCase.php
@@ -0,0 +1,10 @@
+assertTrue(true);
+ }
+}
diff --git a/vite.config.js b/vite.config.js
new file mode 100644
index 0000000..421b569
--- /dev/null
+++ b/vite.config.js
@@ -0,0 +1,11 @@
+import { defineConfig } from 'vite';
+import laravel from 'laravel-vite-plugin';
+
+export default defineConfig({
+ plugins: [
+ laravel({
+ input: ['resources/css/app.css', 'resources/js/app.js'],
+ refresh: true,
+ }),
+ ],
+});