From 650a1d281655d4f8546008dc9f2dc89ef6a83373 Mon Sep 17 00:00:00 2001 From: Simone Date: Fri, 29 Apr 2022 17:51:03 +0200 Subject: [PATCH 01/45] Add beserious logo --- resources/views/auth/login.blade.php | 2 +- resources/views/chi-siamo.blade.php | 2 +- .../views/components/beserious/icon.blade.php | 28 ++++++++++ .../views/components/beserious/logo.blade.php | 53 +++++++++++++++++++ resources/views/components/hero.blade.php | 2 +- resources/views/navigation-menu.blade.php | 10 ++-- .../jetstream/components/nav-link.blade.php | 4 +- 7 files changed, 91 insertions(+), 10 deletions(-) create mode 100644 resources/views/components/beserious/icon.blade.php create mode 100644 resources/views/components/beserious/logo.blade.php diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index eb50cd5..11c9e6f 100644 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -2,7 +2,7 @@ - + diff --git a/resources/views/chi-siamo.blade.php b/resources/views/chi-siamo.blade.php index 6d2bd99..73b0c0b 100644 --- a/resources/views/chi-siamo.blade.php +++ b/resources/views/chi-siamo.blade.php @@ -5,7 +5,7 @@

Il nostro team

-

Scopri il team che c'è dietro a 6ixProject!

+

Scopri il team che c'è dietro a BeSerious!

- @if (Laravel\Fortify\Features::canUpdateProfileInformation()) - @livewire('profile.update-profile-information-form') - - - @endif - @if (Laravel\Fortify\Features::enabled(Laravel\Fortify\Features::updatePasswords()) && ! is_null($user->password))
@livewire('profile.update-password-form') diff --git a/resources/views/profile/update-profile-information-form.blade.php b/resources/views/profile/update-profile-information-form.blade.php index d01f102..a6d44c8 100644 --- a/resources/views/profile/update-profile-information-form.blade.php +++ b/resources/views/profile/update-profile-information-form.blade.php @@ -1,42 +1,57 @@ - - - {{ __('Profile Information') }} - - - - {{ __('Update your account\'s profile information and email address.') }} - - - - - @if (Laravel\Jetstream\Jetstream::managesProfilePhotos()) -
- - - - - - -
- {{ $this->user->name }} +
+ +
+
+

Profile

+

+ This information will be displayed publicly so be careful what you share. +

+
+ +
+
+
+ +
+ + beserious.gg/ + + +
- -
- - +
+ +
+ +
+

+ Brief description for your profile. URLs are hyperlinked. +

+
+ + {{--
+ + + + {{ __('Select A New Photo') }} @@ -47,33 +62,102 @@ {{ __('Remove Photo') }} @endif +
--}} - -
- @endif +
+ + + + - -
- - - +
+
+ +
+ + @if ($this->user->profile_photo_path) + + @endif +
+
+
+ + + + +
- -
- - - +
+
+ + +
+
- - - - - {{ __('Saved.') }} - - - - {{ __('Save') }} - - - +
+ +
+ + +
+ From 90c1b25165bab5dcc8217490e1d6f38bc0678ec4 Mon Sep 17 00:00:00 2001 From: Simone Date: Fri, 29 Apr 2022 19:26:48 +0200 Subject: [PATCH 04/45] Update set and update passwords --- app/Http/Livewire/Profile/SetPassword.php | 20 ++++ app/Http/Livewire/Profile/UpdatePassword.php | 20 ++++ app/Http/Livewire/Profile/UpdateProfile.php | 20 ++++ .../Middleware/HavePasswordMiddleware.php | 18 ++++ app/Http/Middleware/PasswordMiddleware.php | 18 ++++ .../components/profile/sidebar-link.blade.php | 26 +++++ .../views/profile/set-password-form.blade.php | 59 ++++++------ resources/views/profile/show.blade.php | 95 ++++++------------- .../profile/update-password-form.blade.php | 69 +++++++------- .../update-profile-information-form.blade.php | 29 ------ .../jetstream/components/input.blade.php | 2 +- .../jetstream/components/label.blade.php | 2 +- routes/web.php | 12 ++- 13 files changed, 225 insertions(+), 165 deletions(-) create mode 100644 app/Http/Livewire/Profile/SetPassword.php create mode 100644 app/Http/Livewire/Profile/UpdatePassword.php create mode 100644 app/Http/Livewire/Profile/UpdateProfile.php create mode 100644 app/Http/Middleware/HavePasswordMiddleware.php create mode 100644 app/Http/Middleware/PasswordMiddleware.php create mode 100644 resources/views/components/profile/sidebar-link.blade.php diff --git a/app/Http/Livewire/Profile/SetPassword.php b/app/Http/Livewire/Profile/SetPassword.php new file mode 100644 index 0000000..9f4602f --- /dev/null +++ b/app/Http/Livewire/Profile/SetPassword.php @@ -0,0 +1,20 @@ +layout('profile.show'); + } +} diff --git a/app/Http/Livewire/Profile/UpdatePassword.php b/app/Http/Livewire/Profile/UpdatePassword.php new file mode 100644 index 0000000..9275970 --- /dev/null +++ b/app/Http/Livewire/Profile/UpdatePassword.php @@ -0,0 +1,20 @@ +layout('profile.show'); + } +} diff --git a/app/Http/Livewire/Profile/UpdateProfile.php b/app/Http/Livewire/Profile/UpdateProfile.php new file mode 100644 index 0000000..54a7440 --- /dev/null +++ b/app/Http/Livewire/Profile/UpdateProfile.php @@ -0,0 +1,20 @@ +layout('profile.show'); + } +} diff --git a/app/Http/Middleware/HavePasswordMiddleware.php b/app/Http/Middleware/HavePasswordMiddleware.php new file mode 100644 index 0000000..a6d00d2 --- /dev/null +++ b/app/Http/Middleware/HavePasswordMiddleware.php @@ -0,0 +1,18 @@ +user()->password)) { + return to_route('profile.show.new-password'); + } + + return $next($request); + } +} diff --git a/app/Http/Middleware/PasswordMiddleware.php b/app/Http/Middleware/PasswordMiddleware.php new file mode 100644 index 0000000..0426526 --- /dev/null +++ b/app/Http/Middleware/PasswordMiddleware.php @@ -0,0 +1,18 @@ +user()->password) { + return to_route('profile.show.password'); + } + + return $next($request); + } +} diff --git a/resources/views/components/profile/sidebar-link.blade.php b/resources/views/components/profile/sidebar-link.blade.php new file mode 100644 index 0000000..bca3f13 --- /dev/null +++ b/resources/views/components/profile/sidebar-link.blade.php @@ -0,0 +1,26 @@ +@props(['active', 'icon']) + +@php + $classes = ($active ?? false) + ? 'text-red-500 group-hover:text-red-500 shrink-0 -ml-1 mr-3 h-6 w-6' + : 'text-gray-400 group-hover:text-gray-500 shrink-0 -ml-1 mr-3 h-6 w-6'; +@endphp + +
merge()->class([ + 'group border-l-4 px-3 py-2 flex items-center text-sm font-medium', + 'border-transparent text-gray-900 hover:bg-gray-50 hover:text-gray-900' => !$active, + 'bg-red-50 border-red-500 text-red-700 hover:bg-red-50 hover:text-red-700' => $active, + ]) + }}> + + @isset($icon) + diff --git a/resources/views/profile/set-password-form.blade.php b/resources/views/profile/set-password-form.blade.php index bf213cd..06b614c 100644 --- a/resources/views/profile/set-password-form.blade.php +++ b/resources/views/profile/set-password-form.blade.php @@ -1,33 +1,34 @@ - - - {{ __('Set Password') }} - - - - {{ __('Ensure your account is using a long, random password to stay secure.') }} - - - -
- - - +
+ +
+
+

{{ __('Set Password') }}

+

+ {{ __('Ensure your account is using a long, random password to stay secure.') }} +

-
- - - -
- +
+
+ + + +
- - - {{ __('Password saved, please refresh.') }} - +
+ + + +
+
+
- - {{ __('Save') }} - - - +
+ + +
+
diff --git a/resources/views/profile/show.blade.php b/resources/views/profile/show.blade.php index 5691c82..b9addac 100644 --- a/resources/views/profile/show.blade.php +++ b/resources/views/profile/show.blade.php @@ -7,80 +7,39 @@
- @livewire('profile.update-profile-information-form') + {{ $slot }}
-
+ {{--
@if (Laravel\Fortify\Features::enabled(Laravel\Fortify\Features::updatePasswords()) && ! is_null($user->password))
@@ -127,5 +86,5 @@
@endif
-
+
--}} diff --git a/resources/views/profile/update-password-form.blade.php b/resources/views/profile/update-password-form.blade.php index b536005..bc484e3 100644 --- a/resources/views/profile/update-password-form.blade.php +++ b/resources/views/profile/update-password-form.blade.php @@ -1,39 +1,40 @@ - - - {{ __('Update Password') }} - - - - {{ __('Ensure your account is using a long, random password to stay secure.') }} - - - -
- - - +
+ +
+
+

{{ __('Update Password') }}

+

+ {{ __('Ensure your account is using a long, random password to stay secure.') }} +

-
- - - -
+
+
+ + + +
-
- - - -
- +
+ + + +
- - - {{ __('Saved.') }} - +
+ + + +
+
+
- - {{ __('Save') }} - - - +
+ + +
+
diff --git a/resources/views/profile/update-profile-information-form.blade.php b/resources/views/profile/update-profile-information-form.blade.php index a6d44c8..18fbfc3 100644 --- a/resources/views/profile/update-profile-information-form.blade.php +++ b/resources/views/profile/update-profile-information-form.blade.php @@ -35,35 +35,6 @@
- {{--
- - - - - - - {{ __('Select A New Photo') }} - - - @if ($this->user->profile_photo_path) - - {{ __('Remove Photo') }} - - @endif -
--}} -

- @if (count($this->accounts) == 0) - {{ __('You have no connected accounts.') }} - @else - {{ __('Your connected accounts.') }} - @endif -

- -
- {{ __('You are free to connect any social accounts to your profile and may remove any connected accounts at any time. If you feel any of your connected accounts have been compromised, you should disconnect them immediately and change your password.') }} +
+ +
+
+

+ @if (count($this->accounts) == 0) + {{ __('You have no connected accounts.') }} + @else + {{ __('Your connected accounts.') }} + @endif +

+

+ {{ __('You are free to connect any social accounts to your profile and may remove any connected accounts at any time. If you feel any of your connected accounts have been compromised, you should disconnect them immediately and change your password.') }} +

+
+ -
+
+
@foreach ($this->providers as $provider) @php $account = null; @@ -74,5 +71,5 @@ - - +
+ diff --git a/resources/views/profile/set-password-form.blade.php b/resources/views/profile/set-password-form.blade.php index 06b614c..aec6cab 100644 --- a/resources/views/profile/set-password-form.blade.php +++ b/resources/views/profile/set-password-form.blade.php @@ -20,8 +20,8 @@
-
+
- +
+ + {{ __('Salvato.') }} + + + + {{ __('Salva') }} +
diff --git a/resources/views/profile/update-password-form.blade.php b/resources/views/profile/update-password-form.blade.php index bc484e3..23ead54 100644 --- a/resources/views/profile/update-password-form.blade.php +++ b/resources/views/profile/update-password-form.blade.php @@ -29,12 +29,13 @@
-
- - +
+ + {{ __('Salvato.') }} + + + + {{ __('Salva') }} +
diff --git a/resources/views/profile/update-profile-information-form.blade.php b/resources/views/profile/update-profile-information-form.blade.php index 18fbfc3..c013733 100644 --- a/resources/views/profile/update-profile-information-form.blade.php +++ b/resources/views/profile/update-profile-information-form.blade.php @@ -119,16 +119,20 @@
- +
+ + +
-
- - +
+ + {{ __('Salvato.') }} + + + + {{ __('Salva') }} +
diff --git a/resources/views/vendor/jetstream/components/button.blade.php b/resources/views/vendor/jetstream/components/button.blade.php index ff1fed5..d5c2899 100644 --- a/resources/views/vendor/jetstream/components/button.blade.php +++ b/resources/views/vendor/jetstream/components/button.blade.php @@ -1,3 +1,5 @@ - + + From d034fce2b1189a7454db7b2af610cac8264c6503 Mon Sep 17 00:00:00 2001 From: Simone Date: Thu, 5 May 2022 22:04:22 +0200 Subject: [PATCH 16/45] Update PasswordMiddleware.php --- app/Http/Middleware/PasswordMiddleware.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Middleware/PasswordMiddleware.php b/app/Http/Middleware/PasswordMiddleware.php index 1730384..c50e415 100644 --- a/app/Http/Middleware/PasswordMiddleware.php +++ b/app/Http/Middleware/PasswordMiddleware.php @@ -10,7 +10,7 @@ class PasswordMiddleware public function handle(Request $request, Closure $next) { if (auth()->user()->password) { - return to_route('profile.show.password'); + return to_route('profile.password'); } return $next($request); From 5d4530550f45f6a43eba1443157cfbf0514496d3 Mon Sep 17 00:00:00 2001 From: Simone Date: Thu, 5 May 2022 22:10:25 +0200 Subject: [PATCH 17/45] Set username to nullable --- .../Fortify/UpdateUserProfileInformation.php | 6 ++-- tests/Feature/ProfileInformationTest.php | 36 +++++++++++++++++-- 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/app/Actions/Fortify/UpdateUserProfileInformation.php b/app/Actions/Fortify/UpdateUserProfileInformation.php index 9b8b0fa..4a7f1cd 100644 --- a/app/Actions/Fortify/UpdateUserProfileInformation.php +++ b/app/Actions/Fortify/UpdateUserProfileInformation.php @@ -21,7 +21,7 @@ public function update($user, array $input) Validator::make($input, [ 'name' => ['required', 'string', 'max:255'], 'email' => ['required', 'email', 'max:255', Rule::unique('users')->ignore($user->id)], - 'username' => ['required', 'string', 'max:255', Rule::unique('users')->ignore($user->id)], + 'username' => ['nullable', 'string', 'max:255', Rule::unique('users')->ignore($user->id)], 'about' => ['nullable', 'string'], 'photo' => ['nullable', 'mimes:jpg,jpeg,png', 'max:1024'], ])->validateWithBag('updateProfileInformation'); @@ -37,8 +37,8 @@ public function update($user, array $input) $user->forceFill([ 'name' => $input['name'], 'email' => $input['email'], - 'username' => $input['username'], - 'about' => $input['about'], + 'username' => $input['username'] ?? '', + 'about' => $input['about'] ?? '', ])->save(); } } diff --git a/tests/Feature/ProfileInformationTest.php b/tests/Feature/ProfileInformationTest.php index 5487825..3831792 100644 --- a/tests/Feature/ProfileInformationTest.php +++ b/tests/Feature/ProfileInformationTest.php @@ -2,9 +2,9 @@ namespace Tests\Feature; +use App\Http\Livewire\Profile\UpdateProfile; use App\Models\User; use Illuminate\Foundation\Testing\RefreshDatabase; -use Laravel\Jetstream\Http\Livewire\UpdateProfileInformationForm; use Livewire\Livewire; use Tests\TestCase; @@ -16,7 +16,7 @@ public function test_current_profile_information_is_available() { $this->actingAs($user = User::factory()->create()); - $component = Livewire::test(UpdateProfileInformationForm::class); + $component = Livewire::test(UpdateProfile::class); $this->assertEquals($user->name, $component->state['name']); $this->assertEquals($user->email, $component->state['email']); @@ -26,11 +26,41 @@ public function test_profile_information_can_be_updated() { $this->actingAs($user = User::factory()->create()); - Livewire::test(UpdateProfileInformationForm::class) + Livewire::test(UpdateProfile::class) ->set('state', ['name' => 'Test Name', 'email' => 'test@example.com']) ->call('updateProfileInformation'); $this->assertEquals('Test Name', $user->fresh()->name); $this->assertEquals('test@example.com', $user->fresh()->email); } + + public function test_about_can_be_updated() + { + $this->actingAs($user = User::factory()->create()); + + $this->assertNull($user->about); + + Livewire::test(UpdateProfile::class) + ->set('state', ['name' => 'Test Name', 'email' => 'test@example.com', 'about' => 'Test About']) + ->call('updateProfileInformation'); + + $this->assertEquals('Test Name', $user->fresh()->name); + $this->assertEquals('test@example.com', $user->fresh()->email); + $this->assertEquals('Test About', $user->fresh()->about); + } + + public function test_username_can_be_updated() + { + $this->actingAs($user = User::factory()->create()); + + $this->assertNull($user->about); + + Livewire::test(UpdateProfile::class) + ->set('state', ['name' => 'Test Name', 'email' => 'test@example.com', 'username' => 'Test Username']) + ->call('updateProfileInformation'); + + $this->assertEquals('Test Name', $user->fresh()->name); + $this->assertEquals('test@example.com', $user->fresh()->email); + $this->assertEquals('Test Username', $user->fresh()->username); + } } From 7ed570e3d5ad7c5bf8738908e8c9925fdb62fa6b Mon Sep 17 00:00:00 2001 From: Simone Date: Thu, 5 May 2022 22:20:17 +0200 Subject: [PATCH 18/45] Update phpstan-baseline.neon --- phpstan-baseline.neon | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index ad7ac6b..c42b727 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -1,40 +1,20 @@ parameters: ignoreErrors: - - - message: "#^Access to an undefined property Laravel\\\\Socialite\\\\Contracts\\\\User\\:\\:\\$refreshToken\\.$#" - count: 1 - path: app/Actions/Socialstream/CreateConnectedAccount.php - - message: "#^Access to an undefined property Laravel\\\\Socialite\\\\Contracts\\\\User\\:\\:\\$token\\.$#" count: 1 path: app/Actions/Socialstream/CreateConnectedAccount.php - - - message: "#^Access to an undefined property Laravel\\\\Socialite\\\\Contracts\\\\User\\:\\:\\$tokenSecret\\.$#" - count: 1 - path: app/Actions/Socialstream/CreateConnectedAccount.php - - message: "#^Expression on left side of \\?\\? is not nullable\\.$#" count: 1 path: app/Actions/Socialstream/CreateUserFromProvider.php - - - message: "#^Access to an undefined property Laravel\\\\Socialite\\\\Contracts\\\\User\\:\\:\\$refreshToken\\.$#" - count: 1 - path: app/Actions/Socialstream/UpdateConnectedAccount.php - - message: "#^Access to an undefined property Laravel\\\\Socialite\\\\Contracts\\\\User\\:\\:\\$token\\.$#" count: 1 path: app/Actions/Socialstream/UpdateConnectedAccount.php - - - message: "#^Access to an undefined property Laravel\\\\Socialite\\\\Contracts\\\\User\\:\\:\\$tokenSecret\\.$#" - count: 1 - path: app/Actions/Socialstream/UpdateConnectedAccount.php - - message: "#^Access to an undefined property Illuminate\\\\Database\\\\Eloquent\\\\Model\\:\\:\\$permissions\\.$#" count: 1 From 4ba4226d5f46cb4ced14afa60d54ba7e71c832b3 Mon Sep 17 00:00:00 2001 From: Simone Date: Thu, 5 May 2022 22:21:01 +0200 Subject: [PATCH 19/45] Install laravel-ide-helper --- composer.json | 5 +- composer.lock | 148 +++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 151 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index ee2a897..ee32ac2 100644 --- a/composer.json +++ b/composer.json @@ -31,6 +31,7 @@ "webbingbrasil/filament-advancedfilter": "^1.0" }, "require-dev": { + "barryvdh/laravel-ide-helper": "^2.12", "fakerphp/faker": "^1.14.1", "laravel/sail": "^1.7.0", "mockery/mockery": "^1.4.3", @@ -68,7 +69,9 @@ "@php artisan key:generate --ansi" ], "post-update-cmd": [ - "@php artisan vendor:publish --tag=laravel-assets --ansi --force" + "@php artisan vendor:publish --tag=laravel-assets --ansi --force", + "@php artisan filament:upgrade", + "@php artisan ide-helper:models -W -R" ] }, "extra": { diff --git a/composer.lock b/composer.lock index 616c720..5e3cc05 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "809f39861d55baa5bdf23e781bb83dce", + "content-hash": "5dc82816a67612b8fe5361570c0f1579", "packages": [ { "name": "akaunting/laravel-money", @@ -7856,6 +7856,152 @@ } ], "packages-dev": [ + { + "name": "barryvdh/laravel-ide-helper", + "version": "v2.12.3", + "source": { + "type": "git", + "url": "https://github.com/barryvdh/laravel-ide-helper.git", + "reference": "3ba1e2573b38f72107b8aacc4ee177fcab30a550" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/3ba1e2573b38f72107b8aacc4ee177fcab30a550", + "reference": "3ba1e2573b38f72107b8aacc4ee177fcab30a550", + "shasum": "" + }, + "require": { + "barryvdh/reflection-docblock": "^2.0.6", + "composer/pcre": "^1 || ^2 || ^3", + "doctrine/dbal": "^2.6 || ^3", + "ext-json": "*", + "illuminate/console": "^8 || ^9", + "illuminate/filesystem": "^8 || ^9", + "illuminate/support": "^8 || ^9", + "nikic/php-parser": "^4.7", + "php": "^7.3 || ^8.0", + "phpdocumentor/type-resolver": "^1.1.0" + }, + "require-dev": { + "ext-pdo_sqlite": "*", + "friendsofphp/php-cs-fixer": "^2", + "illuminate/config": "^8 || ^9", + "illuminate/view": "^8 || ^9", + "mockery/mockery": "^1.4", + "orchestra/testbench": "^6 || ^7", + "phpunit/phpunit": "^8.5 || ^9", + "spatie/phpunit-snapshot-assertions": "^3 || ^4", + "vimeo/psalm": "^3.12" + }, + "suggest": { + "illuminate/events": "Required for automatic helper generation (^6|^7|^8|^9)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.12-dev" + }, + "laravel": { + "providers": [ + "Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Barryvdh\\LaravelIdeHelper\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.", + "keywords": [ + "autocomplete", + "codeintel", + "helper", + "ide", + "laravel", + "netbeans", + "phpdoc", + "phpstorm", + "sublime" + ], + "support": { + "issues": "https://github.com/barryvdh/laravel-ide-helper/issues", + "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v2.12.3" + }, + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2022-03-06T14:33:42+00:00" + }, + { + "name": "barryvdh/reflection-docblock", + "version": "v2.0.6", + "source": { + "type": "git", + "url": "https://github.com/barryvdh/ReflectionDocBlock.git", + "reference": "6b69015d83d3daf9004a71a89f26e27d27ef6a16" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/6b69015d83d3daf9004a71a89f26e27d27ef6a16", + "reference": "6b69015d83d3daf9004a71a89f26e27d27ef6a16", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.0,<4.5" + }, + "suggest": { + "dflydev/markdown": "~1.0", + "erusev/parsedown": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Barryvdh": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "mike.vanriel@naenius.com" + } + ], + "support": { + "source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.0.6" + }, + "time": "2018-12-13T10:34:14+00:00" + }, { "name": "composer/pcre", "version": "3.0.0", From 751574394e46dd49c1a9714978f423ae25d6de9b Mon Sep 17 00:00:00 2001 From: Simone Date: Thu, 5 May 2022 22:21:11 +0200 Subject: [PATCH 20/45] Add phpdocs --- app/Models/Article.php | 29 ++++++++++++++++++ app/Models/ConnectedAccount.php | 39 ++++++++++++++++++++++++ app/Models/Game.php | 35 ++++++++++++++++++++-- app/Models/Player.php | 39 ++++++++++++++++++++++++ app/Models/Staff.php | 28 +++++++++++++++++ app/Models/Team.php | 25 ++++++++++++++++ app/Models/User.php | 53 +++++++++++++++++++++++++++++++++ 7 files changed, 245 insertions(+), 3 deletions(-) diff --git a/app/Models/Article.php b/app/Models/Article.php index 47a957c..fdb7b2e 100644 --- a/app/Models/Article.php +++ b/app/Models/Article.php @@ -5,6 +5,35 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +/** + * App\Models\Article + * + * @property int $id + * @property string $title + * @property string $body + * @property string|null $img + * @property string|null $url + * @property string|null $author + * @property string|null $author_img + * @property string|null $author_link + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @method static \Database\Factories\ArticleFactory factory(...$parameters) + * @method static \Illuminate\Database\Eloquent\Builder|Article newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Article newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Article query() + * @method static \Illuminate\Database\Eloquent\Builder|Article whereAuthor($value) + * @method static \Illuminate\Database\Eloquent\Builder|Article whereAuthorImg($value) + * @method static \Illuminate\Database\Eloquent\Builder|Article whereAuthorLink($value) + * @method static \Illuminate\Database\Eloquent\Builder|Article whereBody($value) + * @method static \Illuminate\Database\Eloquent\Builder|Article whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Article whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Article whereImg($value) + * @method static \Illuminate\Database\Eloquent\Builder|Article whereTitle($value) + * @method static \Illuminate\Database\Eloquent\Builder|Article whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Article whereUrl($value) + * @mixin \Eloquent + */ class Article extends Model { use HasFactory; diff --git a/app/Models/ConnectedAccount.php b/app/Models/ConnectedAccount.php index 46f6c47..5f86fda 100644 --- a/app/Models/ConnectedAccount.php +++ b/app/Models/ConnectedAccount.php @@ -9,6 +9,45 @@ use JoelButcher\Socialstream\Events\ConnectedAccountDeleted; use JoelButcher\Socialstream\Events\ConnectedAccountUpdated; +/** + * App\Models\ConnectedAccount + * + * @property int $id + * @property int $user_id + * @property string $provider + * @property string $provider_id + * @property string|null $name + * @property string|null $nickname + * @property string|null $email + * @property string|null $telephone + * @property string|null $avatar_path + * @property string $token + * @property string|null $secret + * @property string|null $refresh_token + * @property string|null $expires_at + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\User|null $user + * @method static \Illuminate\Database\Eloquent\Builder|ConnectedAccount newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|ConnectedAccount newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|ConnectedAccount query() + * @method static \Illuminate\Database\Eloquent\Builder|ConnectedAccount whereAvatarPath($value) + * @method static \Illuminate\Database\Eloquent\Builder|ConnectedAccount whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|ConnectedAccount whereEmail($value) + * @method static \Illuminate\Database\Eloquent\Builder|ConnectedAccount whereExpiresAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|ConnectedAccount whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|ConnectedAccount whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|ConnectedAccount whereNickname($value) + * @method static \Illuminate\Database\Eloquent\Builder|ConnectedAccount whereProvider($value) + * @method static \Illuminate\Database\Eloquent\Builder|ConnectedAccount whereProviderId($value) + * @method static \Illuminate\Database\Eloquent\Builder|ConnectedAccount whereRefreshToken($value) + * @method static \Illuminate\Database\Eloquent\Builder|ConnectedAccount whereSecret($value) + * @method static \Illuminate\Database\Eloquent\Builder|ConnectedAccount whereTelephone($value) + * @method static \Illuminate\Database\Eloquent\Builder|ConnectedAccount whereToken($value) + * @method static \Illuminate\Database\Eloquent\Builder|ConnectedAccount whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|ConnectedAccount whereUserId($value) + * @mixin \Eloquent + */ class ConnectedAccount extends SocialstreamConnectedAccount { use HasFactory; diff --git a/app/Models/Game.php b/app/Models/Game.php index 5255132..f0e5c71 100644 --- a/app/Models/Game.php +++ b/app/Models/Game.php @@ -3,7 +3,33 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Relations\BelongsTo; +use Illuminate\Support\Collection; +/** + * App\Models\Game + * + * @property int $id + * @property string $gameshard_match_id + * @property int $home_team_id + * @property int $away_team_id + * @property array $data + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\Team $awayTeam + * @property-read \App\Models\Team $homeTeam + * @method static \Illuminate\Database\Eloquent\Builder|Game newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Game newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Game query() + * @method static \Illuminate\Database\Eloquent\Builder|Game whereAwayTeamId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Game whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Game whereData($value) + * @method static \Illuminate\Database\Eloquent\Builder|Game whereGameshardMatchId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Game whereHomeTeamId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Game whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Game whereUpdatedAt($value) + * @mixin \Eloquent + */ class Game extends Model { /** @inheritdoc */ @@ -18,17 +44,20 @@ class Game extends Model 'data' => 'json' ]; - public function homeTeam() + public function homeTeam(): BelongsTo { return $this->belongsTo(Team::class, 'home_team_id'); } - public function awayTeam() + public function awayTeam(): BelongsTo { return $this->belongsTo(Team::class, 'away_team_id'); } - public function teams() + /** + * @return Collection + */ + public function teams(): Collection { return collect([$this->homeTeam])->add($this->awayTeam); } diff --git a/app/Models/Player.php b/app/Models/Player.php index fd1e62b..e86506a 100644 --- a/app/Models/Player.php +++ b/app/Models/Player.php @@ -3,11 +3,50 @@ namespace App\Models; use App\Casts\Socials; +use App\DTO\Social; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Facades\Storage; use RalphJSmit\Laravel\SEO\Support\HasSEO; +/** + * App\Models\Player + * + * @property int $id + * @property string $name + * @property string|null $surname + * @property string $nickname + * @property string $img + * @property string|null $nationality + * @property int|null $current_team_id + * @property array|null $socials + * @property int|null $user_id + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read string $display_name + * @property-read string $img_url + * @property-read \RalphJSmit\Laravel\SEO\Models\SEO|null $seo + * @property-read \App\Models\Team|null $team + * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\Team[] $teams + * @property-read int|null $teams_count + * @property-read \App\Models\User|null $user + * @method static \Database\Factories\PlayerFactory factory(...$parameters) + * @method static \Illuminate\Database\Eloquent\Builder|Player newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Player newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Player query() + * @method static \Illuminate\Database\Eloquent\Builder|Player whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Player whereCurrentTeamId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Player whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Player whereImg($value) + * @method static \Illuminate\Database\Eloquent\Builder|Player whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Player whereNationality($value) + * @method static \Illuminate\Database\Eloquent\Builder|Player whereNickname($value) + * @method static \Illuminate\Database\Eloquent\Builder|Player whereSocials($value) + * @method static \Illuminate\Database\Eloquent\Builder|Player whereSurname($value) + * @method static \Illuminate\Database\Eloquent\Builder|Player whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Player whereUserId($value) + * @mixin \Eloquent + */ class Player extends Model { use HasFactory; diff --git a/app/Models/Staff.php b/app/Models/Staff.php index a9d0c9e..d258758 100644 --- a/app/Models/Staff.php +++ b/app/Models/Staff.php @@ -3,10 +3,38 @@ namespace App\Models; use App\Casts\Socials; +use App\DTO\Social; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Facades\Storage; +/** + * App\Models\Staff + * + * @property int $id + * @property string $name + * @property string $surname + * @property string $role + * @property string $img + * @property array|null $socials + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read string $full_name + * @property-read string $img_url + * @method static \Database\Factories\StaffFactory factory(...$parameters) + * @method static \Illuminate\Database\Eloquent\Builder|Staff newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Staff newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Staff query() + * @method static \Illuminate\Database\Eloquent\Builder|Staff whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Staff whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Staff whereImg($value) + * @method static \Illuminate\Database\Eloquent\Builder|Staff whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Staff whereRole($value) + * @method static \Illuminate\Database\Eloquent\Builder|Staff whereSocials($value) + * @method static \Illuminate\Database\Eloquent\Builder|Staff whereSurname($value) + * @method static \Illuminate\Database\Eloquent\Builder|Staff whereUpdatedAt($value) + * @mixin \Eloquent + */ class Staff extends Model { use HasFactory; diff --git a/app/Models/Team.php b/app/Models/Team.php index ce75175..33bcb27 100644 --- a/app/Models/Team.php +++ b/app/Models/Team.php @@ -7,6 +7,31 @@ use Illuminate\Support\Facades\Storage; use RalphJSmit\Laravel\SEO\Support\HasSEO; +/** + * App\Models\Team + * + * @property int $id + * @property string $name + * @property string $tag + * @property string $logo + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read string $logo_url + * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\Player[] $players + * @property-read int|null $players_count + * @property-read \RalphJSmit\Laravel\SEO\Models\SEO|null $seo + * @method static \Database\Factories\TeamFactory factory(...$parameters) + * @method static \Illuminate\Database\Eloquent\Builder|Team newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Team newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|Team query() + * @method static \Illuminate\Database\Eloquent\Builder|Team whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|Team whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|Team whereLogo($value) + * @method static \Illuminate\Database\Eloquent\Builder|Team whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|Team whereTag($value) + * @method static \Illuminate\Database\Eloquent\Builder|Team whereUpdatedAt($value) + * @mixin \Eloquent + */ class Team extends Model { use HasSEO; diff --git a/app/Models/User.php b/app/Models/User.php index 674243f..b2583fc 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -15,6 +15,59 @@ use Laravel\Sanctum\HasApiTokens; use Spatie\Permission\Traits\HasRoles; +/** + * App\Models\User + * + * @property int $id + * @property string $name + * @property string|null $username + * @property string $email + * @property \Illuminate\Support\Carbon|null $email_verified_at + * @property string|null $password + * @property string|null $two_factor_secret + * @property string|null $two_factor_recovery_codes + * @property string|null $about + * @property string|null $remember_token + * @property int|null $current_team_id + * @property int|null $current_connected_account_id + * @property string|null $profile_photo_path + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\ConnectedAccount[] $connectedAccounts + * @property-read int|null $connected_accounts_count + * @property-read \App\Models\ConnectedAccount|null $currentConnectedAccount + * @property-read string $profile_photo_url + * @property-read \Illuminate\Notifications\DatabaseNotificationCollection|\Illuminate\Notifications\DatabaseNotification[] $notifications + * @property-read int|null $notifications_count + * @property-read \Illuminate\Database\Eloquent\Collection|\Spatie\Permission\Models\Permission[] $permissions + * @property-read int|null $permissions_count + * @property-read \Illuminate\Database\Eloquent\Collection|\Spatie\Permission\Models\Role[] $roles + * @property-read int|null $roles_count + * @property-read \Illuminate\Database\Eloquent\Collection|\Laravel\Sanctum\PersonalAccessToken[] $tokens + * @property-read int|null $tokens_count + * @method static \Database\Factories\UserFactory factory(...$parameters) + * @method static \Illuminate\Database\Eloquent\Builder|User newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|User newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|User permission($permissions) + * @method static \Illuminate\Database\Eloquent\Builder|User query() + * @method static \Illuminate\Database\Eloquent\Builder|User role($roles, $guard = null) + * @method static \Illuminate\Database\Eloquent\Builder|User whereAbout($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereCurrentConnectedAccountId($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereCurrentTeamId($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereEmail($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereEmailVerifiedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereName($value) + * @method static \Illuminate\Database\Eloquent\Builder|User wherePassword($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereProfilePhotoPath($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereRememberToken($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereTwoFactorRecoveryCodes($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereTwoFactorSecret($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|User whereUsername($value) + * @mixin \Eloquent + */ class User extends Authenticatable implements FilamentUser, HasAvatar { use HasApiTokens; From 7aaeccc60ca43136662317a861a1b47b3b84b209 Mon Sep 17 00:00:00 2001 From: Simone Date: Thu, 5 May 2022 22:27:10 +0200 Subject: [PATCH 21/45] Update UpdatePasswordTest.php --- tests/Feature/UpdatePasswordTest.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/Feature/UpdatePasswordTest.php b/tests/Feature/UpdatePasswordTest.php index a4588c0..f34452d 100644 --- a/tests/Feature/UpdatePasswordTest.php +++ b/tests/Feature/UpdatePasswordTest.php @@ -2,10 +2,10 @@ namespace Tests\Feature; +use App\Http\Livewire\Profile\UpdatePassword; use App\Models\User; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Support\Facades\Hash; -use Laravel\Jetstream\Http\Livewire\UpdatePasswordForm; use Livewire\Livewire; use Tests\TestCase; @@ -17,7 +17,7 @@ public function test_password_can_be_updated() { $this->actingAs($user = User::factory()->create()); - Livewire::test(UpdatePasswordForm::class) + Livewire::test(UpdatePassword::class) ->set('state', [ 'current_password' => 'password', 'password' => 'new-password', @@ -32,7 +32,7 @@ public function test_current_password_must_be_correct() { $this->actingAs($user = User::factory()->create()); - Livewire::test(UpdatePasswordForm::class) + Livewire::test(UpdatePassword::class) ->set('state', [ 'current_password' => 'wrong-password', 'password' => 'new-password', @@ -48,7 +48,7 @@ public function test_new_passwords_must_match() { $this->actingAs($user = User::factory()->create()); - Livewire::test(UpdatePasswordForm::class) + Livewire::test(UpdatePassword::class) ->set('state', [ 'current_password' => 'password', 'password' => 'new-password', From f584e8082ce5576c3918cd9bacd16ec9eb8b44b1 Mon Sep 17 00:00:00 2001 From: "restyled-io[bot]" <32688539+restyled-io[bot]@users.noreply.github.com> Date: Tue, 17 May 2022 18:49:49 +0200 Subject: [PATCH 22/45] Restyle feat: add predictions (#30) * Restyled by jq * Restyled by php-cs-fixer * Restyled by prettier-json Co-authored-by: Restyled.io --- database/migrations/2022_04_29_212358_create_games_table.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/database/migrations/2022_04_29_212358_create_games_table.php b/database/migrations/2022_04_29_212358_create_games_table.php index b0eef59..48da330 100644 --- a/database/migrations/2022_04_29_212358_create_games_table.php +++ b/database/migrations/2022_04_29_212358_create_games_table.php @@ -4,7 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration { +return new class () extends Migration { public function up() { Schema::create('games', function (Blueprint $table) { From 73e0615cf6b469d868b35808f4096ff8f347cb9b Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 17 May 2022 19:33:45 +0200 Subject: [PATCH 23/45] wip --- app/Http/Livewire/Profile/Account.php | 31 +++ ...ConnectedAccount.php => DeleteAccount.php} | 6 +- app/Http/Livewire/Profile/TwoFactor.php | 20 ++ resources/views/navigation-menu.blade.php | 4 +- .../views/profile/delete-user-form.blade.php | 35 ++-- ...gout-other-browser-sessions-form.blade.php | 186 ++++++++++------- resources/views/profile/show.blade.php | 6 +- .../two-factor-authentication-form.blade.php | 100 +++++---- .../update-profile-information-form.blade.php | 196 +++++++++--------- routes/web.php | 3 +- 10 files changed, 348 insertions(+), 239 deletions(-) create mode 100644 app/Http/Livewire/Profile/Account.php rename app/Http/Livewire/Profile/{ConnectedAccount.php => DeleteAccount.php} (58%) create mode 100644 app/Http/Livewire/Profile/TwoFactor.php diff --git a/app/Http/Livewire/Profile/Account.php b/app/Http/Livewire/Profile/Account.php new file mode 100644 index 0000000..75674c0 --- /dev/null +++ b/app/Http/Livewire/Profile/Account.php @@ -0,0 +1,31 @@ +layout('profile.show'); + } +} diff --git a/app/Http/Livewire/Profile/ConnectedAccount.php b/app/Http/Livewire/Profile/DeleteAccount.php similarity index 58% rename from app/Http/Livewire/Profile/ConnectedAccount.php rename to app/Http/Livewire/Profile/DeleteAccount.php index 9f3c609..1bf0403 100644 --- a/app/Http/Livewire/Profile/ConnectedAccount.php +++ b/app/Http/Livewire/Profile/DeleteAccount.php @@ -3,9 +3,9 @@ namespace App\Http\Livewire\Profile; use Illuminate\Contracts\View\View; -use JoelButcher\Socialstream\Http\Livewire\ConnectedAccountsForm; +use Laravel\Jetstream\Http\Livewire\DeleteUserForm; -class ConnectedAccount extends ConnectedAccountsForm +class DeleteAccount extends DeleteUserForm { /** * Render the component. @@ -14,7 +14,7 @@ class ConnectedAccount extends ConnectedAccountsForm */ public function render(): View { - return view('profile.connected-accounts-form') + return view('profile.delete-user-form') ->layout('profile.show'); } } diff --git a/app/Http/Livewire/Profile/TwoFactor.php b/app/Http/Livewire/Profile/TwoFactor.php new file mode 100644 index 0000000..f13877a --- /dev/null +++ b/app/Http/Livewire/Profile/TwoFactor.php @@ -0,0 +1,20 @@ +layout('profile.show'); + } +} diff --git a/resources/views/navigation-menu.blade.php b/resources/views/navigation-menu.blade.php index c36f611..da670b0 100644 --- a/resources/views/navigation-menu.blade.php +++ b/resources/views/navigation-menu.blade.php @@ -41,7 +41,7 @@
- +
@@ -69,7 +69,7 @@ - - - -
-
- - -
-
- - -
-
- +
+ + {{ __('Salvato.') }} + -
- - {{ __('Salvato.') }} - + + {{ __('Salva') }} + +
+ - - {{ __('Salva') }} - -
- + + diff --git a/routes/web.php b/routes/web.php index 01319a2..860ccf4 100644 --- a/routes/web.php +++ b/routes/web.php @@ -28,7 +28,8 @@ Route::get('/user/profile', \App\Http\Livewire\Profile\UpdateProfile::class)->name('profile.show'); Route::middleware([\App\Http\Middleware\HavePasswordMiddleware::class])->get('/user/profile/password', \App\Http\Livewire\Profile\UpdatePassword::class)->name('profile.password'); Route::middleware([\App\Http\Middleware\PasswordMiddleware::class])->get('/user/profile/new-password', \App\Http\Livewire\Profile\SetPassword::class)->name('profile.new-password'); - Route::get('/user/profile/accounts', \App\Http\Livewire\Profile\ConnectedAccount::class)->name('profile.accounts'); + Route::get('/user/profile/2fa', \App\Http\Livewire\Profile\TwoFactor::class)->name('profile.2fa'); + Route::get('/user/profile/account', \App\Http\Livewire\Profile\Account::class)->name('profile.account'); Route::get('/predictions', fn () => view('predictions'))->name('predictions'); Route::get('/dashboard', function () { From af54ede9d424def6f537ca83950c380251f370bc Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 17 May 2022 19:34:18 +0200 Subject: [PATCH 24/45] Create SetPasswordTest.php --- tests/Feature/SetPasswordTest.php | 62 +++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 tests/Feature/SetPasswordTest.php diff --git a/tests/Feature/SetPasswordTest.php b/tests/Feature/SetPasswordTest.php new file mode 100644 index 0000000..216dc24 --- /dev/null +++ b/tests/Feature/SetPasswordTest.php @@ -0,0 +1,62 @@ +actingAs($user = User::factory()->create()); + + Livewire::test(UpdatePassword::class) + ->set('state', [ + 'current_password' => 'password', + 'password' => 'new-password', + 'password_confirmation' => 'new-password', + ]) + ->call('updatePassword'); + + $this->assertTrue(Hash::check('new-password', $user->fresh()->password)); + } + + public function test_current_password_must_be_correct() + { + $this->actingAs($user = User::factory()->create()); + + Livewire::test(UpdatePassword::class) + ->set('state', [ + 'current_password' => 'wrong-password', + 'password' => 'new-password', + 'password_confirmation' => 'new-password', + ]) + ->call('updatePassword') + ->assertHasErrors(['current_password']); + + $this->assertTrue(Hash::check('password', $user->fresh()->password)); + } + + public function test_new_passwords_must_match() + { + $this->actingAs($user = User::factory()->create()); + + Livewire::test(UpdatePassword::class) + ->set('state', [ + 'current_password' => 'password', + 'password' => 'new-password', + 'password_confirmation' => 'wrong-password', + ]) + ->call('updatePassword') + ->assertHasErrors(['password']); + + $this->assertTrue(Hash::check('password', $user->fresh()->password)); + } +} From 9728b3a5819f57e2a66c336894dc33160a271d10 Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 17 May 2022 20:56:37 +0200 Subject: [PATCH 25/45] Update BrowserSessionsTest.php --- tests/Feature/BrowserSessionsTest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/Feature/BrowserSessionsTest.php b/tests/Feature/BrowserSessionsTest.php index d848789..76cb169 100644 --- a/tests/Feature/BrowserSessionsTest.php +++ b/tests/Feature/BrowserSessionsTest.php @@ -2,9 +2,9 @@ namespace Tests\Feature; +use App\Http\Livewire\Profile\Account; use App\Models\User; use Illuminate\Foundation\Testing\RefreshDatabase; -use Laravel\Jetstream\Http\Livewire\LogoutOtherBrowserSessionsForm; use Livewire\Livewire; use Tests\TestCase; @@ -16,7 +16,7 @@ public function test_other_browser_sessions_can_be_logged_out() { $this->actingAs($user = User::factory()->create()); - Livewire::test(LogoutOtherBrowserSessionsForm::class) + Livewire::test(Account::class) ->set('password', 'password') ->call('logoutOtherBrowserSessions'); } From 1cc0e45fd18ab597033175c781b24428e6111432 Mon Sep 17 00:00:00 2001 From: "restyled-io[bot]" <32688539+restyled-io[bot]@users.noreply.github.com> Date: Tue, 17 May 2022 21:10:08 +0200 Subject: [PATCH 26/45] Restyle feat: add predictions (#31) * Restyled by jq * Restyled by prettier-json * Restyled by whitespace Co-authored-by: Restyled.io --- .../views/profile/two-factor-authentication-form.blade.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/resources/views/profile/two-factor-authentication-form.blade.php b/resources/views/profile/two-factor-authentication-form.blade.php index 8c0803e..485bf36 100644 --- a/resources/views/profile/two-factor-authentication-form.blade.php +++ b/resources/views/profile/two-factor-authentication-form.blade.php @@ -98,6 +98,3 @@ @endif - - - From cddc5d92d8b0627c184781b0249ae8df5251175b Mon Sep 17 00:00:00 2001 From: Simone Ungaro Date: Thu, 26 Jan 2023 22:21:50 +0100 Subject: [PATCH 27/45] Update composer.lock --- composer.lock | 397 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 396 insertions(+), 1 deletion(-) diff --git a/composer.lock b/composer.lock index 0591fc4..b0ddb27 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "480063b0b59d67929366584b20b08b02", + "content-hash": "5dc82816a67612b8fe5361570c0f1579", "packages": [ { "name": "akaunting/laravel-money", @@ -5181,6 +5181,76 @@ ], "time": "2022-09-02T11:04:28+00:00" }, + { + "name": "sebastiaankloos/filament-code-editor", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/SebastiaanKloos/filament-code-editor.git", + "reference": "76ae0a964d62a35e1e7a8b7ae2055bfd17c99c6b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/SebastiaanKloos/filament-code-editor/zipball/76ae0a964d62a35e1e7a8b7ae2055bfd17c99c6b", + "reference": "76ae0a964d62a35e1e7a8b7ae2055bfd17c99c6b", + "shasum": "" + }, + "require": { + "filament/filament": "^2.10", + "illuminate/contracts": "^9.0", + "php": "^8.1", + "spatie/laravel-package-tools": "^1.9.2" + }, + "require-dev": { + "nunomaduro/collision": "^6.0", + "nunomaduro/larastan": "^2.0.1", + "orchestra/testbench": "^7.0", + "pestphp/pest": "^1.21", + "pestphp/pest-plugin-laravel": "^1.1", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^9.5", + "spatie/laravel-ray": "^1.26" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "SebastiaanKloos\\FilamentCodeEditor\\FilamentCodeEditorServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "SebastiaanKloos\\FilamentCodeEditor\\": "src", + "SebastiaanKloos\\FilamentCodeEditor\\Database\\Factories\\": "database/factories" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Sebastiaan Kloos", + "email": "sebastiaankloos@pm.me", + "role": "Developer" + } + ], + "description": "Code editor for Filament", + "homepage": "https://github.com/sebastiaankloos/filament-code-editor", + "keywords": [ + "SebastiaanKloos", + "filament-code-editor", + "laravel" + ], + "support": { + "issues": "https://github.com/SebastiaanKloos/filament-code-editor/issues", + "source": "https://github.com/SebastiaanKloos/filament-code-editor/tree/1.0.3" + }, + "time": "2022-04-28T11:56:42+00:00" + }, { "name": "socialiteproviders/discord", "version": "4.1.1", @@ -8427,6 +8497,223 @@ } ], "packages-dev": [ + { + "name": "barryvdh/laravel-ide-helper", + "version": "v2.12.3", + "source": { + "type": "git", + "url": "https://github.com/barryvdh/laravel-ide-helper.git", + "reference": "3ba1e2573b38f72107b8aacc4ee177fcab30a550" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/3ba1e2573b38f72107b8aacc4ee177fcab30a550", + "reference": "3ba1e2573b38f72107b8aacc4ee177fcab30a550", + "shasum": "" + }, + "require": { + "barryvdh/reflection-docblock": "^2.0.6", + "composer/pcre": "^1 || ^2 || ^3", + "doctrine/dbal": "^2.6 || ^3", + "ext-json": "*", + "illuminate/console": "^8 || ^9", + "illuminate/filesystem": "^8 || ^9", + "illuminate/support": "^8 || ^9", + "nikic/php-parser": "^4.7", + "php": "^7.3 || ^8.0", + "phpdocumentor/type-resolver": "^1.1.0" + }, + "require-dev": { + "ext-pdo_sqlite": "*", + "friendsofphp/php-cs-fixer": "^2", + "illuminate/config": "^8 || ^9", + "illuminate/view": "^8 || ^9", + "mockery/mockery": "^1.4", + "orchestra/testbench": "^6 || ^7", + "phpunit/phpunit": "^8.5 || ^9", + "spatie/phpunit-snapshot-assertions": "^3 || ^4", + "vimeo/psalm": "^3.12" + }, + "suggest": { + "illuminate/events": "Required for automatic helper generation (^6|^7|^8|^9)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.12-dev" + }, + "laravel": { + "providers": [ + "Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Barryvdh\\LaravelIdeHelper\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.", + "keywords": [ + "autocomplete", + "codeintel", + "helper", + "ide", + "laravel", + "netbeans", + "phpdoc", + "phpstorm", + "sublime" + ], + "support": { + "issues": "https://github.com/barryvdh/laravel-ide-helper/issues", + "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v2.12.3" + }, + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2022-03-06T14:33:42+00:00" + }, + { + "name": "barryvdh/reflection-docblock", + "version": "v2.1.0", + "source": { + "type": "git", + "url": "https://github.com/barryvdh/ReflectionDocBlock.git", + "reference": "bf44b757feb8ba1734659029357646466ded673e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/bf44b757feb8ba1734659029357646466ded673e", + "reference": "bf44b757feb8ba1734659029357646466ded673e", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.14|^9" + }, + "suggest": { + "dflydev/markdown": "~1.0", + "erusev/parsedown": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Barryvdh": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "mike.vanriel@naenius.com" + } + ], + "support": { + "source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.1.0" + }, + "time": "2022-10-31T15:35:43+00:00" + }, + { + "name": "composer/pcre", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/composer/pcre.git", + "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", + "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.3", + "phpstan/phpstan-strict-rules": "^1.1", + "symfony/phpunit-bridge": "^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Pcre\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "PCRE wrapping library that offers type-safe preg_* replacements.", + "keywords": [ + "PCRE", + "preg", + "regex", + "regular expression" + ], + "support": { + "issues": "https://github.com/composer/pcre/issues", + "source": "https://github.com/composer/pcre/tree/3.1.0" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2022-11-17T09:50:14+00:00" + }, { "name": "doctrine/instantiator", "version": "2.0.0", @@ -9173,6 +9460,114 @@ }, "time": "2022-02-21T01:04:05+00:00" }, + { + "name": "phpdocumentor/reflection-common", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-2.x": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" + }, + "time": "2020-06-27T09:03:43+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "1.6.2", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/48f445a408c131e38cab1c235aa6d2bb7a0bb20d", + "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0", + "phpdocumentor/reflection-common": "^2.0" + }, + "require-dev": { + "ext-tokenizer": "*", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpunit/phpunit": "^9.5", + "rector/rector": "^0.13.9", + "vimeo/psalm": "^4.25" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-1.x": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.2" + }, + "time": "2022-10-14T12:47:21+00:00" + }, { "name": "phpmyadmin/sql-parser", "version": "5.7.0", From ee67ef0e4c1dc7a221996092c8c09813b1f3898f Mon Sep 17 00:00:00 2001 From: Simone Ungaro Date: Thu, 26 Jan 2023 22:24:56 +0100 Subject: [PATCH 28/45] Update laravel.yml --- .github/workflows/laravel.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index b2140c3..0a23180 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -78,3 +78,9 @@ jobs: - name: Compile assets for production run: npm run production + + - name: Commit changes + uses: stefanzweifel/git-auto-commit-action@v4 + with: + commit_message: > + chore: compile assets From 5e6f639d40b138422cbd538af1bcf5602615c12a Mon Sep 17 00:00:00 2001 From: Simoneu01 Date: Thu, 26 Jan 2023 21:26:24 +0000 Subject: [PATCH 29/45] chore: compile assets --- public/css/app.css | 5271 +-------- public/js/app.js | 22746 +------------------------------------ public/mix-manifest.json | 6 +- 3 files changed, 6 insertions(+), 28017 deletions(-) diff --git a/public/css/app.css b/public/css/app.css index 6ee4483..2b1c5ef 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -1,5270 +1 @@ -/* -! tailwindcss v3.0.24 | MIT License | https://tailwindcss.com -*//* -1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) -2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) -*/ - -*, -::before, -::after { - box-sizing: border-box; /* 1 */ - border-width: 0; /* 2 */ - border-style: solid; /* 2 */ - border-color: #e5e7eb; /* 2 */ -} - -::before, -::after { - --tw-content: ''; -} - -/* -1. Use a consistent sensible line-height in all browsers. -2. Prevent adjustments of font size after orientation changes in iOS. -3. Use a more readable tab size. -4. Use the user's configured `sans` font-family by default. -*/ - -html { - line-height: 1.5; /* 1 */ - -webkit-text-size-adjust: 100%; /* 2 */ - -moz-tab-size: 4; /* 3 */ - -o-tab-size: 4; - tab-size: 4; /* 3 */ - font-family: Nunito, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */ -} - -/* -1. Remove the margin in all browsers. -2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. -*/ - -body { - margin: 0; /* 1 */ - line-height: inherit; /* 2 */ -} - -/* -1. Add the correct height in Firefox. -2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) -3. Ensure horizontal rules are visible by default. -*/ - -hr { - height: 0; /* 1 */ - color: inherit; /* 2 */ - border-top-width: 1px; /* 3 */ -} - -/* -Add the correct text decoration in Chrome, Edge, and Safari. -*/ - -abbr:where([title]) { - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; -} - -/* -Remove the default font size and weight for headings. -*/ - -h1, -h2, -h3, -h4, -h5, -h6 { - font-size: inherit; - font-weight: inherit; -} - -/* -Reset links to optimize for opt-in styling instead of opt-out. -*/ - -a { - color: inherit; - text-decoration: inherit; -} - -/* -Add the correct font weight in Edge and Safari. -*/ - -b, -strong { - font-weight: bolder; -} - -/* -1. Use the user's configured `mono` font family by default. -2. Correct the odd `em` font sizing in all browsers. -*/ - -code, -kbd, -samp, -pre { - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */ - font-size: 1em; /* 2 */ -} - -/* -Add the correct font size in all browsers. -*/ - -small { - font-size: 80%; -} - -/* -Prevent `sub` and `sup` elements from affecting the line height in all browsers. -*/ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* -1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) -2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) -3. Remove gaps between table borders by default. -*/ - -table { - text-indent: 0; /* 1 */ - border-color: inherit; /* 2 */ - border-collapse: collapse; /* 3 */ -} - -/* -1. Change the font styles in all browsers. -2. Remove the margin in Firefox and Safari. -3. Remove default padding in all browsers. -*/ - -button, -input, -optgroup, -select, -textarea { - font-family: inherit; /* 1 */ - font-size: 100%; /* 1 */ - line-height: inherit; /* 1 */ - color: inherit; /* 1 */ - margin: 0; /* 2 */ - padding: 0; /* 3 */ -} - -/* -Remove the inheritance of text transform in Edge and Firefox. -*/ - -button, -select { - text-transform: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Remove default button styles. -*/ - -button, -[type='button'], -[type='reset'], -[type='submit'] { - -webkit-appearance: button; /* 1 */ - background-color: transparent; /* 2 */ - background-image: none; /* 2 */ -} - -/* -Use the modern Firefox focus style for all focusable elements. -*/ - -:-moz-focusring { - outline: auto; -} - -/* -Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) -*/ - -:-moz-ui-invalid { - box-shadow: none; -} - -/* -Add the correct vertical alignment in Chrome and Firefox. -*/ - -progress { - vertical-align: baseline; -} - -/* -Correct the cursor style of increment and decrement buttons in Safari. -*/ - -::-webkit-inner-spin-button, -::-webkit-outer-spin-button { - height: auto; -} - -/* -1. Correct the odd appearance in Chrome and Safari. -2. Correct the outline style in Safari. -*/ - -[type='search'] { - -webkit-appearance: textfield; /* 1 */ - outline-offset: -2px; /* 2 */ -} - -/* -Remove the inner padding in Chrome and Safari on macOS. -*/ - -::-webkit-search-decoration { - -webkit-appearance: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Change font properties to `inherit` in Safari. -*/ - -::-webkit-file-upload-button { - -webkit-appearance: button; /* 1 */ - font: inherit; /* 2 */ -} - -/* -Add the correct display in Chrome and Safari. -*/ - -summary { - display: list-item; -} - -/* -Removes the default spacing and border for appropriate elements. -*/ - -blockquote, -dl, -dd, -h1, -h2, -h3, -h4, -h5, -h6, -hr, -figure, -p, -pre { - margin: 0; -} - -fieldset { - margin: 0; - padding: 0; -} - -legend { - padding: 0; -} - -ol, -ul, -menu { - list-style: none; - margin: 0; - padding: 0; -} - -/* -Prevent resizing textareas horizontally by default. -*/ - -textarea { - resize: vertical; -} - -/* -1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) -2. Set the default placeholder color to the user's configured gray 400 color. -*/ - -input::-moz-placeholder, textarea::-moz-placeholder { - opacity: 1; /* 1 */ - color: #9ca3af; /* 2 */ -} - -input:-ms-input-placeholder, textarea:-ms-input-placeholder { - opacity: 1; /* 1 */ - color: #9ca3af; /* 2 */ -} - -input::placeholder, -textarea::placeholder { - opacity: 1; /* 1 */ - color: #9ca3af; /* 2 */ -} - -/* -Set the default cursor for buttons. -*/ - -button, -[role="button"] { - cursor: pointer; -} - -/* -Make sure disabled buttons don't get the pointer cursor. -*/ -:disabled { - cursor: default; -} - -/* -1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) -2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) - This can trigger a poorly considered lint error in some tools but is included by design. -*/ - -img, -svg, -video, -canvas, -audio, -iframe, -embed, -object { - display: block; /* 1 */ - vertical-align: middle; /* 2 */ -} - -/* -Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) -*/ - -img, -video { - max-width: 100%; - height: auto; -} - -/* -Ensure the default browser behavior of the `hidden` attribute. -*/ - -[hidden] { - display: none; -} - -[type='text'],[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #fff; - border-color: #6b7280; - border-width: 1px; - border-radius: 0px; - padding-top: 0.5rem; - padding-right: 0.75rem; - padding-bottom: 0.5rem; - padding-left: 0.75rem; - font-size: 1rem; - line-height: 1.5rem; - --tw-shadow: 0 0 #0000; -} - -[type='text']:focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus { - outline: 2px solid transparent; - outline-offset: 2px; - --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: #2563eb; - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); - border-color: #2563eb; -} - -input::-moz-placeholder, textarea::-moz-placeholder { - color: #6b7280; - opacity: 1; -} - -input:-ms-input-placeholder, textarea:-ms-input-placeholder { - color: #6b7280; - opacity: 1; -} - -input::placeholder,textarea::placeholder { - color: #6b7280; - opacity: 1; -} - -::-webkit-datetime-edit-fields-wrapper { - padding: 0; -} - -::-webkit-date-and-time-value { - min-height: 1.5em; -} - -::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field { - padding-top: 0; - padding-bottom: 0; -} - -select { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e"); - background-position: right 0.5rem center; - background-repeat: no-repeat; - background-size: 1.5em 1.5em; - padding-right: 2.5rem; - -webkit-print-color-adjust: exact; - color-adjust: exact; -} - -[multiple] { - background-image: initial; - background-position: initial; - background-repeat: unset; - background-size: initial; - padding-right: 0.75rem; - -webkit-print-color-adjust: unset; - color-adjust: unset; -} - -[type='checkbox'],[type='radio'] { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - padding: 0; - -webkit-print-color-adjust: exact; - color-adjust: exact; - display: inline-block; - vertical-align: middle; - background-origin: border-box; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - flex-shrink: 0; - height: 1rem; - width: 1rem; - color: #2563eb; - background-color: #fff; - border-color: #6b7280; - border-width: 1px; - --tw-shadow: 0 0 #0000; -} - -[type='checkbox'] { - border-radius: 0px; -} - -[type='radio'] { - border-radius: 100%; -} - -[type='checkbox']:focus,[type='radio']:focus { - outline: 2px solid transparent; - outline-offset: 2px; - --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); - --tw-ring-offset-width: 2px; - --tw-ring-offset-color: #fff; - --tw-ring-color: #2563eb; - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); -} - -[type='checkbox']:checked,[type='radio']:checked { - border-color: transparent; - background-color: currentColor; - background-size: 100% 100%; - background-position: center; - background-repeat: no-repeat; -} - -[type='checkbox']:checked { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e"); -} - -[type='radio']:checked { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e"); -} - -[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus { - border-color: transparent; - background-color: currentColor; -} - -[type='checkbox']:indeterminate { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e"); - border-color: transparent; - background-color: currentColor; - background-size: 100% 100%; - background-position: center; - background-repeat: no-repeat; -} - -[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus { - border-color: transparent; - background-color: currentColor; -} - -[type='file'] { - background: unset; - border-color: inherit; - border-width: 0; - border-radius: 0; - padding: 0; - font-size: unset; - line-height: inherit; -} - -[type='file']:focus { - outline: 1px auto -webkit-focus-ring-color; -} - -*, ::before, ::after { - --tw-translate-x: 0; - --tw-translate-y: 0; - --tw-rotate: 0; - --tw-skew-x: 0; - --tw-skew-y: 0; - --tw-scale-x: 1; - --tw-scale-y: 1; - --tw-pan-x: ; - --tw-pan-y: ; - --tw-pinch-zoom: ; - --tw-scroll-snap-strictness: proximity; - --tw-ordinal: ; - --tw-slashed-zero: ; - --tw-numeric-figure: ; - --tw-numeric-spacing: ; - --tw-numeric-fraction: ; - --tw-ring-inset: ; - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: rgb(59 130 246 / 0.5); - --tw-ring-offset-shadow: 0 0 #0000; - --tw-ring-shadow: 0 0 #0000; - --tw-shadow: 0 0 #0000; - --tw-shadow-colored: 0 0 #0000; - --tw-blur: ; - --tw-brightness: ; - --tw-contrast: ; - --tw-grayscale: ; - --tw-hue-rotate: ; - --tw-invert: ; - --tw-saturate: ; - --tw-sepia: ; - --tw-drop-shadow: ; - --tw-backdrop-blur: ; - --tw-backdrop-brightness: ; - --tw-backdrop-contrast: ; - --tw-backdrop-grayscale: ; - --tw-backdrop-hue-rotate: ; - --tw-backdrop-invert: ; - --tw-backdrop-opacity: ; - --tw-backdrop-saturate: ; - --tw-backdrop-sepia: ; -} -.container { - width: 100%; -} -@media (min-width: 640px) { - - .container { - max-width: 640px; - } -} -@media (min-width: 768px) { - - .container { - max-width: 768px; - } -} -@media (min-width: 1024px) { - - .container { - max-width: 1024px; - } -} -@media (min-width: 1280px) { - - .container { - max-width: 1280px; - } -} -@media (min-width: 1536px) { - - .container { - max-width: 1536px; - } -} -.prose { - color: var(--tw-prose-body); - max-width: 65ch; -} -.prose :where([class~="lead"]):not(:where([class~="not-prose"] *)) { - color: var(--tw-prose-lead); - font-size: 1.25em; - line-height: 1.6; - margin-top: 1.2em; - margin-bottom: 1.2em; -} -.prose :where(a):not(:where([class~="not-prose"] *)) { - color: var(--tw-prose-links); - text-decoration: underline; - font-weight: 500; -} -.prose :where(strong):not(:where([class~="not-prose"] *)) { - color: var(--tw-prose-bold); - font-weight: 600; -} -.prose :where(ol):not(:where([class~="not-prose"] *)) { - list-style-type: decimal; - padding-left: 1.625em; -} -.prose :where(ol[type="A"]):not(:where([class~="not-prose"] *)) { - list-style-type: upper-alpha; -} -.prose :where(ol[type="a"]):not(:where([class~="not-prose"] *)) { - list-style-type: lower-alpha; -} -.prose :where(ol[type="A" s]):not(:where([class~="not-prose"] *)) { - list-style-type: upper-alpha; -} -.prose :where(ol[type="a" s]):not(:where([class~="not-prose"] *)) { - list-style-type: lower-alpha; -} -.prose :where(ol[type="I"]):not(:where([class~="not-prose"] *)) { - list-style-type: upper-roman; -} -.prose :where(ol[type="i"]):not(:where([class~="not-prose"] *)) { - list-style-type: lower-roman; -} -.prose :where(ol[type="I" s]):not(:where([class~="not-prose"] *)) { - list-style-type: upper-roman; -} -.prose :where(ol[type="i" s]):not(:where([class~="not-prose"] *)) { - list-style-type: lower-roman; -} -.prose :where(ol[type="1"]):not(:where([class~="not-prose"] *)) { - list-style-type: decimal; -} -.prose :where(ul):not(:where([class~="not-prose"] *)) { - list-style-type: disc; - padding-left: 1.625em; -} -.prose :where(ol > li):not(:where([class~="not-prose"] *))::marker { - font-weight: 400; - color: var(--tw-prose-counters); -} -.prose :where(ul > li):not(:where([class~="not-prose"] *))::marker { - color: var(--tw-prose-bullets); -} -.prose :where(hr):not(:where([class~="not-prose"] *)) { - border-color: var(--tw-prose-hr); - border-top-width: 1px; - margin-top: 3em; - margin-bottom: 3em; -} -.prose :where(blockquote):not(:where([class~="not-prose"] *)) { - font-weight: 500; - font-style: italic; - color: var(--tw-prose-quotes); - border-left-width: 0.25rem; - border-left-color: var(--tw-prose-quote-borders); - quotes: "\201C""\201D""\2018""\2019"; - margin-top: 1.6em; - margin-bottom: 1.6em; - padding-left: 1em; -} -.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"] *))::before { - content: open-quote; -} -.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"] *))::after { - content: close-quote; -} -.prose :where(h1):not(:where([class~="not-prose"] *)) { - color: var(--tw-prose-headings); - font-weight: 800; - font-size: 2.25em; - margin-top: 0; - margin-bottom: 0.8888889em; - line-height: 1.1111111; -} -.prose :where(h1 strong):not(:where([class~="not-prose"] *)) { - font-weight: 900; -} -.prose :where(h2):not(:where([class~="not-prose"] *)) { - color: var(--tw-prose-headings); - font-weight: 700; - font-size: 1.5em; - margin-top: 2em; - margin-bottom: 1em; - line-height: 1.3333333; -} -.prose :where(h2 strong):not(:where([class~="not-prose"] *)) { - font-weight: 800; -} -.prose :where(h3):not(:where([class~="not-prose"] *)) { - color: var(--tw-prose-headings); - font-weight: 600; - font-size: 1.25em; - margin-top: 1.6em; - margin-bottom: 0.6em; - line-height: 1.6; -} -.prose :where(h3 strong):not(:where([class~="not-prose"] *)) { - font-weight: 700; -} -.prose :where(h4):not(:where([class~="not-prose"] *)) { - color: var(--tw-prose-headings); - font-weight: 600; - margin-top: 1.5em; - margin-bottom: 0.5em; - line-height: 1.5; -} -.prose :where(h4 strong):not(:where([class~="not-prose"] *)) { - font-weight: 700; -} -.prose :where(figure > *):not(:where([class~="not-prose"] *)) { - margin-top: 0; - margin-bottom: 0; -} -.prose :where(figcaption):not(:where([class~="not-prose"] *)) { - color: var(--tw-prose-captions); - font-size: 0.875em; - line-height: 1.4285714; - margin-top: 0.8571429em; -} -.prose :where(code):not(:where([class~="not-prose"] *)) { - color: var(--tw-prose-code); - font-weight: 600; - font-size: 0.875em; -} -.prose :where(code):not(:where([class~="not-prose"] *))::before { - content: "`"; -} -.prose :where(code):not(:where([class~="not-prose"] *))::after { - content: "`"; -} -.prose :where(a code):not(:where([class~="not-prose"] *)) { - color: var(--tw-prose-links); -} -.prose :where(pre):not(:where([class~="not-prose"] *)) { - color: var(--tw-prose-pre-code); - background-color: var(--tw-prose-pre-bg); - overflow-x: auto; - font-weight: 400; - font-size: 0.875em; - line-height: 1.7142857; - margin-top: 1.7142857em; - margin-bottom: 1.7142857em; - border-radius: 0.375rem; - padding-top: 0.8571429em; - padding-right: 1.1428571em; - padding-bottom: 0.8571429em; - padding-left: 1.1428571em; -} -.prose :where(pre code):not(:where([class~="not-prose"] *)) { - background-color: transparent; - border-width: 0; - border-radius: 0; - padding: 0; - font-weight: inherit; - color: inherit; - font-size: inherit; - font-family: inherit; - line-height: inherit; -} -.prose :where(pre code):not(:where([class~="not-prose"] *))::before { - content: none; -} -.prose :where(pre code):not(:where([class~="not-prose"] *))::after { - content: none; -} -.prose :where(table):not(:where([class~="not-prose"] *)) { - width: 100%; - table-layout: auto; - text-align: left; - margin-top: 2em; - margin-bottom: 2em; - font-size: 0.875em; - line-height: 1.7142857; -} -.prose :where(thead):not(:where([class~="not-prose"] *)) { - border-bottom-width: 1px; - border-bottom-color: var(--tw-prose-th-borders); -} -.prose :where(thead th):not(:where([class~="not-prose"] *)) { - color: var(--tw-prose-headings); - font-weight: 600; - vertical-align: bottom; - padding-right: 0.5714286em; - padding-bottom: 0.5714286em; - padding-left: 0.5714286em; -} -.prose :where(tbody tr):not(:where([class~="not-prose"] *)) { - border-bottom-width: 1px; - border-bottom-color: var(--tw-prose-td-borders); -} -.prose :where(tbody tr:last-child):not(:where([class~="not-prose"] *)) { - border-bottom-width: 0; -} -.prose :where(tbody td):not(:where([class~="not-prose"] *)) { - vertical-align: baseline; - padding-top: 0.5714286em; - padding-right: 0.5714286em; - padding-bottom: 0.5714286em; - padding-left: 0.5714286em; -} -.prose { - --tw-prose-body: #374151; - --tw-prose-headings: #111827; - --tw-prose-lead: #4b5563; - --tw-prose-links: #111827; - --tw-prose-bold: #111827; - --tw-prose-counters: #6b7280; - --tw-prose-bullets: #d1d5db; - --tw-prose-hr: #e5e7eb; - --tw-prose-quotes: #111827; - --tw-prose-quote-borders: #e5e7eb; - --tw-prose-captions: #6b7280; - --tw-prose-code: #111827; - --tw-prose-pre-code: #e5e7eb; - --tw-prose-pre-bg: #1f2937; - --tw-prose-th-borders: #d1d5db; - --tw-prose-td-borders: #e5e7eb; - --tw-prose-invert-body: #d1d5db; - --tw-prose-invert-headings: #fff; - --tw-prose-invert-lead: #9ca3af; - --tw-prose-invert-links: #fff; - --tw-prose-invert-bold: #fff; - --tw-prose-invert-counters: #9ca3af; - --tw-prose-invert-bullets: #4b5563; - --tw-prose-invert-hr: #374151; - --tw-prose-invert-quotes: #f3f4f6; - --tw-prose-invert-quote-borders: #374151; - --tw-prose-invert-captions: #9ca3af; - --tw-prose-invert-code: #fff; - --tw-prose-invert-pre-code: #d1d5db; - --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%); - --tw-prose-invert-th-borders: #4b5563; - --tw-prose-invert-td-borders: #374151; - font-size: 1rem; - line-height: 1.75; -} -.prose :where(p):not(:where([class~="not-prose"] *)) { - margin-top: 1.25em; - margin-bottom: 1.25em; -} -.prose :where(img):not(:where([class~="not-prose"] *)) { - margin-top: 2em; - margin-bottom: 2em; -} -.prose :where(video):not(:where([class~="not-prose"] *)) { - margin-top: 2em; - margin-bottom: 2em; -} -.prose :where(figure):not(:where([class~="not-prose"] *)) { - margin-top: 2em; - margin-bottom: 2em; -} -.prose :where(h2 code):not(:where([class~="not-prose"] *)) { - font-size: 0.875em; -} -.prose :where(h3 code):not(:where([class~="not-prose"] *)) { - font-size: 0.9em; -} -.prose :where(li):not(:where([class~="not-prose"] *)) { - margin-top: 0.5em; - margin-bottom: 0.5em; -} -.prose :where(ol > li):not(:where([class~="not-prose"] *)) { - padding-left: 0.375em; -} -.prose :where(ul > li):not(:where([class~="not-prose"] *)) { - padding-left: 0.375em; -} -.prose > :where(ul > li p):not(:where([class~="not-prose"] *)) { - margin-top: 0.75em; - margin-bottom: 0.75em; -} -.prose > :where(ul > li > *:first-child):not(:where([class~="not-prose"] *)) { - margin-top: 1.25em; -} -.prose > :where(ul > li > *:last-child):not(:where([class~="not-prose"] *)) { - margin-bottom: 1.25em; -} -.prose > :where(ol > li > *:first-child):not(:where([class~="not-prose"] *)) { - margin-top: 1.25em; -} -.prose > :where(ol > li > *:last-child):not(:where([class~="not-prose"] *)) { - margin-bottom: 1.25em; -} -.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"] *)) { - margin-top: 0.75em; - margin-bottom: 0.75em; -} -.prose :where(hr + *):not(:where([class~="not-prose"] *)) { - margin-top: 0; -} -.prose :where(h2 + *):not(:where([class~="not-prose"] *)) { - margin-top: 0; -} -.prose :where(h3 + *):not(:where([class~="not-prose"] *)) { - margin-top: 0; -} -.prose :where(h4 + *):not(:where([class~="not-prose"] *)) { - margin-top: 0; -} -.prose :where(thead th:first-child):not(:where([class~="not-prose"] *)) { - padding-left: 0; -} -.prose :where(thead th:last-child):not(:where([class~="not-prose"] *)) { - padding-right: 0; -} -.prose :where(tbody td:first-child):not(:where([class~="not-prose"] *)) { - padding-left: 0; -} -.prose :where(tbody td:last-child):not(:where([class~="not-prose"] *)) { - padding-right: 0; -} -.prose > :where(:first-child):not(:where([class~="not-prose"] *)) { - margin-top: 0; -} -.prose > :where(:last-child):not(:where([class~="not-prose"] *)) { - margin-bottom: 0; -} -.aspect-w-9 { - position: relative; - padding-bottom: calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%); - --tw-aspect-w: 9; -} -.aspect-w-9 > * { - position: absolute; - height: 100%; - width: 100%; - top: 0; - right: 0; - bottom: 0; - left: 0; -} -.aspect-h-16 { - --tw-aspect-h: 16; -} -.aspect-w-1 { - position: relative; - padding-bottom: calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%); - --tw-aspect-w: 1; -} -.aspect-w-1 > * { - position: absolute; - height: 100%; - width: 100%; - top: 0; - right: 0; - bottom: 0; - left: 0; -} -.aspect-h-1 { - --tw-aspect-h: 1; -} -.aspect-w-10 { - position: relative; - padding-bottom: calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%); - --tw-aspect-w: 10; -} -.aspect-w-10 > * { - position: absolute; - height: 100%; - width: 100%; - top: 0; - right: 0; - bottom: 0; - left: 0; -} -.aspect-h-6 { - --tw-aspect-h: 6; -} -.aspect-w-3 { - position: relative; - padding-bottom: calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%); - --tw-aspect-w: 3; -} -.aspect-w-3 > * { - position: absolute; - height: 100%; - width: 100%; - top: 0; - right: 0; - bottom: 0; - left: 0; -} -.aspect-h-2 { - --tw-aspect-h: 2; -} -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; -} -.pointer-events-none { - pointer-events: none; -} -.pointer-events-auto { - pointer-events: auto; -} -.visible { - visibility: visible; -} -.invisible { - visibility: hidden; -} -.static { - position: static; -} -.fixed { - position: fixed; -} -.absolute { - position: absolute; -} -.relative { - position: relative; -} -.sticky { - position: -webkit-sticky; - position: sticky; -} -.inset-0 { - top: 0px; - right: 0px; - bottom: 0px; - left: 0px; -} -.inset-4 { - top: 1rem; - right: 1rem; - bottom: 1rem; - left: 1rem; -} -.inset-y-0 { - top: 0px; - bottom: 0px; -} -.inset-x-0 { - left: 0px; - right: 0px; -} -.left-0 { - left: 0px; -} -.right-0 { - right: 0px; -} -.top-0 { - top: 0px; -} -.right-full { - right: 100%; -} -.left-full { - left: 100%; -} -.top-2 { - top: 0.5rem; -} -.right-2 { - right: 0.5rem; -} -.-top-0\.5 { - top: -0.125rem; -} -.-right-0\.5 { - right: -0.125rem; -} -.-top-0 { - top: -0px; -} -.-right-0 { - right: -0px; -} -.bottom-0 { - bottom: 0px; -} -.top-3 { - top: 0.75rem; -} -.right-3 { - right: 0.75rem; -} -.right-1 { - right: 0.25rem; -} -.top-10 { - top: 2.5rem; -} -.top-1 { - top: 0.25rem; -} -.bottom-1 { - bottom: 0.25rem; -} -.z-0 { - z-index: 0; -} -.z-50 { - z-index: 50; -} -.z-10 { - z-index: 10; -} -.z-20 { - z-index: 20; -} -.z-30 { - z-index: 30; -} -.z-40 { - z-index: 40; -} -.col-span-6 { - grid-column: span 6 / span 6; -} -.col-span-1 { - grid-column: span 1 / span 1; -} -.col-span-2 { - grid-column: span 2 / span 2; -} -.col-span-3 { - grid-column: span 3 / span 3; -} -.col-span-4 { - grid-column: span 4 / span 4; -} -.col-span-5 { - grid-column: span 5 / span 5; -} -.col-span-7 { - grid-column: span 7 / span 7; -} -.col-span-8 { - grid-column: span 8 / span 8; -} -.col-span-9 { - grid-column: span 9 / span 9; -} -.col-span-10 { - grid-column: span 10 / span 10; -} -.col-span-11 { - grid-column: span 11 / span 11; -} -.col-span-12 { - grid-column: span 12 / span 12; -} -.col-span-full { - grid-column: 1 / -1; -} -.\!m-0 { - margin: 0px !important; -} -.mx-auto { - margin-left: auto; - margin-right: auto; -} -.my-1 { - margin-top: 0.25rem; - margin-bottom: 0.25rem; -} -.-my-1 { - margin-top: -0.25rem; - margin-bottom: -0.25rem; -} -.my-auto { - margin-top: auto; - margin-bottom: auto; -} -.-mx-5 { - margin-left: -1.25rem; - margin-right: -1.25rem; -} -.-my-2 { - margin-top: -0.5rem; - margin-bottom: -0.5rem; -} -.-mx-3 { - margin-left: -0.75rem; - margin-right: -0.75rem; -} -.-mx-2 { - margin-left: -0.5rem; - margin-right: -0.5rem; -} -.ml-3 { - margin-left: 0.75rem; -} -.-ml-px { - margin-left: -1px; -} -.mt-5 { - margin-top: 1.25rem; -} -.mt-6 { - margin-top: 1.5rem; -} -.-mr-1 { - margin-right: -0.25rem; -} -.mt-3 { - margin-top: 0.75rem; -} -.mt-2 { - margin-top: 0.5rem; -} -.mt-4 { - margin-top: 1rem; -} -.mt-1 { - margin-top: 0.25rem; -} -.mb-6 { - margin-bottom: 1.5rem; -} -.mr-2 { - margin-right: 0.5rem; -} -.mt-8 { - margin-top: 2rem; -} -.ml-4 { - margin-left: 1rem; -} -.ml-12 { - margin-left: 3rem; -} -.ml-1 { - margin-left: 0.25rem; -} -.ml-2 { - margin-left: 0.5rem; -} -.-mr-0\.5 { - margin-right: -0.125rem; -} -.-mr-0 { - margin-right: -0px; -} -.-mr-2 { - margin-right: -0.5rem; -} -.mr-3 { - margin-right: 0.75rem; -} -.mt-10 { - margin-top: 2.5rem; -} -.ml-6 { - margin-left: 1.5rem; -} -.mb-4 { - margin-bottom: 1rem; -} -.-ml-1 { - margin-left: -0.25rem; -} -.-ml-2 { - margin-left: -0.5rem; -} -.mr-1 { - margin-right: 0.25rem; -} -.mt-12 { - margin-top: 3rem; -} -.ml-auto { - margin-left: auto; -} -.-mt-32 { - margin-top: -8rem; -} -.-mt-\[0\.6875rem\] { - margin-top: -0.6875rem; -} -.-ml-3 { - margin-left: -0.75rem; -} -.-ml-1\.5 { - margin-left: -0.375rem; -} -.-mr-3 { - margin-right: -0.75rem; -} -.-mr-1\.5 { - margin-right: -0.375rem; -} -.-mb-1\.5 { - margin-bottom: -0.375rem; -} -.-mt-0\.5 { - margin-top: -0.125rem; -} -.-mb-1 { - margin-bottom: -0.25rem; -} -.-mt-0 { - margin-top: -0px; -} -.mt-16 { - margin-top: 4rem; -} -.mr-0 { - margin-right: 0px; -} -.-mr-6 { - margin-right: -1.5rem; -} -.ml-11 { - margin-left: 2.75rem; -} -.ml-5 { - margin-left: 1.25rem; -} -.mb-2 { - margin-bottom: 0.5rem; -} -.mr-6 { - margin-right: 1.5rem; -} -.mb-3 { - margin-bottom: 0.75rem; -} -.-mt-px { - margin-top: -1px; -} -.block { - display: block; -} -.inline-block { - display: inline-block; -} -.inline { - display: inline; -} -.flex { - display: flex; -} -.inline-flex { - display: inline-flex; -} -.table { - display: table; -} -.grid { - display: grid; -} -.hidden { - display: none; -} -.h-5 { - height: 1.25rem; -} -.h-16 { - height: 4rem; -} -.h-12 { - height: 3rem; -} -.h-6 { - height: 1.5rem; -} -.h-8 { - height: 2rem; -} -.h-4 { - height: 1rem; -} -.h-9 { - height: 2.25rem; -} -.h-10 { - height: 2.5rem; -} -.h-20 { - height: 5rem; -} -.h-full { - height: 100%; -} -.h-3 { - height: 0.75rem; -} -.h-48 { - height: 12rem; -} -.h-1\/3 { - height: 33.333333%; -} -.h-96 { - height: 24rem; -} -.h-screen { - height: 100vh; -} -.h-\[4rem\] { - height: 4rem; -} -.h-7 { - height: 1.75rem; -} -.h-0 { - height: 0px; -} -.h-auto { - height: auto; -} -.h-40 { - height: 10rem; -} -.h-14 { - height: 3.5rem; -} -.h-1 { - height: 0.25rem; -} -.h-1\/2 { - height: 50%; -} -.max-h-60 { - max-height: 15rem; -} -.min-h-screen { - min-height: 100vh; -} -.min-h-\[2\.25rem\] { - min-height: 2.25rem; -} -.min-h-\[2rem\] { - min-height: 2rem; -} -.min-h-\[2\.75rem\] { - min-height: 2.75rem; -} -.min-h-\[40px\] { - min-height: 40px; -} -.min-h-\[56px\] { - min-height: 56px; -} -.w-5 { - width: 1.25rem; -} -.w-16 { - width: 4rem; -} -.w-full { - width: 100%; -} -.w-0 { - width: 0px; -} -.w-12 { - width: 3rem; -} -.w-6 { - width: 1.5rem; -} -.w-3\/4 { - width: 75%; -} -.w-48 { - width: 12rem; -} -.w-auto { - width: auto; -} -.w-8 { - width: 2rem; -} -.w-4 { - width: 1rem; -} -.w-60 { - width: 15rem; -} -.w-10 { - width: 2.5rem; -} -.w-1\/2 { - width: 50%; -} -.w-20 { - width: 5rem; -} -.w-fit { - width: -webkit-fit-content; - width: -moz-fit-content; - width: fit-content; -} -.w-3 { - width: 0.75rem; -} -.w-screen { - width: 100vw; -} -.w-24 { - width: 6rem; -} -.w-\[var\(--sidebar-width\)\] { - width: var(--sidebar-width); -} -.w-7 { - width: 1.75rem; -} -.w-9 { - width: 2.25rem; -} -.w-40 { - width: 10rem; -} -.w-11 { - width: 2.75rem; -} -.w-32 { - width: 8rem; -} -.min-w-0 { - min-width: 0px; -} -.min-w-\[16rem\] { - min-width: 16rem; -} -.min-w-full { - min-width: 100%; -} -.max-w-screen-xl { - max-width: 1280px; -} -.max-w-7xl { - max-width: 80rem; -} -.max-w-xl { - max-width: 36rem; -} -.max-w-2xl { - max-width: 42rem; -} -.max-w-3xl { - max-width: 48rem; -} -.max-w-4xl { - max-width: 56rem; -} -.max-w-5xl { - max-width: 64rem; -} -.max-w-6xl { - max-width: 72rem; -} -.max-w-full { - max-width: 100%; -} -.max-w-lg { - max-width: 32rem; -} -.max-w-md { - max-width: 28rem; -} -.max-w-xs { - max-width: 20rem; -} -.max-w-sm { - max-width: 24rem; -} -.max-w-\[14rem\] { - max-width: 14rem; -} -.max-w-\[20em\] { - max-width: 20em; -} -.flex-1 { - flex: 1 1 0%; -} -.flex-none { - flex: none; -} -.flex-shrink-0 { - flex-shrink: 0; -} -.shrink-0 { - flex-shrink: 0; -} -.grow { - flex-grow: 1; -} -.table-auto { - table-layout: auto; -} -.origin-top-left { - transform-origin: top left; -} -.origin-top { - transform-origin: top; -} -.origin-top-right { - transform-origin: top right; -} -.translate-y-4 { - --tw-translate-y: 1rem; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.translate-y-0 { - --tw-translate-y: 0px; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.translate-y-1\/4 { - --tw-translate-y: 25%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.translate-x-1\/4 { - --tw-translate-x: 25%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.-translate-y-3\/4 { - --tw-translate-y: -75%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.-translate-x-1\/4 { - --tw-translate-x: -25%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.translate-x-full { - --tw-translate-x: 100%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.translate-x-0 { - --tw-translate-x: 0px; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.translate-y-8 { - --tw-translate-y: 2rem; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.-translate-x-full { - --tw-translate-x: -100%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.translate-x-5 { - --tw-translate-x: 1.25rem; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.rotate-180 { - --tw-rotate: 180deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.-rotate-180 { - --tw-rotate: -180deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.-skew-x-12 { - --tw-skew-x: -12deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.scale-95 { - --tw-scale-x: .95; - --tw-scale-y: .95; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.scale-100 { - --tw-scale-x: 1; - --tw-scale-y: 1; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.transform { - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -@-webkit-keyframes spin { - - to { - transform: rotate(360deg); - } -} -@keyframes spin { - - to { - transform: rotate(360deg); - } -} -.animate-spin { - -webkit-animation: spin 1s linear infinite; - animation: spin 1s linear infinite; -} -@-webkit-keyframes pulse { - - 50% { - opacity: .5; - } -} -@keyframes pulse { - - 50% { - opacity: .5; - } -} -.animate-pulse { - -webkit-animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; - animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; -} -.cursor-default { - cursor: default; -} -.cursor-pointer { - cursor: pointer; -} -.cursor-not-allowed { - cursor: not-allowed; -} -.cursor-wait { - cursor: wait; -} -.cursor-move { - cursor: move; -} -.select-none { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.list-inside { - list-style-position: inside; -} -.list-disc { - list-style-type: disc; -} -.columns-1 { - -moz-columns: 1; - columns: 1; -} -.columns-2 { - -moz-columns: 2; - columns: 2; -} -.columns-3 { - -moz-columns: 3; - columns: 3; -} -.columns-4 { - -moz-columns: 4; - columns: 4; -} -.columns-5 { - -moz-columns: 5; - columns: 5; -} -.columns-6 { - -moz-columns: 6; - columns: 6; -} -.columns-7 { - -moz-columns: 7; - columns: 7; -} -.columns-8 { - -moz-columns: 8; - columns: 8; -} -.columns-9 { - -moz-columns: 9; - columns: 9; -} -.columns-10 { - -moz-columns: 10; - columns: 10; -} -.columns-11 { - -moz-columns: 11; - columns: 11; -} -.columns-12 { - -moz-columns: 12; - columns: 12; -} -.grid-cols-6 { - grid-template-columns: repeat(6, minmax(0, 1fr)); -} -.grid-cols-1 { - grid-template-columns: repeat(1, minmax(0, 1fr)); -} -.grid-cols-\[repeat\(auto-fit\2c minmax\(0\2c 1fr\)\)\] { - grid-template-columns: repeat(auto-fit,minmax(0,1fr)); -} -.grid-cols-7 { - grid-template-columns: repeat(7, minmax(0, 1fr)); -} -.grid-cols-2 { - grid-template-columns: repeat(2, minmax(0, 1fr)); -} -.grid-cols-3 { - grid-template-columns: repeat(3, minmax(0, 1fr)); -} -.grid-cols-4 { - grid-template-columns: repeat(4, minmax(0, 1fr)); -} -.grid-cols-5 { - grid-template-columns: repeat(5, minmax(0, 1fr)); -} -.grid-cols-8 { - grid-template-columns: repeat(8, minmax(0, 1fr)); -} -.grid-cols-9 { - grid-template-columns: repeat(9, minmax(0, 1fr)); -} -.grid-cols-10 { - grid-template-columns: repeat(10, minmax(0, 1fr)); -} -.grid-cols-11 { - grid-template-columns: repeat(11, minmax(0, 1fr)); -} -.grid-cols-12 { - grid-template-columns: repeat(12, minmax(0, 1fr)); -} -.flex-row { - flex-direction: row; -} -.flex-row-reverse { - flex-direction: row-reverse; -} -.flex-col { - flex-direction: column; -} -.flex-col-reverse { - flex-direction: column-reverse; -} -.flex-wrap { - flex-wrap: wrap; -} -.items-start { - align-items: flex-start; -} -.items-end { - align-items: flex-end; -} -.items-center { - align-items: center; -} -.justify-start { - justify-content: flex-start; -} -.justify-end { - justify-content: flex-end; -} -.justify-center { - justify-content: center; -} -.justify-between { - justify-content: space-between; -} -.justify-items-center { - justify-items: center; -} -.gap-6 { - gap: 1.5rem; -} -.gap-4 { - gap: 1rem; -} -.gap-1 { - gap: 0.25rem; -} -.gap-2 { - gap: 0.5rem; -} -.gap-5 { - gap: 1.25rem; -} -.gap-0\.5 { - gap: 0.125rem; -} -.gap-0 { - gap: 0px; -} -.gap-3 { - gap: 0.75rem; -} -.gap-y-6 { - row-gap: 1.5rem; -} -.gap-x-4 { - -moz-column-gap: 1rem; - column-gap: 1rem; -} -.gap-y-1 { - row-gap: 0.25rem; -} -.gap-x-2 { - -moz-column-gap: 0.5rem; - column-gap: 0.5rem; -} -.space-x-8 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(2rem * var(--tw-space-x-reverse)); - margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse))); -} -.space-y-1 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(0.25rem * var(--tw-space-y-reverse)); -} -.space-y-6 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(1.5rem * var(--tw-space-y-reverse)); -} -.space-x-2 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(0.5rem * var(--tw-space-x-reverse)); - margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); -} -.space-y-3 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(0.75rem * var(--tw-space-y-reverse)); -} -.space-x-1 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(0.25rem * var(--tw-space-x-reverse)); - margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse))); -} -.space-y-12 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(3rem * var(--tw-space-y-reverse)); -} -.space-y-5 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(1.25rem * var(--tw-space-y-reverse)); -} -.space-y-4 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(1rem * var(--tw-space-y-reverse)); -} -.space-y-2 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)); -} -.space-x-5 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(1.25rem * var(--tw-space-x-reverse)); - margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse))); -} -.space-x-6 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(1.5rem * var(--tw-space-x-reverse)); - margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse))); -} -.space-x-4 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(1rem * var(--tw-space-x-reverse)); - margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); -} -.space-x-3 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(0.75rem * var(--tw-space-x-reverse)); - margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse))); -} -.space-x-reverse > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 1; -} -.divide-x > :not([hidden]) ~ :not([hidden]) { - --tw-divide-x-reverse: 0; - border-right-width: calc(1px * var(--tw-divide-x-reverse)); - border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse))); -} -.divide-y > :not([hidden]) ~ :not([hidden]) { - --tw-divide-y-reverse: 0; - border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); - border-bottom-width: calc(1px * var(--tw-divide-y-reverse)); -} -.divide-gray-100 > :not([hidden]) ~ :not([hidden]) { - --tw-divide-opacity: 1; - border-color: rgb(243 244 246 / var(--tw-divide-opacity)); -} -.divide-gray-200 > :not([hidden]) ~ :not([hidden]) { - --tw-divide-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-divide-opacity)); -} -.divide-gray-300 > :not([hidden]) ~ :not([hidden]) { - --tw-divide-opacity: 1; - border-color: rgb(209 213 219 / var(--tw-divide-opacity)); -} -.overflow-auto { - overflow: auto; -} -.overflow-hidden { - overflow: hidden; -} -.overflow-x-auto { - overflow-x: auto; -} -.overflow-y-auto { - overflow-y: auto; -} -.overflow-x-hidden { - overflow-x: hidden; -} -.overflow-y-hidden { - overflow-y: hidden; -} -.overflow-x-clip { - overflow-x: clip; -} -.truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -.whitespace-normal { - white-space: normal; -} -.whitespace-nowrap { - white-space: nowrap; -} -.break-all { - word-break: break-all; -} -.rounded-md { - border-radius: 0.375rem; -} -.rounded-lg { - border-radius: 0.5rem; -} -.rounded { - border-radius: 0.25rem; -} -.rounded-full { - border-radius: 9999px; -} -.rounded-xl { - border-radius: 0.75rem; -} -.rounded-none { - border-radius: 0px; -} -.rounded-l-md { - border-top-left-radius: 0.375rem; - border-bottom-left-radius: 0.375rem; -} -.rounded-r-md { - border-top-right-radius: 0.375rem; - border-bottom-right-radius: 0.375rem; -} -.rounded-t-none { - border-top-left-radius: 0px; - border-top-right-radius: 0px; -} -.rounded-b-none { - border-bottom-right-radius: 0px; - border-bottom-left-radius: 0px; -} -.rounded-t-xl { - border-top-left-radius: 0.75rem; - border-top-right-radius: 0.75rem; -} -.rounded-b-xl { - border-bottom-right-radius: 0.75rem; - border-bottom-left-radius: 0.75rem; -} -.border { - border-width: 1px; -} -.border-2 { - border-width: 2px; -} -.border-0 { - border-width: 0px; -} -.border-4 { - border-width: 4px; -} -.border-b-2 { - border-bottom-width: 2px; -} -.border-l-4 { - border-left-width: 4px; -} -.border-t { - border-top-width: 1px; -} -.border-b { - border-bottom-width: 1px; -} -.border-r { - border-right-width: 1px; -} -.border-r-0 { - border-right-width: 0px; -} -.border-dashed { - border-style: dashed; -} -.border-gray-300 { - --tw-border-opacity: 1; - border-color: rgb(209 213 219 / var(--tw-border-opacity)); -} -.border-transparent { - border-color: transparent; -} -.border-indigo-400 { - --tw-border-opacity: 1; - border-color: rgb(129 140 248 / var(--tw-border-opacity)); -} -.border-gray-200 { - --tw-border-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-border-opacity)); -} -.border-gray-100 { - --tw-border-opacity: 1; - border-color: rgb(243 244 246 / var(--tw-border-opacity)); -} -.border-gray-600 { - --tw-border-opacity: 1; - border-color: rgb(75 85 99 / var(--tw-border-opacity)); -} -.border-gray-800 { - --tw-border-opacity: 1; - border-color: rgb(31 41 55 / var(--tw-border-opacity)); -} -.border-red-500 { - --tw-border-opacity: 1; - border-color: rgb(239 68 68 / var(--tw-border-opacity)); -} -.border-gray-400 { - --tw-border-opacity: 1; - border-color: rgb(156 163 175 / var(--tw-border-opacity)); -} -.border-red-300 { - --tw-border-opacity: 1; - border-color: rgb(252 165 165 / var(--tw-border-opacity)); -} -.border-red-700 { - --tw-border-opacity: 1; - border-color: rgb(185 28 28 / var(--tw-border-opacity)); -} -.border-opacity-25 { - --tw-border-opacity: 0.25; -} -.bg-white { - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity)); -} -.bg-gray-100 { - --tw-bg-opacity: 1; - background-color: rgb(243 244 246 / var(--tw-bg-opacity)); -} -.bg-indigo-500 { - --tw-bg-opacity: 1; - background-color: rgb(99 102 241 / var(--tw-bg-opacity)); -} -.bg-red-700 { - --tw-bg-opacity: 1; - background-color: rgb(185 28 28 / var(--tw-bg-opacity)); -} -.bg-gray-500 { - --tw-bg-opacity: 1; - background-color: rgb(107 114 128 / var(--tw-bg-opacity)); -} -.bg-indigo-600 { - --tw-bg-opacity: 1; - background-color: rgb(79 70 229 / var(--tw-bg-opacity)); -} -.bg-red-600 { - --tw-bg-opacity: 1; - background-color: rgb(220 38 38 / var(--tw-bg-opacity)); -} -.bg-gray-800 { - --tw-bg-opacity: 1; - background-color: rgb(31 41 55 / var(--tw-bg-opacity)); -} -.bg-red-100 { - --tw-bg-opacity: 1; - background-color: rgb(254 226 226 / var(--tw-bg-opacity)); -} -.bg-gray-50 { - --tw-bg-opacity: 1; - background-color: rgb(249 250 251 / var(--tw-bg-opacity)); -} -.bg-indigo-50 { - --tw-bg-opacity: 1; - background-color: rgb(238 242 255 / var(--tw-bg-opacity)); -} -.bg-gray-200 { - --tw-bg-opacity: 1; - background-color: rgb(229 231 235 / var(--tw-bg-opacity)); -} -.bg-transparent { - background-color: transparent; -} -.bg-gray-900\/50 { - background-color: rgb(17 24 39 / 0.5); -} -.bg-gray-600 { - --tw-bg-opacity: 1; - background-color: rgb(75 85 99 / var(--tw-bg-opacity)); -} -.bg-gray-500\/5 { - background-color: rgb(107 114 128 / 0.05); -} -.bg-gray-500\/10 { - background-color: rgb(107 114 128 / 0.1); -} -.bg-black\/50 { - background-color: rgb(0 0 0 / 0.5); -} -.bg-gray-300 { - --tw-bg-opacity: 1; - background-color: rgb(209 213 219 / var(--tw-bg-opacity)); -} -.bg-white\/50 { - background-color: rgb(255 255 255 / 0.5); -} -.bg-red-50 { - --tw-bg-opacity: 1; - background-color: rgb(254 242 242 / var(--tw-bg-opacity)); -} -.bg-black { - --tw-bg-opacity: 1; - background-color: rgb(0 0 0 / var(--tw-bg-opacity)); -} -.bg-red-500 { - --tw-bg-opacity: 1; - background-color: rgb(239 68 68 / var(--tw-bg-opacity)); -} -.bg-gray-400\/10 { - background-color: rgb(156 163 175 / 0.1); -} -.bg-opacity-25 { - --tw-bg-opacity: 0.25; -} -.bg-opacity-75 { - --tw-bg-opacity: 0.75; -} -.bg-cover { - background-size: cover; -} -.bg-center { - background-position: center; -} -.bg-no-repeat { - background-repeat: no-repeat; -} -.fill-current { - fill: currentColor; -} -.object-cover { - -o-object-fit: cover; - object-fit: cover; -} -.p-2 { - padding: 0.5rem; -} -.p-6 { - padding: 1.5rem; -} -.p-0 { - padding: 0px; -} -.p-4 { - padding: 1rem; -} -.p-1 { - padding: 0.25rem; -} -.p-1\.5 { - padding: 0.375rem; -} -.p-3 { - padding: 0.75rem; -} -.px-4 { - padding-left: 1rem; - padding-right: 1rem; -} -.py-2 { - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} -.px-2 { - padding-left: 0.5rem; - padding-right: 0.5rem; -} -.py-5 { - padding-top: 1.25rem; - padding-bottom: 1.25rem; -} -.px-6 { - padding-left: 1.5rem; - padding-right: 1.5rem; -} -.py-4 { - padding-top: 1rem; - padding-bottom: 1rem; -} -.px-3 { - padding-left: 0.75rem; - padding-right: 0.75rem; -} -.py-1 { - padding-top: 0.25rem; - padding-bottom: 0.25rem; -} -.py-3 { - padding-top: 0.75rem; - padding-bottom: 0.75rem; -} -.py-6 { - padding-top: 1.5rem; - padding-bottom: 1.5rem; -} -.px-1 { - padding-left: 0.25rem; - padding-right: 0.25rem; -} -.py-8 { - padding-top: 2rem; - padding-bottom: 2rem; -} -.py-12 { - padding-top: 3rem; - padding-bottom: 3rem; -} -.py-10 { - padding-top: 2.5rem; - padding-bottom: 2.5rem; -} -.py-0 { - padding-top: 0px; - padding-bottom: 0px; -} -.py-0\.5 { - padding-top: 0.125rem; - padding-bottom: 0.125rem; -} -.px-5 { - padding-left: 1.25rem; - padding-right: 1.25rem; -} -.px-8 { - padding-left: 2rem; - padding-right: 2rem; -} -.pt-6 { - padding-top: 1.5rem; -} -.pt-5 { - padding-top: 1.25rem; -} -.pb-4 { - padding-bottom: 1rem; -} -.pt-1 { - padding-top: 0.25rem; -} -.pl-3 { - padding-left: 0.75rem; -} -.pr-4 { - padding-right: 1rem; -} -.pt-2 { - padding-top: 0.5rem; -} -.pb-3 { - padding-bottom: 0.75rem; -} -.pt-4 { - padding-top: 1rem; -} -.pb-1 { - padding-bottom: 0.25rem; -} -.pr-10 { - padding-right: 2.5rem; -} -.pr-2 { - padding-right: 0.5rem; -} -.pr-1 { - padding-right: 0.25rem; -} -.pt-16 { - padding-top: 4rem; -} -.pb-20 { - padding-bottom: 5rem; -} -.pr-9 { - padding-right: 2.25rem; -} -.pb-32 { - padding-bottom: 8rem; -} -.pb-12 { - padding-bottom: 3rem; -} -.pb-16 { - padding-bottom: 4rem; -} -.pr-8 { - padding-right: 2rem; -} -.pr-6 { - padding-right: 1.5rem; -} -.pr-3 { - padding-right: 0.75rem; -} -.pt-3 { - padding-top: 0.75rem; -} -.pl-9 { - padding-left: 2.25rem; -} -.pb-6 { - padding-bottom: 1.5rem; -} -.pl-2 { - padding-left: 0.5rem; -} -.pb-2 { - padding-bottom: 0.5rem; -} -.pl-10 { - padding-left: 2.5rem; -} -.pt-8 { - padding-top: 2rem; -} -.pr-0 { - padding-right: 0px; -} -.text-left { - text-align: left; -} -.text-center { - text-align: center; -} -.text-right { - text-align: right; -} -.text-justify { - text-align: justify; -} -.font-sans { - font-family: Nunito, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; -} -.font-mono { - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; -} -.font-serif { - font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; -} -.text-sm { - font-size: 0.875rem; - line-height: 1.25rem; -} -.text-xs { - font-size: 0.75rem; - line-height: 1rem; -} -.text-lg { - font-size: 1.125rem; - line-height: 1.75rem; -} -.text-base { - font-size: 1rem; - line-height: 1.5rem; -} -.text-2xl { - font-size: 1.5rem; - line-height: 2rem; -} -.text-xl { - font-size: 1.25rem; - line-height: 1.75rem; -} -.text-3xl { - font-size: 1.875rem; - line-height: 2.25rem; -} -.text-4xl { - font-size: 2.25rem; - line-height: 2.5rem; -} -.font-medium { - font-weight: 500; -} -.font-semibold { - font-weight: 600; -} -.font-bold { - font-weight: 700; -} -.font-extrabold { - font-weight: 800; -} -.font-normal { - font-weight: 400; -} -.font-thin { - font-weight: 100; -} -.font-extralight { - font-weight: 200; -} -.font-light { - font-weight: 300; -} -.font-black { - font-weight: 900; -} -.uppercase { - text-transform: uppercase; -} -.leading-5 { - line-height: 1.25rem; -} -.leading-7 { - line-height: 1.75rem; -} -.leading-tight { - line-height: 1.25; -} -.leading-4 { - line-height: 1rem; -} -.leading-loose { - line-height: 2; -} -.leading-6 { - line-height: 1.5rem; -} -.leading-none { - line-height: 1; -} -.tracking-widest { - letter-spacing: 0.1em; -} -.tracking-tight { - letter-spacing: -0.025em; -} -.tracking-wider { - letter-spacing: 0.05em; -} -.text-gray-500 { - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity)); -} -.text-gray-700 { - --tw-text-opacity: 1; - color: rgb(55 65 81 / var(--tw-text-opacity)); -} -.text-gray-600 { - --tw-text-opacity: 1; - color: rgb(75 85 99 / var(--tw-text-opacity)); -} -.text-white { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity)); -} -.text-indigo-600 { - --tw-text-opacity: 1; - color: rgb(79 70 229 / var(--tw-text-opacity)); -} -.text-red-600 { - --tw-text-opacity: 1; - color: rgb(220 38 38 / var(--tw-text-opacity)); -} -.text-gray-900 { - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity)); -} -.text-indigo-700 { - --tw-text-opacity: 1; - color: rgb(67 56 202 / var(--tw-text-opacity)); -} -.text-green-400 { - --tw-text-opacity: 1; - color: rgb(74 222 128 / var(--tw-text-opacity)); -} -.text-gray-400 { - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity)); -} -.text-indigo-500 { - --tw-text-opacity: 1; - color: rgb(99 102 241 / var(--tw-text-opacity)); -} -.text-gray-800 { - --tw-text-opacity: 1; - color: rgb(31 41 55 / var(--tw-text-opacity)); -} -.text-red-500 { - --tw-text-opacity: 1; - color: rgb(239 68 68 / var(--tw-text-opacity)); -} -.text-green-600 { - --tw-text-opacity: 1; - color: rgb(22 163 74 / var(--tw-text-opacity)); -} -.text-green-500 { - --tw-text-opacity: 1; - color: rgb(34 197 94 / var(--tw-text-opacity)); -} -.text-gray-300 { - --tw-text-opacity: 1; - color: rgb(209 213 219 / var(--tw-text-opacity)); -} -.text-gray-200 { - --tw-text-opacity: 1; - color: rgb(229 231 235 / var(--tw-text-opacity)); -} -.text-emerald-600 { - --tw-text-opacity: 1; - color: rgb(5 150 105 / var(--tw-text-opacity)); -} -.text-red-700 { - --tw-text-opacity: 1; - color: rgb(185 28 28 / var(--tw-text-opacity)); -} -.text-red-100 { - --tw-text-opacity: 1; - color: rgb(254 226 226 / var(--tw-text-opacity)); -} -.text-emerald-500 { - --tw-text-opacity: 1; - color: rgb(16 185 129 / var(--tw-text-opacity)); -} -.text-red-200 { - --tw-text-opacity: 1; - color: rgb(254 202 202 / var(--tw-text-opacity)); -} -.text-red-300 { - --tw-text-opacity: 1; - color: rgb(252 165 165 / var(--tw-text-opacity)); -} -.underline { - -webkit-text-decoration-line: underline; - text-decoration-line: underline; -} -.antialiased { - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -.placeholder-gray-400::-moz-placeholder { - --tw-placeholder-opacity: 1; - color: rgb(156 163 175 / var(--tw-placeholder-opacity)); -} -.placeholder-gray-400:-ms-input-placeholder { - --tw-placeholder-opacity: 1; - color: rgb(156 163 175 / var(--tw-placeholder-opacity)); -} -.placeholder-gray-400::placeholder { - --tw-placeholder-opacity: 1; - color: rgb(156 163 175 / var(--tw-placeholder-opacity)); -} -.placeholder-gray-500::-moz-placeholder { - --tw-placeholder-opacity: 1; - color: rgb(107 114 128 / var(--tw-placeholder-opacity)); -} -.placeholder-gray-500:-ms-input-placeholder { - --tw-placeholder-opacity: 1; - color: rgb(107 114 128 / var(--tw-placeholder-opacity)); -} -.placeholder-gray-500::placeholder { - --tw-placeholder-opacity: 1; - color: rgb(107 114 128 / var(--tw-placeholder-opacity)); -} -.opacity-0 { - opacity: 0; -} -.opacity-100 { - opacity: 1; -} -.opacity-75 { - opacity: 0.75; -} -.opacity-50 { - opacity: 0.5; -} -.opacity-70 { - opacity: 0.7; -} -.opacity-25 { - opacity: 0.25; -} -.shadow-sm { - --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); - --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} -.shadow { - --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} -.shadow-md { - --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} -.shadow-lg { - --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} -.shadow-xl { - --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} -.shadow-2xl { - --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25); - --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} -.ring-1 { - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} -.ring-0 { - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} -.ring-inset { - --tw-ring-inset: inset; -} -.ring-gray-300 { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity)); -} -.ring-black { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity)); -} -.ring-black\/5 { - --tw-ring-color: rgb(0 0 0 / 0.05); -} -.ring-gray-200 { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity)); -} -.ring-opacity-5 { - --tw-ring-opacity: 0.05; -} -.filter { - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); -} -.backdrop-blur-xl { - --tw-backdrop-blur: blur(24px); - -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); - backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); -} -.backdrop-saturate-150 { - --tw-backdrop-saturate: saturate(1.5); - -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); - backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); -} -.transition { - transition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -webkit-backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} -.transition-all { - transition-property: all; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} -.transition-colors { - transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} -.transition-opacity { - transition-property: opacity; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} -.delay-150 { - transition-delay: 150ms; -} -.delay-100 { - transition-delay: 100ms; -} -.duration-150 { - transition-duration: 150ms; -} -.duration-200 { - transition-duration: 200ms; -} -.duration-75 { - transition-duration: 75ms; -} -.duration-300 { - transition-duration: 300ms; -} -.duration-100 { - transition-duration: 100ms; -} -.duration-500 { - transition-duration: 500ms; -} -.ease-in-out { - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); -} -.ease-out { - transition-timing-function: cubic-bezier(0, 0, 0.2, 1); -} -.ease-in { - transition-timing-function: cubic-bezier(0.4, 0, 1, 1); -} -.even\:bg-gray-100:nth-child(even) { - --tw-bg-opacity: 1; - background-color: rgb(243 244 246 / var(--tw-bg-opacity)); -} -.focus-within\:text-gray-600:focus-within { - --tw-text-opacity: 1; - color: rgb(75 85 99 / var(--tw-text-opacity)); -} -.focus-within\:opacity-100:focus-within { - opacity: 1; -} -.focus-within\:ring-1:focus-within { - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} -.focus-within\:ring-2:focus-within { - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} -.focus-within\:ring-inset:focus-within { - --tw-ring-inset: inset; -} -.focus-within\:ring-red-500:focus-within { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity)); -} -.focus-within\:ring-offset-2:focus-within { - --tw-ring-offset-width: 2px; -} -.hover\:-translate-y-1:hover { - --tw-translate-y: -0.25rem; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.hover\:scale-110:hover { - --tw-scale-x: 1.1; - --tw-scale-y: 1.1; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -.hover\:border-gray-300:hover { - --tw-border-opacity: 1; - border-color: rgb(209 213 219 / var(--tw-border-opacity)); -} -.hover\:border-gray-600:hover { - --tw-border-opacity: 1; - border-color: rgb(75 85 99 / var(--tw-border-opacity)); -} -.hover\:bg-indigo-600:hover { - --tw-bg-opacity: 1; - background-color: rgb(79 70 229 / var(--tw-bg-opacity)); -} -.hover\:bg-red-600:hover { - --tw-bg-opacity: 1; - background-color: rgb(220 38 38 / var(--tw-bg-opacity)); -} -.hover\:bg-gray-700:hover { - --tw-bg-opacity: 1; - background-color: rgb(55 65 81 / var(--tw-bg-opacity)); -} -.hover\:bg-red-500:hover { - --tw-bg-opacity: 1; - background-color: rgb(239 68 68 / var(--tw-bg-opacity)); -} -.hover\:bg-gray-100:hover { - --tw-bg-opacity: 1; - background-color: rgb(243 244 246 / var(--tw-bg-opacity)); -} -.hover\:bg-gray-50:hover { - --tw-bg-opacity: 1; - background-color: rgb(249 250 251 / var(--tw-bg-opacity)); -} -.hover\:bg-gray-500\/5:hover { - background-color: rgb(107 114 128 / 0.05); -} -.hover\:bg-gray-600\/20:hover { - background-color: rgb(75 85 99 / 0.2); -} -.hover\:bg-gray-500:hover { - --tw-bg-opacity: 1; - background-color: rgb(107 114 128 / var(--tw-bg-opacity)); -} -.hover\:bg-gray-500\/10:hover { - background-color: rgb(107 114 128 / 0.1); -} -.hover\:bg-red-700:hover { - --tw-bg-opacity: 1; - background-color: rgb(185 28 28 / var(--tw-bg-opacity)); -} -.hover\:bg-gray-200:hover { - --tw-bg-opacity: 1; - background-color: rgb(229 231 235 / var(--tw-bg-opacity)); -} -.hover\:bg-red-50:hover { - --tw-bg-opacity: 1; - background-color: rgb(254 242 242 / var(--tw-bg-opacity)); -} -.hover\:bg-red-800:hover { - --tw-bg-opacity: 1; - background-color: rgb(153 27 27 / var(--tw-bg-opacity)); -} -.hover\:bg-opacity-75:hover { - --tw-bg-opacity: 0.75; -} -.hover\:font-bold:hover { - font-weight: 700; -} -.hover\:text-gray-500:hover { - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity)); -} -.hover\:text-gray-400:hover { - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity)); -} -.hover\:text-gray-700:hover { - --tw-text-opacity: 1; - color: rgb(55 65 81 / var(--tw-text-opacity)); -} -.hover\:text-gray-800:hover { - --tw-text-opacity: 1; - color: rgb(31 41 55 / var(--tw-text-opacity)); -} -.hover\:text-gray-900:hover { - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity)); -} -.hover\:text-white:hover { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity)); -} -.hover\:text-red-500:hover { - --tw-text-opacity: 1; - color: rgb(239 68 68 / var(--tw-text-opacity)); -} -.hover\:text-red-700:hover { - --tw-text-opacity: 1; - color: rgb(185 28 28 / var(--tw-text-opacity)); -} -.hover\:text-orange-500:hover { - --tw-text-opacity: 1; - color: rgb(249 115 22 / var(--tw-text-opacity)); -} -.hover\:text-\[\#00acee\]:hover { - --tw-text-opacity: 1; - color: rgb(0 172 238 / var(--tw-text-opacity)); -} -.hover\:text-\[\#0e76a8\]:hover { - --tw-text-opacity: 1; - color: rgb(14 118 168 / var(--tw-text-opacity)); -} -.hover\:text-\[\#1778F2\]:hover { - --tw-text-opacity: 1; - color: rgb(23 120 242 / var(--tw-text-opacity)); -} -.hover\:text-\[\#9147ff\]:hover { - --tw-text-opacity: 1; - color: rgb(145 71 255 / var(--tw-text-opacity)); -} -.hover\:underline:hover { - -webkit-text-decoration-line: underline; - text-decoration-line: underline; -} -.hover\:opacity-100:hover { - opacity: 1; -} -.focus\:z-10:focus { - z-index: 10; -} -.focus\:border-blue-300:focus { - --tw-border-opacity: 1; - border-color: rgb(147 197 253 / var(--tw-border-opacity)); -} -.focus\:border-gray-900:focus { - --tw-border-opacity: 1; - border-color: rgb(17 24 39 / var(--tw-border-opacity)); -} -.focus\:border-indigo-300:focus { - --tw-border-opacity: 1; - border-color: rgb(165 180 252 / var(--tw-border-opacity)); -} -.focus\:border-red-700:focus { - --tw-border-opacity: 1; - border-color: rgb(185 28 28 / var(--tw-border-opacity)); -} -.focus\:border-indigo-700:focus { - --tw-border-opacity: 1; - border-color: rgb(67 56 202 / var(--tw-border-opacity)); -} -.focus\:border-gray-300:focus { - --tw-border-opacity: 1; - border-color: rgb(209 213 219 / var(--tw-border-opacity)); -} -.focus\:border-red-500:focus { - --tw-border-opacity: 1; - border-color: rgb(239 68 68 / var(--tw-border-opacity)); -} -.focus\:border-white:focus { - --tw-border-opacity: 1; - border-color: rgb(255 255 255 / var(--tw-border-opacity)); -} -.focus\:bg-indigo-600:focus { - --tw-bg-opacity: 1; - background-color: rgb(79 70 229 / var(--tw-bg-opacity)); -} -.focus\:bg-red-600:focus { - --tw-bg-opacity: 1; - background-color: rgb(220 38 38 / var(--tw-bg-opacity)); -} -.focus\:bg-gray-100:focus { - --tw-bg-opacity: 1; - background-color: rgb(243 244 246 / var(--tw-bg-opacity)); -} -.focus\:bg-indigo-100:focus { - --tw-bg-opacity: 1; - background-color: rgb(224 231 255 / var(--tw-bg-opacity)); -} -.focus\:bg-gray-50:focus { - --tw-bg-opacity: 1; - background-color: rgb(249 250 251 / var(--tw-bg-opacity)); -} -.focus\:bg-gray-700\/20:focus { - background-color: rgb(55 65 81 / 0.2); -} -.focus\:bg-gray-700:focus { - --tw-bg-opacity: 1; - background-color: rgb(55 65 81 / var(--tw-bg-opacity)); -} -.focus\:bg-gray-500\/10:focus { - background-color: rgb(107 114 128 / 0.1); -} -.focus\:bg-white:focus { - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity)); -} -.focus\:bg-gray-500\/5:focus { - background-color: rgb(107 114 128 / 0.05); -} -.focus\:text-gray-700:focus { - --tw-text-opacity: 1; - color: rgb(55 65 81 / var(--tw-text-opacity)); -} -.focus\:text-indigo-800:focus { - --tw-text-opacity: 1; - color: rgb(55 48 163 / var(--tw-text-opacity)); -} -.focus\:text-gray-800:focus { - --tw-text-opacity: 1; - color: rgb(31 41 55 / var(--tw-text-opacity)); -} -.focus\:text-gray-500:focus { - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity)); -} -.focus\:text-white:focus { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity)); -} -.focus\:underline:focus { - -webkit-text-decoration-line: underline; - text-decoration-line: underline; -} -.focus\:placeholder-gray-500:focus::-moz-placeholder { - --tw-placeholder-opacity: 1; - color: rgb(107 114 128 / var(--tw-placeholder-opacity)); -} -.focus\:placeholder-gray-500:focus:-ms-input-placeholder { - --tw-placeholder-opacity: 1; - color: rgb(107 114 128 / var(--tw-placeholder-opacity)); -} -.focus\:placeholder-gray-500:focus::placeholder { - --tw-placeholder-opacity: 1; - color: rgb(107 114 128 / var(--tw-placeholder-opacity)); -} -.focus\:placeholder-gray-400:focus::-moz-placeholder { - --tw-placeholder-opacity: 1; - color: rgb(156 163 175 / var(--tw-placeholder-opacity)); -} -.focus\:placeholder-gray-400:focus:-ms-input-placeholder { - --tw-placeholder-opacity: 1; - color: rgb(156 163 175 / var(--tw-placeholder-opacity)); -} -.focus\:placeholder-gray-400:focus::placeholder { - --tw-placeholder-opacity: 1; - color: rgb(156 163 175 / var(--tw-placeholder-opacity)); -} -.focus\:outline-none:focus { - outline: 2px solid transparent; - outline-offset: 2px; -} -.focus\:ring:focus { - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} -.focus\:ring-1:focus { - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} -.focus\:ring-0:focus { - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} -.focus\:ring-2:focus { - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} -.focus\:ring-inset:focus { - --tw-ring-inset: inset; -} -.focus\:ring-gray-300:focus { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity)); -} -.focus\:ring-indigo-200:focus { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(199 210 254 / var(--tw-ring-opacity)); -} -.focus\:ring-red-200:focus { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(254 202 202 / var(--tw-ring-opacity)); -} -.focus\:ring-blue-200:focus { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity)); -} -.focus\:ring-white:focus { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity)); -} -.focus\:ring-red-500:focus { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity)); -} -.focus\:ring-opacity-50:focus { - --tw-ring-opacity: 0.5; -} -.focus\:ring-offset-2:focus { - --tw-ring-offset-width: 2px; -} -.focus\:ring-offset-gray-700:focus { - --tw-ring-offset-color: #374151; -} -.focus\:ring-offset-red-600:focus { - --tw-ring-offset-color: #dc2626; -} -.active\:border-gray-900:active { - --tw-border-opacity: 1; - border-color: rgb(17 24 39 / var(--tw-border-opacity)); -} -.active\:bg-gray-100:active { - --tw-bg-opacity: 1; - background-color: rgb(243 244 246 / var(--tw-bg-opacity)); -} -.active\:bg-gray-900:active { - --tw-bg-opacity: 1; - background-color: rgb(17 24 39 / var(--tw-bg-opacity)); -} -.active\:bg-red-600:active { - --tw-bg-opacity: 1; - background-color: rgb(220 38 38 / var(--tw-bg-opacity)); -} -.active\:bg-gray-50:active { - --tw-bg-opacity: 1; - background-color: rgb(249 250 251 / var(--tw-bg-opacity)); -} -.active\:text-gray-700:active { - --tw-text-opacity: 1; - color: rgb(55 65 81 / var(--tw-text-opacity)); -} -.active\:text-gray-500:active { - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity)); -} -.active\:text-gray-800:active { - --tw-text-opacity: 1; - color: rgb(31 41 55 / var(--tw-text-opacity)); -} -.disabled\:pointer-events-none:disabled { - pointer-events: none; -} -.disabled\:cursor-not-allowed:disabled { - cursor: not-allowed; -} -.disabled\:opacity-25:disabled { - opacity: 0.25; -} -.disabled\:opacity-70:disabled { - opacity: 0.7; -} -.group:hover .group-hover\:text-gray-500 { - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity)); -} -.group:hover .group-hover\:text-white { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity)); -} -.group:hover .group-hover\:text-red-500 { - --tw-text-opacity: 1; - color: rgb(239 68 68 / var(--tw-text-opacity)); -} -.group:focus .group-focus\:text-white { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity)); -} -[dir="rtl"] .rtl\:right-auto { - right: auto; -} -[dir="rtl"] .rtl\:left-0 { - left: 0px; -} -[dir="rtl"] .rtl\:left-2 { - left: 0.5rem; -} -[dir="rtl"] .rtl\:left-auto { - left: auto; -} -[dir="rtl"] .rtl\:right-0 { - right: 0px; -} -[dir="rtl"] .rtl\:left-3 { - left: 0.75rem; -} -[dir="rtl"] .rtl\:left-1 { - left: 0.25rem; -} -[dir="rtl"] .rtl\:ml-2 { - margin-left: 0.5rem; -} -[dir="rtl"] .rtl\:-mr-1 { - margin-right: -0.25rem; -} -[dir="rtl"] .rtl\:ml-1 { - margin-left: 0.25rem; -} -[dir="rtl"] .rtl\:-mr-2 { - margin-right: -0.5rem; -} -[dir="rtl"] .rtl\:mr-0 { - margin-right: 0px; -} -[dir="rtl"] .rtl\:mr-1 { - margin-right: 0.25rem; -} -[dir="rtl"] .rtl\:-mr-3 { - margin-right: -0.75rem; -} -[dir="rtl"] .rtl\:-mr-1\.5 { - margin-right: -0.375rem; -} -[dir="rtl"] .rtl\:-ml-2 { - margin-left: -0.5rem; -} -[dir="rtl"] .rtl\:mr-2 { - margin-right: 0.5rem; -} -[dir="rtl"] .rtl\:-ml-3 { - margin-left: -0.75rem; -} -[dir="rtl"] .rtl\:-ml-1\.5 { - margin-left: -0.375rem; -} -[dir="rtl"] .rtl\:-ml-1 { - margin-left: -0.25rem; -} -[dir="rtl"] .rtl\:mr-auto { - margin-right: auto; -} -[dir="rtl"] .rtl\:ml-0 { - margin-left: 0px; -} -[dir="rtl"] .rtl\:-ml-6 { - margin-left: -1.5rem; -} -[dir="rtl"] .rtl\:ml-6 { - margin-left: 1.5rem; -} -[dir="rtl"] .rtl\:ml-3 { - margin-left: 0.75rem; -} -[dir="rtl"] .rtl\:-translate-x-full { - --tw-translate-x: -100%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -[dir="rtl"] .rtl\:translate-x-full { - --tw-translate-x: 100%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -[dir="rtl"] .rtl\:-translate-x-5 { - --tw-translate-x: -1.25rem; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} -[dir="rtl"] .rtl\:flex-row-reverse { - flex-direction: row-reverse; -} -[dir="rtl"] .rtl\:space-x-reverse > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 1; -} -[dir="rtl"] .rtl\:divide-x-reverse > :not([hidden]) ~ :not([hidden]) { - --tw-divide-x-reverse: 1; -} -[dir="rtl"] .rtl\:pl-10 { - padding-left: 2.5rem; -} -[dir="rtl"] .rtl\:pr-3 { - padding-right: 0.75rem; -} -[dir="rtl"] .rtl\:pl-2 { - padding-left: 0.5rem; -} -[dir="rtl"] .rtl\:pr-0 { - padding-right: 0px; -} -@media (prefers-color-scheme: dark) { - - .dark\:w-56 { - width: 14rem; - } - - .dark\:divide-gray-700 > :not([hidden]) ~ :not([hidden]) { - --tw-divide-opacity: 1; - border-color: rgb(55 65 81 / var(--tw-divide-opacity)); - } - - .dark\:divide-gray-600 > :not([hidden]) ~ :not([hidden]) { - --tw-divide-opacity: 1; - border-color: rgb(75 85 99 / var(--tw-divide-opacity)); - } - - .dark\:border-gray-600 { - --tw-border-opacity: 1; - border-color: rgb(75 85 99 / var(--tw-border-opacity)); - } - - .dark\:border-gray-700 { - --tw-border-opacity: 1; - border-color: rgb(55 65 81 / var(--tw-border-opacity)); - } - - .dark\:border-gray-400 { - --tw-border-opacity: 1; - border-color: rgb(156 163 175 / var(--tw-border-opacity)); - } - - .dark\:border-gray-500 { - --tw-border-opacity: 1; - border-color: rgb(107 114 128 / var(--tw-border-opacity)); - } - - .dark\:bg-gray-700 { - --tw-bg-opacity: 1; - background-color: rgb(55 65 81 / var(--tw-bg-opacity)); - } - - .dark\:bg-gray-800 { - --tw-bg-opacity: 1; - background-color: rgb(31 41 55 / var(--tw-bg-opacity)); - } - - .dark\:bg-gray-500\/10 { - background-color: rgb(107 114 128 / 0.1); - } - - .dark\:bg-gray-900 { - --tw-bg-opacity: 1; - background-color: rgb(17 24 39 / var(--tw-bg-opacity)); - } - - .dark\:bg-gray-500\/20 { - background-color: rgb(107 114 128 / 0.2); - } - - .dark\:bg-gray-600 { - --tw-bg-opacity: 1; - background-color: rgb(75 85 99 / var(--tw-bg-opacity)); - } - - .dark\:bg-gray-900\/50 { - background-color: rgb(17 24 39 / 0.5); - } - - .dark\:bg-gray-700\/40 { - background-color: rgb(55 65 81 / 0.4); - } - - .dark\:bg-white\/10 { - background-color: rgb(255 255 255 / 0.1); - } - - .dark\:bg-white { - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity)); - } - - .dark\:fill-current { - fill: currentColor; - } - - .dark\:p-4 { - padding: 1rem; - } - - .dark\:text-white { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity)); - } - - .dark\:text-gray-300 { - --tw-text-opacity: 1; - color: rgb(209 213 219 / var(--tw-text-opacity)); - } - - .dark\:text-gray-400 { - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity)); - } - - .dark\:text-gray-200 { - --tw-text-opacity: 1; - color: rgb(229 231 235 / var(--tw-text-opacity)); - } - - .dark\:text-gray-600 { - --tw-text-opacity: 1; - color: rgb(75 85 99 / var(--tw-text-opacity)); - } - - .dark\:text-gray-100 { - --tw-text-opacity: 1; - color: rgb(243 244 246 / var(--tw-text-opacity)); - } - - .dark\:placeholder-gray-400::-moz-placeholder { - --tw-placeholder-opacity: 1; - color: rgb(156 163 175 / var(--tw-placeholder-opacity)); - } - - .dark\:placeholder-gray-400:-ms-input-placeholder { - --tw-placeholder-opacity: 1; - color: rgb(156 163 175 / var(--tw-placeholder-opacity)); - } - - .dark\:placeholder-gray-400::placeholder { - --tw-placeholder-opacity: 1; - color: rgb(156 163 175 / var(--tw-placeholder-opacity)); - } - - .dark\:ring-white\/10 { - --tw-ring-color: rgb(255 255 255 / 0.1); - } - - .dark\:ring-gray-600 { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity)); - } - - .dark\:even\:bg-gray-900:nth-child(even) { - --tw-bg-opacity: 1; - background-color: rgb(17 24 39 / var(--tw-bg-opacity)); - } - - .dark\:hover\:border-gray-500:hover { - --tw-border-opacity: 1; - border-color: rgb(107 114 128 / var(--tw-border-opacity)); - } - - .dark\:hover\:bg-gray-400\/20:hover { - background-color: rgb(156 163 175 / 0.2); - } - - .dark\:hover\:bg-gray-500\/20:hover { - background-color: rgb(107 114 128 / 0.2); - } - - .dark\:hover\:bg-gray-700:hover { - --tw-bg-opacity: 1; - background-color: rgb(55 65 81 / var(--tw-bg-opacity)); - } - - .dark\:hover\:bg-gray-500\/10:hover { - background-color: rgb(107 114 128 / 0.1); - } - - .dark\:hover\:bg-gray-300\/5:hover { - background-color: rgb(209 213 219 / 0.05); - } - - .dark\:hover\:text-gray-200:hover { - --tw-text-opacity: 1; - color: rgb(229 231 235 / var(--tw-text-opacity)); - } - - .dark\:hover\:text-gray-300:hover { - --tw-text-opacity: 1; - color: rgb(209 213 219 / var(--tw-text-opacity)); - } - - .dark\:focus\:bg-gray-600\/20:focus { - background-color: rgb(75 85 99 / 0.2); - } - - .dark\:focus\:bg-gray-800\/20:focus { - background-color: rgb(31 41 55 / 0.2); - } - - .dark\:focus\:bg-gray-800:focus { - --tw-bg-opacity: 1; - background-color: rgb(31 41 55 / var(--tw-bg-opacity)); - } - - .dark\:focus\:text-gray-400:focus { - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity)); - } - - .dark\:focus\:ring-offset-0:focus { - --tw-ring-offset-width: 0px; - } - - .dark\:focus\:ring-offset-gray-600:focus { - --tw-ring-offset-color: #4b5563; - } -} -@media (min-width: 640px) { - - .sm\:aspect-w-16 { - position: relative; - padding-bottom: calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%); - --tw-aspect-w: 16; - } - - .sm\:aspect-w-16 > * { - position: absolute; - height: 100%; - width: 100%; - top: 0; - right: 0; - bottom: 0; - left: 0; - } - - .sm\:aspect-h-7 { - --tw-aspect-h: 7; - } - - .sm\:absolute { - position: absolute; - } - - .sm\:inset-y-0 { - top: 0px; - bottom: 0px; - } - - .sm\:col-span-4 { - grid-column: span 4 / span 4; - } - - .sm\:col-span-1 { - grid-column: span 1 / span 1; - } - - .sm\:col-span-2 { - grid-column: span 2 / span 2; - } - - .sm\:col-span-3 { - grid-column: span 3 / span 3; - } - - .sm\:col-span-5 { - grid-column: span 5 / span 5; - } - - .sm\:col-span-6 { - grid-column: span 6 / span 6; - } - - .sm\:col-span-7 { - grid-column: span 7 / span 7; - } - - .sm\:col-span-8 { - grid-column: span 8 / span 8; - } - - .sm\:col-span-9 { - grid-column: span 9 / span 9; - } - - .sm\:col-span-10 { - grid-column: span 10 / span 10; - } - - .sm\:col-span-11 { - grid-column: span 11 / span 11; - } - - .sm\:col-span-12 { - grid-column: span 12 / span 12; - } - - .sm\:col-span-full { - grid-column: 1 / -1; - } - - .sm\:mx-0 { - margin-left: 0px; - margin-right: 0px; - } - - .sm\:mx-auto { - margin-left: auto; - margin-right: auto; - } - - .sm\:-my-px { - margin-top: -1px; - margin-bottom: -1px; - } - - .sm\:ml-3 { - margin-left: 0.75rem; - } - - .sm\:-mr-2 { - margin-right: -0.5rem; - } - - .sm\:mt-0 { - margin-top: 0px; - } - - .sm\:ml-4 { - margin-left: 1rem; - } - - .sm\:ml-10 { - margin-left: 2.5rem; - } - - .sm\:ml-6 { - margin-left: 1.5rem; - } - - .sm\:mt-4 { - margin-top: 1rem; - } - - .sm\:mt-24 { - margin-top: 6rem; - } - - .sm\:block { - display: block; - } - - .sm\:flex { - display: flex; - } - - .sm\:table-cell { - display: table-cell; - } - - .sm\:grid { - display: grid; - } - - .sm\:hidden { - display: none; - } - - .sm\:h-10 { - height: 2.5rem; - } - - .sm\:h-2\/3 { - height: 66.666667%; - } - - .sm\:h-full { - height: 100%; - } - - .sm\:w-10 { - width: 2.5rem; - } - - .sm\:w-full { - width: 100%; - } - - .sm\:w-80 { - width: 20rem; - } - - .sm\:max-w-md { - max-width: 28rem; - } - - .sm\:max-w-sm { - max-width: 24rem; - } - - .sm\:max-w-lg { - max-width: 32rem; - } - - .sm\:max-w-xl { - max-width: 36rem; - } - - .sm\:max-w-2xl { - max-width: 42rem; - } - - .sm\:max-w-3xl { - max-width: 48rem; - } - - .sm\:flex-1 { - flex: 1 1 0%; - } - - .sm\:translate-y-0 { - --tw-translate-y: 0px; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .sm\:scale-95 { - --tw-scale-x: .95; - --tw-scale-y: .95; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .sm\:scale-100 { - --tw-scale-x: 1; - --tw-scale-y: 1; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .sm\:columns-1 { - -moz-columns: 1; - columns: 1; - } - - .sm\:columns-2 { - -moz-columns: 2; - columns: 2; - } - - .sm\:columns-3 { - -moz-columns: 3; - columns: 3; - } - - .sm\:columns-4 { - -moz-columns: 4; - columns: 4; - } - - .sm\:columns-5 { - -moz-columns: 5; - columns: 5; - } - - .sm\:columns-6 { - -moz-columns: 6; - columns: 6; - } - - .sm\:columns-7 { - -moz-columns: 7; - columns: 7; - } - - .sm\:columns-8 { - -moz-columns: 8; - columns: 8; - } - - .sm\:columns-9 { - -moz-columns: 9; - columns: 9; - } - - .sm\:columns-10 { - -moz-columns: 10; - columns: 10; - } - - .sm\:columns-11 { - -moz-columns: 11; - columns: 11; - } - - .sm\:columns-12 { - -moz-columns: 12; - columns: 12; - } - - .sm\:grid-cols-1 { - grid-template-columns: repeat(1, minmax(0, 1fr)); - } - - .sm\:grid-cols-2 { - grid-template-columns: repeat(2, minmax(0, 1fr)); - } - - .sm\:grid-cols-3 { - grid-template-columns: repeat(3, minmax(0, 1fr)); - } - - .sm\:grid-cols-4 { - grid-template-columns: repeat(4, minmax(0, 1fr)); - } - - .sm\:grid-cols-5 { - grid-template-columns: repeat(5, minmax(0, 1fr)); - } - - .sm\:grid-cols-6 { - grid-template-columns: repeat(6, minmax(0, 1fr)); - } - - .sm\:grid-cols-7 { - grid-template-columns: repeat(7, minmax(0, 1fr)); - } - - .sm\:grid-cols-8 { - grid-template-columns: repeat(8, minmax(0, 1fr)); - } - - .sm\:grid-cols-9 { - grid-template-columns: repeat(9, minmax(0, 1fr)); - } - - .sm\:grid-cols-10 { - grid-template-columns: repeat(10, minmax(0, 1fr)); - } - - .sm\:grid-cols-11 { - grid-template-columns: repeat(11, minmax(0, 1fr)); - } - - .sm\:grid-cols-12 { - grid-template-columns: repeat(12, minmax(0, 1fr)); - } - - .sm\:items-start { - align-items: flex-start; - } - - .sm\:items-center { - align-items: center; - } - - .sm\:justify-start { - justify-content: flex-start; - } - - .sm\:justify-center { - justify-content: center; - } - - .sm\:justify-between { - justify-content: space-between; - } - - .sm\:gap-x-6 { - -moz-column-gap: 1.5rem; - column-gap: 1.5rem; - } - - .sm\:gap-y-12 { - row-gap: 3rem; - } - - .sm\:space-y-4 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(1rem * var(--tw-space-y-reverse)); - } - - .sm\:space-y-0 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(0px * var(--tw-space-y-reverse)); - } - - .sm\:space-x-4 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(1rem * var(--tw-space-x-reverse)); - margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); - } - - .sm\:rounded-lg { - border-radius: 0.5rem; - } - - .sm\:rounded-md { - border-radius: 0.375rem; - } - - .sm\:rounded-tl-md { - border-top-left-radius: 0.375rem; - } - - .sm\:rounded-tr-md { - border-top-right-radius: 0.375rem; - } - - .sm\:rounded-bl-md { - border-bottom-left-radius: 0.375rem; - } - - .sm\:rounded-br-md { - border-bottom-right-radius: 0.375rem; - } - - .sm\:p-6 { - padding: 1.5rem; - } - - .sm\:px-6 { - padding-left: 1.5rem; - padding-right: 1.5rem; - } - - .sm\:px-0 { - padding-left: 0px; - padding-right: 0px; - } - - .sm\:px-20 { - padding-left: 5rem; - padding-right: 5rem; - } - - .sm\:px-4 { - padding-left: 1rem; - padding-right: 1rem; - } - - .sm\:py-4 { - padding-top: 1rem; - padding-bottom: 1rem; - } - - .sm\:pt-0 { - padding-top: 0px; - } - - .sm\:pb-4 { - padding-bottom: 1rem; - } - - .sm\:pb-24 { - padding-bottom: 6rem; - } - - .sm\:text-left { - text-align: left; - } - - .sm\:text-4xl { - font-size: 2.25rem; - line-height: 2.5rem; - } - - .sm\:text-5xl { - font-size: 3rem; - line-height: 1; - } - - .sm\:text-lg { - font-size: 1.125rem; - line-height: 1.75rem; - } - - .sm\:text-sm { - font-size: 0.875rem; - line-height: 1.25rem; - } - - .sm\:text-xl { - font-size: 1.25rem; - line-height: 1.75rem; - } - - [dir="rtl"] .sm\:rtl\:space-x-reverse > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 1; - } -} -@media (min-width: 768px) { - - .md\:absolute { - position: absolute; - } - - .md\:relative { - position: relative; - } - - .md\:inset-y-0 { - top: 0px; - bottom: 0px; - } - - .md\:left-0 { - left: 0px; - } - - .md\:right-0 { - right: 0px; - } - - .md\:top-0 { - top: 0px; - } - - .md\:bottom-0 { - bottom: 0px; - } - - .md\:col-span-2 { - grid-column: span 2 / span 2; - } - - .md\:col-span-1 { - grid-column: span 1 / span 1; - } - - .md\:col-span-3 { - grid-column: span 3 / span 3; - } - - .md\:col-span-4 { - grid-column: span 4 / span 4; - } - - .md\:col-span-5 { - grid-column: span 5 / span 5; - } - - .md\:col-span-6 { - grid-column: span 6 / span 6; - } - - .md\:col-span-7 { - grid-column: span 7 / span 7; - } - - .md\:col-span-8 { - grid-column: span 8 / span 8; - } - - .md\:col-span-9 { - grid-column: span 9 / span 9; - } - - .md\:col-span-10 { - grid-column: span 10 / span 10; - } - - .md\:col-span-11 { - grid-column: span 11 / span 11; - } - - .md\:col-span-12 { - grid-column: span 12 / span 12; - } - - .md\:col-span-full { - grid-column: 1 / -1; - } - - .md\:mt-0 { - margin-top: 0px; - } - - .md\:mt-5 { - margin-top: 1.25rem; - } - - .md\:mt-8 { - margin-top: 2rem; - } - - .md\:mr-0 { - margin-right: 0px; - } - - .md\:mb-0 { - margin-bottom: 0px; - } - - .md\:-mr-2 { - margin-right: -0.5rem; - } - - .md\:flex { - display: flex; - } - - .md\:table-cell { - display: table-cell; - } - - .md\:grid { - display: grid; - } - - .md\:hidden { - display: none; - } - - .md\:h-\[560px\] { - height: 560px; - } - - .md\:h-10 { - height: 2.5rem; - } - - .md\:h-5 { - height: 1.25rem; - } - - .md\:w-auto { - width: auto; - } - - .md\:w-10 { - width: 2.5rem; - } - - .md\:w-5 { - width: 1.25rem; - } - - .md\:max-w-xl { - max-width: 36rem; - } - - .md\:max-w-3xl { - max-width: 48rem; - } - - .md\:max-w-md { - max-width: 28rem; - } - - .md\:-translate-y-1\/2 { - --tw-translate-y: -50%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .md\:columns-1 { - -moz-columns: 1; - columns: 1; - } - - .md\:columns-2 { - -moz-columns: 2; - columns: 2; - } - - .md\:columns-3 { - -moz-columns: 3; - columns: 3; - } - - .md\:columns-4 { - -moz-columns: 4; - columns: 4; - } - - .md\:columns-5 { - -moz-columns: 5; - columns: 5; - } - - .md\:columns-6 { - -moz-columns: 6; - columns: 6; - } - - .md\:columns-7 { - -moz-columns: 7; - columns: 7; - } - - .md\:columns-8 { - -moz-columns: 8; - columns: 8; - } - - .md\:columns-9 { - -moz-columns: 9; - columns: 9; - } - - .md\:columns-10 { - -moz-columns: 10; - columns: 10; - } - - .md\:columns-11 { - -moz-columns: 11; - columns: 11; - } - - .md\:columns-12 { - -moz-columns: 12; - columns: 12; - } - - .md\:grid-cols-3 { - grid-template-columns: repeat(3, minmax(0, 1fr)); - } - - .md\:grid-cols-2 { - grid-template-columns: repeat(2, minmax(0, 1fr)); - } - - .md\:grid-cols-1 { - grid-template-columns: repeat(1, minmax(0, 1fr)); - } - - .md\:grid-cols-4 { - grid-template-columns: repeat(4, minmax(0, 1fr)); - } - - .md\:grid-cols-5 { - grid-template-columns: repeat(5, minmax(0, 1fr)); - } - - .md\:grid-cols-6 { - grid-template-columns: repeat(6, minmax(0, 1fr)); - } - - .md\:grid-cols-7 { - grid-template-columns: repeat(7, minmax(0, 1fr)); - } - - .md\:grid-cols-8 { - grid-template-columns: repeat(8, minmax(0, 1fr)); - } - - .md\:grid-cols-9 { - grid-template-columns: repeat(9, minmax(0, 1fr)); - } - - .md\:grid-cols-10 { - grid-template-columns: repeat(10, minmax(0, 1fr)); - } - - .md\:grid-cols-11 { - grid-template-columns: repeat(11, minmax(0, 1fr)); - } - - .md\:grid-cols-12 { - grid-template-columns: repeat(12, minmax(0, 1fr)); - } - - .md\:flex-row { - flex-direction: row; - } - - .md\:flex-nowrap { - flex-wrap: nowrap; - } - - .md\:items-start { - align-items: flex-start; - } - - .md\:items-center { - align-items: center; - } - - .md\:justify-end { - justify-content: flex-end; - } - - .md\:justify-center { - justify-content: center; - } - - .md\:justify-between { - justify-content: space-between; - } - - .md\:gap-6 { - gap: 1.5rem; - } - - .md\:space-x-10 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(2.5rem * var(--tw-space-x-reverse)); - margin-left: calc(2.5rem * calc(1 - var(--tw-space-x-reverse))); - } - - .md\:border-t-0 { - border-top-width: 0px; - } - - .md\:border-l { - border-left-width: 1px; - } - - .md\:px-6 { - padding-left: 1.5rem; - padding-right: 1.5rem; - } - - .md\:py-4 { - padding-top: 1rem; - padding-bottom: 1rem; - } - - .md\:px-10 { - padding-left: 2.5rem; - padding-right: 2.5rem; - } - - .md\:pl-20 { - padding-left: 5rem; - } - - .md\:pl-12 { - padding-left: 3rem; - } - - .md\:text-6xl { - font-size: 3.75rem; - line-height: 1; - } - - .md\:text-xl { - font-size: 1.25rem; - line-height: 1.75rem; - } - - .md\:text-lg { - font-size: 1.125rem; - line-height: 1.75rem; - } - - [dir="rtl"] .rtl\:md\:left-0 { - left: 0px; - } - - [dir="rtl"] .rtl\:md\:ml-0 { - margin-left: 0px; - } - - [dir="rtl"] .rtl\:md\:pl-0 { - padding-left: 0px; - } - - [dir="rtl"] .rtl\:md\:pr-20 { - padding-right: 5rem; - } - - [dir="rtl"] .rtl\:md\:pr-12 { - padding-right: 3rem; - } -} -@media (min-width: 1024px) { - - .lg\:aspect-none { - position: static; - padding-bottom: 0; - } - - .lg\:aspect-none > * { - position: static; - height: auto; - width: auto; - top: auto; - right: auto; - bottom: auto; - left: auto; - } - - .lg\:relative { - position: relative; - } - - .lg\:z-0 { - z-index: 0; - } - - .lg\:z-10 { - z-index: 10; - } - - .lg\:col-span-4 { - grid-column: span 4 / span 4; - } - - .lg\:col-span-1 { - grid-column: span 1 / span 1; - } - - .lg\:col-span-2 { - grid-column: span 2 / span 2; - } - - .lg\:col-span-3 { - grid-column: span 3 / span 3; - } - - .lg\:col-span-5 { - grid-column: span 5 / span 5; - } - - .lg\:col-span-6 { - grid-column: span 6 / span 6; - } - - .lg\:col-span-7 { - grid-column: span 7 / span 7; - } - - .lg\:col-span-8 { - grid-column: span 8 / span 8; - } - - .lg\:col-span-9 { - grid-column: span 9 / span 9; - } - - .lg\:col-span-10 { - grid-column: span 10 / span 10; - } - - .lg\:col-span-11 { - grid-column: span 11 / span 11; - } - - .lg\:col-span-12 { - grid-column: span 12 / span 12; - } - - .lg\:col-span-full { - grid-column: 1 / -1; - } - - .lg\:m-0 { - margin: 0px; - } - - .lg\:mx-auto { - margin-left: auto; - margin-right: auto; - } - - .lg\:-my-8 { - margin-top: -2rem; - margin-bottom: -2rem; - } - - .lg\:mr-4 { - margin-right: 1rem; - } - - .lg\:ml-3 { - margin-left: 0.75rem; - } - - .lg\:mt-0 { - margin-top: 0px; - } - - .lg\:ml-6 { - margin-left: 1.5rem; - } - - .lg\:ml-10 { - margin-left: 2.5rem; - } - - .lg\:ml-4 { - margin-left: 1rem; - } - - .lg\:block { - display: block; - } - - .lg\:flex { - display: flex; - } - - .lg\:table-cell { - display: table-cell; - } - - .lg\:grid { - display: grid; - } - - .lg\:hidden { - display: none; - } - - .lg\:h-full { - height: 100%; - } - - .lg\:w-full { - width: 100%; - } - - .lg\:max-w-3xl { - max-width: 48rem; - } - - .lg\:max-w-none { - max-width: none; - } - - .lg\:max-w-\[var\(--sidebar-width\)\] { - max-width: var(--sidebar-width); - } - - .lg\:max-w-\[var\(--collapsed-sidebar-width\)\] { - max-width: var(--collapsed-sidebar-width); - } - - .lg\:max-w-7xl { - max-width: 80rem; - } - - .lg\:max-w-xs { - max-width: 20rem; - } - - .lg\:shrink-0 { - flex-shrink: 0; - } - - .lg\:grow-0 { - flex-grow: 0; - } - - .lg\:translate-x-1\/2 { - --tw-translate-x: 50%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .lg\:-translate-x-1\/2 { - --tw-translate-x: -50%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .lg\:translate-x-0 { - --tw-translate-x: 0px; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .lg\:columns-1 { - -moz-columns: 1; - columns: 1; - } - - .lg\:columns-2 { - -moz-columns: 2; - columns: 2; - } - - .lg\:columns-3 { - -moz-columns: 3; - columns: 3; - } - - .lg\:columns-4 { - -moz-columns: 4; - columns: 4; - } - - .lg\:columns-5 { - -moz-columns: 5; - columns: 5; - } - - .lg\:columns-6 { - -moz-columns: 6; - columns: 6; - } - - .lg\:columns-7 { - -moz-columns: 7; - columns: 7; - } - - .lg\:columns-8 { - -moz-columns: 8; - columns: 8; - } - - .lg\:columns-9 { - -moz-columns: 9; - columns: 9; - } - - .lg\:columns-10 { - -moz-columns: 10; - columns: 10; - } - - .lg\:columns-11 { - -moz-columns: 11; - columns: 11; - } - - .lg\:columns-12 { - -moz-columns: 12; - columns: 12; - } - - .lg\:grid-cols-1 { - grid-template-columns: repeat(1, minmax(0, 1fr)); - } - - .lg\:grid-cols-2 { - grid-template-columns: repeat(2, minmax(0, 1fr)); - } - - .lg\:grid-cols-3 { - grid-template-columns: repeat(3, minmax(0, 1fr)); - } - - .lg\:grid-cols-4 { - grid-template-columns: repeat(4, minmax(0, 1fr)); - } - - .lg\:grid-cols-5 { - grid-template-columns: repeat(5, minmax(0, 1fr)); - } - - .lg\:grid-cols-6 { - grid-template-columns: repeat(6, minmax(0, 1fr)); - } - - .lg\:grid-cols-7 { - grid-template-columns: repeat(7, minmax(0, 1fr)); - } - - .lg\:grid-cols-8 { - grid-template-columns: repeat(8, minmax(0, 1fr)); - } - - .lg\:grid-cols-9 { - grid-template-columns: repeat(9, minmax(0, 1fr)); - } - - .lg\:grid-cols-10 { - grid-template-columns: repeat(10, minmax(0, 1fr)); - } - - .lg\:grid-cols-11 { - grid-template-columns: repeat(11, minmax(0, 1fr)); - } - - .lg\:grid-cols-12 { - grid-template-columns: repeat(12, minmax(0, 1fr)); - } - - .lg\:flex-row { - flex-direction: row; - } - - .lg\:justify-end { - justify-content: flex-end; - } - - .lg\:gap-8 { - gap: 2rem; - } - - .lg\:gap-x-8 { - -moz-column-gap: 2rem; - column-gap: 2rem; - } - - .lg\:divide-y-0 > :not([hidden]) ~ :not([hidden]) { - --tw-divide-y-reverse: 0; - border-top-width: calc(0px * calc(1 - var(--tw-divide-y-reverse))); - border-bottom-width: calc(0px * var(--tw-divide-y-reverse)); - } - - .lg\:divide-x > :not([hidden]) ~ :not([hidden]) { - --tw-divide-x-reverse: 0; - border-right-width: calc(1px * var(--tw-divide-x-reverse)); - border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse))); - } - - .lg\:border-r { - border-right-width: 1px; - } - - .lg\:border-b { - border-bottom-width: 1px; - } - - .lg\:border-none { - border-style: none; - } - - .lg\:border-red-400 { - --tw-border-opacity: 1; - border-color: rgb(248 113 113 / var(--tw-border-opacity)); - } - - .lg\:border-opacity-25 { - --tw-border-opacity: 0.25; - } - - .lg\:p-0 { - padding: 0px; - } - - .lg\:px-8 { - padding-left: 2rem; - padding-right: 2rem; - } - - .lg\:py-24 { - padding-top: 6rem; - padding-bottom: 6rem; - } - - .lg\:px-4 { - padding-left: 1rem; - padding-right: 1rem; - } - - .lg\:px-0 { - padding-left: 0px; - padding-right: 0px; - } - - .lg\:py-20 { - padding-top: 5rem; - padding-bottom: 5rem; - } - - .lg\:pl-\[var\(--collapsed-sidebar-width\)\] { - padding-left: var(--collapsed-sidebar-width); - } - - .lg\:pl-\[var\(--sidebar-width\)\] { - padding-left: var(--sidebar-width); - } - - .lg\:pt-24 { - padding-top: 6rem; - } - - .lg\:pb-28 { - padding-bottom: 7rem; - } - - .lg\:pb-16 { - padding-bottom: 4rem; - } - - .lg\:pb-8 { - padding-bottom: 2rem; - } - - .lg\:pb-0 { - padding-bottom: 0px; - } - - .lg\:pl-8 { - padding-left: 2rem; - } - - .lg\:transition { - transition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -webkit-backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; - } - - [dir="rtl"] .rtl\:lg\:mr-0 { - margin-right: 0px; - } - - [dir="rtl"] .rtl\:lg\:ml-4 { - margin-left: 1rem; - } - - [dir="rtl"] .rtl\:lg\:-translate-x-0 { - --tw-translate-x: -0px; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - [dir="rtl"] .rtl\:lg\:border-r-0 { - border-right-width: 0px; - } - - [dir="rtl"] .rtl\:lg\:border-l { - border-left-width: 1px; - } - - [dir="rtl"] .rtl\:lg\:pr-\[var\(--collapsed-sidebar-width\)\] { - padding-right: var(--collapsed-sidebar-width); - } - - [dir="rtl"] .rtl\:lg\:pr-\[var\(--sidebar-width\)\] { - padding-right: var(--sidebar-width); - } - - [dir="rtl"] .rtl\:lg\:pl-0 { - padding-left: 0px; - } -} -@media (min-width: 1280px) { - - .xl\:col-span-1 { - grid-column: span 1 / span 1; - } - - .xl\:col-span-2 { - grid-column: span 2 / span 2; - } - - .xl\:col-span-3 { - grid-column: span 3 / span 3; - } - - .xl\:col-span-4 { - grid-column: span 4 / span 4; - } - - .xl\:col-span-5 { - grid-column: span 5 / span 5; - } - - .xl\:col-span-6 { - grid-column: span 6 / span 6; - } - - .xl\:col-span-7 { - grid-column: span 7 / span 7; - } - - .xl\:col-span-8 { - grid-column: span 8 / span 8; - } - - .xl\:col-span-9 { - grid-column: span 9 / span 9; - } - - .xl\:col-span-10 { - grid-column: span 10 / span 10; - } - - .xl\:col-span-11 { - grid-column: span 11 / span 11; - } - - .xl\:col-span-12 { - grid-column: span 12 / span 12; - } - - .xl\:col-span-full { - grid-column: 1 / -1; - } - - .xl\:inline { - display: inline; - } - - .xl\:table-cell { - display: table-cell; - } - - .xl\:hidden { - display: none; - } - - .xl\:h-\[680px\] { - height: 680px; - } - - .xl\:max-w-none { - max-width: none; - } - - .xl\:columns-1 { - -moz-columns: 1; - columns: 1; - } - - .xl\:columns-2 { - -moz-columns: 2; - columns: 2; - } - - .xl\:columns-3 { - -moz-columns: 3; - columns: 3; - } - - .xl\:columns-4 { - -moz-columns: 4; - columns: 4; - } - - .xl\:columns-5 { - -moz-columns: 5; - columns: 5; - } - - .xl\:columns-6 { - -moz-columns: 6; - columns: 6; - } - - .xl\:columns-7 { - -moz-columns: 7; - columns: 7; - } - - .xl\:columns-8 { - -moz-columns: 8; - columns: 8; - } - - .xl\:columns-9 { - -moz-columns: 9; - columns: 9; - } - - .xl\:columns-10 { - -moz-columns: 10; - columns: 10; - } - - .xl\:columns-11 { - -moz-columns: 11; - columns: 11; - } - - .xl\:columns-12 { - -moz-columns: 12; - columns: 12; - } - - .xl\:grid-cols-1 { - grid-template-columns: repeat(1, minmax(0, 1fr)); - } - - .xl\:grid-cols-2 { - grid-template-columns: repeat(2, minmax(0, 1fr)); - } - - .xl\:grid-cols-3 { - grid-template-columns: repeat(3, minmax(0, 1fr)); - } - - .xl\:grid-cols-4 { - grid-template-columns: repeat(4, minmax(0, 1fr)); - } - - .xl\:grid-cols-5 { - grid-template-columns: repeat(5, minmax(0, 1fr)); - } - - .xl\:grid-cols-6 { - grid-template-columns: repeat(6, minmax(0, 1fr)); - } - - .xl\:grid-cols-7 { - grid-template-columns: repeat(7, minmax(0, 1fr)); - } - - .xl\:grid-cols-8 { - grid-template-columns: repeat(8, minmax(0, 1fr)); - } - - .xl\:grid-cols-9 { - grid-template-columns: repeat(9, minmax(0, 1fr)); - } - - .xl\:grid-cols-10 { - grid-template-columns: repeat(10, minmax(0, 1fr)); - } - - .xl\:grid-cols-11 { - grid-template-columns: repeat(11, minmax(0, 1fr)); - } - - .xl\:grid-cols-12 { - grid-template-columns: repeat(12, minmax(0, 1fr)); - } - - .xl\:flex-row { - flex-direction: row; - } - - .xl\:items-center { - align-items: center; - } - - .xl\:justify-between { - justify-content: space-between; - } -} -@media (min-width: 1536px) { - - .\32xl\:col-span-1 { - grid-column: span 1 / span 1; - } - - .\32xl\:col-span-2 { - grid-column: span 2 / span 2; - } - - .\32xl\:col-span-3 { - grid-column: span 3 / span 3; - } - - .\32xl\:col-span-4 { - grid-column: span 4 / span 4; - } - - .\32xl\:col-span-5 { - grid-column: span 5 / span 5; - } - - .\32xl\:col-span-6 { - grid-column: span 6 / span 6; - } - - .\32xl\:col-span-7 { - grid-column: span 7 / span 7; - } - - .\32xl\:col-span-8 { - grid-column: span 8 / span 8; - } - - .\32xl\:col-span-9 { - grid-column: span 9 / span 9; - } - - .\32xl\:col-span-10 { - grid-column: span 10 / span 10; - } - - .\32xl\:col-span-11 { - grid-column: span 11 / span 11; - } - - .\32xl\:col-span-12 { - grid-column: span 12 / span 12; - } - - .\32xl\:col-span-full { - grid-column: 1 / -1; - } - - .\32xl\:table-cell { - display: table-cell; - } - - .\32xl\:hidden { - display: none; - } - - .\32xl\:columns-1 { - -moz-columns: 1; - columns: 1; - } - - .\32xl\:columns-2 { - -moz-columns: 2; - columns: 2; - } - - .\32xl\:columns-3 { - -moz-columns: 3; - columns: 3; - } - - .\32xl\:columns-4 { - -moz-columns: 4; - columns: 4; - } - - .\32xl\:columns-5 { - -moz-columns: 5; - columns: 5; - } - - .\32xl\:columns-6 { - -moz-columns: 6; - columns: 6; - } - - .\32xl\:columns-7 { - -moz-columns: 7; - columns: 7; - } - - .\32xl\:columns-8 { - -moz-columns: 8; - columns: 8; - } - - .\32xl\:columns-9 { - -moz-columns: 9; - columns: 9; - } - - .\32xl\:columns-10 { - -moz-columns: 10; - columns: 10; - } - - .\32xl\:columns-11 { - -moz-columns: 11; - columns: 11; - } - - .\32xl\:columns-12 { - -moz-columns: 12; - columns: 12; - } - - .\32xl\:grid-cols-1 { - grid-template-columns: repeat(1, minmax(0, 1fr)); - } - - .\32xl\:grid-cols-2 { - grid-template-columns: repeat(2, minmax(0, 1fr)); - } - - .\32xl\:grid-cols-3 { - grid-template-columns: repeat(3, minmax(0, 1fr)); - } - - .\32xl\:grid-cols-4 { - grid-template-columns: repeat(4, minmax(0, 1fr)); - } - - .\32xl\:grid-cols-5 { - grid-template-columns: repeat(5, minmax(0, 1fr)); - } - - .\32xl\:grid-cols-6 { - grid-template-columns: repeat(6, minmax(0, 1fr)); - } - - .\32xl\:grid-cols-7 { - grid-template-columns: repeat(7, minmax(0, 1fr)); - } - - .\32xl\:grid-cols-8 { - grid-template-columns: repeat(8, minmax(0, 1fr)); - } - - .\32xl\:grid-cols-9 { - grid-template-columns: repeat(9, minmax(0, 1fr)); - } - - .\32xl\:grid-cols-10 { - grid-template-columns: repeat(10, minmax(0, 1fr)); - } - - .\32xl\:grid-cols-11 { - grid-template-columns: repeat(11, minmax(0, 1fr)); - } - - .\32xl\:grid-cols-12 { - grid-template-columns: repeat(12, minmax(0, 1fr)); - } -} - +/*! tailwindcss v3.0.24 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-family:Nunito,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{color-adjust:exact;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact}[multiple]{color-adjust:unset;background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset}[type=checkbox],[type=radio]{color-adjust:exact;--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:transparent}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:transparent}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px auto -webkit-focus-ring-color}*,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where([class~=lead]):not(:where([class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(ol):not(:where([class~=not-prose] *)){list-style-type:decimal;padding-left:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose] *)){list-style-type:disc;padding-left:1.625em}.prose :where(ol>li):not(:where([class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose] *)){border-left-color:var(--tw-prose-quote-borders);border-left-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-left:1em;quotes:"\201C""\201D""\2018""\2019"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose] *)){font-weight:900}.prose :where(h2):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose] *)){font-weight:800}.prose :where(h3):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose] *)){font-weight:700}.prose :where(h4):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose] *)){font-weight:700}.prose :where(figure>*):not(:where([class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose :where(code):not(:where([class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose] *)){color:var(--tw-prose-links)}.prose :where(pre):not(:where([class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding:.8571429em 1.1428571em}.prose :where(pre code):not(:where([class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:left;width:100%}.prose :where(thead):not(:where([class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-bottom:.5714286em;padding-left:.5714286em;padding-right:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose] *)){padding:.5714286em;vertical-align:baseline}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(p):not(:where([class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(img):not(:where([class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(figure):not(:where([class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(h2 code):not(:where([class~=not-prose] *)){font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose] *)){font-size:.9em}.prose :where(li):not(:where([class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose :where(ul>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose>:where(ul>li p):not(:where([class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose>:where(ul>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose>:where(ul>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose>:where(ol>li>:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose>:where(ol>li>:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(hr+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose :where(tbody td:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(tbody td:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose>:where(:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose>:where(:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.aspect-w-1{--tw-aspect-w:1;padding-bottom:calc(var(--tw-aspect-h)/var(--tw-aspect-w)*100%);position:relative}.aspect-w-1>*{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.aspect-h-1{--tw-aspect-h:1}.aspect-w-3{--tw-aspect-w:3;padding-bottom:calc(var(--tw-aspect-h)/var(--tw-aspect-w)*100%);position:relative}.aspect-w-3>*{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.aspect-h-2{--tw-aspect-h:2}.aspect-w-10{--tw-aspect-w:10;padding-bottom:calc(var(--tw-aspect-h)/var(--tw-aspect-w)*100%);position:relative}.aspect-w-10>*{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.aspect-h-6{--tw-aspect-h:6}.aspect-w-9{--tw-aspect-w:9;padding-bottom:calc(var(--tw-aspect-h)/var(--tw-aspect-w)*100%);position:relative}.aspect-w-9>*{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.aspect-h-16{--tw-aspect-h:16}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{left:0;right:0}.inset-0,.inset-y-0{bottom:0;top:0}.inset-x-0{left:0;right:0}.left-0{left:0}.right-0{right:0}.right-full{right:100%}.left-full{left:100%}.top-0{top:0}.z-40{z-index:40}.z-50{z-index:50}.col-span-6{grid-column:span 6/span 6}.col-span-12{grid-column:span 12/span 12}.mx-auto{margin-left:auto;margin-right:auto}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.-my-2{margin-bottom:-.5rem;margin-top:-.5rem}.ml-3{margin-left:.75rem}.mt-2{margin-top:.5rem}.ml-auto{margin-left:auto}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.mt-12{margin-top:3rem}.mt-1{margin-top:.25rem}.ml-2{margin-left:.5rem}.mr-3{margin-right:.75rem}.mt-10{margin-top:2.5rem}.ml-6{margin-left:1.5rem}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.mr-2{margin-right:.5rem}.mt-8{margin-top:2rem}.-mr-2{margin-right:-.5rem}.mt-16{margin-top:4rem}.mt-5{margin-top:1.25rem}.-mt-32{margin-top:-8rem}.mr-1{margin-right:.25rem}.ml-5{margin-left:1.25rem}.-ml-1{margin-left:-.25rem}.-mr-1{margin-right:-.25rem}.mb-6{margin-bottom:1.5rem}.ml-12{margin-left:3rem}.ml-1{margin-left:.25rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-96{height:24rem}.h-16{height:4rem}.h-12{height:3rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-full{height:100%}.h-1\/3{height:33.333333%}.h-24{height:6rem}.h-48{height:12rem}.h-1\/2{height:50%}.h-4{height:1rem}.h-40{height:10rem}.h-1{height:.25rem}.min-h-screen{min-height:100vh}.w-12{width:3rem}.w-full{width:100%}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-48{width:12rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-16{width:4rem}.w-24{width:6rem}.w-auto{width:auto}.w-4{width:1rem}.w-3\/4{width:75%}.w-40{width:10rem}.w-0{width:0}.min-w-full{min-width:100%}.min-w-0{min-width:0}.max-w-7xl{max-width:80rem}.max-w-lg{max-width:32rem}.max-w-3xl{max-width:48rem}.max-w-2xl{max-width:42rem}.max-w-md{max-width:28rem}.max-w-screen-xl{max-width:1280px}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-top-right{transform-origin:top right}.origin-top-left{transform-origin:top left}.origin-top{transform-origin:top}.translate-y-1\/4{--tw-translate-y:25%}.translate-x-1\/4,.translate-y-1\/4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1\/4{--tw-translate-x:25%}.-translate-y-3\/4{--tw-translate-y:-75%}.-translate-x-1\/4,.-translate-y-3\/4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-1\/4{--tw-translate-x:-25%}.translate-y-4{--tw-translate-y:1rem}.translate-y-0,.translate-y-4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-100,.scale-95{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-1{gap:.25rem}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(3rem*var(--tw-space-y-reverse));margin-top:calc(3rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.5rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.25rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-full{border-radius:9999px}.rounded{border-radius:.25rem}.rounded-xl{border-radius:.75rem}.rounded-none{border-radius:0}.rounded-l-md{border-bottom-left-radius:.375rem;border-top-left-radius:.375rem}.rounded-r-md{border-bottom-right-radius:.375rem;border-top-right-radius:.375rem}.border-4{border-width:4px}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-r-0{border-right-width:0}.border-l-4{border-left-width:4px}.border-b-2{border-bottom-width:2px}.border-dashed{border-style:dashed}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity))}.border-indigo-400{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity))}.border-opacity-25{--tw-border-opacity:0.25}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-opacity-25{--tw-bg-opacity:0.25}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-1{padding:.25rem}.p-6{padding:1.5rem}.py-12{padding-bottom:3rem;padding-top:3rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-4{padding-bottom:1rem;padding-top:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-12{padding-bottom:3rem}.pl-3{padding-left:.75rem}.pl-10{padding-left:2.5rem}.pr-3{padding-right:.75rem}.pt-2{padding-top:.5rem}.pb-3{padding-bottom:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-16{padding-top:4rem}.pb-20{padding-bottom:5rem}.pb-16{padding-bottom:4rem}.pb-32{padding-bottom:8rem}.pr-0{padding-right:0}.pb-6{padding-bottom:1.5rem}.pt-5{padding-top:1.25rem}.pb-4{padding-bottom:1rem}.pt-1{padding-top:.25rem}.pr-4{padding-right:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:Nunito,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-xl{font-size:1.25rem}.text-lg,.text-xl{line-height:1.75rem}.text-lg{font-size:1.125rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-base{font-size:1rem;line-height:1.5rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-2xl{font-size:1.5rem;line-height:2rem}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.leading-6{line-height:1.5rem}.leading-5{line-height:1.25rem}.leading-tight{line-height:1.25}.leading-4{line-height:1rem}.leading-7{line-height:1.75rem}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.tracking-wider{letter-spacing:.05em}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-gray-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity))}.placeholder-gray-500:-ms-input-placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-black{--tw-ring-opacity:1;--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity))}.ring-opacity-5{--tw-ring-opacity:0.05}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.delay-150{transition-delay:.15s}.duration-500{transition-duration:.5s}.duration-150{transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-75{transition-duration:75ms}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.focus-within\:text-gray-600:focus-within{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.focus-within\:opacity-100:focus-within{opacity:1}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-red-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity))}.focus-within\:ring-offset-2:focus-within{--tw-ring-offset-width:2px}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.hover\:-translate-y-1:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-gray-600:hover{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\:bg-red-800:hover{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.hover\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.hover\:font-bold:hover{font-weight:700}.hover\:text-orange-500:hover{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity))}.hover\:text-\[\#00acee\]:hover{--tw-text-opacity:1;color:rgb(0 172 238/var(--tw-text-opacity))}.hover\:text-\[\#0e76a8\]:hover{--tw-text-opacity:1;color:rgb(14 118 168/var(--tw-text-opacity))}.hover\:text-\[\#1778F2\]:hover{--tw-text-opacity:1;color:rgb(23 120 242/var(--tw-text-opacity))}.hover\:text-\[\#9147ff\]:hover{--tw-text-opacity:1;color:rgb(145 71 255/var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:border-white:focus{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.focus\:border-gray-900:focus{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}.focus\:border-red-500:focus{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity))}.focus\:border-indigo-300:focus{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity))}.focus\:border-red-700:focus{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity))}.focus\:border-indigo-700:focus{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity))}.focus\:border-gray-300:focus{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.focus\:border-blue-300:focus{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity))}.focus\:bg-indigo-600:focus{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.focus\:bg-red-600:focus{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.focus\:bg-gray-100:focus{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.focus\:bg-indigo-100:focus{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.focus\:bg-gray-50:focus{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.focus\:text-gray-700:focus{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.focus\:text-indigo-800:focus{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.focus\:text-gray-800:focus{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.focus\:ring:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-inset:focus{--tw-ring-inset:inset}.focus\:ring-white:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity))}.focus\:ring-indigo-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(254 202 202/var(--tw-ring-opacity))}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity))}.focus\:ring-opacity-50:focus{--tw-ring-opacity:0.5}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.active\:border-gray-900:active{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}.active\:bg-red-600:active{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.active\:bg-gray-50:active{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.active\:text-gray-800:active{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-300:disabled{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.disabled\:opacity-25:disabled{opacity:.25}.group:hover .group-hover\:text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.group:hover .group-hover\:text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}@media (prefers-color-scheme:dark){.dark\:w-56{width:14rem}.dark\:bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.dark\:p-4{padding:1rem}}@media (min-width:640px){.sm\:aspect-w-16{--tw-aspect-w:16;padding-bottom:calc(var(--tw-aspect-h)/var(--tw-aspect-w)*100%);position:relative}.sm\:aspect-w-16>*{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.sm\:aspect-h-7{--tw-aspect-h:7}.sm\:absolute{position:absolute}.sm\:inset-y-0{bottom:0;top:0}.sm\:col-span-4{grid-column:span 4/span 4}.sm\:col-span-6{grid-column:span 6/span 6}.sm\:mx-0{margin-left:0;margin-right:0}.sm\:mx-auto{margin-left:auto;margin-right:auto}.sm\:mt-4{margin-top:1rem}.sm\:mt-0{margin-top:0}.sm\:mt-24{margin-top:6rem}.sm\:ml-3{margin-left:.75rem}.sm\:-mr-2{margin-right:-.5rem}.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:h-2\/3{height:66.666667%}.sm\:h-full{height:100%}.sm\:h-10{height:2.5rem}.sm\:h-16{height:4rem}.sm\:w-full{width:100%}.sm\:w-10{width:2.5rem}.sm\:max-w-2xl{max-width:42rem}.sm\:max-w-3xl{max-width:48rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-xl{max-width:36rem}.sm\:translate-y-0{--tw-translate-y:0px}.sm\:scale-95,.sm\:translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.sm\:scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:items-start{align-items:flex-start}.sm\:justify-center{justify-content:center}.sm\:gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.sm\:gap-y-12{row-gap:3rem}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.sm\:rounded-lg{border-radius:.5rem}.sm\:rounded-md{border-radius:.375rem}.sm\:rounded-tl-md{border-top-left-radius:.375rem}.sm\:rounded-tr-md{border-top-right-radius:.375rem}.sm\:rounded-bl-md{border-bottom-left-radius:.375rem}.sm\:rounded-br-md{border-bottom-right-radius:.375rem}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-20{padding-left:5rem;padding-right:5rem}.sm\:pt-0{padding-top:0}.sm\:pb-24{padding-bottom:6rem}.sm\:pb-4{padding-bottom:1rem}.sm\:text-left{text-align:left}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width:768px){.md\:absolute{position:absolute}.md\:inset-y-0{bottom:0;top:0}.md\:left-0{left:0}.md\:right-0{right:0}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-1{grid-column:span 1/span 1}.md\:mt-5{margin-top:1.25rem}.md\:mt-8{margin-top:2rem}.md\:mt-0{margin-top:0}.md\:flex{display:flex}.md\:grid{display:grid}.md\:hidden{display:none}.md\:h-\[560px\]{height:560px}.md\:w-auto{width:auto}.md\:max-w-xl{max-width:36rem}.md\:max-w-3xl{max-width:48rem}.md\:-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:items-center{align-items:center}.md\:justify-end{justify-content:flex-end}.md\:justify-center{justify-content:center}.md\:gap-6{gap:1.5rem}.md\:space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2.5rem*var(--tw-space-x-reverse))}.md\:border-t-0{border-top-width:0}.md\:border-l{border-left-width:1px}.md\:py-4{padding-bottom:1rem;padding-top:1rem}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:aspect-none{padding-bottom:0;position:static}.lg\:aspect-none>*{bottom:auto;height:auto;left:auto;position:static;right:auto;top:auto;width:auto}.lg\:relative{position:relative}.lg\:z-10{z-index:10}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-9{grid-column:span 9/span 9}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:m-0{margin:0}.lg\:mx-auto{margin-left:auto;margin-right:auto}.lg\:-my-8{margin-bottom:-2rem;margin-top:-2rem}.lg\:ml-10{margin-left:2.5rem}.lg\:ml-6{margin-left:1.5rem}.lg\:ml-4{margin-left:1rem}.lg\:mt-0{margin-top:0}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:h-full{height:100%}.lg\:w-full{width:100%}.lg\:max-w-3xl{max-width:48rem}.lg\:max-w-xs{max-width:20rem}.lg\:max-w-7xl{max-width:80rem}.lg\:max-w-none{max-width:none}.lg\:shrink-0{flex-shrink:0}.lg\:grow-0{flex-grow:0}.lg\:translate-x-1\/2{--tw-translate-x:50%}.lg\:-translate-x-1\/2,.lg\:translate-x-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:-translate-x-1\/2{--tw-translate-x:-50%}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:justify-end{justify-content:flex-end}.lg\:gap-8{gap:2rem}.lg\:gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.lg\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(0px*var(--tw-divide-y-reverse));border-top-width:calc(0px*(1 - var(--tw-divide-y-reverse)))}.lg\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(1px*var(--tw-divide-x-reverse))}.lg\:border-b{border-bottom-width:1px}.lg\:border-none{border-style:none}.lg\:border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity))}.lg\:border-opacity-25{--tw-border-opacity:0.25}.lg\:p-0{padding:0}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-24{padding-bottom:6rem;padding-top:6rem}.lg\:px-0{padding-left:0;padding-right:0}.lg\:py-20{padding-bottom:5rem;padding-top:5rem}.lg\:pt-24{padding-top:6rem}.lg\:pb-28{padding-bottom:7rem}.lg\:pb-0{padding-bottom:0}.lg\:pl-8{padding-left:2rem}.lg\:pb-8{padding-bottom:2rem}.lg\:pb-16{padding-bottom:4rem}}@media (min-width:1280px){.xl\:inline{display:inline}.xl\:h-\[680px\]{height:680px}.xl\:max-w-none{max-width:none}} diff --git a/public/js/app.js b/public/js/app.js index 4b04dae..7563661 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -1,22744 +1,2 @@ -/******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ({ - -/***/ "./node_modules/alpinejs/dist/module.esm.js": -/*!**************************************************!*\ - !*** ./node_modules/alpinejs/dist/module.esm.js ***! - \**************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ module_default) -/* harmony export */ }); -// packages/alpinejs/src/scheduler.js -var flushPending = false; -var flushing = false; -var queue = []; -function scheduler(callback) { - queueJob(callback); -} -function queueJob(job) { - if (!queue.includes(job)) - queue.push(job); - queueFlush(); -} -function dequeueJob(job) { - let index = queue.indexOf(job); - if (index !== -1) - queue.splice(index, 1); -} -function queueFlush() { - if (!flushing && !flushPending) { - flushPending = true; - queueMicrotask(flushJobs); - } -} -function flushJobs() { - flushPending = false; - flushing = true; - for (let i = 0; i < queue.length; i++) { - queue[i](); - } - queue.length = 0; - flushing = false; -} - -// packages/alpinejs/src/reactivity.js -var reactive; -var effect; -var release; -var raw; -var shouldSchedule = true; -function disableEffectScheduling(callback) { - shouldSchedule = false; - callback(); - shouldSchedule = true; -} -function setReactivityEngine(engine) { - reactive = engine.reactive; - release = engine.release; - effect = (callback) => engine.effect(callback, {scheduler: (task) => { - if (shouldSchedule) { - scheduler(task); - } else { - task(); - } - }}); - raw = engine.raw; -} -function overrideEffect(override) { - effect = override; -} -function elementBoundEffect(el) { - let cleanup2 = () => { - }; - let wrappedEffect = (callback) => { - let effectReference = effect(callback); - if (!el._x_effects) { - el._x_effects = new Set(); - el._x_runEffects = () => { - el._x_effects.forEach((i) => i()); - }; - } - el._x_effects.add(effectReference); - cleanup2 = () => { - if (effectReference === void 0) - return; - el._x_effects.delete(effectReference); - release(effectReference); - }; - return effectReference; - }; - return [wrappedEffect, () => { - cleanup2(); - }]; -} - -// packages/alpinejs/src/mutation.js -var onAttributeAddeds = []; -var onElRemoveds = []; -var onElAddeds = []; -function onElAdded(callback) { - onElAddeds.push(callback); -} -function onElRemoved(el, callback) { - if (typeof callback === "function") { - if (!el._x_cleanups) - el._x_cleanups = []; - el._x_cleanups.push(callback); - } else { - callback = el; - onElRemoveds.push(callback); - } -} -function onAttributesAdded(callback) { - onAttributeAddeds.push(callback); -} -function onAttributeRemoved(el, name, callback) { - if (!el._x_attributeCleanups) - el._x_attributeCleanups = {}; - if (!el._x_attributeCleanups[name]) - el._x_attributeCleanups[name] = []; - el._x_attributeCleanups[name].push(callback); -} -function cleanupAttributes(el, names) { - if (!el._x_attributeCleanups) - return; - Object.entries(el._x_attributeCleanups).forEach(([name, value]) => { - if (names === void 0 || names.includes(name)) { - value.forEach((i) => i()); - delete el._x_attributeCleanups[name]; - } - }); -} -var observer = new MutationObserver(onMutate); -var currentlyObserving = false; -function startObservingMutations() { - observer.observe(document, {subtree: true, childList: true, attributes: true, attributeOldValue: true}); - currentlyObserving = true; -} -function stopObservingMutations() { - flushObserver(); - observer.disconnect(); - currentlyObserving = false; -} -var recordQueue = []; -var willProcessRecordQueue = false; -function flushObserver() { - recordQueue = recordQueue.concat(observer.takeRecords()); - if (recordQueue.length && !willProcessRecordQueue) { - willProcessRecordQueue = true; - queueMicrotask(() => { - processRecordQueue(); - willProcessRecordQueue = false; - }); - } -} -function processRecordQueue() { - onMutate(recordQueue); - recordQueue.length = 0; -} -function mutateDom(callback) { - if (!currentlyObserving) - return callback(); - stopObservingMutations(); - let result = callback(); - startObservingMutations(); - return result; -} -var isCollecting = false; -var deferredMutations = []; -function deferMutations() { - isCollecting = true; -} -function flushAndStopDeferringMutations() { - isCollecting = false; - onMutate(deferredMutations); - deferredMutations = []; -} -function onMutate(mutations) { - if (isCollecting) { - deferredMutations = deferredMutations.concat(mutations); - return; - } - let addedNodes = []; - let removedNodes = []; - let addedAttributes = new Map(); - let removedAttributes = new Map(); - for (let i = 0; i < mutations.length; i++) { - if (mutations[i].target._x_ignoreMutationObserver) - continue; - if (mutations[i].type === "childList") { - mutations[i].addedNodes.forEach((node) => node.nodeType === 1 && addedNodes.push(node)); - mutations[i].removedNodes.forEach((node) => node.nodeType === 1 && removedNodes.push(node)); - } - if (mutations[i].type === "attributes") { - let el = mutations[i].target; - let name = mutations[i].attributeName; - let oldValue = mutations[i].oldValue; - let add2 = () => { - if (!addedAttributes.has(el)) - addedAttributes.set(el, []); - addedAttributes.get(el).push({name, value: el.getAttribute(name)}); - }; - let remove = () => { - if (!removedAttributes.has(el)) - removedAttributes.set(el, []); - removedAttributes.get(el).push(name); - }; - if (el.hasAttribute(name) && oldValue === null) { - add2(); - } else if (el.hasAttribute(name)) { - remove(); - add2(); - } else { - remove(); - } - } - } - removedAttributes.forEach((attrs, el) => { - cleanupAttributes(el, attrs); - }); - addedAttributes.forEach((attrs, el) => { - onAttributeAddeds.forEach((i) => i(el, attrs)); - }); - for (let node of removedNodes) { - if (addedNodes.includes(node)) - continue; - onElRemoveds.forEach((i) => i(node)); - if (node._x_cleanups) { - while (node._x_cleanups.length) - node._x_cleanups.pop()(); - } - } - addedNodes.forEach((node) => { - node._x_ignoreSelf = true; - node._x_ignore = true; - }); - for (let node of addedNodes) { - if (removedNodes.includes(node)) - continue; - if (!node.isConnected) - continue; - delete node._x_ignoreSelf; - delete node._x_ignore; - onElAddeds.forEach((i) => i(node)); - node._x_ignore = true; - node._x_ignoreSelf = true; - } - addedNodes.forEach((node) => { - delete node._x_ignoreSelf; - delete node._x_ignore; - }); - addedNodes = null; - removedNodes = null; - addedAttributes = null; - removedAttributes = null; -} - -// packages/alpinejs/src/scope.js -function scope(node) { - return mergeProxies(closestDataStack(node)); -} -function addScopeToNode(node, data2, referenceNode) { - node._x_dataStack = [data2, ...closestDataStack(referenceNode || node)]; - return () => { - node._x_dataStack = node._x_dataStack.filter((i) => i !== data2); - }; -} -function refreshScope(element, scope2) { - let existingScope = element._x_dataStack[0]; - Object.entries(scope2).forEach(([key, value]) => { - existingScope[key] = value; - }); -} -function closestDataStack(node) { - if (node._x_dataStack) - return node._x_dataStack; - if (typeof ShadowRoot === "function" && node instanceof ShadowRoot) { - return closestDataStack(node.host); - } - if (!node.parentNode) { - return []; - } - return closestDataStack(node.parentNode); -} -function mergeProxies(objects) { - let thisProxy = new Proxy({}, { - ownKeys: () => { - return Array.from(new Set(objects.flatMap((i) => Object.keys(i)))); - }, - has: (target, name) => { - return objects.some((obj) => obj.hasOwnProperty(name)); - }, - get: (target, name) => { - return (objects.find((obj) => { - if (obj.hasOwnProperty(name)) { - let descriptor = Object.getOwnPropertyDescriptor(obj, name); - if (descriptor.get && descriptor.get._x_alreadyBound || descriptor.set && descriptor.set._x_alreadyBound) { - return true; - } - if ((descriptor.get || descriptor.set) && descriptor.enumerable) { - let getter = descriptor.get; - let setter = descriptor.set; - let property = descriptor; - getter = getter && getter.bind(thisProxy); - setter = setter && setter.bind(thisProxy); - if (getter) - getter._x_alreadyBound = true; - if (setter) - setter._x_alreadyBound = true; - Object.defineProperty(obj, name, { - ...property, - get: getter, - set: setter - }); - } - return true; - } - return false; - }) || {})[name]; - }, - set: (target, name, value) => { - let closestObjectWithKey = objects.find((obj) => obj.hasOwnProperty(name)); - if (closestObjectWithKey) { - closestObjectWithKey[name] = value; - } else { - objects[objects.length - 1][name] = value; - } - return true; - } - }); - return thisProxy; -} - -// packages/alpinejs/src/interceptor.js -function initInterceptors(data2) { - let isObject2 = (val) => typeof val === "object" && !Array.isArray(val) && val !== null; - let recurse = (obj, basePath = "") => { - Object.entries(Object.getOwnPropertyDescriptors(obj)).forEach(([key, {value, enumerable}]) => { - if (enumerable === false || value === void 0) - return; - let path = basePath === "" ? key : `${basePath}.${key}`; - if (typeof value === "object" && value !== null && value._x_interceptor) { - obj[key] = value.initialize(data2, path, key); - } else { - if (isObject2(value) && value !== obj && !(value instanceof Element)) { - recurse(value, path); - } - } - }); - }; - return recurse(data2); -} -function interceptor(callback, mutateObj = () => { -}) { - let obj = { - initialValue: void 0, - _x_interceptor: true, - initialize(data2, path, key) { - return callback(this.initialValue, () => get(data2, path), (value) => set(data2, path, value), path, key); - } - }; - mutateObj(obj); - return (initialValue) => { - if (typeof initialValue === "object" && initialValue !== null && initialValue._x_interceptor) { - let initialize = obj.initialize.bind(obj); - obj.initialize = (data2, path, key) => { - let innerValue = initialValue.initialize(data2, path, key); - obj.initialValue = innerValue; - return initialize(data2, path, key); - }; - } else { - obj.initialValue = initialValue; - } - return obj; - }; -} -function get(obj, path) { - return path.split(".").reduce((carry, segment) => carry[segment], obj); -} -function set(obj, path, value) { - if (typeof path === "string") - path = path.split("."); - if (path.length === 1) - obj[path[0]] = value; - else if (path.length === 0) - throw error; - else { - if (obj[path[0]]) - return set(obj[path[0]], path.slice(1), value); - else { - obj[path[0]] = {}; - return set(obj[path[0]], path.slice(1), value); - } - } -} - -// packages/alpinejs/src/magics.js -var magics = {}; -function magic(name, callback) { - magics[name] = callback; -} -function injectMagics(obj, el) { - Object.entries(magics).forEach(([name, callback]) => { - Object.defineProperty(obj, `$${name}`, { - get() { - let [utilities, cleanup2] = getElementBoundUtilities(el); - utilities = {interceptor, ...utilities}; - onElRemoved(el, cleanup2); - return callback(el, utilities); - }, - enumerable: false - }); - }); - return obj; -} - -// packages/alpinejs/src/utils/error.js -function tryCatch(el, expression, callback, ...args) { - try { - return callback(...args); - } catch (e) { - handleError(e, el, expression); - } -} -function handleError(error2, el, expression = void 0) { - Object.assign(error2, {el, expression}); - console.warn(`Alpine Expression Error: ${error2.message} - -${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); - setTimeout(() => { - throw error2; - }, 0); -} - -// packages/alpinejs/src/evaluator.js -function evaluate(el, expression, extras = {}) { - let result; - evaluateLater(el, expression)((value) => result = value, extras); - return result; -} -function evaluateLater(...args) { - return theEvaluatorFunction(...args); -} -var theEvaluatorFunction = normalEvaluator; -function setEvaluator(newEvaluator) { - theEvaluatorFunction = newEvaluator; -} -function normalEvaluator(el, expression) { - let overriddenMagics = {}; - injectMagics(overriddenMagics, el); - let dataStack = [overriddenMagics, ...closestDataStack(el)]; - if (typeof expression === "function") { - return generateEvaluatorFromFunction(dataStack, expression); - } - let evaluator = generateEvaluatorFromString(dataStack, expression, el); - return tryCatch.bind(null, el, expression, evaluator); -} -function generateEvaluatorFromFunction(dataStack, func) { - return (receiver = () => { - }, {scope: scope2 = {}, params = []} = {}) => { - let result = func.apply(mergeProxies([scope2, ...dataStack]), params); - runIfTypeOfFunction(receiver, result); - }; -} -var evaluatorMemo = {}; -function generateFunctionFromString(expression, el) { - if (evaluatorMemo[expression]) { - return evaluatorMemo[expression]; - } - let AsyncFunction = Object.getPrototypeOf(async function() { - }).constructor; - let rightSideSafeExpression = /^[\n\s]*if.*\(.*\)/.test(expression) || /^(let|const)\s/.test(expression) ? `(() => { ${expression} })()` : expression; - const safeAsyncFunction = () => { - try { - return new AsyncFunction(["__self", "scope"], `with (scope) { __self.result = ${rightSideSafeExpression} }; __self.finished = true; return __self.result;`); - } catch (error2) { - handleError(error2, el, expression); - return Promise.resolve(); - } - }; - let func = safeAsyncFunction(); - evaluatorMemo[expression] = func; - return func; -} -function generateEvaluatorFromString(dataStack, expression, el) { - let func = generateFunctionFromString(expression, el); - return (receiver = () => { - }, {scope: scope2 = {}, params = []} = {}) => { - func.result = void 0; - func.finished = false; - let completeScope = mergeProxies([scope2, ...dataStack]); - if (typeof func === "function") { - let promise = func(func, completeScope).catch((error2) => handleError(error2, el, expression)); - if (func.finished) { - runIfTypeOfFunction(receiver, func.result, completeScope, params, el); - func.result = void 0; - } else { - promise.then((result) => { - runIfTypeOfFunction(receiver, result, completeScope, params, el); - }).catch((error2) => handleError(error2, el, expression)).finally(() => func.result = void 0); - } - } - }; -} -function runIfTypeOfFunction(receiver, value, scope2, params, el) { - if (typeof value === "function") { - let result = value.apply(scope2, params); - if (result instanceof Promise) { - result.then((i) => runIfTypeOfFunction(receiver, i, scope2, params)).catch((error2) => handleError(error2, el, value)); - } else { - receiver(result); - } - } else { - receiver(value); - } -} - -// packages/alpinejs/src/directives.js -var prefixAsString = "x-"; -function prefix(subject = "") { - return prefixAsString + subject; -} -function setPrefix(newPrefix) { - prefixAsString = newPrefix; -} -var directiveHandlers = {}; -function directive(name, callback) { - directiveHandlers[name] = callback; -} -function directives(el, attributes, originalAttributeOverride) { - let transformedAttributeMap = {}; - let directives2 = Array.from(attributes).map(toTransformedAttributes((newName, oldName) => transformedAttributeMap[newName] = oldName)).filter(outNonAlpineAttributes).map(toParsedDirectives(transformedAttributeMap, originalAttributeOverride)).sort(byPriority); - return directives2.map((directive2) => { - return getDirectiveHandler(el, directive2); - }); -} -function attributesOnly(attributes) { - return Array.from(attributes).map(toTransformedAttributes()).filter((attr) => !outNonAlpineAttributes(attr)); -} -var isDeferringHandlers = false; -var directiveHandlerStacks = new Map(); -var currentHandlerStackKey = Symbol(); -function deferHandlingDirectives(callback) { - isDeferringHandlers = true; - let key = Symbol(); - currentHandlerStackKey = key; - directiveHandlerStacks.set(key, []); - let flushHandlers = () => { - while (directiveHandlerStacks.get(key).length) - directiveHandlerStacks.get(key).shift()(); - directiveHandlerStacks.delete(key); - }; - let stopDeferring = () => { - isDeferringHandlers = false; - flushHandlers(); - }; - callback(flushHandlers); - stopDeferring(); -} -function getElementBoundUtilities(el) { - let cleanups = []; - let cleanup2 = (callback) => cleanups.push(callback); - let [effect3, cleanupEffect] = elementBoundEffect(el); - cleanups.push(cleanupEffect); - let utilities = { - Alpine: alpine_default, - effect: effect3, - cleanup: cleanup2, - evaluateLater: evaluateLater.bind(evaluateLater, el), - evaluate: evaluate.bind(evaluate, el) - }; - let doCleanup = () => cleanups.forEach((i) => i()); - return [utilities, doCleanup]; -} -function getDirectiveHandler(el, directive2) { - let noop = () => { - }; - let handler3 = directiveHandlers[directive2.type] || noop; - let [utilities, cleanup2] = getElementBoundUtilities(el); - onAttributeRemoved(el, directive2.original, cleanup2); - let fullHandler = () => { - if (el._x_ignore || el._x_ignoreSelf) - return; - handler3.inline && handler3.inline(el, directive2, utilities); - handler3 = handler3.bind(handler3, el, directive2, utilities); - isDeferringHandlers ? directiveHandlerStacks.get(currentHandlerStackKey).push(handler3) : handler3(); - }; - fullHandler.runCleanups = cleanup2; - return fullHandler; -} -var startingWith = (subject, replacement) => ({name, value}) => { - if (name.startsWith(subject)) - name = name.replace(subject, replacement); - return {name, value}; -}; -var into = (i) => i; -function toTransformedAttributes(callback = () => { -}) { - return ({name, value}) => { - let {name: newName, value: newValue} = attributeTransformers.reduce((carry, transform) => { - return transform(carry); - }, {name, value}); - if (newName !== name) - callback(newName, name); - return {name: newName, value: newValue}; - }; -} -var attributeTransformers = []; -function mapAttributes(callback) { - attributeTransformers.push(callback); -} -function outNonAlpineAttributes({name}) { - return alpineAttributeRegex().test(name); -} -var alpineAttributeRegex = () => new RegExp(`^${prefixAsString}([^:^.]+)\\b`); -function toParsedDirectives(transformedAttributeMap, originalAttributeOverride) { - return ({name, value}) => { - let typeMatch = name.match(alpineAttributeRegex()); - let valueMatch = name.match(/:([a-zA-Z0-9\-:]+)/); - let modifiers = name.match(/\.[^.\]]+(?=[^\]]*$)/g) || []; - let original = originalAttributeOverride || transformedAttributeMap[name] || name; - return { - type: typeMatch ? typeMatch[1] : null, - value: valueMatch ? valueMatch[1] : null, - modifiers: modifiers.map((i) => i.replace(".", "")), - expression: value, - original - }; - }; -} -var DEFAULT = "DEFAULT"; -var directiveOrder = [ - "ignore", - "ref", - "data", - "id", - "bind", - "init", - "for", - "model", - "modelable", - "transition", - "show", - "if", - DEFAULT, - "teleport", - "element" -]; -function byPriority(a, b) { - let typeA = directiveOrder.indexOf(a.type) === -1 ? DEFAULT : a.type; - let typeB = directiveOrder.indexOf(b.type) === -1 ? DEFAULT : b.type; - return directiveOrder.indexOf(typeA) - directiveOrder.indexOf(typeB); -} - -// packages/alpinejs/src/utils/dispatch.js -function dispatch(el, name, detail = {}) { - el.dispatchEvent(new CustomEvent(name, { - detail, - bubbles: true, - composed: true, - cancelable: true - })); -} - -// packages/alpinejs/src/nextTick.js -var tickStack = []; -var isHolding = false; -function nextTick(callback) { - tickStack.push(callback); - queueMicrotask(() => { - isHolding || setTimeout(() => { - releaseNextTicks(); - }); - }); -} -function releaseNextTicks() { - isHolding = false; - while (tickStack.length) - tickStack.shift()(); -} -function holdNextTicks() { - isHolding = true; -} - -// packages/alpinejs/src/utils/walk.js -function walk(el, callback) { - if (typeof ShadowRoot === "function" && el instanceof ShadowRoot) { - Array.from(el.children).forEach((el2) => walk(el2, callback)); - return; - } - let skip = false; - callback(el, () => skip = true); - if (skip) - return; - let node = el.firstElementChild; - while (node) { - walk(node, callback, false); - node = node.nextElementSibling; - } -} - -// packages/alpinejs/src/utils/warn.js -function warn(message, ...args) { - console.warn(`Alpine Warning: ${message}`, ...args); -} - -// packages/alpinejs/src/lifecycle.js -function start() { - if (!document.body) - warn("Unable to initialize. Trying to load Alpine before `` is available. Did you forget to add `defer` in Alpine's `