diff --git a/.env.example b/.env.example index 62210e6..543eef9 100644 --- a/.env.example +++ b/.env.example @@ -1,19 +1,25 @@ -APP_NAME=LeafMVC +APP_NAME=LEAF_MVC APP_ENV=local -APP_KEY=base64:AUAyDriQD1kFdIbwTHlnCm2pYn+qxDBa55SFwB9PUzg= +APP_KEY=base64:AUAyDriQD1kFdIAPIbwTHlnCm2pYn+qxDBa55SFwB9PUzg= +APP_DOWN=false APP_DEBUG=true -APP_URL=http://localhost +APP_PORT=5500 +APP_URL=http://localhost:5500/ DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 -DB_DATABASE=LeafMVC -DB_USERNAME=root +DB_DATABASE=LEAF_DB_NAME +DB_USERNAME=LEAF_DB_USERNAME DB_PASSWORD= +DB_CHARSET=utf8 +DB_COLLATION=utf8_unicode_ci +# DB_COLLATION=utf8_general_ci MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 +MAIL_DEBUG=SERVER MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null @@ -21,5 +27,13 @@ MAIL_ENCRYPTION=null PROD_SERVER=hello PROD_PORT=22 PROD_USER=leaf + +SERVER_NAME=LEAF_SERVER +SERVER_PORT=5500 +SERVER_USER= +SERVER_PASSWORD= + APPLICATION_DIR=leaf -APPLICATION_PATH=leaf \ No newline at end of file +APPLICATION_PATH=leaf + +TOKEN_SECRET= diff --git a/.gitignore b/.gitignore index fd28bb2..9a41544 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,34 @@ +# Packages +composer.phar vendor -composer.lock -.env node_modules + +# Environment +.env +.env.backup +.env.production + +# Build build dist compiled -.idea \ No newline at end of file + +# System/Editor +.fleet +.idea +.nova +.vscode +.zed + +# Leaf +.hana +.alchemy +hot +storage/framework +storage/logs +storage/database +public/storage + +# Logs +npm-debug.log +yarn-error.log diff --git a/README.MD b/README.MD new file mode 100644 index 0000000..a899851 --- /dev/null +++ b/README.MD @@ -0,0 +1,50 @@ +

+ + Leaf Logo + +

Leaf MVC

+

+ +

+ Total Downloads + Latest Stable Version + License +

+ +Leaf MVC is built on top of [leaf php](https://leafphp.dev), and is the framework for people who just want to ship. It gives you the structure and tools of larger frameworks like Laravel and Ruby on Rails with the simplicity and elegance of Leaf which lets you focus on shipping—fast. + +## Setting up + +You can install Leaf MVC with the [Leaf CLI](https://cli.leafphp.dev) + +```sh +leaf create --mvc +``` + +This will create an MVC application for you. Start off your project with authentication, mailing, UI/UX, and a ton of other features using Leaf's [powerful modules](https://leafphp.dev/docs/modules/), and then run your app with: + +```bash +php leaf serve +``` + +## Learning Leaf MVC + +- Leaf MVC is Leaf + an MVC wrapper, we provide a lot of [documentation](https://leafphp.dev/docs/mvc/) on how to use Leaf MVC. +- You can also check out our [youtube channel](https://www.youtube.com/channel/UCllE-GsYy10RkxBUK0HIffw) which has video tutorials on different topics +- Checkout the [learn page](https://leafphp.dev/learn/) on our website for more resources + +## Contributing + +We are glad to have you. All contributions are welcome! To get started, familiarize yourself with our [contribution guide](https://leafphp.dev/community/contributing.html) and you'll be ready to make your first pull request 🚀. + +To report a security vulnerability, you can reach out to [@mychidarko](https://twitter.com/mychidarko) or [@leafphp](https://twitter.com/leafphp) on twitter. We will coordinate the fix and eventually commit the solution in this project. + +## Sponsoring Leaf + +Leaf has always been open-source and free, but as the project grows, so do the challenges of maintaining and building new features. The costs—time, resources, and infrastructure—are increasing rapidly, and our small team can no longer sustain this alone. + +To keep Leaf alive and thriving, we need your support now more than ever. Sponsor us on [GitHub Sponsors](https://github.com/sponsors/leafsphp) or visit our [sponsors page](https://leafphp.dev/support/) to explore ways you can contribute. + +Your help makes all the difference—let’s keep Leaf moving forward together! + +And to all our [existing cash/code contributors](https://leafphp.dev#sponsors), we love you all ❤️ diff --git a/README.md b/README.md deleted file mode 100644 index 4f9e702..0000000 --- a/README.md +++ /dev/null @@ -1,83 +0,0 @@ -

-

- -

Leaf MVC

-
-


-

- -[![Latest Stable Version](https://poser.pugx.org/leafs/mvc/v/stable)](https://packagist.org/packages/leafs/mvc) -[![Total Downloads](https://poser.pugx.org/leafs/mvc/downloads)](https://packagist.org/packages/leafs/mvc) -[![License](https://poser.pugx.org/leafs/mvc/license)](https://packagist.org/packages/leafs/mvc) - -# Leaf - -LeafMVC is a simple MVC framework built on top of the leaf php micro-framework. LeafMVC lets you create clean but powerful web apps and APIs quickly. Leaf provides simple to use functions to take care of complex issues, eventually speeding up development and taking the pain out of development. - -## Installation - -It's recommended that you use [Composer](https://getcomposer.org/) to install Leaf. - -```bash -composer create project leafs/mvc -``` - -This will start a new LeafMVC app. - -## Basic Info - -```bash -C:. -├───app -│ ├───console -│ ├───controllers -│ │ └───Auth -│ ├───database -│ │ ├───factories -│ │ ├───migrations -│ │ └───seeds -│ ├───helpers -│ ├───models -│ ├───routes -│ └───views -│ ├───assets -│ │ ├───css -│ │ ├───images -│ │ ├───js -│ │ └───sass -│ ├───components -│ └───pages -│ └───errors -├───config -│ └───command -├───public -├───storage -│ ├───app -│ │ └───public -│ ├───framework -│ │ └───views -│ └───logs -└───vendor -``` - -This directory structure is a blend of Ruby on Rails and Laravel - -To run your LeafMVC application, use - -```bash -php leaf serve -``` - -## Learning LeafMVC - -LeafMVC has a very easy to understand [documentation](https://leafmvc.netlify.app/) which contains information on all operations in LeafMVC. - -Since LeafMVC runs on Leaf, you can check out the Leaf PHP Framework documentation [here](https://leaf-docs.netlify.app). - -## License - -The LeafMVC framework is open-source software licensed under the [MIT license](https://opensource.org/licenses/MIT). - -## View LeafMVC's docs [here](https://leafmvc.netlify.com/) - -## View Leaf's docs [here](https://leaf-docs.netlify.com/) diff --git a/README2.MD b/README2.MD new file mode 100644 index 0000000..262c340 --- /dev/null +++ b/README2.MD @@ -0,0 +1,39 @@ +# README + +This README would normally document whatever steps are necessary to get the +application up and running. + +Things you may want to cover: + +## App Info + +Created with Leaf MVC v4 + Leaf v4 + +## Installation + +You can set up your dependencies by running: + +```bash +composer install +``` + +## System dependencies + +To run this application, you need to have: + +- PHP 7.4 or higher +- Composer + +## Configuration + +## Database creation + +To create your database, you can run: + +```bash +php leaf db:migrate +``` + +## Deployment instructions + +Check out the [Leaf documentation](https://leafphp.dev/learn/deployment/) for more information on how to deploy your Leaf app. diff --git a/README2.md b/README2.md deleted file mode 100644 index 84e096c..0000000 --- a/README2.md +++ /dev/null @@ -1,20 +0,0 @@ -# README - -This README would normally document whatever steps are necessary to get the -application up and running. - -Things you may want to cover: - -## App Info - -## Installation - -## System dependencies - -## Configuration - -## Database creation - -## Database initialization - -## Deployment instructions diff --git a/app/console/exampleCommand.php b/app/console/exampleCommand.php deleted file mode 100644 index 8fa35eb..0000000 --- a/app/console/exampleCommand.php +++ /dev/null @@ -1,43 +0,0 @@ -setDescription($this->description) - ->setHelp($this->help) - ->addOption('example', null, InputOption::VALUE_OPTIONAL, 'description', 'default'); - } - - - public function execute(InputInterface $input, OutputInterface $output) - { - $this->outputSomething($input, $output); - } - - - protected function outputSomething($input, $output) - { - $option = $input->getOption('example'); - isset($option) ? $output->writeln("Example output. Your option was $option") : $output->writeln("Example output"); - } -} \ No newline at end of file diff --git a/app/controllers/Auth/LoginController.php b/app/controllers/Auth/LoginController.php deleted file mode 100644 index 532c53f..0000000 --- a/app/controllers/Auth/LoginController.php +++ /dev/null @@ -1,18 +0,0 @@ - ['required', 'string', 'max:255'], - // 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], - // 'password' => ['required', 'string', 'min:8', 'confirmed'], - // ]); -} diff --git a/app/controllers/Controller.php b/app/controllers/Controller.php index 64a799e..f0ea1aa 100644 --- a/app/controllers/Controller.php +++ b/app/controllers/Controller.php @@ -1,12 +1,15 @@ request = new Request; - } -} \ No newline at end of file +/** + * This is the base controller for your Leaf MVC Project. + * You can initialize packages or define methods here to use + * them across all your other controllers which extend this one. + */ +class Controller extends \Leaf\Controller +{ + // You can define methods here that would be used + // throughout your controller classes + // public function someMethod() {} +} diff --git a/app/controllers/PagesController.php b/app/controllers/PagesController.php deleted file mode 100644 index 4922c88..0000000 --- a/app/controllers/PagesController.php +++ /dev/null @@ -1,8 +0,0 @@ -render("pages/index"); - } -} \ No newline at end of file diff --git a/app/controllers/PostsController.php b/app/controllers/PostsController.php deleted file mode 100644 index 998a224..0000000 --- a/app/controllers/PostsController.php +++ /dev/null @@ -1,13 +0,0 @@ -respond(Post::all()); - } - } \ No newline at end of file diff --git a/app/database/.gitignore b/app/database/.gitignore deleted file mode 100644 index 97fc976..0000000 --- a/app/database/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*.sqlite -*.sqlite-journal diff --git a/app/database/factories/UserFactory.php b/app/database/factories/UserFactory.php deleted file mode 100644 index 98f994d..0000000 --- a/app/database/factories/UserFactory.php +++ /dev/null @@ -1,25 +0,0 @@ -define(User::class, function (Faker $faker) { - return [ - 'name' => $faker->name, - 'email' => $faker->unique()->safeEmail, - 'email_verified_at' => now(), - 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password - 'remember_token' => Str::random(10) - ]; -}); diff --git a/app/database/migrations/2019_11_18_081526_create_posts.php b/app/database/migrations/2019_11_18_081526_create_posts.php deleted file mode 100644 index 4ae7d03..0000000 --- a/app/database/migrations/2019_11_18_081526_create_posts.php +++ /dev/null @@ -1,35 +0,0 @@ -capsule::schema()->hasTable("posts")): - $this->capsule::schema()->create("posts", function ($table) { - $table->increments('id'); - $table->string('title'); - $table->mediumText('body'); - $table->timestamps(); - }); - endif; - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() { - $this->capsule::schema()->dropIfExists("posts"); - } - } \ No newline at end of file diff --git a/app/database/migrations/2019_11_18_133625_create_users.php b/app/database/migrations/2019_11_18_133625_create_users.php deleted file mode 100644 index a3dff9e..0000000 --- a/app/database/migrations/2019_11_18_133625_create_users.php +++ /dev/null @@ -1,38 +0,0 @@ -capsule::schema()->hasTable("users")): - $this->capsule::schema()->create("users", function ($table) { - $table->increments('id'); - $table->string('name'); - $table->string('email')->unique(); - $table->timestamp('email_verified_at')->nullable(); - $table->string('password'); - $table->rememberToken(); - $table->timestamps(); - }); - endif; - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() { - $this->capsule::schema()->dropIfExists("users"); - } - } \ No newline at end of file diff --git a/app/database/migrations/2019_11_18_155705_create_password_resets.php b/app/database/migrations/2019_11_18_155705_create_password_resets.php deleted file mode 100644 index 001e2fe..0000000 --- a/app/database/migrations/2019_11_18_155705_create_password_resets.php +++ /dev/null @@ -1,34 +0,0 @@ -capsule::schema()->hasTable("password_resets")): - $this->capsule::schema()->create("password_resets", function ($table) { - $table->string('email')->index(); - $table->string('token'); - $table->timestamp('created_at')->nullable(); - }); - endif; - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() { - $this->capsule::schema()->dropIfExists("password_resets"); - } - } \ No newline at end of file diff --git a/app/database/password_resets.yml b/app/database/password_resets.yml new file mode 100644 index 0000000..053e830 --- /dev/null +++ b/app/database/password_resets.yml @@ -0,0 +1,11 @@ +increments: false +timestamps: false + +columns: + email: + type: string + primary: true + token: string + created_at: + type: timestamp + nullable: true diff --git a/app/database/seeds/DatabaseSeeder.php b/app/database/seeds/DatabaseSeeder.php deleted file mode 100644 index cd89464..0000000 --- a/app/database/seeds/DatabaseSeeder.php +++ /dev/null @@ -1,17 +0,0 @@ -call(UsersTableSeeder::class); - } -} diff --git a/app/database/users.yml b/app/database/users.yml new file mode 100644 index 0000000..529acce --- /dev/null +++ b/app/database/users.yml @@ -0,0 +1,20 @@ +remember_token: true + +columns: + name: string + email: + type: string + unique: true + email_verified_at: + type: timestamp + nullable: true + password: string + +seeds: + count: 5 + truncate: true + data: + name: '@faker.name' + email: '@faker.unique.safeEmail' + password: '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi' # password + email_verified_at: '@tick.format:YYYY-MM-DD HH:mm:ss' diff --git a/app/helpers/.init b/app/helpers/.init deleted file mode 100644 index e69de29..0000000 diff --git a/app/models/Index.php b/app/models/Index.php deleted file mode 100644 index f2b1ddf..0000000 --- a/app/models/Index.php +++ /dev/null @@ -1,11 +0,0 @@ -channel('App.User.{id}', function ($user, $id) { - return (int) $user->id === (int) $id; -}); diff --git a/app/routes/.idea/console.php b/app/routes/.idea/console.php deleted file mode 100644 index 1adac86..0000000 --- a/app/routes/.idea/console.php +++ /dev/null @@ -1,18 +0,0 @@ -command('inspire', function () { - $this->comment(Inspiring::quote()); -})->describe('Display an inspiring quote'); diff --git a/app/routes/_app.php b/app/routes/_app.php new file mode 100644 index 0000000..fe2b7fb --- /dev/null +++ b/app/routes/_app.php @@ -0,0 +1,3 @@ +view('/', 'index'); diff --git a/app/routes/api.php b/app/routes/api.php deleted file mode 100644 index e9b9e1f..0000000 --- a/app/routes/api.php +++ /dev/null @@ -1,26 +0,0 @@ -before('GET|POST', function() { - header('Content-Type: application/json'); -}, null); - -$leaf->set404(function() use($response) { - $response->respond(["message" => "Error 404, route not found"]); -}); - -$leaf->get('/api/user/{id}', function($id) use($response) { - $response->respond(["message" => "User $id"]); -}); - -$leaf->run(); \ No newline at end of file diff --git a/app/routes/index.php b/app/routes/index.php new file mode 100644 index 0000000..fcc7c31 --- /dev/null +++ b/app/routes/index.php @@ -0,0 +1,56 @@ +set404(function() { +// response()->page(ViewsPath("errors/404.html", false), 404); +// }); + +/* +|-------------------------------------------------------------------------- +| Set up 500 handler +|-------------------------------------------------------------------------- +| +| Leaf provides a default 500 page, but you can create your own +| 500 handler by uncommenting the code below. The function +| you set here will be called when a 500 error is encountered +| +*/ +// app()->setErrorHandler(function() { +// response()->page(ViewsPath("errors/500.html", false), 500); +// }); + +/* +|-------------------------------------------------------------------------- +| Set middleware for all routes +|-------------------------------------------------------------------------- +| +| You can use app()->use() to load middleware for all +| routes in your application. +| +*/ +// app()->use(ExampleMiddleware::class); + +/* +|-------------------------------------------------------------------------- +| Your application routes +|-------------------------------------------------------------------------- +| +| Leaf MVC automatically loads all files in the routes folder that +| start with "_". We call these files route partials. An example +| partial has been created for you. +| +| If you want to manually load routes, you can +| create a file that doesn't start with "_" and manually require +| it here like so: +| +*/ +// require __DIR__ . '/custom-route.php'; diff --git a/app/routes/web.php b/app/routes/web.php deleted file mode 100644 index d3eca45..0000000 --- a/app/routes/web.php +++ /dev/null @@ -1,23 +0,0 @@ -set404(function() use($response) { - $response->renderPage('app/views/pages/errors/404.html'); -}); - -$leaf->setNamespace('\App\Controllers'); - -$leaf->get('/', 'PagesController@index'); - -$leaf->get('/home', 'PostsController@AllPosts'); - -$leaf->run(); \ No newline at end of file diff --git a/app/views/assets/css/leaf.css b/app/views/assets/css/leaf.css deleted file mode 100644 index af24a64..0000000 --- a/app/views/assets/css/leaf.css +++ /dev/null @@ -1,7 +0,0 @@ -.leaf-center-center { - display: flex !important; - align-items: center !important; - justify-content: center !important; - flex-direction: column !important; - height: 90vh !important; -} \ No newline at end of file diff --git a/app/views/assets/css/wynter.css b/app/views/assets/css/wynter.css deleted file mode 100644 index bae742f..0000000 --- a/app/views/assets/css/wynter.css +++ /dev/null @@ -1,6827 +0,0 @@ -/** - * Wynter css - * @version v1.0.0 - * @license MIT - * @copyright 2020 Michael Darko. - * @link https://github.com/mr-phlames/wynter-css - */ -@charset "UTF-8"; -html { - color: rgba(0, 0, 0, 0.87); -} -::-moz-selection { - background: #b3d4fc; - text-shadow: none; -} -::selection { - background: #b3d4fc; - text-shadow: none; -} -hr { - display: block; - height: 1px; - border: 0; - border-top: 1px solid #ccc; - margin: 1em 0; - padding: 0; -} -audio, -canvas, -iframe, -img, -svg, -video { - vertical-align: middle; -} -fieldset { - border: 0; - margin: 0; - padding: 0; -} -textarea { - resize: vertical; -} -.browserupgrade { - margin: 0.2em 0; - background: #ccc; - color: #000; - padding: 0.2em 0; -} -.hidden { - display: none !important; -} -.visuallyhidden { - border: 0; - clip: rect(0 0 0 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; -} -.visuallyhidden.focusable:active, -.visuallyhidden.focusable:focus { - clip: auto; - height: auto; - margin: 0; - overflow: visible; - position: static; - width: auto; -} -.invisible { - visibility: hidden; -} -.clearfix:before, -.clearfix:after { - content: " "; - display: table; -} -.clearfix:after { - clear: both; -} -@media print { - *, - *:before, - *:after, - *:first-letter { - background: transparent !important; - color: #000 !important; - box-shadow: none !important; - } - a, - a:visited { - text-decoration: underline; - } - a[href]:after { - content: " (" attr(href) ")"; - } - abbr[title]:after { - content: " (" attr(title) ")"; - } - a[href^="#"]:after, - a[href^="javascript:"]:after { - content: ""; - } - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - img { - max-width: 100% !important; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } -} -a, -.wynter.accordion, -.wynter.btn, -.wynter.card, -.wynter.checkbox, -.wynter.dropdown-menu, -.wynter.icon-toggle, -.wynter.item, -.wynter.radio, -.wynter.slider, -.wynter.switch, -.wynter.tabs__tab { - -webkit-tap-highlight-color: transparent; - -webkit-tap-highlight-color: rgba(255, 255, 255, 0); -} -html { - width: 100%; - height: 100%; - -ms-touch-action: manipulation; - touch-action: manipulation; -} -body { - width: 100%; - min-height: 100%; -} -main { - display: block; -} -*[hidden] { - display: none !important; -} -html, -body { - font-family: "Helvetica", "Arial", sans-serif; - font-size: 14px; - font-weight: 400; - line-height: 20px; -} -h1, -h2, -h3, -h4, -h5, -h6, -p { - padding: 0; -} -h1 small, -h2 small, -h3 small, -h4 small, -h5 small, -h6 small { - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - font-weight: 400; - line-height: 1.35; - letter-spacing: -0.02em; - opacity: 0.54; - font-size: 0.6em; -} -h1 { - font-size: 56px; - line-height: 1.35; - letter-spacing: -0.02em; - margin: 24px 0; -} -h1, -h2 { - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - font-weight: 400; -} -h2 { - font-size: 45px; - line-height: 48px; -} -h2, -h3 { - margin: 24px 0; -} -h3 { - font-size: 34px; - line-height: 40px; -} -h3, -h4 { - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - font-weight: 400; -} -h4 { - font-size: 24px; - line-height: 32px; - -moz-osx-font-smoothing: grayscale; - margin: 24px 0 16px; -} -h5 { - font-size: 20px; - font-weight: 500; - line-height: 1; - letter-spacing: 0.02em; -} -h5, -h6 { - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - margin: 24px 0 16px; -} -h6 { - font-size: 16px; - letter-spacing: 0.04em; -} -h6, -p { - font-weight: 400; - line-height: 24px; -} -p { - font-size: 14px; - letter-spacing: 0; - margin: 0 0 16px; -} -a { - color: rgb(64, 196, 255); - font-weight: 500; -} -blockquote { - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - position: relative; - font-size: 24px; - font-weight: 300; - font-style: italic; - line-height: 1.35; - letter-spacing: 0.08em; -} -blockquote:before { - position: absolute; - left: -0.5em; - content: "“"; -} -blockquote:after { - content: "”"; - margin-left: -0.05em; -} -mark { - background-color: #f4ff81; -} -dt { - font-weight: 700; -} -address { - font-size: 12px; - line-height: 1; - font-style: normal; -} -address, -ul, -ol { - font-weight: 400; - letter-spacing: 0; -} -ul, -ol { - font-size: 14px; - line-height: 24px; -} -.wynter.typography--display-4, -.wynter.typography--display-4-color-contrast { - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - font-size: 112px; - font-weight: 300; - line-height: 1; - letter-spacing: -0.04em; -} -.wynter.typography--display-4-color-contrast { - opacity: 0.54; -} -.wynter.typography--display-3, -.wynter.typography--display-3-color-contrast { - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - font-size: 56px; - font-weight: 400; - line-height: 1.35; - letter-spacing: -0.02em; -} -.wynter.typography--display-3-color-contrast { - opacity: 0.54; -} -.wynter.typography--display-2, -.wynter.typography--display-2-color-contrast { - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - font-size: 45px; - font-weight: 400; - line-height: 48px; -} -.wynter.typography--display-2-color-contrast { - opacity: 0.54; -} -.wynter.typography--display-1, -.wynter.typography--display-1-color-contrast { - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - font-size: 34px; - font-weight: 400; - line-height: 40px; -} -.wynter.typography--display-1-color-contrast { - opacity: 0.54; -} -.wynter.typography--headline, -.wynter.typography--headline-color-contrast { - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - font-size: 24px; - font-weight: 400; - line-height: 32px; - -moz-osx-font-smoothing: grayscale; -} -.wynter.typography--headline-color-contrast { - opacity: 0.87; -} -.wynter.typography--title, -.wynter.typography--title-color-contrast { - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - font-size: 20px; - font-weight: 500; - line-height: 1; - letter-spacing: 0.02em; -} -.wynter.typography--title-color-contrast { - opacity: 0.87; -} -.wynter.typography--subhead, -.wynter.typography--subhead-color-contrast { - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - font-size: 16px; - font-weight: 400; - line-height: 24px; - letter-spacing: 0.04em; -} -.wynter.typography--subhead-color-contrast { - opacity: 0.87; -} -.wynter.typography--body-2, -.wynter.typography--body-2-color-contrast { - font-size: 14px; - font-weight: 700; - line-height: 24px; - letter-spacing: 0; -} -.wynter.typography--body-2-color-contrast { - opacity: 0.87; -} -.wynter.typography--body-1, -.wynter.typography--body-1-color-contrast { - font-size: 14px; - font-weight: 400; - line-height: 24px; - letter-spacing: 0; -} -.wynter.typography--body-1-color-contrast { - opacity: 0.87; -} -.wynter.typography--body-2-force-preferred-font, -.wynter.typography--body-2-force-preferred-font-color-contrast { - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - font-size: 14px; - font-weight: 500; - line-height: 24px; - letter-spacing: 0; -} -.wynter.typography--body-2-force-preferred-font-color-contrast { - opacity: 0.87; -} -.wynter.typography--body-1-force-preferred-font, -.wynter.typography--body-1-force-preferred-font-color-contrast { - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - font-size: 14px; - font-weight: 400; - line-height: 24px; - letter-spacing: 0; -} -.wynter.typography--body-1-force-preferred-font-color-contrast { - opacity: 0.87; -} -.wynter.typography--caption, -.wynter.typography--caption-force-preferred-font { - font-size: 12px; - font-weight: 400; - line-height: 1; - letter-spacing: 0; -} -.wynter.typography--caption-force-preferred-font { - font-family: "Roboto", "Helvetica", "Arial", sans-serif; -} -.wynter.typography--caption-color-contrast, -.wynter.typography--caption-force-preferred-font-color-contrast { - font-size: 12px; - font-weight: 400; - line-height: 1; - letter-spacing: 0; - opacity: 0.54; -} -.wynter.typography--caption-force-preferred-font-color-contrast, -.wynter.typography--menu { - font-family: "Roboto", "Helvetica", "Arial", sans-serif; -} -.wynter.typography--menu { - font-size: 14px; - font-weight: 500; - line-height: 1; - letter-spacing: 0; -} -.wynter.typography--menu-color-contrast { - opacity: 0.87; -} -.wynter.typography--menu-color-contrast, -.wynter.typography--btn, -.wynter.typography--btn-color-contrast { - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - font-size: 14px; - font-weight: 500; - line-height: 1; - letter-spacing: 0; -} -.wynter.typography--btn, -.wynter.typography--btn-color-contrast { - text-transform: uppercase; -} -.wynter.typography--btn-color-contrast { - opacity: 0.87; -} -.wynter.typography--text-left { - text-align: left; -} -.wynter.typography--text-right { - text-align: right; -} -.wynter.typography--text-center { - text-align: center; -} -.wynter.typography--text-justify { - text-align: justify; -} -.wynter.typography--text-nowrap { - white-space: nowrap; -} -.wynter.typography--text-lowercase { - text-transform: lowercase; -} -.wynter.typography--text-uppercase { - text-transform: uppercase; -} -.wynter.typography--text-capitalize { - text-transform: capitalize; -} -.wynter.typography--font-thin { - font-weight: 200 !important; -} -.wynter.typography--font-light { - font-weight: 300 !important; -} -.wynter.typography--font-regular { - font-weight: 400 !important; -} -.wynter.typography--font-medium { - font-weight: 500 !important; -} -.wynter.typography--font-bold { - font-weight: 700 !important; -} -.wynter.typography--font-black { - font-weight: 900 !important; -} -.material-icons { - font-family: "Material Icons"; - font-weight: 400; - font-style: normal; - font-size: 24px; - line-height: 1; - letter-spacing: normal; - text-transform: none; - display: inline-block; - word-wrap: normal; - -moz-font-feature-settings: "liga"; - font-feature-settings: "liga"; - -webkit-font-feature-settings: "liga"; - -webkit-font-smoothing: antialiased; -} -.wynter.text-red { - color: #f44336 !important; -} -.wynter.bg-red { - background-color: #f44336 !important; -} -.wynter.text-red-50 { - color: #ffebee !important; -} -.wynter.bg-red-50 { - background-color: #ffebee !important; -} -.wynter.text-red-100 { - color: #ffcdd2 !important; -} -.wynter.bg-red-100 { - background-color: #ffcdd2 !important; -} -.wynter.text-red-200 { - color: #ef9a9a !important; -} -.wynter.bg-red-200 { - background-color: #ef9a9a !important; -} -.wynter.text-red-300 { - color: #e57373 !important; -} -.wynter.bg-red-300 { - background-color: #e57373 !important; -} -.wynter.text-red-400 { - color: #ef5350 !important; -} -.wynter.bg-red-400 { - background-color: #ef5350 !important; -} -.wynter.text-red-500 { - color: #f44336 !important; -} -.wynter.bg-red-500 { - background-color: #f44336 !important; -} -.wynter.text-red-600 { - color: #e53935 !important; -} -.wynter.bg-red-600 { - background-color: #e53935 !important; -} -.wynter.text-red-700 { - color: #d32f2f !important; -} -.wynter.bg-red-700 { - background-color: #d32f2f !important; -} -.wynter.text-red-800 { - color: #c62828 !important; -} -.wynter.bg-red-800 { - background-color: #c62828 !important; -} -.wynter.text-red-900 { - color: #b71c1c !important; -} -.wynter.bg-red-900 { - background-color: #b71c1c !important; -} -.wynter.text-red-A100 { - color: #ff8a80 !important; -} -.wynter.bg-red-A100 { - background-color: #ff8a80 !important; -} -.wynter.text-red-A200 { - color: #ff5252 !important; -} -.wynter.bg-red-A200 { - background-color: #ff5252 !important; -} -.wynter.text-red-A400 { - color: #ff1744 !important; -} -.wynter.bg-red-A400 { - background-color: #ff1744 !important; -} -.wynter.text-red-A700 { - color: #d50000 !important; -} -.wynter.bg-red-A700 { - background-color: #d50000 !important; -} -.wynter.text-pink { - color: #e91e63 !important; -} -.wynter.bg-pink { - background-color: #e91e63 !important; -} -.wynter.text-pink-50 { - color: #fce4ec !important; -} -.wynter.bg-pink-50 { - background-color: #fce4ec !important; -} -.wynter.text-pink-100 { - color: #f8bbd0 !important; -} -.wynter.bg-pink-100 { - background-color: #f8bbd0 !important; -} -.wynter.text-pink-200 { - color: #f48fb1 !important; -} -.wynter.bg-pink-200 { - background-color: #f48fb1 !important; -} -.wynter.text-pink-300 { - color: #f06292 !important; -} -.wynter.bg-pink-300 { - background-color: #f06292 !important; -} -.wynter.text-pink-400 { - color: #ec407a !important; -} -.wynter.bg-pink-400 { - background-color: #ec407a !important; -} -.wynter.text-pink-500 { - color: #e91e63 !important; -} -.wynter.bg-pink-500 { - background-color: #e91e63 !important; -} -.wynter.text-pink-600 { - color: #d81b60 !important; -} -.wynter.bg-pink-600 { - background-color: #d81b60 !important; -} -.wynter.text-pink-700 { - color: #c2185b !important; -} -.wynter.bg-pink-700 { - background-color: #c2185b !important; -} -.wynter.text-pink-800 { - color: #ad1457 !important; -} -.wynter.bg-pink-800 { - background-color: #ad1457 !important; -} -.wynter.text-pink-900 { - color: #880e4f !important; -} -.wynter.bg-pink-900 { - background-color: #880e4f !important; -} -.wynter.text-pink-A100 { - color: #ff80ab !important; -} -.wynter.bg-pink-A100 { - background-color: #ff80ab !important; -} -.wynter.text-pink-A200 { - color: #ff4081 !important; -} -.wynter.bg-pink-A200 { - background-color: #ff4081 !important; -} -.wynter.text-pink-A400 { - color: #f50057 !important; -} -.wynter.bg-pink-A400 { - background-color: #f50057 !important; -} -.wynter.text-pink-A700 { - color: #c51162 !important; -} -.wynter.bg-pink-A700 { - background-color: #c51162 !important; -} -.wynter.text-purple { - color: #9c27b0 !important; -} -.wynter.bg-purple { - background-color: #9c27b0 !important; -} -.wynter.text-purple-50 { - color: #f3e5f5 !important; -} -.wynter.bg-purple-50 { - background-color: #f3e5f5 !important; -} -.wynter.text-purple-100 { - color: #e1bee7 !important; -} -.wynter.bg-purple-100 { - background-color: #e1bee7 !important; -} -.wynter.text-purple-200 { - color: #ce93d8 !important; -} -.wynter.bg-purple-200 { - background-color: #ce93d8 !important; -} -.wynter.text-purple-300 { - color: #ba68c8 !important; -} -.wynter.bg-purple-300 { - background-color: #ba68c8 !important; -} -.wynter.text-purple-400 { - color: #ab47bc !important; -} -.wynter.bg-purple-400 { - background-color: #ab47bc !important; -} -.wynter.text-purple-500 { - color: #9c27b0 !important; -} -.wynter.bg-purple-500 { - background-color: #9c27b0 !important; -} -.wynter.text-purple-600 { - color: #8e24aa !important; -} -.wynter.bg-purple-600 { - background-color: #8e24aa !important; -} -.wynter.text-purple-700 { - color: #7b1fa2 !important; -} -.wynter.bg-purple-700 { - background-color: #7b1fa2 !important; -} -.wynter.text-purple-800 { - color: #6a1b9a !important; -} -.wynter.bg-purple-800 { - background-color: #6a1b9a !important; -} -.wynter.text-purple-900 { - color: #4a148c !important; -} -.wynter.bg-purple-900 { - background-color: #4a148c !important; -} -.wynter.text-purple-A100 { - color: #ea80fc !important; -} -.wynter.bg-purple-A100 { - background-color: #ea80fc !important; -} -.wynter.text-purple-A200 { - color: #e040fb !important; -} -.wynter.bg-purple-A200 { - background-color: #e040fb !important; -} -.wynter.text-purple-A400 { - color: #d500f9 !important; -} -.wynter.bg-purple-A400 { - background-color: #d500f9 !important; -} -.wynter.text-purple-A700 { - color: #a0f !important; -} -.wynter.bg-purple-A700 { - background-color: #a0f !important; -} -.wynter.text-deep-purple { - color: #673ab7 !important; -} -.wynter.bg-deep-purple { - background-color: #673ab7 !important; -} -.wynter.text-deep-purple-50 { - color: #ede7f6 !important; -} -.wynter.bg-deep-purple-50 { - background-color: #ede7f6 !important; -} -.wynter.text-deep-purple-100 { - color: #d1c4e9 !important; -} -.wynter.bg-deep-purple-100 { - background-color: #d1c4e9 !important; -} -.wynter.text-deep-purple-200 { - color: #b39ddb !important; -} -.wynter.bg-deep-purple-200 { - background-color: #b39ddb !important; -} -.wynter.text-deep-purple-300 { - color: #9575cd !important; -} -.wynter.bg-deep-purple-300 { - background-color: #9575cd !important; -} -.wynter.text-deep-purple-400 { - color: #7e57c2 !important; -} -.wynter.bg-deep-purple-400 { - background-color: #7e57c2 !important; -} -.wynter.text-deep-purple-500 { - color: #673ab7 !important; -} -.wynter.bg-deep-purple-500 { - background-color: #673ab7 !important; -} -.wynter.text-deep-purple-600 { - color: #5e35b1 !important; -} -.wynter.bg-deep-purple-600 { - background-color: #5e35b1 !important; -} -.wynter.text-deep-purple-700 { - color: #512da8 !important; -} -.wynter.bg-deep-purple-700 { - background-color: #512da8 !important; -} -.wynter.text-deep-purple-800 { - color: #4527a0 !important; -} -.wynter.bg-deep-purple-800 { - background-color: #4527a0 !important; -} -.wynter.text-deep-purple-900 { - color: #311b92 !important; -} -.wynter.bg-deep-purple-900 { - background-color: #311b92 !important; -} -.wynter.text-deep-purple-A100 { - color: #b388ff !important; -} -.wynter.bg-deep-purple-A100 { - background-color: #b388ff !important; -} -.wynter.text-deep-purple-A200 { - color: #7c4dff !important; -} -.wynter.bg-deep-purple-A200 { - background-color: #7c4dff !important; -} -.wynter.text-deep-purple-A400 { - color: #651fff !important; -} -.wynter.bg-deep-purple-A400 { - background-color: #651fff !important; -} -.wynter.text-deep-purple-A700 { - color: #6200ea !important; -} -.wynter.bg-deep-purple-A700 { - background-color: #6200ea !important; -} -.wynter.text-indigo { - color: #3f51b5 !important; -} -.wynter.bg-indigo { - background-color: #3f51b5 !important; -} -.wynter.text-indigo-50 { - color: #e8eaf6 !important; -} -.wynter.bg-indigo-50 { - background-color: #e8eaf6 !important; -} -.wynter.text-indigo-100 { - color: #c5cae9 !important; -} -.wynter.bg-indigo-100 { - background-color: #c5cae9 !important; -} -.wynter.text-indigo-200 { - color: #9fa8da !important; -} -.wynter.bg-indigo-200 { - background-color: #9fa8da !important; -} -.wynter.text-indigo-300 { - color: #7986cb !important; -} -.wynter.bg-indigo-300 { - background-color: #7986cb !important; -} -.wynter.text-indigo-400 { - color: #5c6bc0 !important; -} -.wynter.bg-indigo-400 { - background-color: #5c6bc0 !important; -} -.wynter.text-indigo-500 { - color: #3f51b5 !important; -} -.wynter.bg-indigo-500 { - background-color: #3f51b5 !important; -} -.wynter.text-indigo-600 { - color: #3949ab !important; -} -.wynter.bg-indigo-600 { - background-color: #3949ab !important; -} -.wynter.text-indigo-700 { - color: #303f9f !important; -} -.wynter.bg-indigo-700 { - background-color: #303f9f !important; -} -.wynter.text-indigo-800 { - color: #283593 !important; -} -.wynter.bg-indigo-800 { - background-color: #283593 !important; -} -.wynter.text-indigo-900 { - color: #1a237e !important; -} -.wynter.bg-indigo-900 { - background-color: #1a237e !important; -} -.wynter.text-indigo-A100 { - color: #8c9eff !important; -} -.wynter.bg-indigo-A100 { - background-color: #8c9eff !important; -} -.wynter.text-indigo-A200 { - color: #536dfe !important; -} -.wynter.bg-indigo-A200 { - background-color: #536dfe !important; -} -.wynter.text-indigo-A400 { - color: #3d5afe !important; -} -.wynter.bg-indigo-A400 { - background-color: #3d5afe !important; -} -.wynter.text-indigo-A700 { - color: #304ffe !important; -} -.wynter.bg-indigo-A700 { - background-color: #304ffe !important; -} -.wynter.text-blue { - color: #2196f3 !important; -} -.wynter.bg-blue { - background-color: #2196f3 !important; -} -.wynter.text-blue-50 { - color: #e3f2fd !important; -} -.wynter.bg-blue-50 { - background-color: #e3f2fd !important; -} -.wynter.text-blue-100 { - color: #bbdefb !important; -} -.wynter.bg-blue-100 { - background-color: #bbdefb !important; -} -.wynter.text-blue-200 { - color: #90caf9 !important; -} -.wynter.bg-blue-200 { - background-color: #90caf9 !important; -} -.wynter.text-blue-300 { - color: #64b5f6 !important; -} -.wynter.bg-blue-300 { - background-color: #64b5f6 !important; -} -.wynter.text-blue-400 { - color: #42a5f5 !important; -} -.wynter.bg-blue-400 { - background-color: #42a5f5 !important; -} -.wynter.text-blue-500 { - color: #2196f3 !important; -} -.wynter.bg-blue-500 { - background-color: #2196f3 !important; -} -.wynter.text-blue-600 { - color: #1e88e5 !important; -} -.wynter.bg-blue-600 { - background-color: #1e88e5 !important; -} -.wynter.text-blue-700 { - color: #1976d2 !important; -} -.wynter.bg-blue-700 { - background-color: #1976d2 !important; -} -.wynter.text-blue-800 { - color: #1565c0 !important; -} -.wynter.bg-blue-800 { - background-color: #1565c0 !important; -} -.wynter.text-blue-900 { - color: #0d47a1 !important; -} -.wynter.bg-blue-900 { - background-color: #0d47a1 !important; -} -.wynter.text-blue-A100 { - color: #82b1ff !important; -} -.wynter.bg-blue-A100 { - background-color: #82b1ff !important; -} -.wynter.text-blue-A200 { - color: #448aff !important; -} -.wynter.bg-blue-A200 { - background-color: #448aff !important; -} -.wynter.text-blue-A400 { - color: #2979ff !important; -} -.wynter.bg-blue-A400 { - background-color: #2979ff !important; -} -.wynter.text-blue-A700 { - color: #2962ff !important; -} -.wynter.bg-blue-A700 { - background-color: #2962ff !important; -} -.wynter.text-light-blue { - color: #03a9f4 !important; -} -.wynter.bg-light-blue { - background-color: #03a9f4 !important; -} -.wynter.text-light-blue-50 { - color: #e1f5fe !important; -} -.wynter.bg-light-blue-50 { - background-color: #e1f5fe !important; -} -.wynter.text-light-blue-100 { - color: #b3e5fc !important; -} -.wynter.bg-light-blue-100 { - background-color: #b3e5fc !important; -} -.wynter.text-light-blue-200 { - color: #81d4fa !important; -} -.wynter.bg-light-blue-200 { - background-color: #81d4fa !important; -} -.wynter.text-light-blue-300 { - color: #4fc3f7 !important; -} -.wynter.bg-light-blue-300 { - background-color: #4fc3f7 !important; -} -.wynter.text-light-blue-400 { - color: #29b6f6 !important; -} -.wynter.bg-light-blue-400 { - background-color: #29b6f6 !important; -} -.wynter.text-light-blue-500 { - color: #03a9f4 !important; -} -.wynter.bg-light-blue-500 { - background-color: #03a9f4 !important; -} -.wynter.text-light-blue-600 { - color: #039be5 !important; -} -.wynter.bg-light-blue-600 { - background-color: #039be5 !important; -} -.wynter.text-light-blue-700 { - color: #0288d1 !important; -} -.wynter.bg-light-blue-700 { - background-color: #0288d1 !important; -} -.wynter.text-light-blue-800 { - color: #0277bd !important; -} -.wynter.bg-light-blue-800 { - background-color: #0277bd !important; -} -.wynter.text-light-blue-900 { - color: #01579b !important; -} -.wynter.bg-light-blue-900 { - background-color: #01579b !important; -} -.wynter.text-light-blue-A100 { - color: #80d8ff !important; -} -.wynter.bg-light-blue-A100 { - background-color: #80d8ff !important; -} -.wynter.text-light-blue-A200 { - color: #40c4ff !important; -} -.wynter.bg-light-blue-A200 { - background-color: #40c4ff !important; -} -.wynter.text-light-blue-A400 { - color: #00b0ff !important; -} -.wynter.bg-light-blue-A400 { - background-color: #00b0ff !important; -} -.wynter.text-light-blue-A700 { - color: #0091ea !important; -} -.wynter.bg-light-blue-A700 { - background-color: #0091ea !important; -} -.wynter.text-cyan { - color: #00bcd4 !important; -} -.wynter.bg-cyan { - background-color: #00bcd4 !important; -} -.wynter.text-cyan-50 { - color: #e0f7fa !important; -} -.wynter.bg-cyan-50 { - background-color: #e0f7fa !important; -} -.wynter.text-cyan-100 { - color: #b2ebf2 !important; -} -.wynter.bg-cyan-100 { - background-color: #b2ebf2 !important; -} -.wynter.text-cyan-200 { - color: #80deea !important; -} -.wynter.bg-cyan-200 { - background-color: #80deea !important; -} -.wynter.text-cyan-300 { - color: #4dd0e1 !important; -} -.wynter.bg-cyan-300 { - background-color: #4dd0e1 !important; -} -.wynter.text-cyan-400 { - color: #26c6da !important; -} -.wynter.bg-cyan-400 { - background-color: #26c6da !important; -} -.wynter.text-cyan-500 { - color: #00bcd4 !important; -} -.wynter.bg-cyan-500 { - background-color: #00bcd4 !important; -} -.wynter.text-cyan-600 { - color: #00acc1 !important; -} -.wynter.bg-cyan-600 { - background-color: #00acc1 !important; -} -.wynter.text-cyan-700 { - color: #0097a7 !important; -} -.wynter.bg-cyan-700 { - background-color: #0097a7 !important; -} -.wynter.text-cyan-800 { - color: #00838f !important; -} -.wynter.bg-cyan-800 { - background-color: #00838f !important; -} -.wynter.text-cyan-900 { - color: #006064 !important; -} -.wynter.bg-cyan-900 { - background-color: #006064 !important; -} -.wynter.text-cyan-A100 { - color: #84ffff !important; -} -.wynter.bg-cyan-A100 { - background-color: #84ffff !important; -} -.wynter.text-cyan-A200 { - color: #18ffff !important; -} -.wynter.bg-cyan-A200 { - background-color: #18ffff !important; -} -.wynter.text-cyan-A400 { - color: #00e5ff !important; -} -.wynter.bg-cyan-A400 { - background-color: #00e5ff !important; -} -.wynter.text-cyan-A700 { - color: #00b8d4 !important; -} -.wynter.bg-cyan-A700 { - background-color: #00b8d4 !important; -} -.wynter.text-teal { - color: #009688 !important; -} -.wynter.bg-teal { - background-color: #009688 !important; -} -.wynter.text-teal-50 { - color: #e0f2f1 !important; -} -.wynter.bg-teal-50 { - background-color: #e0f2f1 !important; -} -.wynter.text-teal-100 { - color: #b2dfdb !important; -} -.wynter.bg-teal-100 { - background-color: #b2dfdb !important; -} -.wynter.text-teal-200 { - color: #80cbc4 !important; -} -.wynter.bg-teal-200 { - background-color: #80cbc4 !important; -} -.wynter.text-teal-300 { - color: #4db6ac !important; -} -.wynter.bg-teal-300 { - background-color: #4db6ac !important; -} -.wynter.text-teal-400 { - color: #26a69a !important; -} -.wynter.bg-teal-400 { - background-color: #26a69a !important; -} -.wynter.text-teal-500 { - color: #009688 !important; -} -.wynter.bg-teal-500 { - background-color: #009688 !important; -} -.wynter.text-teal-600 { - color: #00897b !important; -} -.wynter.bg-teal-600 { - background-color: #00897b !important; -} -.wynter.text-teal-700 { - color: #00796b !important; -} -.wynter.bg-teal-700 { - background-color: #00796b !important; -} -.wynter.text-teal-800 { - color: #00695c !important; -} -.wynter.bg-teal-800 { - background-color: #00695c !important; -} -.wynter.text-teal-900 { - color: #004d40 !important; -} -.wynter.bg-teal-900 { - background-color: #004d40 !important; -} -.wynter.text-teal-A100 { - color: #a7ffeb !important; -} -.wynter.bg-teal-A100 { - background-color: #a7ffeb !important; -} -.wynter.text-teal-A200 { - color: #64ffda !important; -} -.wynter.bg-teal-A200 { - background-color: #64ffda !important; -} -.wynter.text-teal-A400 { - color: #1de9b6 !important; -} -.wynter.bg-teal-A400 { - background-color: #1de9b6 !important; -} -.wynter.text-teal-A700 { - color: #00bfa5 !important; -} -.wynter.bg-teal-A700 { - background-color: #00bfa5 !important; -} -.wynter.text-green { - color: #4caf50 !important; -} -.wynter.bg-green { - background-color: #4caf50 !important; -} -.wynter.text-green-50 { - color: #e8f5e9 !important; -} -.wynter.bg-green-50 { - background-color: #e8f5e9 !important; -} -.wynter.text-green-100 { - color: #c8e6c9 !important; -} -.wynter.bg-green-100 { - background-color: #c8e6c9 !important; -} -.wynter.text-green-200 { - color: #a5d6a7 !important; -} -.wynter.bg-green-200 { - background-color: #a5d6a7 !important; -} -.wynter.text-green-300 { - color: #81c784 !important; -} -.wynter.bg-green-300 { - background-color: #81c784 !important; -} -.wynter.text-green-400 { - color: #66bb6a !important; -} -.wynter.bg-green-400 { - background-color: #66bb6a !important; -} -.wynter.text-green-500 { - color: #4caf50 !important; -} -.wynter.bg-green-500 { - background-color: #4caf50 !important; -} -.wynter.text-green-600 { - color: #43a047 !important; -} -.wynter.bg-green-600 { - background-color: #43a047 !important; -} -.wynter.text-green-700 { - color: #388e3c !important; -} -.wynter.bg-green-700 { - background-color: #388e3c !important; -} -.wynter.text-green-800 { - color: #2e7d32 !important; -} -.wynter.bg-green-800 { - background-color: #2e7d32 !important; -} -.wynter.text-green-900 { - color: #1b5e20 !important; -} -.wynter.bg-green-900 { - background-color: #1b5e20 !important; -} -.wynter.text-green-A100 { - color: #b9f6ca !important; -} -.wynter.bg-green-A100 { - background-color: #b9f6ca !important; -} -.wynter.text-green-A200 { - color: #69f0ae !important; -} -.wynter.bg-green-A200 { - background-color: #69f0ae !important; -} -.wynter.text-green-A400 { - color: #00e676 !important; -} -.wynter.bg-green-A400 { - background-color: #00e676 !important; -} -.wynter.text-green-A700 { - color: #00c853 !important; -} -.wynter.bg-green-A700 { - background-color: #00c853 !important; -} -.wynter.text-light-green { - color: #8bc34a !important; -} -.wynter.bg-light-green { - background-color: #8bc34a !important; -} -.wynter.text-light-green-50 { - color: #f1f8e9 !important; -} -.wynter.bg-light-green-50 { - background-color: #f1f8e9 !important; -} -.wynter.text-light-green-100 { - color: #dcedc8 !important; -} -.wynter.bg-light-green-100 { - background-color: #dcedc8 !important; -} -.wynter.text-light-green-200 { - color: #c5e1a5 !important; -} -.wynter.bg-light-green-200 { - background-color: #c5e1a5 !important; -} -.wynter.text-light-green-300 { - color: #aed581 !important; -} -.wynter.bg-light-green-300 { - background-color: #aed581 !important; -} -.wynter.text-light-green-400 { - color: #9ccc65 !important; -} -.wynter.bg-light-green-400 { - background-color: #9ccc65 !important; -} -.wynter.text-light-green-500 { - color: #8bc34a !important; -} -.wynter.bg-light-green-500 { - background-color: #8bc34a !important; -} -.wynter.text-light-green-600 { - color: #7cb342 !important; -} -.wynter.bg-light-green-600 { - background-color: #7cb342 !important; -} -.wynter.text-light-green-700 { - color: #689f38 !important; -} -.wynter.bg-light-green-700 { - background-color: #689f38 !important; -} -.wynter.text-light-green-800 { - color: #558b2f !important; -} -.wynter.bg-light-green-800 { - background-color: #558b2f !important; -} -.wynter.text-light-green-900 { - color: #33691e !important; -} -.wynter.bg-light-green-900 { - background-color: #33691e !important; -} -.wynter.text-light-green-A100 { - color: #ccff90 !important; -} -.wynter.bg-light-green-A100 { - background-color: #ccff90 !important; -} -.wynter.text-light-green-A200 { - color: #b2ff59 !important; -} -.wynter.bg-light-green-A200 { - background-color: #b2ff59 !important; -} -.wynter.text-light-green-A400 { - color: #76ff03 !important; -} -.wynter.bg-light-green-A400 { - background-color: #76ff03 !important; -} -.wynter.text-light-green-A700 { - color: #64dd17 !important; -} -.wynter.bg-light-green-A700 { - background-color: #64dd17 !important; -} -.wynter.text-lime { - color: #cddc39 !important; -} -.wynter.bg-lime { - background-color: #cddc39 !important; -} -.wynter.text-lime-50 { - color: #f9fbe7 !important; -} -.wynter.bg-lime-50 { - background-color: #f9fbe7 !important; -} -.wynter.text-lime-100 { - color: #f0f4c3 !important; -} -.wynter.bg-lime-100 { - background-color: #f0f4c3 !important; -} -.wynter.text-lime-200 { - color: #e6ee9c !important; -} -.wynter.bg-lime-200 { - background-color: #e6ee9c !important; -} -.wynter.text-lime-300 { - color: #dce775 !important; -} -.wynter.bg-lime-300 { - background-color: #dce775 !important; -} -.wynter.text-lime-400 { - color: #d4e157 !important; -} -.wynter.bg-lime-400 { - background-color: #d4e157 !important; -} -.wynter.text-lime-500 { - color: #cddc39 !important; -} -.wynter.bg-lime-500 { - background-color: #cddc39 !important; -} -.wynter.text-lime-600 { - color: #c0ca33 !important; -} -.wynter.bg-lime-600 { - background-color: #c0ca33 !important; -} -.wynter.text-lime-700 { - color: #afb42b !important; -} -.wynter.bg-lime-700 { - background-color: #afb42b !important; -} -.wynter.text-lime-800 { - color: #9e9d24 !important; -} -.wynter.bg-lime-800 { - background-color: #9e9d24 !important; -} -.wynter.text-lime-900 { - color: #827717 !important; -} -.wynter.bg-lime-900 { - background-color: #827717 !important; -} -.wynter.text-lime-A100 { - color: #f4ff81 !important; -} -.wynter.bg-lime-A100 { - background-color: #f4ff81 !important; -} -.wynter.text-lime-A200 { - color: #eeff41 !important; -} -.wynter.bg-lime-A200 { - background-color: #eeff41 !important; -} -.wynter.text-lime-A400 { - color: #c6ff00 !important; -} -.wynter.bg-lime-A400 { - background-color: #c6ff00 !important; -} -.wynter.text-lime-A700 { - color: #aeea00 !important; -} -.wynter.bg-lime-A700 { - background-color: #aeea00 !important; -} -.wynter.text-yellow { - color: #ffeb3b !important; -} -.wynter.bg-yellow { - background-color: #ffeb3b !important; -} -.wynter.text-yellow-50 { - color: #fffde7 !important; -} -.wynter.bg-yellow-50 { - background-color: #fffde7 !important; -} -.wynter.text-yellow-100 { - color: #fff9c4 !important; -} -.wynter.bg-yellow-100 { - background-color: #fff9c4 !important; -} -.wynter.text-yellow-200 { - color: #fff59d !important; -} -.wynter.bg-yellow-200 { - background-color: #fff59d !important; -} -.wynter.text-yellow-300 { - color: #fff176 !important; -} -.wynter.bg-yellow-300 { - background-color: #fff176 !important; -} -.wynter.text-yellow-400 { - color: #ffee58 !important; -} -.wynter.bg-yellow-400 { - background-color: #ffee58 !important; -} -.wynter.text-yellow-500 { - color: #ffeb3b !important; -} -.wynter.bg-yellow-500 { - background-color: #ffeb3b !important; -} -.wynter.text-yellow-600 { - color: #fdd835 !important; -} -.wynter.bg-yellow-600 { - background-color: #fdd835 !important; -} -.wynter.text-yellow-700 { - color: #fbc02d !important; -} -.wynter.bg-yellow-700 { - background-color: #fbc02d !important; -} -.wynter.text-yellow-800 { - color: #f9a825 !important; -} -.wynter.bg-yellow-800 { - background-color: #f9a825 !important; -} -.wynter.text-yellow-900 { - color: #f57f17 !important; -} -.wynter.bg-yellow-900 { - background-color: #f57f17 !important; -} -.wynter.text-yellow-A100 { - color: #ffff8d !important; -} -.wynter.bg-yellow-A100 { - background-color: #ffff8d !important; -} -.wynter.text-yellow-A200 { - color: #ff0 !important; -} -.wynter.bg-yellow-A200 { - background-color: #ff0 !important; -} -.wynter.text-yellow-A400 { - color: #ffea00 !important; -} -.wynter.bg-yellow-A400 { - background-color: #ffea00 !important; -} -.wynter.text-yellow-A700 { - color: #ffd600 !important; -} -.wynter.bg-yellow-A700 { - background-color: #ffd600 !important; -} -.wynter.text-amber { - color: #ffc107 !important; -} -.wynter.bg-amber { - background-color: #ffc107 !important; -} -.wynter.text-amber-50 { - color: #fff8e1 !important; -} -.wynter.bg-amber-50 { - background-color: #fff8e1 !important; -} -.wynter.text-amber-100 { - color: #ffecb3 !important; -} -.wynter.bg-amber-100 { - background-color: #ffecb3 !important; -} -.wynter.text-amber-200 { - color: #ffe082 !important; -} -.wynter.bg-amber-200 { - background-color: #ffe082 !important; -} -.wynter.text-amber-300 { - color: #ffd54f !important; -} -.wynter.bg-amber-300 { - background-color: #ffd54f !important; -} -.wynter.text-amber-400 { - color: #ffca28 !important; -} -.wynter.bg-amber-400 { - background-color: #ffca28 !important; -} -.wynter.text-amber-500 { - color: #ffc107 !important; -} -.wynter.bg-amber-500 { - background-color: #ffc107 !important; -} -.wynter.text-amber-600 { - color: #ffb300 !important; -} -.wynter.bg-amber-600 { - background-color: #ffb300 !important; -} -.wynter.text-amber-700 { - color: #ffa000 !important; -} -.wynter.bg-amber-700 { - background-color: #ffa000 !important; -} -.wynter.text-amber-800 { - color: #ff8f00 !important; -} -.wynter.bg-amber-800 { - background-color: #ff8f00 !important; -} -.wynter.text-amber-900 { - color: #ff6f00 !important; -} -.wynter.bg-amber-900 { - background-color: #ff6f00 !important; -} -.wynter.text-amber-A100 { - color: #ffe57f !important; -} -.wynter.bg-amber-A100 { - background-color: #ffe57f !important; -} -.wynter.text-amber-A200 { - color: #ffd740 !important; -} -.wynter.bg-amber-A200 { - background-color: #ffd740 !important; -} -.wynter.text-amber-A400 { - color: #ffc400 !important; -} -.wynter.bg-amber-A400 { - background-color: #ffc400 !important; -} -.wynter.text-amber-A700 { - color: #ffab00 !important; -} -.wynter.bg-amber-A700 { - background-color: #ffab00 !important; -} -.wynter.text-orange { - color: #ff9800 !important; -} -.wynter.bg-orange { - background-color: #ff9800 !important; -} -.wynter.text-orange-50 { - color: #fff3e0 !important; -} -.wynter.bg-orange-50 { - background-color: #fff3e0 !important; -} -.wynter.text-orange-100 { - color: #ffe0b2 !important; -} -.wynter.bg-orange-100 { - background-color: #ffe0b2 !important; -} -.wynter.text-orange-200 { - color: #ffcc80 !important; -} -.wynter.bg-orange-200 { - background-color: #ffcc80 !important; -} -.wynter.text-orange-300 { - color: #ffb74d !important; -} -.wynter.bg-orange-300 { - background-color: #ffb74d !important; -} -.wynter.text-orange-400 { - color: #ffa726 !important; -} -.wynter.bg-orange-400 { - background-color: #ffa726 !important; -} -.wynter.text-orange-500 { - color: #ff9800 !important; -} -.wynter.bg-orange-500 { - background-color: #ff9800 !important; -} -.wynter.text-orange-600 { - color: #fb8c00 !important; -} -.wynter.bg-orange-600 { - background-color: #fb8c00 !important; -} -.wynter.text-orange-700 { - color: #f57c00 !important; -} -.wynter.bg-orange-700 { - background-color: #f57c00 !important; -} -.wynter.text-orange-800 { - color: #ef6c00 !important; -} -.wynter.bg-orange-800 { - background-color: #ef6c00 !important; -} -.wynter.text-orange-900 { - color: #e65100 !important; -} -.wynter.bg-orange-900 { - background-color: #e65100 !important; -} -.wynter.text-orange-A100 { - color: #ffd180 !important; -} -.wynter.bg-orange-A100 { - background-color: #ffd180 !important; -} -.wynter.text-orange-A200 { - color: #ffab40 !important; -} -.wynter.bg-orange-A200 { - background-color: #ffab40 !important; -} -.wynter.text-orange-A400 { - color: #ff9100 !important; -} -.wynter.bg-orange-A400 { - background-color: #ff9100 !important; -} -.wynter.text-orange-A700 { - color: #ff6d00 !important; -} -.wynter.bg-orange-A700 { - background-color: #ff6d00 !important; -} -.wynter.text-deep-orange { - color: #ff5722 !important; -} -.wynter.bg-deep-orange { - background-color: #ff5722 !important; -} -.wynter.text-deep-orange-50 { - color: #fbe9e7 !important; -} -.wynter.bg-deep-orange-50 { - background-color: #fbe9e7 !important; -} -.wynter.text-deep-orange-100 { - color: #ffccbc !important; -} -.wynter.bg-deep-orange-100 { - background-color: #ffccbc !important; -} -.wynter.text-deep-orange-200 { - color: #ffab91 !important; -} -.wynter.bg-deep-orange-200 { - background-color: #ffab91 !important; -} -.wynter.text-deep-orange-300 { - color: #ff8a65 !important; -} -.wynter.bg-deep-orange-300 { - background-color: #ff8a65 !important; -} -.wynter.text-deep-orange-400 { - color: #ff7043 !important; -} -.wynter.bg-deep-orange-400 { - background-color: #ff7043 !important; -} -.wynter.text-deep-orange-500 { - color: #ff5722 !important; -} -.wynter.bg-deep-orange-500 { - background-color: #ff5722 !important; -} -.wynter.text-deep-orange-600 { - color: #f4511e !important; -} -.wynter.bg-deep-orange-600 { - background-color: #f4511e !important; -} -.wynter.text-deep-orange-700 { - color: #e64a19 !important; -} -.wynter.bg-deep-orange-700 { - background-color: #e64a19 !important; -} -.wynter.text-deep-orange-800 { - color: #d84315 !important; -} -.wynter.bg-deep-orange-800 { - background-color: #d84315 !important; -} -.wynter.text-deep-orange-900 { - color: #bf360c !important; -} -.wynter.bg-deep-orange-900 { - background-color: #bf360c !important; -} -.wynter.text-deep-orange-A100 { - color: #ff9e80 !important; -} -.wynter.bg-deep-orange-A100 { - background-color: #ff9e80 !important; -} -.wynter.text-deep-orange-A200 { - color: #ff6e40 !important; -} -.wynter.bg-deep-orange-A200 { - background-color: #ff6e40 !important; -} -.wynter.text-deep-orange-A400 { - color: #ff3d00 !important; -} -.wynter.bg-deep-orange-A400 { - background-color: #ff3d00 !important; -} -.wynter.text-deep-orange-A700 { - color: #dd2c00 !important; -} -.wynter.bg-deep-orange-A700 { - background-color: #dd2c00 !important; -} -.wynter.text-brown { - color: #795548 !important; -} -.wynter.bg-brown { - background-color: #795548 !important; -} -.wynter.text-brown-50 { - color: #efebe9 !important; -} -.wynter.bg-brown-50 { - background-color: #efebe9 !important; -} -.wynter.text-brown-100 { - color: #d7ccc8 !important; -} -.wynter.bg-brown-100 { - background-color: #d7ccc8 !important; -} -.wynter.text-brown-200 { - color: #bcaaa4 !important; -} -.wynter.bg-brown-200 { - background-color: #bcaaa4 !important; -} -.wynter.text-brown-300 { - color: #a1887f !important; -} -.wynter.bg-brown-300 { - background-color: #a1887f !important; -} -.wynter.text-brown-400 { - color: #8d6e63 !important; -} -.wynter.bg-brown-400 { - background-color: #8d6e63 !important; -} -.wynter.text-brown-500 { - color: #795548 !important; -} -.wynter.bg-brown-500 { - background-color: #795548 !important; -} -.wynter.text-brown-600 { - color: #6d4c41 !important; -} -.wynter.bg-brown-600 { - background-color: #6d4c41 !important; -} -.wynter.text-brown-700 { - color: #5d4037 !important; -} -.wynter.bg-brown-700 { - background-color: #5d4037 !important; -} -.wynter.text-brown-800 { - color: #4e342e !important; -} -.wynter.bg-brown-800 { - background-color: #4e342e !important; -} -.wynter.text-brown-900 { - color: #3e2723 !important; -} -.wynter.bg-brown-900 { - background-color: #3e2723 !important; -} -.wynter.text-grey { - color: #9e9e9e !important; -} -.wynter.bg-grey { - background-color: #9e9e9e !important; -} -.wynter.text-grey-50 { - color: #fafafa !important; -} -.wynter.bg-grey-50 { - background-color: #fafafa !important; -} -.wynter.text-grey-100 { - color: #f5f5f5 !important; -} -.wynter.bg-grey-100 { - background-color: #f5f5f5 !important; -} -.wynter.text-grey-200 { - color: #eee !important; -} -.wynter.bg-grey-200 { - background-color: #eee !important; -} -.wynter.text-grey-300 { - color: #e0e0e0 !important; -} -.wynter.bg-grey-300 { - background-color: #e0e0e0 !important; -} -.wynter.text-grey-400 { - color: #bdbdbd !important; -} -.wynter.bg-grey-400 { - background-color: #bdbdbd !important; -} -.wynter.text-grey-500 { - color: #9e9e9e !important; -} -.wynter.bg-grey-500 { - background-color: #9e9e9e !important; -} -.wynter.text-grey-600 { - color: #757575 !important; -} -.wynter.bg-grey-600 { - background-color: #757575 !important; -} -.wynter.text-grey-700 { - color: #616161 !important; -} -.wynter.bg-grey-700 { - background-color: #616161 !important; -} -.wynter.text-grey-800 { - color: #424242 !important; -} -.wynter.bg-grey-800 { - background-color: #424242 !important; -} -.wynter.text-grey-900 { - color: #212121 !important; -} -.wynter.bg-grey-900 { - background-color: #212121 !important; -} -.wynter.text-blue-grey { - color: #607d8b !important; -} -.wynter.bg-blue-grey { - background-color: #607d8b !important; -} -.wynter.text-blue-grey-50 { - color: #eceff1 !important; -} -.wynter.bg-blue-grey-50 { - background-color: #eceff1 !important; -} -.wynter.text-blue-grey-100 { - color: #cfd8dc !important; -} -.wynter.bg-blue-grey-100 { - background-color: #cfd8dc !important; -} -.wynter.text-blue-grey-200 { - color: #b0bec5 !important; -} -.wynter.bg-blue-grey-200 { - background-color: #b0bec5 !important; -} -.wynter.text-blue-grey-300 { - color: #90a4ae !important; -} -.wynter.bg-blue-grey-300 { - background-color: #90a4ae !important; -} -.wynter.text-blue-grey-400 { - color: #78909c !important; -} -.wynter.bg-blue-grey-400 { - background-color: #78909c !important; -} -.wynter.text-blue-grey-500 { - color: #607d8b !important; -} -.wynter.bg-blue-grey-500 { - background-color: #607d8b !important; -} -.wynter.text-blue-grey-600 { - color: #546e7a !important; -} -.wynter.bg-blue-grey-600 { - background-color: #546e7a !important; -} -.wynter.text-blue-grey-700 { - color: #455a64 !important; -} -.wynter.bg-blue-grey-700 { - background-color: #455a64 !important; -} -.wynter.text-blue-grey-800 { - color: #37474f !important; -} -.wynter.bg-blue-grey-800 { - background-color: #37474f !important; -} -.wynter.text-blue-grey-900 { - color: #263238 !important; -} -.wynter.bg-blue-grey-900 { - background-color: #263238 !important; -} -.wynter.bg-black { - background-color: #000 !important; -} -.wynter.text-black { - color: #000 !important; -} -.wynter.bg-white { - background-color: #fff !important; -} -.wynter.text-white { - color: #fff !important; -} -.wynter.bg-primary { - background-color: rgb(33, 150, 243) !important; -} -.wynter.bg-primary-contrast { - background-color: rgb(255, 255, 255) !important; -} -.wynter.bg-primary-dark { - background-color: rgb(25, 118, 210) !important; -} -.wynter.bg-accent { - background-color: rgb(64, 196, 255) !important; -} -.wynter.bg-accent-contrast { - background-color: rgb(66, 66, 66) !important; -} -.wynter.text-primary { - color: rgb(33, 150, 243) !important; -} -.wynter.text-primary-contrast { - color: rgb(255, 255, 255) !important; -} -.wynter.text-primary-dark { - color: rgb(25, 118, 210) !important; -} -.wynter.text-accent { - color: rgb(64, 196, 255) !important; -} -.wynter.text-accent-contrast { - color: rgb(66, 66, 66) !important; -} -.wynter.ripple { - background: #000; - border-radius: 50%; - height: 50px; - left: 0; - opacity: 0; - pointer-events: none; - position: absolute; - top: 0; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); - width: 50px; - overflow: hidden; -} -.wynter.ripple.is-animating { - transition: transform 0.3s cubic-bezier(0, 0, 0.2, 1), - width 0.3s cubic-bezier(0, 0, 0.2, 1), - height 0.3s cubic-bezier(0, 0, 0.2, 1), - opacity 0.6s cubic-bezier(0, 0, 0.2, 1); - transition: transform 0.3s cubic-bezier(0, 0, 0.2, 1), - width 0.3s cubic-bezier(0, 0, 0.2, 1), - height 0.3s cubic-bezier(0, 0, 0.2, 1), - opacity 0.6s cubic-bezier(0, 0, 0.2, 1), - -webkit-transform 0.3s cubic-bezier(0, 0, 0.2, 1); -} -.wynter.ripple.is-visible { - opacity: 0.3; -} -.wynter.animation--default, -.wynter.animation--fast-out-slow-in { - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); -} -.wynter.animation--linear-out-slow-in { - transition-timing-function: cubic-bezier(0, 0, 0.2, 1); -} -.wynter.animation--fast-out-linear-in { - transition-timing-function: cubic-bezier(0.4, 0, 1, 1); -} -.wynter.badge { - position: relative; - white-space: nowrap; - margin-right: 24px; -} -.wynter.badge:not([data-badge]) { - margin-right: auto; -} -.wynter.badge[data-badge]:after { - content: attr(data-badge); - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-align-content: center; - -ms-flex-line-pack: center; - align-content: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - position: absolute; - top: -11px; - right: -24px; - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - font-weight: 600; - font-size: 12px; - width: 22px; - height: 22px; - border-radius: 50%; - background: rgb(64, 196, 255); - color: rgb(66, 66, 66); -} -.wynter.btn .wynter.badge[data-badge]:after { - top: -10px; - right: -5px; -} -.wynter.badge.wynter.badge--no-background[data-badge]:after { - color: rgb(64, 196, 255); - background: rgba(66, 66, 66, 0.2); - box-shadow: 0 0 1px gray; -} -.wynter.badge.wynter.badge--overlap { - margin-right: 10px; -} -.wynter.badge.wynter.badge--overlap:after { - right: -10px; -} -.wynter.btn { - background: 0 0; - border: none; - border-radius: 2px; - color: #000; - position: relative; - height: 36px; - margin: 0; - min-width: 64px; - padding: 0 16px; - display: inline-block; - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - font-size: 14px; - font-weight: 500; - text-transform: uppercase; - letter-spacing: 0; - overflow: hidden; - will-change: box-shadow; - transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), - background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), - color 0.2s cubic-bezier(0.4, 0, 0.2, 1); - outline: none; - cursor: pointer; - text-decoration: none; - text-align: center; - line-height: 36px; - vertical-align: middle; -} -.wynter.btn::-moz-focus-inner { - border: 0; -} -.wynter.btn:hover { - background-color: rgba(158, 158, 158, 0.2); -} -.wynter.btn:focus:not(:active) { - background-color: rgba(0, 0, 0, 0.12); -} -.wynter.btn:active { - background-color: rgba(158, 158, 158, 0.4); -} -.wynter.btn.wynter.btn--colored { - color: rgb(33, 150, 243); -} -.wynter.btn.wynter.btn--colored:focus:not(:active) { - background-color: rgba(0, 0, 0, 0.12); -} -input.wynter.btn[type="submit"] { - -webkit-appearance: none; -} -.wynter.btn--raised { - background: rgba(158, 158, 158, 0.2); - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), - 0 1px 5px 0 rgba(0, 0, 0, 0.12); -} -.wynter.btn--raised:active { - box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), - 0 2px 4px -1px rgba(0, 0, 0, 0.2); - background-color: rgba(158, 158, 158, 0.4); -} -.wynter.btn--raised:focus:not(:active) { - box-shadow: 0 0 8px rgba(0, 0, 0, 0.18), 0 8px 16px rgba(0, 0, 0, 0.36); - background-color: rgba(158, 158, 158, 0.4); -} -.wynter.btn--raised.wynter.btn--colored { - background: rgb(33, 150, 243); - color: rgb(255, 255, 255); -} -.wynter.btn--raised.wynter.btn--colored:hover { - background-color: rgb(33, 150, 243); -} -.wynter.btn--raised.wynter.btn--colored:active { - background-color: rgb(33, 150, 243); -} -.wynter.btn--raised.wynter.btn--colored:focus:not(:active) { - background-color: rgb(33, 150, 243); -} -.wynter.btn--raised.wynter.btn--colored .wynter.ripple { - background: rgb(255, 255, 255); -} -.wynter.btn--fab { - border-radius: 50%; - font-size: 24px; - height: 56px; - margin: auto; - min-width: 56px; - width: 56px; - padding: 0; - overflow: hidden; - background: rgba(158, 158, 158, 0.2); - box-shadow: 0 1px 1.5px 0 rgba(0, 0, 0, 0.12), 0 1px 1px 0 rgba(0, 0, 0, 0.24); - position: relative; - line-height: normal; -} -.wynter.btn--fab .material-icons { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-12px, -12px); - transform: translate(-12px, -12px); - line-height: 24px; - width: 24px; -} -.wynter.btn--fab.wynter.btn--mini-fab { - height: 40px; - min-width: 40px; - width: 40px; -} -.wynter.btn--fab .wynter.btn__ripple-container { - border-radius: 50%; - -webkit-mask-image: -webkit-radial-gradient(circle, #fff, #000); - mask-image: -webkit-radial-gradient(circle, #fff, #000); -} -.wynter.btn--fab:active { - box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), - 0 2px 4px -1px rgba(0, 0, 0, 0.2); - background-color: rgba(158, 158, 158, 0.4); -} -.wynter.btn--fab:focus:not(:active) { - box-shadow: 0 0 8px rgba(0, 0, 0, 0.18), 0 8px 16px rgba(0, 0, 0, 0.36); - background-color: rgba(158, 158, 158, 0.4); -} -.wynter.btn--fab.wynter.btn--colored { - background: rgb(64, 196, 255); - color: rgb(66, 66, 66); -} -.wynter.btn--fab.wynter.btn--colored:hover { - background-color: rgb(64, 196, 255); -} -.wynter.btn--fab.wynter.btn--colored:focus:not(:active) { - background-color: rgb(64, 196, 255); -} -.wynter.btn--fab.wynter.btn--colored:active { - background-color: rgb(64, 196, 255); -} -.wynter.btn--fab.wynter.btn--colored .wynter.ripple { - background: rgb(66, 66, 66); -} -.wynter.btn--icon { - border-radius: 50%; - font-size: 24px; - height: 32px; - margin-left: 0; - margin-right: 0; - min-width: 32px; - width: 32px; - padding: 0; - overflow: hidden; - color: inherit; - line-height: normal; -} -.wynter.btn--icon .material-icons { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-12px, -12px); - transform: translate(-12px, -12px); - line-height: 24px; - width: 24px; -} -.wynter.btn--icon.wynter.btn--mini-icon { - height: 24px; - min-width: 24px; - width: 24px; -} -.wynter.btn--icon.wynter.btn--mini-icon .material-icons { - top: 0; - left: 0; -} -.wynter.btn--icon .wynter.btn__ripple-container { - border-radius: 50%; - mask-image: -webkit-radial-gradient(circle, #fff, #000); - -webkit-mask-image: -webkit-radial-gradient(circle, #fff, #000); -} -.wynter.btn__ripple-container { - display: block; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; - z-index: 0; - overflow: hidden; -} -.wynter.btn[disabled] .wynter.btn__ripple-container .wynter.ripple, -.wynter.btn.wynter.btn--disabled .wynter.btn__ripple-container .wynter.ripple { - background-color: transparent; -} -.wynter.btn--primary.wynter.btn--primary { - color: rgb(33, 150, 243); -} -.wynter.btn--primary.wynter.btn--primary .wynter.ripple { - background: rgb(255, 255, 255); -} -.wynter.btn--primary.wynter.btn--primary.wynter.btn--raised, -.wynter.btn--primary.wynter.btn--primary.wynter.btn--fab { - color: rgb(255, 255, 255); - background-color: rgb(33, 150, 243); -} -.wynter.btn--accent.wynter.btn--accent { - color: rgb(64, 196, 255); -} -.wynter.btn--accent.wynter.btn--accent .wynter.ripple { - background: rgb(66, 66, 66); -} -.wynter.btn--accent.wynter.btn--accent.wynter.btn--raised, -.wynter.btn--accent.wynter.btn--accent.wynter.btn--fab { - color: rgb(66, 66, 66); - background-color: rgb(64, 196, 255); -} -.wynter.btn[disabled][disabled], -.wynter.btn.wynter.btn--disabled.wynter.btn--disabled { - color: rgba(0, 0, 0, 0.26); - cursor: default; - background-color: transparent; -} -.wynter.btn--fab[disabled][disabled], -.wynter.btn--fab.wynter.btn--disabled.wynter.btn--disabled { - background-color: rgba(0, 0, 0, 0.12); - color: rgba(0, 0, 0, 0.26); -} -.wynter.btn--raised[disabled][disabled], -.wynter.btn--raised.wynter.btn--disabled.wynter.btn--disabled { - background-color: rgba(0, 0, 0, 0.12); - color: rgba(0, 0, 0, 0.26); - box-shadow: none; -} -.wynter.btn--colored[disabled][disabled], -.wynter.btn--colored.wynter.btn--disabled.wynter.btn--disabled { - color: rgba(0, 0, 0, 0.26); -} -.wynter.btn .material-icons { - vertical-align: middle; -} -.wynter.card { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - font-size: 16px; - font-weight: 400; - min-height: 200px; - overflow: hidden; - width: 330px; - z-index: 1; - position: relative; - background: #fff; - border-radius: 2px; - box-sizing: border-box; -} -.wynter.card__media { - background-color: rgb(64, 196, 255); - background-repeat: repeat; - background-position: 50% 50%; - background-size: cover; - background-origin: padding-box; - background-attachment: scroll; - box-sizing: border-box; -} -.wynter.card__title { - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - color: #000; - display: block; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-justify-content: stretch; - -ms-flex-pack: stretch; - justify-content: stretch; - line-height: normal; - padding: 16px; - -webkit-perspective-origin: 165px 56px; - perspective-origin: 165px 56px; - -webkit-transform-origin: 165px 56px; - transform-origin: 165px 56px; - box-sizing: border-box; -} -.wynter.card__title.wynter.card--border { - border-bottom: 1px solid rgba(0, 0, 0, 0.1); -} -.wynter.card__title-text { - -webkit-align-self: flex-end; - -ms-flex-item-align: end; - align-self: flex-end; - color: inherit; - display: block; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - font-size: 24px; - font-weight: 300; - line-height: normal; - overflow: hidden; - -webkit-transform-origin: 149px 48px; - transform-origin: 149px 48px; - margin: 0; -} -.wynter.card__subtitle-text { - font-size: 14px; - color: rgba(0, 0, 0, 0.54); - margin: 0; -} -.wynter.card__supporting-text { - color: rgba(0, 0, 0, 0.54); - font-size: 1rem; - line-height: 18px; - overflow: hidden; - padding: 16px; - width: 90%; -} -.wynter.card__supporting-text.wynter.card--border { - border-bottom: 1px solid rgba(0, 0, 0, 0.1); -} -.wynter.card__actions { - font-size: 16px; - line-height: normal; - width: 100%; - background-color: transparent; - padding: 8px; - box-sizing: border-box; -} -.wynter.card__actions.wynter.card--border { - border-top: 1px solid rgba(0, 0, 0, 0.1); -} -.wynter.card--expand { - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; -} -.wynter.card__menu { - position: absolute; - right: 16px; - top: 16px; -} -.wynter.checkbox { - position: relative; - z-index: 1; - vertical-align: middle; - display: inline-block; - box-sizing: border-box; - width: 100%; - height: 24px; - margin: 0; - padding: 0; -} -.wynter.checkbox.is-upgraded { - padding-left: 24px; -} -.wynter.checkbox__input { - line-height: 24px; -} -.wynter.checkbox.is-upgraded .wynter.checkbox__input { - position: absolute; - width: 0; - height: 0; - margin: 0; - padding: 0; - opacity: 0; - -ms-appearance: none; - -moz-appearance: none; - -webkit-appearance: none; - appearance: none; - border: none; -} -.wynter.checkbox__box-outline { - position: absolute; - top: 3px; - left: 0; - display: inline-block; - box-sizing: border-box; - width: 16px; - height: 16px; - margin: 0; - cursor: pointer; - overflow: hidden; - border: 2px solid rgba(0, 0, 0, 0.54); - border-radius: 2px; - z-index: 2; -} -.wynter.checkbox.is-checked .wynter.checkbox__box-outline { - border: 2px solid rgb(33, 150, 243); -} -fieldset[disabled] .wynter.checkbox .wynter.checkbox__box-outline, -.wynter.checkbox.is-disabled .wynter.checkbox__box-outline { - border: 2px solid rgba(0, 0, 0, 0.26); - cursor: auto; -} -.wynter.checkbox__focus-helper { - position: absolute; - top: 3px; - left: 0; - display: inline-block; - box-sizing: border-box; - width: 16px; - height: 16px; - border-radius: 50%; - background-color: transparent; -} -.wynter.checkbox.is-focused .wynter.checkbox__focus-helper { - box-shadow: 0 0 0 8px rgba(0, 0, 0, 0.1); - background-color: rgba(0, 0, 0, 0.1); -} -.wynter.checkbox.is-focused.is-checked .wynter.checkbox__focus-helper { - box-shadow: 0 0 0 8px rgba(33, 150, 243, 0.26); - background-color: rgba(33, 150, 243, 0.26); -} -.wynter.checkbox__tick-outline { - position: absolute; - top: 0; - left: 0; - height: 100%; - width: 100%; - -webkit-mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8ZGVmcz4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcCI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIDAsMSAxLDEgMSwwIDAsMCB6IE0gMC44NTM0Mzc1LDAuMTY3MTg3NSAwLjk1OTY4NzUsMC4yNzMxMjUgMC40MjkzNzUsMC44MDM0Mzc1IDAuMzIzMTI1LDAuOTA5Njg3NSAwLjIxNzE4NzUsMC44MDM0Mzc1IDAuMDQwMzEyNSwwLjYyNjg3NSAwLjE0NjU2MjUsMC41MjA2MjUgMC4zMjMxMjUsMC42OTc1IDAuODUzNDM3NSwwLjE2NzE4NzUgeiIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8bWFzayBpZD0ibWFzayIgbWFza1VuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgbWFza0NvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCAwLDEgMSwxIDEsMCAwLDAgeiBNIDAuODUzNDM3NSwwLjE2NzE4NzUgMC45NTk2ODc1LDAuMjczMTI1IDAuNDI5Mzc1LDAuODAzNDM3NSAwLjMyMzEyNSwwLjkwOTY4NzUgMC4yMTcxODc1LDAuODAzNDM3NSAwLjA0MDMxMjUsMC42MjY4NzUgMC4xNDY1NjI1LDAuNTIwNjI1IDAuMzIzMTI1LDAuNjk3NSAwLjg1MzQzNzUsMC4xNjcxODc1IHoiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8+CiAgICA8L21hc2s+CiAgPC9kZWZzPgogIDxyZWN0CiAgICAgd2lkdGg9IjEiCiAgICAgaGVpZ2h0PSIxIgogICAgIHg9IjAiCiAgICAgeT0iMCIKICAgICBjbGlwLXBhdGg9InVybCgjY2xpcCkiCiAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KPC9zdmc+Cg=="); - mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8ZGVmcz4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcCI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIDAsMSAxLDEgMSwwIDAsMCB6IE0gMC44NTM0Mzc1LDAuMTY3MTg3NSAwLjk1OTY4NzUsMC4yNzMxMjUgMC40MjkzNzUsMC44MDM0Mzc1IDAuMzIzMTI1LDAuOTA5Njg3NSAwLjIxNzE4NzUsMC44MDM0Mzc1IDAuMDQwMzEyNSwwLjYyNjg3NSAwLjE0NjU2MjUsMC41MjA2MjUgMC4zMjMxMjUsMC42OTc1IDAuODUzNDM3NSwwLjE2NzE4NzUgeiIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8bWFzayBpZD0ibWFzayIgbWFza1VuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgbWFza0NvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCAwLDEgMSwxIDEsMCAwLDAgeiBNIDAuODUzNDM3NSwwLjE2NzE4NzUgMC45NTk2ODc1LDAuMjczMTI1IDAuNDI5Mzc1LDAuODAzNDM3NSAwLjMyMzEyNSwwLjkwOTY4NzUgMC4yMTcxODc1LDAuODAzNDM3NSAwLjA0MDMxMjUsMC42MjY4NzUgMC4xNDY1NjI1LDAuNTIwNjI1IDAuMzIzMTI1LDAuNjk3NSAwLjg1MzQzNzUsMC4xNjcxODc1IHoiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8+CiAgICA8L21hc2s+CiAgPC9kZWZzPgogIDxyZWN0CiAgICAgd2lkdGg9IjEiCiAgICAgaGVpZ2h0PSIxIgogICAgIHg9IjAiCiAgICAgeT0iMCIKICAgICBjbGlwLXBhdGg9InVybCgjY2xpcCkiCiAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KPC9zdmc+Cg=="); - background: 0 0; - transition-duration: 0.28s; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-property: background; -} -.wynter.checkbox.is-checked .wynter.checkbox__tick-outline { - background: rgb(33, 150, 243) - url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K"); -} -fieldset[disabled] .wynter.checkbox.is-checked .wynter.checkbox__tick-outline, -.wynter.checkbox.is-checked.is-disabled .wynter.checkbox__tick-outline { - background: rgba(0, 0, 0, 0.26) - url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K"); -} -.wynter.checkbox__label { - position: relative; - cursor: pointer; - font-size: 16px; - line-height: 24px; - margin: 0; -} -fieldset[disabled] .wynter.checkbox .wynter.checkbox__label, -.wynter.checkbox.is-disabled .wynter.checkbox__label { - color: rgba(0, 0, 0, 0.26); - cursor: auto; -} -.wynter.checkbox__ripple-container { - position: absolute; - z-index: 2; - top: -6px; - left: -10px; - box-sizing: border-box; - width: 36px; - height: 36px; - border-radius: 50%; - cursor: pointer; - overflow: hidden; - mask-image: -webkit-radial-gradient(circle, #fff, #000); - -webkit-mask-image: -webkit-radial-gradient(circle, #fff, #000); -} -.wynter.checkbox__ripple-container .wynter.ripple { - background: rgb(33, 150, 243); -} -fieldset[disabled] .wynter.checkbox .wynter.checkbox__ripple-container, -.wynter.checkbox.is-disabled .wynter.checkbox__ripple-container { - cursor: auto; -} -fieldset[disabled] .wynter.checkbox .wynter.checkbox__ripple-container .wynter.ripple, -.wynter.checkbox.is-disabled .wynter.checkbox__ripple-container .wynter.ripple { - background: 0 0; -} -.wynter.chip { - height: 32px; - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - line-height: 32px; - padding: 0 12px; - border: 0; - border-radius: 16px; - background-color: #dedede; - display: inline-block; - color: rgba(0, 0, 0, 0.87); - margin: 2px 0; - font-size: 0; - white-space: nowrap; -} -.wynter.chip__text { - font-size: 13px; - vertical-align: middle; - display: inline-block; -} -.wynter.chip__action { - height: 24px; - width: 24px; - background: 0 0; - opacity: 0.54; - cursor: pointer; - padding: 0; - margin: 0 0 0 4px; - font-size: 13px; - text-decoration: none; - color: rgba(0, 0, 0, 0.87); - border: none; - outline: none; -} -.wynter.chip__action, -.wynter.chip__contact { - display: inline-block; - vertical-align: middle; - overflow: hidden; - text-align: center; -} -.wynter.chip__contact { - height: 32px; - width: 32px; - border-radius: 16px; - margin-right: 8px; - font-size: 18px; - line-height: 32px; -} -.wynter.chip:focus { - outline: 0; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), - 0 1px 5px 0 rgba(0, 0, 0, 0.12); -} -.wynter.chip:active { - background-color: #d6d6d6; -} -.wynter.chip--deletable { - padding-right: 4px; -} -.wynter.chip--contact { - padding-left: 0; -} -.wynter.data-table { - position: relative; - border: 1px solid rgba(0, 0, 0, 0.12); - border-collapse: collapse; - white-space: nowrap; - font-size: 13px; - background-color: #fff; -} -.wynter.data-table thead { - padding-bottom: 3px; -} -.wynter.data-table thead .wynter.data-table__select { - margin-top: 0; -} -.wynter.data-table tbody tr { - position: relative; - height: 48px; - transition-duration: 0.28s; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-property: background-color; -} -.wynter.data-table tbody tr.is-selected { - background-color: #e0e0e0; -} -.wynter.data-table tbody tr:hover { - background-color: #eee; -} -.wynter.data-table td { - text-align: right; -} -.wynter.data-table th { - padding: 0 18px 12px 18px; - text-align: right; -} -.wynter.data-table td:first-of-type, -.wynter.data-table th:first-of-type { - padding-left: 24px; -} -.wynter.data-table td:last-of-type, -.wynter.data-table th:last-of-type { - padding-right: 24px; -} -.wynter.data-table td { - position: relative; - height: 48px; - border-top: 1px solid rgba(0, 0, 0, 0.12); - border-bottom: 1px solid rgba(0, 0, 0, 0.12); - padding: 12px 18px; - box-sizing: border-box; -} -.wynter.data-table td, -.wynter.data-table td .wynter.data-table__select { - vertical-align: middle; -} -.wynter.data-table th { - position: relative; - vertical-align: bottom; - text-overflow: ellipsis; - font-weight: 700; - line-height: 24px; - letter-spacing: 0; - height: 48px; - font-size: 12px; - color: rgba(0, 0, 0, 0.54); - padding-bottom: 8px; - box-sizing: border-box; -} -.wynter.data-table th.wynter.data-table__header--sorted-ascending, -.wynter.data-table th.wynter.data-table__header--sorted-descending { - color: rgba(0, 0, 0, 0.87); -} -.wynter.data-table th.wynter.data-table__header--sorted-ascending:before, -.wynter.data-table th.wynter.data-table__header--sorted-descending:before { - font-family: "Material Icons"; - font-weight: 400; - font-style: normal; - line-height: 1; - letter-spacing: normal; - text-transform: none; - display: inline-block; - word-wrap: normal; - -moz-font-feature-settings: "liga"; - font-feature-settings: "liga"; - -webkit-font-feature-settings: "liga"; - -webkit-font-smoothing: antialiased; - font-size: 16px; - content: "\e5d8"; - margin-right: 5px; - vertical-align: sub; -} -.wynter.data-table th.wynter.data-table__header--sorted-ascending:hover, -.wynter.data-table th.wynter.data-table__header--sorted-descending:hover { - cursor: pointer; -} -.wynter.data-table th.wynter.data-table__header--sorted-ascending:hover:before, -.wynter.data-table th.wynter.data-table__header--sorted-descending:hover:before { - color: rgba(0, 0, 0, 0.26); -} -.wynter.data-table th.wynter.data-table__header--sorted-descending:before { - content: "\e5db"; -} -.wynter.data-table__select { - width: 16px; -} -.wynter.data-table__cell-non-numeric.wynter.data-table__cell-non-numeric { - text-align: left; -} -.wynter.dialog { - border: none; - box-shadow: 0 9px 46px 8px rgba(0, 0, 0, 0.14), - 0 11px 15px -7px rgba(0, 0, 0, 0.12), 0 24px 38px 3px rgba(0, 0, 0, 0.2); - width: 280px; -} -.wynter.dialog__title { - padding: 24px 24px 0; - margin: 0; - font-size: 2.5rem; -} -.wynter.dialog__actions { - padding: 8px 8px 8px 24px; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: row-reverse; - -ms-flex-direction: row-reverse; - flex-direction: row-reverse; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; -} -.wynter.dialog__actions > * { - margin-right: 8px; - height: 36px; -} -.wynter.dialog__actions > *:first-child { - margin-right: 0; -} -.wynter.dialog__actions--full-width { - padding: 0 0 8px; -} -.wynter.dialog__actions--full-width > * { - height: 48px; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - padding-right: 16px; - margin-right: 0; - text-align: right; -} -.wynter.dialog__content { - padding: 20px 24px 24px; - color: rgba(0, 0, 0, 0.54); -} -.wynter.mega-footer { - padding: 16px 40px; - color: #9e9e9e; - background-color: #424242; -} -.wynter.mega-footer--top-section:after, -.wynter.mega-footer--middle-section:after, -.wynter.mega-footer--bottom-section:after, -.wynter.mega-footer__top-section:after, -.wynter.mega-footer__middle-section:after, -.wynter.mega-footer__bottom-section:after { - content: ""; - display: block; - clear: both; -} -.wynter.mega-footer--left-section, -.wynter.mega-footer__left-section, -.wynter.mega-footer--right-section, -.wynter.mega-footer__right-section { - margin-bottom: 16px; -} -.wynter.mega-footer--right-section a, -.wynter.mega-footer__right-section a { - display: block; - margin-bottom: 16px; - color: inherit; - text-decoration: none; -} -@media screen and (min-width: 760px) { - .wynter.mega-footer--left-section, - .wynter.mega-footer__left-section { - float: left; - } - .wynter.mega-footer--right-section, - .wynter.mega-footer__right-section { - float: right; - } - .wynter.mega-footer--right-section a, - .wynter.mega-footer__right-section a { - display: inline-block; - margin-left: 16px; - line-height: 36px; - vertical-align: middle; - } -} -.wynter.mega-footer--social-btn, -.wynter.mega-footer__social-btn { - width: 36px; - height: 36px; - padding: 0; - margin: 0; - background-color: #9e9e9e; - border: none; -} -.wynter.mega-footer--drop-down-section, -.wynter.mega-footer__drop-down-section { - display: block; - position: relative; -} -@media screen and (min-width: 760px) { - .wynter.mega-footer--drop-down-section, - .wynter.mega-footer__drop-down-section { - width: 33%; - } - .wynter.mega-footer--drop-down-section:nth-child(1), - .wynter.mega-footer--drop-down-section:nth-child(2), - .wynter.mega-footer__drop-down-section:nth-child(1), - .wynter.mega-footer__drop-down-section:nth-child(2) { - float: left; - } - .wynter.mega-footer--drop-down-section:nth-child(3), - .wynter.mega-footer__drop-down-section:nth-child(3) { - float: right; - } - .wynter.mega-footer--drop-down-section:nth-child(3):after, - .wynter.mega-footer__drop-down-section:nth-child(3):after { - clear: right; - } - .wynter.mega-footer--drop-down-section:nth-child(4), - .wynter.mega-footer__drop-down-section:nth-child(4) { - clear: right; - float: right; - } - .wynter.mega-footer--middle-section:after, - .wynter.mega-footer__middle-section:after { - content: ""; - display: block; - clear: both; - } - .wynter.mega-footer--bottom-section, - .wynter.mega-footer__bottom-section { - padding-top: 0; - } -} -@media screen and (min-width: 1024px) { - .wynter.mega-footer--drop-down-section, - .wynter.mega-footer--drop-down-section:nth-child(3), - .wynter.mega-footer--drop-down-section:nth-child(4), - .wynter.mega-footer__drop-down-section, - .wynter.mega-footer__drop-down-section:nth-child(3), - .wynter.mega-footer__drop-down-section:nth-child(4) { - width: 24%; - float: left; - } -} -.wynter.mega-footer--heading-checkbox, -.wynter.mega-footer__heading-checkbox { - position: absolute; - width: 100%; - height: 55.8px; - padding: 32px; - margin: -16px 0 0; - cursor: pointer; - z-index: 1; - opacity: 0; -} -.wynter.mega-footer--heading-checkbox + .wynter.mega-footer--heading:after, -.wynter.mega-footer--heading-checkbox + .wynter.mega-footer__heading:after, -.wynter.mega-footer__heading-checkbox + .wynter.mega-footer--heading:after, -.wynter.mega-footer__heading-checkbox + .wynter.mega-footer__heading:after { - font-family: "Material Icons"; - content: "\E5CE"; -} -.wynter.mega-footer--heading-checkbox:checked ~ .wynter.mega-footer--link-list, -.wynter.mega-footer--heading-checkbox:checked ~ .wynter.mega-footer__link-list, -.wynter.mega-footer--heading-checkbox:checked - + .wynter.mega-footer--heading - + .wynter.mega-footer--link-list, -.wynter.mega-footer--heading-checkbox:checked - + .wynter.mega-footer__heading - + .wynter.mega-footer__link-list, -.wynter.mega-footer__heading-checkbox:checked ~ .wynter.mega-footer--link-list, -.wynter.mega-footer__heading-checkbox:checked ~ .wynter.mega-footer__link-list, -.wynter.mega-footer__heading-checkbox:checked - + .wynter.mega-footer--heading - + .wynter.mega-footer--link-list, -.wynter.mega-footer__heading-checkbox:checked - + .wynter.mega-footer__heading - + .wynter.mega-footer__link-list { - display: none; -} -.wynter.mega-footer--heading-checkbox:checked + .wynter.mega-footer--heading:after, -.wynter.mega-footer--heading-checkbox:checked + .wynter.mega-footer__heading:after, -.wynter.mega-footer__heading-checkbox:checked + .wynter.mega-footer--heading:after, -.wynter.mega-footer__heading-checkbox:checked + .wynter.mega-footer__heading:after { - font-family: "Material Icons"; - content: "\E5CF"; -} -.wynter.mega-footer--heading, -.wynter.mega-footer__heading { - position: relative; - width: 100%; - padding-right: 39.8px; - margin-bottom: 16px; - box-sizing: border-box; - font-size: 14px; - line-height: 23.8px; - font-weight: 500; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - color: #e0e0e0; -} -.wynter.mega-footer--heading:after, -.wynter.mega-footer__heading:after { - content: ""; - position: absolute; - top: 0; - right: 0; - display: block; - width: 23.8px; - height: 23.8px; - background-size: cover; -} -.wynter.mega-footer--link-list, -.wynter.mega-footer__link-list { - list-style: none; - padding: 0; - margin: 0 0 32px; -} -.wynter.mega-footer--link-list:after, -.wynter.mega-footer__link-list:after { - clear: both; - display: block; - content: ""; -} -.wynter.mega-footer--link-list li, -.wynter.mega-footer__link-list li { - font-size: 14px; - font-weight: 400; - letter-spacing: 0; - line-height: 20px; -} -.wynter.mega-footer--link-list a, -.wynter.mega-footer__link-list a { - color: inherit; - text-decoration: none; - white-space: nowrap; -} -@media screen and (min-width: 760px) { - .wynter.mega-footer--heading-checkbox, - .wynter.mega-footer__heading-checkbox { - display: none; - } - .wynter.mega-footer--heading-checkbox + .wynter.mega-footer--heading:after, - .wynter.mega-footer--heading-checkbox + .wynter.mega-footer__heading:after, - .wynter.mega-footer__heading-checkbox + .wynter.mega-footer--heading:after, - .wynter.mega-footer__heading-checkbox + .wynter.mega-footer__heading:after { - content: ""; - } - .wynter.mega-footer--heading-checkbox:checked ~ .wynter.mega-footer--link-list, - .wynter.mega-footer--heading-checkbox:checked ~ .wynter.mega-footer__link-list, - .wynter.mega-footer--heading-checkbox:checked - + .wynter.mega-footer__heading - + .wynter.mega-footer__link-list, - .wynter.mega-footer--heading-checkbox:checked - + .wynter.mega-footer--heading - + .wynter.mega-footer--link-list, - .wynter.mega-footer__heading-checkbox:checked ~ .wynter.mega-footer--link-list, - .wynter.mega-footer__heading-checkbox:checked ~ .wynter.mega-footer__link-list, - .wynter.mega-footer__heading-checkbox:checked - + .wynter.mega-footer__heading - + .wynter.mega-footer__link-list, - .wynter.mega-footer__heading-checkbox:checked - + .wynter.mega-footer--heading - + .wynter.mega-footer--link-list { - display: block; - } - .wynter.mega-footer--heading-checkbox:checked + .wynter.mega-footer--heading:after, - .wynter.mega-footer--heading-checkbox:checked + .wynter.mega-footer__heading:after, - .wynter.mega-footer__heading-checkbox:checked + .wynter.mega-footer--heading:after, - .wynter.mega-footer__heading-checkbox:checked + .wynter.mega-footer__heading:after { - content: ""; - } -} -.wynter.mega-footer--bottom-section, -.wynter.mega-footer__bottom-section { - padding-top: 16px; - margin-bottom: 16px; -} -.wynter.logo { - margin-bottom: 16px; - color: #fff; -} -.wynter.mega-footer--bottom-section .wynter.mega-footer--link-list li, -.wynter.mega-footer__bottom-section .wynter.mega-footer__link-list li { - float: left; - margin-bottom: 0; - margin-right: 16px; -} -@media screen and (min-width: 760px) { - .wynter.logo { - float: left; - margin-bottom: 0; - margin-right: 16px; - } -} -.wynter.mini-footer { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 32px 16px; - color: #9e9e9e; - background-color: #424242; -} -.wynter.mini-footer:after { - content: ""; - display: block; -} -.wynter.mini-footer .wynter.logo { - line-height: 36px; -} -.wynter.mini-footer--link-list, -.wynter.mini-footer__link-list { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-flow: row nowrap; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - list-style: none; - margin: 0; - padding: 0; -} -.wynter.mini-footer--link-list li, -.wynter.mini-footer__link-list li { - margin-bottom: 0; - margin-right: 16px; -} -@media screen and (min-width: 760px) { - .wynter.mini-footer--link-list li, - .wynter.mini-footer__link-list li { - line-height: 36px; - } -} -.wynter.mini-footer--link-list a, -.wynter.mini-footer__link-list a { - color: inherit; - text-decoration: none; - white-space: nowrap; -} -.wynter.mini-footer--left-section, -.wynter.mini-footer__left-section { - display: inline-block; - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; -} -.wynter.mini-footer--right-section, -.wynter.mini-footer__right-section { - display: inline-block; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; -} -.wynter.mini-footer--social-btn, -.wynter.mini-footer__social-btn { - width: 36px; - height: 36px; - padding: 0; - margin: 0; - background-color: #9e9e9e; - border: none; -} -.wynter.icon-toggle { - position: relative; - z-index: 1; - vertical-align: middle; - display: inline-block; - height: 32px; - margin: 0; - padding: 0; -} -.wynter.icon-toggle__input { - line-height: 32px; -} -.wynter.icon-toggle.is-upgraded .wynter.icon-toggle__input { - position: absolute; - width: 0; - height: 0; - margin: 0; - padding: 0; - opacity: 0; - -ms-appearance: none; - -moz-appearance: none; - -webkit-appearance: none; - appearance: none; - border: none; -} -.wynter.icon-toggle__label { - display: inline-block; - position: relative; - cursor: pointer; - height: 32px; - width: 32px; - min-width: 32px; - color: #616161; - border-radius: 50%; - padding: 0; - margin-left: 0; - margin-right: 0; - text-align: center; - background-color: transparent; - will-change: background-color; - transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), - color 0.2s cubic-bezier(0.4, 0, 0.2, 1); -} -.wynter.icon-toggle__label.material-icons { - line-height: 32px; - font-size: 24px; -} -.wynter.icon-toggle.is-checked .wynter.icon-toggle__label { - color: rgb(33, 150, 243); -} -.wynter.icon-toggle.is-disabled .wynter.icon-toggle__label { - color: rgba(0, 0, 0, 0.26); - cursor: auto; - transition: none; -} -.wynter.icon-toggle.is-focused .wynter.icon-toggle__label { - background-color: rgba(0, 0, 0, 0.12); -} -.wynter.icon-toggle.is-focused.is-checked .wynter.icon-toggle__label { - background-color: rgba(33, 150, 243, 0.26); -} -.wynter.icon-toggle__ripple-container { - position: absolute; - z-index: 2; - top: -2px; - left: -2px; - box-sizing: border-box; - width: 36px; - height: 36px; - border-radius: 50%; - cursor: pointer; - overflow: hidden; - mask-image: -webkit-radial-gradient(circle, #fff, #000); - -webkit-mask-image: -webkit-radial-gradient(circle, #fff, #000); -} -.wynter.icon-toggle__ripple-container .wynter.ripple { - background: #616161; -} -.wynter.icon-toggle.is-disabled .wynter.icon-toggle__ripple-container { - cursor: auto; -} -.wynter.icon-toggle.is-disabled .wynter.icon-toggle__ripple-container .wynter.ripple { - background: 0 0; -} -.wynter.list { - display: block; - padding: 8px 0; - list-style: none; -} -.wynter.list.item { - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - font-size: 16px; - font-weight: 400; - letter-spacing: 0.04em; - line-height: 1; - min-height: 48px; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - padding: 16px; - cursor: default; - color: rgba(0, 0, 0, 0.87); - overflow: hidden; -} -.wynter.list.item, -.wynter.list.item .wynter.list.item-primary-content { - box-sizing: border-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} -.wynter.list.item .wynter.list.item-primary-content { - -webkit-order: 0; - -ms-flex-order: 0; - order: 0; - -webkit-flex-grow: 2; - -ms-flex-positive: 2; - flex-grow: 2; - text-decoration: none; -} -.wynter.list.item .wynter.list.item-primary-content .wynter.list.item-icon { - margin-right: 32px; -} -.wynter.list.item .wynter.list.item-primary-content .wynter.list.item-avatar { - margin-right: 16px; -} -.wynter.list.item .wynter.list.item-secondary-content { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-flow: column; - -ms-flex-flow: column; - flex-flow: column; - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; - margin-left: 16px; -} -.wynter.list.item - .wynter.list.item-secondary-content - .wynter.list.item-secondary-action - label { - display: inline; -} -.wynter.list.item - .wynter.list.item-secondary-content - .wynter.list.item-secondary-info { - font-size: 12px; - font-weight: 400; - line-height: 1; - letter-spacing: 0; - color: rgba(0, 0, 0, 0.54); -} -.wynter.list.item .wynter.list.item-secondary-content .wynter.list.item-sub-header { - padding: 0 0 0 16px; -} -.wynter.list.item-icon, -.wynter.list.item-icon.material-icons { - height: 24px; - width: 24px; - font-size: 24px; - box-sizing: border-box; - color: #757575; -} -.wynter.list.item-avatar, -.wynter.list.item-avatar.material-icons { - height: 40px; - width: 40px; - box-sizing: border-box; - border-radius: 50%; - background-color: #757575; - font-size: 40px; - color: #fff; -} -.wynter.list.item--two-line { - height: 72px; -} -.wynter.list.item--two-line .wynter.list.item-primary-content { - height: 36px; - line-height: 20px; - display: block; -} -.wynter.list.item--two-line - .wynter.list.item-primary-content - .wynter.list.item-avatar { - float: left; -} -.wynter.list.item--two-line .wynter.list.item-primary-content .wynter.list.item-icon { - float: left; - margin-top: 6px; -} -.wynter.list.item--two-line - .wynter.list.item-primary-content - .wynter.list.item-secondary-content { - height: 36px; -} -.wynter.list.item--two-line - .wynter.list.item-primary-content - .wynter.list.item-sub-title { - font-size: 14px; - font-weight: 400; - letter-spacing: 0; - line-height: 18px; - color: rgba(0, 0, 0, 0.54); - display: block; - padding: 0; -} -.wynter.list.item--three-line { - height: 88px; -} -.wynter.list.item--three-line .wynter.list.item-primary-content { - height: 52px; - line-height: 20px; - display: block; -} -.wynter.list.item--three-line - .wynter.list.item-primary-content - .wynter.list.item-avatar, -.wynter.list.item--three-line - .wynter.list.item-primary-content - .wynter.list.item-icon { - float: left; -} -.wynter.list.item--three-line .wynter.list.item-secondary-content { - height: 52px; -} -.wynter.list.item--three-line .wynter.list.item-text-body { - font-size: 14px; - font-weight: 400; - letter-spacing: 0; - line-height: 18px; - height: 52px; - color: rgba(0, 0, 0, 0.54); - display: block; - padding: 0; -} -.wynter.menu__container { - display: block; - margin: 0; - padding: 0; - border: none; - position: absolute; - overflow: visible; - height: 0; - width: 0; - visibility: hidden; - z-index: -1; -} -.wynter.menu__container.is-visible, -.wynter.menu__container.is-animating { - z-index: 999; - visibility: visible; -} -.wynter.menu__outline { - display: block; - background: #fff; - margin: 0; - padding: 0; - border: none; - border-radius: 2px; - position: absolute; - top: 0; - left: 0; - overflow: hidden; - opacity: 0; - -webkit-transform: scale(0); - transform: scale(0); - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), - 0 1px 5px 0 rgba(0, 0, 0, 0.12); - will-change: transform; - transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), - opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1); - transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), - opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), - -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); - z-index: -1; -} -.wynter.menu__container.is-visible .wynter.menu__outline { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1); - z-index: 999; -} -.wynter.menu__outline.wynter.menu--bottom-right { - -webkit-transform-origin: 100% 0; - transform-origin: 100% 0; -} -.wynter.menu__outline.wynter.menu--top-left { - -webkit-transform-origin: 0 100%; - transform-origin: 0 100%; -} -.wynter.menu__outline.wynter.menu--top-right { - -webkit-transform-origin: 100% 100%; - transform-origin: 100% 100%; -} -.wynter.menu { - position: absolute; - list-style: none; - top: 0; - left: 0; - height: auto; - width: auto; - min-width: 124px; - padding: 8px 0; - margin: 0; - opacity: 0; - clip: rect(0 0 0 0); - z-index: -1; -} -.wynter.menu__container.is-visible .wynter.menu { - opacity: 1; - z-index: 999; -} -.wynter.menu.is-animating { - transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), - clip 0.3s cubic-bezier(0.4, 0, 0.2, 1); -} -.wynter.menu.wynter.menu--bottom-right { - left: auto; - right: 0; -} -.wynter.menu.wynter.menu--top-left { - top: auto; - bottom: 0; -} -.wynter.menu.wynter.menu--top-right { - top: auto; - left: auto; - bottom: 0; - right: 0; -} -.wynter.menu.wynter.menu--unaligned { - top: auto; - left: auto; -} -.wynter.menu__item { - display: block; - border: none; - color: rgba(0, 0, 0, 0.87); - background-color: transparent; - text-align: left; - margin: 0; - padding: 0 16px; - outline-color: #bdbdbd; - position: relative; - overflow: hidden; - font-size: 14px; - font-weight: 400; - letter-spacing: 0; - text-decoration: none; - cursor: pointer; - height: 48px; - line-height: 48px; - white-space: nowrap; - opacity: 0; - transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1); - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.wynter.menu__container.is-visible .wynter.menu__item { - opacity: 1; -} -.wynter.menu__item::-moz-focus-inner { - border: 0; -} -.wynter.menu__item--full-bleed-divider { - border-bottom: 1px solid rgba(0, 0, 0, 0.12); -} -.wynter.menu__item[disabled], -.wynter.menu__item[data-wyn-disabled] { - color: #bdbdbd; - background-color: transparent; - cursor: auto; -} -.wynter.menu__item[disabled]:hover, -.wynter.menu__item[data-wyn-disabled]:hover { - background-color: transparent; -} -.wynter.menu__item[disabled]:focus, -.wynter.menu__item[data-wyn-disabled]:focus { - background-color: transparent; -} -.wynter.menu__item[disabled] .wynter.ripple, -.wynter.menu__item[data-wyn-disabled] .wynter.ripple { - background: 0 0; -} -.wynter.menu__item:hover { - background-color: #eee; -} -.wynter.menu__item:focus { - outline: none; - background-color: #eee; -} -.wynter.menu__item:active { - background-color: #e0e0e0; -} -.wynter.menu__item--ripple-container { - display: block; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; - z-index: 0; - overflow: hidden; -} -.wynter.progress { - display: block; - position: relative; - height: 4px; - width: 500px; - max-width: 100%; -} -.wynter.progress > .bar { - display: block; - position: absolute; - top: 0; - bottom: 0; - width: 0%; - transition: width 0.2s cubic-bezier(0.4, 0, 0.2, 1); -} -.wynter.progress > .progressbar { - background-color: rgb(33, 150, 243); - z-index: 1; - left: 0; -} -.wynter.progress > .bufferbar { - background-image: linear-gradient( - to right, - rgba(255, 255, 255, 0.7), - rgba(255, 255, 255, 0.7) - ), - linear-gradient(to right, rgb(33, 150, 243), rgb(33, 150, 243)); - z-index: 0; - left: 0; -} -.wynter.progress > .auxbar { - right: 0; -} -@supports (-webkit-appearance: none) { - .wynter.progress:not(.wynter.progress--indeterminate):not(.wynter.progress--indeterminate) - > .auxbar, - .wynter.progress:not(.wynter.progress__indeterminate):not(.wynter.progress__indeterminate) - > .auxbar { - background-image: linear-gradient( - to right, - rgba(255, 255, 255, 0.7), - rgba(255, 255, 255, 0.7) - ), - linear-gradient(to right, rgb(33, 150, 243), rgb(33, 150, 243)); - -webkit-mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjQiIHZpZXdQb3J0PSIwIDAgMTIgNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxlbGxpcHNlIGN4PSIyIiBjeT0iMiIgcng9IjIiIHJ5PSIyIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4IiBmcm9tPSIyIiB0bz0iLTEwIiBkdXI9IjAuNnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPgogIDwvZWxsaXBzZT4KICA8ZWxsaXBzZSBjeD0iMTQiIGN5PSIyIiByeD0iMiIgcnk9IjIiIGNsYXNzPSJsb2FkZXIiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giIGZyb209IjE0IiB0bz0iMiIgZHVyPSIwLjZzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4KICA8L2VsbGlwc2U+Cjwvc3ZnPgo="); - mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjQiIHZpZXdQb3J0PSIwIDAgMTIgNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxlbGxpcHNlIGN4PSIyIiBjeT0iMiIgcng9IjIiIHJ5PSIyIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4IiBmcm9tPSIyIiB0bz0iLTEwIiBkdXI9IjAuNnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPgogIDwvZWxsaXBzZT4KICA8ZWxsaXBzZSBjeD0iMTQiIGN5PSIyIiByeD0iMiIgcnk9IjIiIGNsYXNzPSJsb2FkZXIiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giIGZyb209IjE0IiB0bz0iMiIgZHVyPSIwLjZzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4KICA8L2VsbGlwc2U+Cjwvc3ZnPgo="); - } -} -.wynter.progress:not(.wynter.progress--indeterminate) > .auxbar, -.wynter.progress:not(.wynter.progress__indeterminate) > .auxbar { - background-image: linear-gradient( - to right, - rgba(255, 255, 255, 0.9), - rgba(255, 255, 255, 0.9) - ), - linear-gradient(to right, rgb(33, 150, 243), rgb(33, 150, 243)); -} -.wynter.progress.wynter.progress--indeterminate > .bar1, -.wynter.progress.wynter.progress__indeterminate > .bar1 { - -webkit-animation-name: indeterminate1; - animation-name: indeterminate1; -} -.wynter.progress.wynter.progress--indeterminate > .bar1, -.wynter.progress.wynter.progress__indeterminate > .bar1, -.wynter.progress.wynter.progress--indeterminate > .bar3, -.wynter.progress.wynter.progress__indeterminate > .bar3 { - background-color: rgb(33, 150, 243); - -webkit-animation-duration: 2s; - animation-duration: 2s; - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; - -webkit-animation-timing-function: linear; - animation-timing-function: linear; -} -.wynter.progress.wynter.progress--indeterminate > .bar3, -.wynter.progress.wynter.progress__indeterminate > .bar3 { - background-image: none; - -webkit-animation-name: indeterminate2; - animation-name: indeterminate2; -} -@-webkit-keyframes indeterminate1 { - 0% { - left: 0%; - width: 0%; - } - 50% { - left: 25%; - width: 75%; - } - 75% { - left: 100%; - width: 0%; - } -} -@keyframes indeterminate1 { - 0% { - left: 0%; - width: 0%; - } - 50% { - left: 25%; - width: 75%; - } - 75% { - left: 100%; - width: 0%; - } -} -@-webkit-keyframes indeterminate2 { - 0%, - 50% { - left: 0%; - width: 0%; - } - 75% { - left: 0%; - width: 25%; - } - 100% { - left: 100%; - width: 0%; - } -} -@keyframes indeterminate2 { - 0%, - 50% { - left: 0%; - width: 0%; - } - 75% { - left: 0%; - width: 25%; - } - 100% { - left: 100%; - width: 0%; - } -} -.wynter.navigation { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - box-sizing: border-box; -} -.wynter.nav-link { - color: #424242; - text-decoration: none; - margin: 0; - font-size: 14px; - font-weight: 400; - line-height: 24px; - letter-spacing: 0; - opacity: 0.87; -} -.wynter.nav-link .material-icons { - vertical-align: middle; -} -.wynter.layout { - width: 100%; - height: 100%; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - overflow-y: auto; - overflow-x: hidden; - position: relative; - -webkit-overflow-scrolling: touch; -} -.wynter.layout-center-all { - display: flex; - flex-direction: column; - width: 100% !important; - height: 100% !important; - justify-content: center; - align-items: center; -} -.wynter.layout.is-small-screen .wynter.layout--large-screen-only { - display: none; -} -.wynter.layout:not(.is-small-screen) .wynter.layout--small-screen-only { - display: none; -} -.wynter.cnt { - position: absolute; - width: 100%; - height: 100%; -} -.wynter.title { - display: block; - position: relative; - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - font-size: 20px; - line-height: 1; - letter-spacing: 0.02em; - font-weight: 400; - box-sizing: border-box; -} -.wynter.spacer { - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; -} -.wynter.drawer { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - width: 240px; - height: 100%; - max-height: 100%; - position: absolute; - top: 0; - left: 0; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), - 0 1px 5px 0 rgba(0, 0, 0, 0.12); - box-sizing: border-box; - border-right: 1px solid #e0e0e0; - background: #fafafa; - -webkit-transform: translateX(-250px); - transform: translateX(-250px); - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; - will-change: transform; - transition-duration: 0.2s; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-property: transform; - transition-property: transform, -webkit-transform; - color: #424242; - overflow: visible; - overflow-y: auto; - z-index: 5; -} -.wynter.drawer.is-visible { - -webkit-transform: translateX(0); - transform: translateX(0); -} -.wynter.drawer.is-visible ~ .wynter.content.wynter.content { - overflow: hidden; -} -.wynter.drawer > * { - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; -} -.wynter.drawer > .wynter.title, -.wynter.drawer > .wynter.layout-title { - line-height: 64px; - padding-left: 40px; -} -@media screen and (max-width: 1024px) { - .wynter.drawer > .wynter.title, - .wynter.drawer > .wynter.layout-title { - line-height: 56px; - padding-left: 16px; - } -} -.wynter.drawer .wynter.navigation { - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch; - padding-top: 16px; -} -.wynter.drawer .wynter.navigation .wynter.nav-link { - display: block; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - padding: 16px 40px; - margin: 0; - color: #757575; -} -@media screen and (max-width: 1024px) { - .wynter.drawer .wynter.navigation .wynter.nav-link { - padding: 16px; - } -} -.wynter.drawer .wynter.navigation .wynter.nav-link:hover { - background-color: #e0e0e0; -} -.wynter.drawer .wynter.navigation .wynter.nav-link--current { - background-color: #e0e0e0; - color: #000; -} -@media screen and (min-width: 1025px) { - .wynter.layout--fixed-drawer > .wynter.drawer { - -webkit-transform: translateX(0); - transform: translateX(0); - } -} -.wynter.drawer-btn { - display: block; - position: absolute; - height: 48px; - width: 48px; - border: 0; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - overflow: hidden; - text-align: center; - cursor: pointer; - font-size: 26px; - line-height: 56px; - font-family: Helvetica, Arial, sans-serif; - margin: 8px 12px; - top: 0; - left: 0; - color: rgb(255, 255, 255); - z-index: 4; -} -.wynter.header .wynter.drawer-btn { - position: absolute; - color: rgb(255, 255, 255); - background-color: inherit; -} -@media screen and (max-width: 1024px) { - .wynter.header .wynter.drawer-btn { - margin: 4px; - } -} -@media screen and (max-width: 1024px) { - .wynter.drawer-btn { - margin: 4px; - color: rgba(0, 0, 0, 0.5); - } -} -@media screen and (min-width: 1025px) { - .wynter.drawer-btn { - line-height: 54px; - } - .wynter.layout--no-desktop-drawer-btn .wynter.drawer-btn, - .wynter.layout--fixed-drawer > .wynter.drawer-btn, - .wynter.layout--no-drawer-btn .wynter.drawer-btn { - display: none; - } -} -.wynter.header { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; - box-sizing: border-box; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - width: 100%; - margin: 0; - padding: 0; - border: none; - min-height: 64px; - max-height: 1000px; - z-index: 3; - background-color: rgb(33, 150, 243); - color: rgb(255, 255, 255); - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), - 0 1px 5px 0 rgba(0, 0, 0, 0.12); - transition-duration: 0.2s; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-property: max-height, box-shadow; -} -@media screen and (max-width: 1024px) { - .wynter.header { - min-height: 56px; - } -} -.wynter.layout--fixed-drawer.is-upgraded:not(.is-small-screen) - > .wynter.header { - margin-left: 240px; - width: calc(100% - 240px); -} -@media screen and (min-width: 1025px) { - .wynter.layout--fixed-drawer > .wynter.header .wynter.header-row { - padding-left: 40px; - } -} -.wynter.header > .wynter.layout-icon { - position: absolute; - left: 40px; - top: 16px; - height: 32px; - width: 32px; - overflow: hidden; - z-index: 3; - display: block; -} -@media screen and (max-width: 1024px) { - .wynter.header > .wynter.layout-icon { - left: 16px; - top: 12px; - } -} -.wynter.layout.has-drawer .wynter.header > .wynter.layout-icon { - display: none; -} -.wynter.header.is-compact { - max-height: 64px; -} -@media screen and (max-width: 1024px) { - .wynter.header.is-compact { - max-height: 56px; - } -} -.wynter.header.is-compact.has-tabs { - height: 112px; -} -@media screen and (max-width: 1024px) { - .wynter.header.is-compact.has-tabs { - min-height: 104px; - } -} -@media screen and (max-width: 1024px) { - .wynter.header { - display: none; - } - .wynter.layout--fixed-header > .wynter.header { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - } -} -.wynter.header--transparent.wynter.header--transparent { - background-color: transparent; - box-shadow: none; -} -.wynter.header--seamed, -.wynter.header--scroll { - box-shadow: none; -} -.wynter.header--waterfall { - box-shadow: none; - overflow: hidden; -} -.wynter.header--waterfall.is-casting-shadow { - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), - 0 1px 5px 0 rgba(0, 0, 0, 0.12); -} -.wynter.header--waterfall.wynter.header--waterfall-hide-top { - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; -} -.wynter.header-row { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - box-sizing: border-box; - -webkit-align-self: stretch; - -ms-flex-item-align: stretch; - align-self: stretch; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - height: 64px; - margin: 0; - padding: 0 40px 0 80px; -} -.wynter.layout--no-drawer-btn .wynter.header-row { - padding-left: 40px; -} -@media screen and (min-width: 1025px) { - .wynter.layout--no-desktop-drawer-btn .wynter.header-row { - padding-left: 40px; - } -} -@media screen and (max-width: 1024px) { - .wynter.header-row { - height: 56px; - padding: 0 16px 0 72px; - } - .wynter.layout--no-drawer-btn .wynter.header-row { - padding-left: 16px; - } -} -.wynter.header-row > * { - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; -} -.wynter.header--scroll .wynter.header-row { - width: 100%; -} -.wynter.header-row .wynter.navigation { - margin: 0; - padding: 0; - height: 64px; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} -@media screen and (max-width: 1024px) { - .wynter.header-row .wynter.navigation { - height: 56px; - } -} -.wynter.header-row .wynter.nav-link { - display: block; - color: rgb(255, 255, 255); - line-height: 64px; - padding: 0 24px; -} -@media screen and (max-width: 1024px) { - .wynter.header-row .wynter.nav-link { - line-height: 56px; - padding: 0 16px; - } -} -.wynter.obfuscator { - background-color: transparent; - position: absolute; - top: 0; - left: 0; - height: 100%; - width: 100%; - z-index: 4; - visibility: hidden; - transition-property: background-color; - transition-duration: 0.2s; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); -} -.wynter.obfuscator.is-visible { - background-color: rgba(0, 0, 0, 0.5); - visibility: visible; -} -@supports (pointer-events: auto) { - .wynter.obfuscator { - background-color: rgba(0, 0, 0, 0.5); - opacity: 0; - transition-property: opacity; - visibility: visible; - pointer-events: none; - } - .wynter.obfuscator.is-visible { - pointer-events: auto; - opacity: 1; - } -} -.wynter.content { - flex: 0 1 auto; - -ms-flex: 0 1 auto; - position: relative; - display: inline-block; - overflow-y: auto; - overflow-x: hidden; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - z-index: 1; - -webkit-overflow-scrolling: touch; -} -.wynter.layout--fixed-drawer > .wynter.content { - margin-left: 240px; -} -.wynter.cnt.has-scrolling-header .wynter.content { - overflow: visible; -} -@media screen and (max-width: 1024px) { - .wynter.layout--fixed-drawer > .wynter.content { - margin-left: 0; - } - .wynter.cnt.has-scrolling-header .wynter.content { - overflow-y: auto; - overflow-x: hidden; - } -} -.wynter.tab-bar { - height: 96px; - margin: 0; - width: calc(100% - 112px); - padding: 0 0 0 56px; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - background-color: rgb(33, 150, 243); - overflow-y: hidden; - overflow-x: scroll; -} -.wynter.tab-bar::-webkit-scrollbar { - display: none; -} -.wynter.layout--no-drawer-btn .wynter.tab-bar { - padding-left: 16px; - width: calc(100% - 32px); -} -@media screen and (min-width: 1025px) { - .wynter.layout--no-desktop-drawer-btn .wynter.tab-bar { - padding-left: 16px; - width: calc(100% - 32px); - } -} -@media screen and (max-width: 1024px) { - .wynter.tab-bar { - width: calc(100% - 60px); - padding: 0 0 0 60px; - } - .wynter.layout--no-drawer-btn .wynter.tab-bar { - width: calc(100% - 8px); - padding-left: 4px; - } -} -.wynter.layout--fixed-tabs .wynter.tab-bar { - padding: 0; - overflow: hidden; - width: 100%; -} -.wynter.tab-bar-container { - position: relative; - height: 48px; - width: 100%; - border: none; - margin: 0; - z-index: 2; - -webkit-flex-grow: 0; - -ms-flex-positive: 0; - flex-grow: 0; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - overflow: hidden; -} -.wynter.cnt > .wynter.tab-bar-container { - position: absolute; - top: 0; - left: 0; -} -.wynter.container.default { - padding: 2% 3% !important; -} -.wynter.container.small { - padding: 5px 10px !important; -} -.wynter.container.medium { - padding: 10px 15px !important; -} -.wynter.container.large { - padding: 15px 20px !important; -} -.wynter.tab-bar-btn { - display: inline-block; - position: absolute; - top: 0; - height: 48px; - width: 56px; - z-index: 4; - text-align: center; - background-color: rgb(33, 150, 243); - color: transparent; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.wynter.layout--no-desktop-drawer-btn .wynter.tab-bar-btn, -.wynter.layout--no-drawer-btn .wynter.tab-bar-btn { - width: 16px; -} -.wynter.layout--no-desktop-drawer-btn - .wynter.tab-bar-btn - .material-icons, -.wynter.layout--no-drawer-btn .wynter.tab-bar-btn .material-icons { - position: relative; - left: -4px; -} -@media screen and (max-width: 1024px) { - .wynter.tab-bar-btn { - width: 60px; - } -} -.wynter.layout--fixed-tabs .wynter.tab-bar-btn { - display: none; -} -.wynter.tab-bar-btn .material-icons { - line-height: 48px; -} -.wynter.tab-bar-btn.is-active { - color: rgb(255, 255, 255); -} -.wynter.tab-bar-left-btn { - left: 0; -} -.wynter.tab-bar-right-btn { - right: 0; -} -.wynter.tab { - margin: 0; - border: none; - padding: 0 24px; - float: left; - position: relative; - display: block; - -webkit-flex-grow: 0; - -ms-flex-positive: 0; - flex-grow: 0; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - text-decoration: none; - height: 48px; - line-height: 48px; - text-align: center; - font-weight: 500; - font-size: 14px; - text-transform: uppercase; - color: rgba(255, 255, 255, 0.6); - overflow: hidden; -} -@media screen and (max-width: 1024px) { - .wynter.tab { - padding: 0 12px; - } -} -.wynter.layout--fixed-tabs .wynter.tab { - float: none; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - padding: 0; -} -.wynter.layout.is-upgraded .wynter.tab.is-active { - color: rgb(255, 255, 255); -} -.wynter.layout.is-upgraded .wynter.tab.is-active::after { - height: 2px; - width: 100%; - display: block; - content: " "; - bottom: 0; - left: 0; - position: absolute; - background: rgb(64, 196, 255); - -webkit-animation: border-expand 0.2s cubic-bezier(0.4, 0, 0.4, 1) 0.01s - alternate forwards; - animation: border-expand 0.2s cubic-bezier(0.4, 0, 0.4, 1) 0.01s alternate - forwards; - transition: all 1s cubic-bezier(0.4, 0, 1, 1); -} -.wynter.tab .wynter.tab-ripple-container { - display: block; - position: absolute; - height: 100%; - width: 100%; - left: 0; - top: 0; - z-index: 1; - overflow: hidden; -} -.wynter.tab .wynter.tab-ripple-container .wynter.ripple { - background-color: rgb(255, 255, 255); -} -.wynter.tab-panel { - display: block; -} -.wynter.layout.is-upgraded .wynter.tab-panel { - display: none; -} -.wynter.layout.is-upgraded .wynter.tab-panel.is-active { - display: block; -} -.wynter.radio { - position: relative; - font-size: 16px; - line-height: 24px; - display: inline-block; - vertical-align: middle; - box-sizing: border-box; - height: 24px; - margin: 0; - padding-left: 0; -} -.wynter.radio.is-upgraded { - padding-left: 24px; -} -.wynter.radio__btn { - line-height: 24px; -} -.wynter.radio.is-upgraded .wynter.radio__btn { - position: absolute; - width: 0; - height: 0; - margin: 0; - padding: 0; - opacity: 0; - -ms-appearance: none; - -moz-appearance: none; - -webkit-appearance: none; - appearance: none; - border: none; -} -.wynter.radio__outer-circle { - position: absolute; - top: 4px; - left: 0; - display: inline-block; - box-sizing: border-box; - width: 16px; - height: 16px; - margin: 0; - cursor: pointer; - border: 2px solid rgba(0, 0, 0, 0.54); - border-radius: 50%; - z-index: 2; -} -.wynter.radio.is-checked .wynter.radio__outer-circle { - border: 2px solid rgb(33, 150, 243); -} -.wynter.radio__outer-circle fieldset[disabled] .wynter.radio, -.wynter.radio.is-disabled .wynter.radio__outer-circle { - border: 2px solid rgba(0, 0, 0, 0.26); - cursor: auto; -} -.wynter.radio__inner-circle { - position: absolute; - z-index: 1; - margin: 0; - top: 8px; - left: 4px; - box-sizing: border-box; - width: 8px; - height: 8px; - cursor: pointer; - transition-duration: 0.28s; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-property: transform; - transition-property: transform, -webkit-transform; - -webkit-transform: scale(0, 0); - transform: scale(0, 0); - border-radius: 50%; - background: rgb(33, 150, 243); -} -.wynter.radio.is-checked .wynter.radio__inner-circle { - -webkit-transform: scale(1, 1); - transform: scale(1, 1); -} -fieldset[disabled] .wynter.radio .wynter.radio__inner-circle, -.wynter.radio.is-disabled .wynter.radio__inner-circle { - background: rgba(0, 0, 0, 0.26); - cursor: auto; -} -.wynter.radio.is-focused .wynter.radio__inner-circle { - box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1); -} -.wynter.radio__label { - cursor: pointer; -} -fieldset[disabled] .wynter.radio .wynter.radio__label, -.wynter.radio.is-disabled .wynter.radio__label { - color: rgba(0, 0, 0, 0.26); - cursor: auto; -} -.wynter.radio__ripple-container { - position: absolute; - z-index: 2; - top: -9px; - left: -13px; - box-sizing: border-box; - width: 42px; - height: 42px; - border-radius: 50%; - cursor: pointer; - overflow: hidden; - mask-image: -webkit-radial-gradient(circle, #fff, #000); - -webkit-mask-image: -webkit-radial-gradient(circle, #fff, #000); -} -.wynter.radio__ripple-container .wynter.ripple { - background: rgb(33, 150, 243); -} -fieldset[disabled] .wynter.radio .wynter.radio__ripple-container, -.wynter.radio.is-disabled .wynter.radio__ripple-container { - cursor: auto; -} -fieldset[disabled] .wynter.radio .wynter.radio__ripple-container .wynter.ripple, -.wynter.radio.is-disabled .wynter.radio__ripple-container .wynter.ripple { - background: 0 0; -} -_:-ms-input-placeholder, -:root .wynter.slider.wynter.slider.is-upgraded { - -ms-appearance: none; - height: 32px; - margin: 0; -} -.wynter.slider { - width: calc(100% - 40px); - margin: 0 20px; -} -.wynter.slider.is-upgraded { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - height: 2px; - background: 0 0; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - outline: 0; - padding: 0; - color: rgb(33, 150, 243); - -webkit-align-self: center; - -ms-flex-item-align: center; - -ms-grid-row-align: center; - align-self: center; - z-index: 1; - cursor: pointer; -} -.wynter.slider.is-upgraded::-moz-focus-outer { - border: 0; -} -.wynter.slider.is-upgraded::-ms-tooltip { - display: none; -} -.wynter.slider.is-upgraded::-webkit-slider-runnable-track { - background: 0 0; -} -.wynter.slider.is-upgraded::-moz-range-track { - background: 0 0; - border: none; -} -.wynter.slider.is-upgraded::-ms-track { - background: 0 0; - color: transparent; - height: 2px; - width: 100%; - border: none; -} -.wynter.slider.is-upgraded::-ms-fill-lower { - padding: 0; - background: linear-gradient( - to right, - transparent, - transparent 16px, - rgb(33, 150, 243) 16px, - rgb(33, 150, 243) 0 - ); -} -.wynter.slider.is-upgraded::-ms-fill-upper { - padding: 0; - background: linear-gradient( - to left, - transparent, - transparent 16px, - rgba(0, 0, 0, 0.26) 16px, - rgba(0, 0, 0, 0.26) 0 - ); -} -.wynter.slider.is-upgraded::-webkit-slider-thumb { - -webkit-appearance: none; - width: 12px; - height: 12px; - box-sizing: border-box; - border-radius: 50%; - background: rgb(33, 150, 243); - border: none; - transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), - border 0.18s cubic-bezier(0.4, 0, 0.2, 1), - box-shadow 0.18s cubic-bezier(0.4, 0, 0.2, 1), - background 0.28s cubic-bezier(0.4, 0, 0.2, 1); - transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), - border 0.18s cubic-bezier(0.4, 0, 0.2, 1), - box-shadow 0.18s cubic-bezier(0.4, 0, 0.2, 1), - background 0.28s cubic-bezier(0.4, 0, 0.2, 1), - -webkit-transform 0.18s cubic-bezier(0.4, 0, 0.2, 1); -} -.wynter.slider.is-upgraded::-moz-range-thumb { - -moz-appearance: none; - width: 12px; - height: 12px; - box-sizing: border-box; - border-radius: 50%; - background-image: none; - background: rgb(33, 150, 243); - border: none; -} -.wynter.slider.is-upgraded:focus:not(:active)::-webkit-slider-thumb { - box-shadow: 0 0 0 10px rgba(33, 150, 243, 0.26); -} -.wynter.slider.is-upgraded:focus:not(:active)::-moz-range-thumb { - box-shadow: 0 0 0 10px rgba(33, 150, 243, 0.26); -} -.wynter.slider.is-upgraded:active::-webkit-slider-thumb { - background-image: none; - background: rgb(33, 150, 243); - -webkit-transform: scale(1.5); - transform: scale(1.5); -} -.wynter.slider.is-upgraded:active::-moz-range-thumb { - background-image: none; - background: rgb(33, 150, 243); - transform: scale(1.5); -} -.wynter.slider.is-upgraded::-ms-thumb { - width: 32px; - height: 32px; - border: none; - border-radius: 50%; - background: rgb(33, 150, 243); - transform: scale(0.375); - transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), - background 0.28s cubic-bezier(0.4, 0, 0.2, 1); - transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), - background 0.28s cubic-bezier(0.4, 0, 0.2, 1), - -webkit-transform 0.18s cubic-bezier(0.4, 0, 0.2, 1); -} -.wynter.slider.is-upgraded:focus:not(:active)::-ms-thumb { - background: radial-gradient( - circle closest-side, - rgb(33, 150, 243) 0%, - rgb(33, 150, 243) 37.5%, - rgba(33, 150, 243, 0.26) 37.5%, - rgba(33, 150, 243, 0.26) 100% - ); - transform: scale(1); -} -.wynter.slider.is-upgraded:active::-ms-thumb { - background: rgb(33, 150, 243); - transform: scale(0.5625); -} -.wynter.slider.is-upgraded.is-lowest-value::-webkit-slider-thumb { - border: 2px solid rgba(0, 0, 0, 0.26); - background: 0 0; -} -.wynter.slider.is-upgraded.is-lowest-value::-moz-range-thumb { - border: 2px solid rgba(0, 0, 0, 0.26); - background: 0 0; -} -.wynter.slider.is-upgraded.is-lowest-value - + .wynter.slider__background-flex - > .wynter.slider__background-upper { - left: 6px; -} -.wynter.slider.is-upgraded.is-lowest-value:focus:not(:active)::-webkit-slider-thumb { - box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.12); - background: rgba(0, 0, 0, 0.12); -} -.wynter.slider.is-upgraded.is-lowest-value:focus:not(:active)::-moz-range-thumb { - box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.12); - background: rgba(0, 0, 0, 0.12); -} -.wynter.slider.is-upgraded.is-lowest-value:active::-webkit-slider-thumb { - border: 1.6px solid rgba(0, 0, 0, 0.26); - -webkit-transform: scale(1.5); - transform: scale(1.5); -} -.wynter.slider.is-upgraded.is-lowest-value:active - + .wynter.slider__background-flex - > .wynter.slider__background-upper { - left: 9px; -} -.wynter.slider.is-upgraded.is-lowest-value:active::-moz-range-thumb { - border: 1.5px solid rgba(0, 0, 0, 0.26); - transform: scale(1.5); -} -.wynter.slider.is-upgraded.is-lowest-value::-ms-thumb { - background: radial-gradient( - circle closest-side, - transparent 0%, - transparent 66.67%, - rgba(0, 0, 0, 0.26) 66.67%, - rgba(0, 0, 0, 0.26) 100% - ); -} -.wynter.slider.is-upgraded.is-lowest-value:focus:not(:active)::-ms-thumb { - background: radial-gradient( - circle closest-side, - rgba(0, 0, 0, 0.12) 0%, - rgba(0, 0, 0, 0.12) 25%, - rgba(0, 0, 0, 0.26) 25%, - rgba(0, 0, 0, 0.26) 37.5%, - rgba(0, 0, 0, 0.12) 37.5%, - rgba(0, 0, 0, 0.12) 100% - ); - transform: scale(1); -} -.wynter.slider.is-upgraded.is-lowest-value:active::-ms-thumb { - transform: scale(0.5625); - background: radial-gradient( - circle closest-side, - transparent 0%, - transparent 77.78%, - rgba(0, 0, 0, 0.26) 77.78%, - rgba(0, 0, 0, 0.26) 100% - ); -} -.wynter.slider.is-upgraded.is-lowest-value::-ms-fill-lower { - background: 0 0; -} -.wynter.slider.is-upgraded.is-lowest-value::-ms-fill-upper { - margin-left: 6px; -} -.wynter.slider.is-upgraded.is-lowest-value:active::-ms-fill-upper { - margin-left: 9px; -} -.wynter.slider.is-upgraded:disabled:focus::-webkit-slider-thumb, -.wynter.slider.is-upgraded:disabled:active::-webkit-slider-thumb, -.wynter.slider.is-upgraded:disabled::-webkit-slider-thumb { - -webkit-transform: scale(0.667); - transform: scale(0.667); - background: rgba(0, 0, 0, 0.26); -} -.wynter.slider.is-upgraded:disabled:focus::-moz-range-thumb, -.wynter.slider.is-upgraded:disabled:active::-moz-range-thumb, -.wynter.slider.is-upgraded:disabled::-moz-range-thumb { - transform: scale(0.667); - background: rgba(0, 0, 0, 0.26); -} -.wynter.slider.is-upgraded:disabled - + .wynter.slider__background-flex - > .wynter.slider__background-lower { - background-color: rgba(0, 0, 0, 0.26); - left: -6px; -} -.wynter.slider.is-upgraded:disabled - + .wynter.slider__background-flex - > .wynter.slider__background-upper { - left: 6px; -} -.wynter.slider.is-upgraded.is-lowest-value:disabled:focus::-webkit-slider-thumb, -.wynter.slider.is-upgraded.is-lowest-value:disabled:active::-webkit-slider-thumb, -.wynter.slider.is-upgraded.is-lowest-value:disabled::-webkit-slider-thumb { - border: 3px solid rgba(0, 0, 0, 0.26); - background: 0 0; - -webkit-transform: scale(0.667); - transform: scale(0.667); -} -.wynter.slider.is-upgraded.is-lowest-value:disabled:focus::-moz-range-thumb, -.wynter.slider.is-upgraded.is-lowest-value:disabled:active::-moz-range-thumb, -.wynter.slider.is-upgraded.is-lowest-value:disabled::-moz-range-thumb { - border: 3px solid rgba(0, 0, 0, 0.26); - background: 0 0; - transform: scale(0.667); -} -.wynter.slider.is-upgraded.is-lowest-value:disabled:active - + .wynter.slider__background-flex - > .wynter.slider__background-upper { - left: 6px; -} -.wynter.slider.is-upgraded:disabled:focus::-ms-thumb, -.wynter.slider.is-upgraded:disabled:active::-ms-thumb, -.wynter.slider.is-upgraded:disabled::-ms-thumb { - transform: scale(0.25); - background: rgba(0, 0, 0, 0.26); -} -.wynter.slider.is-upgraded.is-lowest-value:disabled:focus::-ms-thumb, -.wynter.slider.is-upgraded.is-lowest-value:disabled:active::-ms-thumb, -.wynter.slider.is-upgraded.is-lowest-value:disabled::-ms-thumb { - transform: scale(0.25); - background: radial-gradient( - circle closest-side, - transparent 0%, - transparent 50%, - rgba(0, 0, 0, 0.26) 50%, - rgba(0, 0, 0, 0.26) 100% - ); -} -.wynter.slider.is-upgraded:disabled::-ms-fill-lower { - margin-right: 6px; - background: linear-gradient( - to right, - transparent, - transparent 25px, - rgba(0, 0, 0, 0.26) 25px, - rgba(0, 0, 0, 0.26) 0 - ); -} -.wynter.slider.is-upgraded:disabled::-ms-fill-upper { - margin-left: 6px; -} -.wynter.slider.is-upgraded.is-lowest-value:disabled:active::-ms-fill-upper { - margin-left: 6px; -} -.wynter.slider__ie-container { - height: 18px; - overflow: visible; - border: none; - margin: none; - padding: none; -} -.wynter.slider__container { - height: 18px; - position: relative; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; -} -.wynter.slider__container, -.wynter.slider__background-flex { - background: 0 0; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; -} -.wynter.slider__background-flex { - position: absolute; - height: 2px; - width: calc(100% - 52px); - top: 50%; - left: 0; - margin: 0 26px; - overflow: hidden; - border: 0; - padding: 0; - -webkit-transform: translate(0, -1px); - transform: translate(0, -1px); -} -.wynter.slider__background-lower { - background: rgb(33, 150, 243); -} -.wynter.slider__background-lower, -.wynter.slider__background-upper { - -webkit-flex: 0; - -ms-flex: 0; - flex: 0; - position: relative; - border: 0; - padding: 0; -} -.wynter.slider__background-upper { - background: rgba(0, 0, 0, 0.26); - transition: left 0.18s cubic-bezier(0.4, 0, 0.2, 1); -} -.wynter.snackbar { - position: fixed; - bottom: 0; - left: 50%; - cursor: default; - background-color: #323232; - z-index: 3; - display: block; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - will-change: transform; - -webkit-transform: translate(0, 80px); - transform: translate(0, 80px); - transition: transform 0.25s cubic-bezier(0.4, 0, 1, 1); - transition: transform 0.25s cubic-bezier(0.4, 0, 1, 1), - -webkit-transform 0.25s cubic-bezier(0.4, 0, 1, 1); - pointer-events: none; -} -@media (max-width: 479px) { - .wynter.snackbar { - width: 100%; - left: 0; - min-height: 48px; - max-height: 80px; - } -} -@media (min-width: 480px) { - .wynter.snackbar { - min-width: 288px; - max-width: 568px; - border-radius: 2px; - -webkit-transform: translate(-50%, 80px); - transform: translate(-50%, 80px); - } -} -.wynter.snackbar--active { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); - pointer-events: auto; - transition: transform 0.25s cubic-bezier(0, 0, 0.2, 1); - transition: transform 0.25s cubic-bezier(0, 0, 0.2, 1), - -webkit-transform 0.25s cubic-bezier(0, 0, 0.2, 1); -} -@media (min-width: 480px) { - .wynter.snackbar--active { - -webkit-transform: translate(-50%, 0); - transform: translate(-50%, 0); - } -} -.wynter.snackbar__text { - padding: 14px 12px 14px 24px; - vertical-align: middle; - color: #fff; - float: left; -} -.wynter.snackbar__action { - background: 0 0; - border: none; - color: rgb(64, 196, 255); - float: right; - padding: 14px 24px 14px 12px; - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - font-size: 14px; - font-weight: 500; - text-transform: uppercase; - line-height: 1; - letter-spacing: 0; - overflow: hidden; - outline: none; - opacity: 0; - pointer-events: none; - cursor: pointer; - text-decoration: none; - text-align: center; - -webkit-align-self: center; - -ms-flex-item-align: center; - -ms-grid-row-align: center; - align-self: center; -} -.wynter.snackbar__action::-moz-focus-inner { - border: 0; -} -.wynter.snackbar__action:not([aria-hidden]) { - opacity: 1; - pointer-events: auto; -} -.wynter.spinner { - display: inline-block; - position: relative; - width: 28px; - height: 28px; -} -.wynter.spinner:not(.is-upgraded).is-active:after { - content: "Loading..."; -} -.wynter.spinner.is-upgraded.is-active { - -webkit-animation: wyn-spinner__container-rotate 1568.23529412ms linear - infinite; - animation: wyn-spinner__container-rotate 1568.23529412ms linear infinite; -} -@-webkit-keyframes wyn-spinner__container-rotate { - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@keyframes wyn-spinner__container-rotate { - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -.wynter.spinner__layer { - position: absolute; - width: 100%; - height: 100%; - opacity: 0; -} -.wynter.spinner__layer-1 { - border-color: #42a5f5; -} -.wynter.spinner--single-color .wynter.spinner__layer-1 { - border-color: rgb(33, 150, 243); -} -.wynter.spinner.is-active .wynter.spinner__layer-1 { - -webkit-animation: wyn-spinner__fill-unfill-rotate 5332ms - cubic-bezier(0.4, 0, 0.2, 1) infinite both, - wyn-spinner__layer-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) - infinite both; - animation: wyn-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) - infinite both, - wyn-spinner__layer-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) - infinite both; -} -.wynter.spinner__layer-2 { - border-color: #f44336; -} -.wynter.spinner--single-color .wynter.spinner__layer-2 { - border-color: rgb(33, 150, 243); -} -.wynter.spinner.is-active .wynter.spinner__layer-2 { - -webkit-animation: wyn-spinner__fill-unfill-rotate 5332ms - cubic-bezier(0.4, 0, 0.2, 1) infinite both, - wyn-spinner__layer-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) - infinite both; - animation: wyn-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) - infinite both, - wyn-spinner__layer-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) - infinite both; -} -.wynter.spinner__layer-3 { - border-color: #fdd835; -} -.wynter.spinner--single-color .wynter.spinner__layer-3 { - border-color: rgb(33, 150, 243); -} -.wynter.spinner.is-active .wynter.spinner__layer-3 { - -webkit-animation: wyn-spinner__fill-unfill-rotate 5332ms - cubic-bezier(0.4, 0, 0.2, 1) infinite both, - wyn-spinner__layer-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) - infinite both; - animation: wyn-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) - infinite both, - wyn-spinner__layer-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) - infinite both; -} -.wynter.spinner__layer-4 { - border-color: #4caf50; -} -.wynter.spinner--single-color .wynter.spinner__layer-4 { - border-color: rgb(33, 150, 243); -} -.wynter.spinner.is-active .wynter.spinner__layer-4 { - -webkit-animation: wyn-spinner__fill-unfill-rotate 5332ms - cubic-bezier(0.4, 0, 0.2, 1) infinite both, - wyn-spinner__layer-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) - infinite both; - animation: wyn-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) - infinite both, - wyn-spinner__layer-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) - infinite both; -} -@-webkit-keyframes wyn-spinner__fill-unfill-rotate { - 12.5% { - -webkit-transform: rotate(135deg); - transform: rotate(135deg); - } - 25% { - -webkit-transform: rotate(270deg); - transform: rotate(270deg); - } - 37.5% { - -webkit-transform: rotate(405deg); - transform: rotate(405deg); - } - 50% { - -webkit-transform: rotate(540deg); - transform: rotate(540deg); - } - 62.5% { - -webkit-transform: rotate(675deg); - transform: rotate(675deg); - } - 75% { - -webkit-transform: rotate(810deg); - transform: rotate(810deg); - } - 87.5% { - -webkit-transform: rotate(945deg); - transform: rotate(945deg); - } - to { - -webkit-transform: rotate(1080deg); - transform: rotate(1080deg); - } -} -@keyframes wyn-spinner__fill-unfill-rotate { - 12.5% { - -webkit-transform: rotate(135deg); - transform: rotate(135deg); - } - 25% { - -webkit-transform: rotate(270deg); - transform: rotate(270deg); - } - 37.5% { - -webkit-transform: rotate(405deg); - transform: rotate(405deg); - } - 50% { - -webkit-transform: rotate(540deg); - transform: rotate(540deg); - } - 62.5% { - -webkit-transform: rotate(675deg); - transform: rotate(675deg); - } - 75% { - -webkit-transform: rotate(810deg); - transform: rotate(810deg); - } - 87.5% { - -webkit-transform: rotate(945deg); - transform: rotate(945deg); - } - to { - -webkit-transform: rotate(1080deg); - transform: rotate(1080deg); - } -} -@-webkit-keyframes wyn-spinner__layer-1-fade-in-out { - from, - 25% { - opacity: 0.99; - } - 26%, - 89% { - opacity: 0; - } - 90%, - 100% { - opacity: 0.99; - } -} -@keyframes wyn-spinner__layer-1-fade-in-out { - from, - 25% { - opacity: 0.99; - } - 26%, - 89% { - opacity: 0; - } - 90%, - 100% { - opacity: 0.99; - } -} -@-webkit-keyframes wyn-spinner__layer-2-fade-in-out { - from, - 15% { - opacity: 0; - } - 25%, - 50% { - opacity: 0.99; - } - 51% { - opacity: 0; - } -} -@keyframes wyn-spinner__layer-2-fade-in-out { - from, - 15% { - opacity: 0; - } - 25%, - 50% { - opacity: 0.99; - } - 51% { - opacity: 0; - } -} -@-webkit-keyframes wyn-spinner__layer-3-fade-in-out { - from, - 40% { - opacity: 0; - } - 50%, - 75% { - opacity: 0.99; - } - 76% { - opacity: 0; - } -} -@keyframes wyn-spinner__layer-3-fade-in-out { - from, - 40% { - opacity: 0; - } - 50%, - 75% { - opacity: 0.99; - } - 76% { - opacity: 0; - } -} -@-webkit-keyframes wyn-spinner__layer-4-fade-in-out { - from, - 65% { - opacity: 0; - } - 75%, - 90% { - opacity: 0.99; - } - 100% { - opacity: 0; - } -} -@keyframes wyn-spinner__layer-4-fade-in-out { - from, - 65% { - opacity: 0; - } - 75%, - 90% { - opacity: 0.99; - } - 100% { - opacity: 0; - } -} -.wynter.spinner__gap-patch { - position: absolute; - box-sizing: border-box; - top: 0; - left: 45%; - width: 10%; - height: 100%; - overflow: hidden; - border-color: inherit; -} -.wynter.spinner__gap-patch .wynter.spinner__circle { - width: 1000%; - left: -450%; -} -.wynter.spinner__circle-clipper { - display: inline-block; - position: relative; - width: 50%; - height: 100%; - overflow: hidden; - border-color: inherit; -} -.wynter.spinner__circle-clipper.wynter.spinner__left { - float: left; -} -.wynter.spinner__circle-clipper.wynter.spinner__right { - float: right; -} -.wynter.spinner__circle-clipper .wynter.spinner__circle { - width: 200%; -} -.wynter.spinner__circle { - box-sizing: border-box; - height: 100%; - border-width: 3px; - border-style: solid; - border-color: inherit; - border-bottom-color: transparent !important; - border-radius: 50%; - -webkit-animation: none; - animation: none; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; -} -.wynter.spinner__left .wynter.spinner__circle { - border-right-color: transparent !important; - -webkit-transform: rotate(129deg); - transform: rotate(129deg); -} -.wynter.spinner.is-active .wynter.spinner__left .wynter.spinner__circle { - -webkit-animation: wyn-spinner__left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) - infinite both; - animation: wyn-spinner__left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite - both; -} -.wynter.spinner__right .wynter.spinner__circle { - left: -100%; - border-left-color: transparent !important; - -webkit-transform: rotate(-129deg); - transform: rotate(-129deg); -} -.wynter.spinner.is-active .wynter.spinner__right .wynter.spinner__circle { - -webkit-animation: wyn-spinner__right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) - infinite both; - animation: wyn-spinner__right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) - infinite both; -} -@-webkit-keyframes wyn-spinner__left-spin { - from { - -webkit-transform: rotate(130deg); - transform: rotate(130deg); - } - 50% { - -webkit-transform: rotate(-5deg); - transform: rotate(-5deg); - } - to { - -webkit-transform: rotate(130deg); - transform: rotate(130deg); - } -} -@keyframes wyn-spinner__left-spin { - from { - -webkit-transform: rotate(130deg); - transform: rotate(130deg); - } - 50% { - -webkit-transform: rotate(-5deg); - transform: rotate(-5deg); - } - to { - -webkit-transform: rotate(130deg); - transform: rotate(130deg); - } -} -@-webkit-keyframes wyn-spinner__right-spin { - from { - -webkit-transform: rotate(-130deg); - transform: rotate(-130deg); - } - 50% { - -webkit-transform: rotate(5deg); - transform: rotate(5deg); - } - to { - -webkit-transform: rotate(-130deg); - transform: rotate(-130deg); - } -} -@keyframes wyn-spinner__right-spin { - from { - -webkit-transform: rotate(-130deg); - transform: rotate(-130deg); - } - 50% { - -webkit-transform: rotate(5deg); - transform: rotate(5deg); - } - to { - -webkit-transform: rotate(-130deg); - transform: rotate(-130deg); - } -} -.wynter.switch { - position: relative; - z-index: 1; - vertical-align: middle; - display: inline-block; - box-sizing: border-box; - width: 100%; - height: 24px; - margin: 0; - padding: 0; - overflow: visible; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.wynter.switch.is-upgraded { - padding-left: 28px; -} -.wynter.switch__input { - line-height: 24px; -} -.wynter.switch.is-upgraded .wynter.switch__input { - position: absolute; - width: 0; - height: 0; - margin: 0; - padding: 0; - opacity: 0; - -ms-appearance: none; - -moz-appearance: none; - -webkit-appearance: none; - appearance: none; - border: none; -} -.wynter.switch__track { - background: rgba(0, 0, 0, 0.26); - position: absolute; - left: 0; - top: 5px; - height: 14px; - width: 36px; - border-radius: 14px; - cursor: pointer; -} -.wynter.switch.is-checked .wynter.switch__track { - background: rgba(33, 150, 243, 0.5); -} -.wynter.switch__track fieldset[disabled] .wynter.switch, -.wynter.switch.is-disabled .wynter.switch__track { - background: rgba(0, 0, 0, 0.12); - cursor: auto; -} -.wynter.switch__thumb { - background: #fafafa; - position: absolute; - left: 0; - top: 2px; - height: 20px; - width: 20px; - border-radius: 50%; - cursor: pointer; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), - 0 1px 5px 0 rgba(0, 0, 0, 0.12); - transition-duration: 0.28s; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-property: left; -} -.wynter.switch.is-checked .wynter.switch__thumb { - background: rgb(33, 150, 243); - left: 16px; - box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), - 0 1px 8px 0 rgba(0, 0, 0, 0.12); -} -.wynter.switch__thumb fieldset[disabled] .wynter.switch, -.wynter.switch.is-disabled .wynter.switch__thumb { - background: #bdbdbd; - cursor: auto; -} -.wynter.switch__focus-helper { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-4px, -4px); - transform: translate(-4px, -4px); - display: inline-block; - box-sizing: border-box; - width: 8px; - height: 8px; - border-radius: 50%; - background-color: transparent; -} -.wynter.switch.is-focused .wynter.switch__focus-helper { - box-shadow: 0 0 0 20px rgba(0, 0, 0, 0.1); - background-color: rgba(0, 0, 0, 0.1); -} -.wynter.switch.is-focused.is-checked .wynter.switch__focus-helper { - box-shadow: 0 0 0 20px rgba(33, 150, 243, 0.26); - background-color: rgba(33, 150, 243, 0.26); -} -.wynter.switch__label { - position: relative; - cursor: pointer; - font-size: 16px; - line-height: 24px; - margin: 0; - left: 24px; -} -.wynter.switch__label fieldset[disabled] .wynter.switch, -.wynter.switch.is-disabled .wynter.switch__label { - color: #bdbdbd; - cursor: auto; -} -.wynter.switch__ripple-container { - position: absolute; - z-index: 2; - top: -12px; - left: -14px; - box-sizing: border-box; - width: 48px; - height: 48px; - border-radius: 50%; - cursor: pointer; - overflow: hidden; - mask-image: -webkit-radial-gradient(circle, #fff, #000); - -webkit-mask-image: -webkit-radial-gradient(circle, #fff, #000); - transition-duration: 0.4s; - transition-timing-function: step-end; - transition-property: left; -} -.wynter.switch__ripple-container .wynter.ripple { - background: rgb(33, 150, 243); -} -.wynter.switch__ripple-container fieldset[disabled] .wynter.switch, -.wynter.switch.is-disabled .wynter.switch__ripple-container { - cursor: auto; -} -fieldset[disabled] .wynter.switch .wynter.switch__ripple-container .wynter.ripple, -.wynter.switch.is-disabled .wynter.switch__ripple-container .wynter.ripple { - background: 0 0; -} -.wynter.switch.is-checked .wynter.switch__ripple-container { - left: 2px; -} -.wynter.tabs { - display: block; - width: 100%; -} -.wynter.tabs__tab-bar { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-align-content: space-between; - -ms-flex-line-pack: justify; - align-content: space-between; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - height: 48px; - padding: 0; - margin: 0; - border-bottom: 1px solid #e0e0e0; -} -.wynter.tabs__tab { - margin: 0; - border: none; - padding: 0 24px; - float: left; - position: relative; - display: block; - text-decoration: none; - height: 48px; - line-height: 48px; - text-align: center; - font-weight: 500; - font-size: 14px; - text-transform: uppercase; - color: rgba(0, 0, 0, 0.54); - overflow: hidden; -} -.wynter.tabs.is-upgraded .wynter.tabs__tab.is-active { - color: rgba(0, 0, 0, 0.87); -} -.wynter.tabs.is-upgraded .wynter.tabs__tab.is-active:after { - height: 2px; - width: 100%; - display: block; - content: " "; - bottom: 0; - left: 0; - position: absolute; - background: rgb(33, 150, 243); - -webkit-animation: border-expand 0.2s cubic-bezier(0.4, 0, 0.4, 1) 0.01s - alternate forwards; - animation: border-expand 0.2s cubic-bezier(0.4, 0, 0.4, 1) 0.01s alternate - forwards; - transition: all 1s cubic-bezier(0.4, 0, 1, 1); -} -.wynter.tabs__tab .wynter.tabs__ripple-container { - display: block; - position: absolute; - height: 100%; - width: 100%; - left: 0; - top: 0; - z-index: 1; - overflow: hidden; -} -.wynter.tabs__tab .wynter.tabs__ripple-container .wynter.ripple { - background: rgb(33, 150, 243); -} -.wynter.tabs__panel { - display: block; -} -.wynter.tabs.is-upgraded .wynter.tabs__panel { - display: none; -} -.wynter.tabs.is-upgraded .wynter.tabs__panel.is-active { - display: block; -} -@-webkit-keyframes border-expand { - 0% { - opacity: 0; - width: 0; - } - 100% { - opacity: 1; - width: 100%; - } -} -@keyframes border-expand { - 0% { - opacity: 0; - width: 0; - } - 100% { - opacity: 1; - width: 100%; - } -} -.wynter.textfield { - position: relative; - font-size: 16px; - display: inline-block; - box-sizing: border-box; - width: 300px; - max-width: 100%; - margin: 0; - padding: 20px 0; -} -.wynter.textfield .wynter.btn { - position: absolute; - bottom: 20px; -} -.wynter.textfield--align-right { - text-align: right; -} -.wynter.textfield--full-width { - width: 100%; -} -.wynter.textfield--expandable { - min-width: 32px; - width: auto; - min-height: 32px; -} -.wynter.textfield--expandable .wynter.btn--icon { - top: 16px; -} -.wynter.textfield__input { - border: none; - border-bottom: 1px solid rgba(0, 0, 0, 0.12); - display: block; - font-size: 16px; - font-family: "Helvetica", "Arial", sans-serif; - margin: 0; - padding: 4px 0; - width: 100%; - background: 0 0; - text-align: left; - color: inherit; -} -.wynter.textfield__input[type="number"] { - -moz-appearance: textfield; -} -.wynter.textfield__input[type="number"]::-webkit-inner-spin-btn, -.wynter.textfield__input[type="number"]::-webkit-outer-spin-btn { - -webkit-appearance: none; - margin: 0; -} -.wynter.textfield.is-focused .wynter.textfield__input { - outline: none; -} -.wynter.textfield.is-invalid .wynter.textfield__input { - border-color: #d50000; - box-shadow: none; -} -fieldset[disabled] .wynter.textfield .wynter.textfield__input, -.wynter.textfield.is-disabled .wynter.textfield__input { - background-color: transparent; - border-bottom: 1px dotted rgba(0, 0, 0, 0.12); - color: rgba(0, 0, 0, 0.26); -} -.wynter.textfield textarea.wynter.textfield__input { - display: block; -} -.wynter.textfield__label { - bottom: 0; - color: rgba(0, 0, 0, 0.26); - font-size: 16px; - left: 0; - right: 0; - pointer-events: none; - position: absolute; - display: block; - top: 24px; - width: 100%; - overflow: hidden; - white-space: nowrap; - text-align: left; -} -.wynter.textfield.is-dirty .wynter.textfield__label, -.wynter.textfield.has-placeholder .wynter.textfield__label { - visibility: hidden; -} -.wynter.textfield--floating-label .wynter.textfield__label { - transition-duration: 0.2s; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); -} -.wynter.textfield--floating-label.has-placeholder .wynter.textfield__label { - transition: none; -} -fieldset[disabled] .wynter.textfield .wynter.textfield__label, -.wynter.textfield.is-disabled.is-disabled .wynter.textfield__label { - color: rgba(0, 0, 0, 0.26); -} -.wynter.textfield--floating-label.is-focused .wynter.textfield__label, -.wynter.textfield--floating-label.is-dirty .wynter.textfield__label, -.wynter.textfield--floating-label.has-placeholder .wynter.textfield__label { - color: rgb(33, 150, 243); - font-size: 12px; - top: 4px; - visibility: visible; -} -.wynter.textfield--floating-label.is-focused - .wynter.textfield__expandable-holder - .wynter.textfield__label, -.wynter.textfield--floating-label.is-dirty - .wynter.textfield__expandable-holder - .wynter.textfield__label, -.wynter.textfield--floating-label.has-placeholder - .wynter.textfield__expandable-holder - .wynter.textfield__label { - top: -16px; -} -.wynter.textfield--floating-label.is-invalid .wynter.textfield__label { - color: #d50000; - font-size: 12px; -} -.wynter.textfield__label:after { - background-color: rgb(33, 150, 243); - bottom: 20px; - content: ""; - height: 2px; - left: 45%; - position: absolute; - transition-duration: 0.2s; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - visibility: hidden; - width: 10px; -} -.wynter.textfield.is-focused .wynter.textfield__label:after { - left: 0; - visibility: visible; - width: 100%; -} -.wynter.textfield.is-invalid .wynter.textfield__label:after { - background-color: #d50000; -} -.wynter.textfield__error { - color: #d50000; - position: absolute; - font-size: 12px; - margin-top: 3px; - visibility: hidden; - display: block; -} -.wynter.textfield.is-invalid .wynter.textfield__error { - visibility: visible; -} -.wynter.textfield__expandable-holder { - display: inline-block; - position: relative; - margin-left: 32px; - transition-duration: 0.2s; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - display: inline-block; - max-width: 0.1px; -} -.wynter.textfield.is-focused .wynter.textfield__expandable-holder, -.wynter.textfield.is-dirty .wynter.textfield__expandable-holder { - max-width: 600px; -} -.wynter.textfield__expandable-holder .wynter.textfield__label:after { - bottom: 0; -} -.wynter.tooltip { - -webkit-transform: scale(0); - transform: scale(0); - -webkit-transform-origin: top center; - transform-origin: top center; - z-index: 999; - background: rgba(97, 97, 97, 0.9); - border-radius: 2px; - color: #fff; - display: inline-block; - font-size: 10px; - font-weight: 500; - line-height: 14px; - max-width: 170px; - position: fixed; - top: -500px; - left: -500px; - padding: 8px; - text-align: center; -} -.wynter.tooltip.is-active { - -webkit-animation: pulse 200ms cubic-bezier(0, 0, 0.2, 1) forwards; - animation: pulse 200ms cubic-bezier(0, 0, 0.2, 1) forwards; -} -.wynter.tooltip--large { - line-height: 14px; - font-size: 14px; - padding: 16px; -} -@-webkit-keyframes pulse { - 0% { - -webkit-transform: scale(0); - transform: scale(0); - opacity: 0; - } - 50% { - -webkit-transform: scale(0.99); - transform: scale(0.99); - } - 100% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1; - visibility: visible; - } -} -@keyframes pulse { - 0% { - -webkit-transform: scale(0); - transform: scale(0); - opacity: 0; - } - 50% { - -webkit-transform: scale(0.99); - transform: scale(0.99); - } - 100% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1; - visibility: visible; - } -} -.wynter.shadow-2dp { - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), - 0 1px 5px 0 rgba(0, 0, 0, 0.12); -} -.wynter.shadow-3dp { - box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), - 0 1px 8px 0 rgba(0, 0, 0, 0.12); -} -.wynter.shadow-4dp { - box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), - 0 2px 4px -1px rgba(0, 0, 0, 0.2); -} -.wynter.shadow-6dp { - box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), - 0 3px 5px -1px rgba(0, 0, 0, 0.2); -} -.wynter.shadow-8dp { - box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), - 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2); -} -.wynter.shadow-16dp { - box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), - 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); -} -.wynter.shadow-24dp { - box-shadow: 0 9px 46px 8px rgba(0, 0, 0, 0.14), - 0 11px 15px -7px rgba(0, 0, 0, 0.12), 0 24px 38px 3px rgba(0, 0, 0, 0.2); -} -.wynter.grid { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - margin: 0 auto; - -webkit-align-items: stretch; - -ms-flex-align: stretch; - align-items: stretch; -} -.wynter.grid.wynter.grid--no-spacing { - padding: 0; -} -.wynter.cell { - box-sizing: border-box; -} -.wynter.cell-top { - -webkit-align-self: flex-start; - -ms-flex-item-align: start; - align-self: flex-start; -} -.wynter.cell-middle { - -webkit-align-self: center; - -ms-flex-item-align: center; - -ms-grid-row-align: center; - align-self: center; -} -.wynter.cell-bottom { - -webkit-align-self: flex-end; - -ms-flex-item-align: end; - align-self: flex-end; -} -.wynter.cell-stretch { - -webkit-align-self: stretch; - -ms-flex-item-align: stretch; - -ms-grid-row-align: stretch; - align-self: stretch; -} -.wynter.grid.wynter.grid--no-spacing > .wynter.cell { - margin: 0; -} -.wynter.cell-order-1 { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; -} -.wynter.cell-order-2 { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2; -} -.wynter.cell-order-3 { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3; -} -.wynter.cell-order-4 { - -webkit-order: 4; - -ms-flex-order: 4; - order: 4; -} -.wynter.cell-order-5 { - -webkit-order: 5; - -ms-flex-order: 5; - order: 5; -} -.wynter.cell-order-6 { - -webkit-order: 6; - -ms-flex-order: 6; - order: 6; -} -.wynter.cell-order-7 { - -webkit-order: 7; - -ms-flex-order: 7; - order: 7; -} -.wynter.cell-order-8 { - -webkit-order: 8; - -ms-flex-order: 8; - order: 8; -} -.wynter.cell-order-9 { - -webkit-order: 9; - -ms-flex-order: 9; - order: 9; -} -.wynter.cell-order-10 { - -webkit-order: 10; - -ms-flex-order: 10; - order: 10; -} -.wynter.cell-order-11 { - -webkit-order: 11; - -ms-flex-order: 11; - order: 11; -} -.wynter.cell-order-12 { - -webkit-order: 12; - -ms-flex-order: 12; - order: 12; -} -@media (max-width: 479px) { - .wynter.grid { - padding: 8px; - } - .wynter.cell { - margin: 8px; - width: calc(100% - 16px); - } - .wynter.grid--no-spacing > .wynter.cell { - width: 100%; - } - .wynter.hide-on-phone { - display: none !important; - } - .wynter.cell-order-1-phone.wynter.cell-order-1-phone { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - } - .wynter.cell-order-2-phone.wynter.cell-order-2-phone { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2; - } - .wynter.cell-order-3-phone.wynter.cell-order-3-phone { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3; - } - .wynter.cell-order-4-phone.wynter.cell-order-4-phone { - -webkit-order: 4; - -ms-flex-order: 4; - order: 4; - } - .wynter.cell-order-5-phone.wynter.cell-order-5-phone { - -webkit-order: 5; - -ms-flex-order: 5; - order: 5; - } - .wynter.cell-order-6-phone.wynter.cell-order-6-phone { - -webkit-order: 6; - -ms-flex-order: 6; - order: 6; - } - .wynter.cell-order-7-phone.wynter.cell-order-7-phone { - -webkit-order: 7; - -ms-flex-order: 7; - order: 7; - } - .wynter.cell-order-8-phone.wynter.cell-order-8-phone { - -webkit-order: 8; - -ms-flex-order: 8; - order: 8; - } - .wynter.cell-order-9-phone.wynter.cell-order-9-phone { - -webkit-order: 9; - -ms-flex-order: 9; - order: 9; - } - .wynter.cell-order-10-phone.wynter.cell-order-10-phone { - -webkit-order: 10; - -ms-flex-order: 10; - order: 10; - } - .wynter.cell-order-11-phone.wynter.cell-order-11-phone { - -webkit-order: 11; - -ms-flex-order: 11; - order: 11; - } - .wynter.cell-order-12-phone.wynter.cell-order-12-phone { - -webkit-order: 12; - -ms-flex-order: 12; - order: 12; - } - .wynter.col-1, - .wynter.col-1-phone.wynter.col-1-phone { - width: calc(25% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-1, - .wynter.grid--no-spacing > .wynter.col-1-phone.wynter.col-1-phone { - width: 25%; - } - .wynter.col-2, - .wynter.col-2-phone.wynter.col-2-phone { - width: calc(50% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-2, - .wynter.grid--no-spacing > .wynter.col-2-phone.wynter.col-2-phone { - width: 50%; - } - .wynter.col-3, - .wynter.col-3-phone.wynter.col-3-phone { - width: calc(75% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-3, - .wynter.grid--no-spacing > .wynter.col-3-phone.wynter.col-3-phone { - width: 75%; - } - .wynter.col-4, - .wynter.col-4-phone.wynter.col-4-phone { - width: calc(100% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-4, - .wynter.grid--no-spacing > .wynter.col-4-phone.wynter.col-4-phone { - width: 100%; - } - .wynter.col-5, - .wynter.col-5-phone.wynter.col-5-phone { - width: calc(100% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-5, - .wynter.grid--no-spacing > .wynter.col-5-phone.wynter.col-5-phone { - width: 100%; - } - .wynter.col-6, - .wynter.col-6-phone.wynter.col-6-phone { - width: calc(100% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-6, - .wynter.grid--no-spacing > .wynter.col-6-phone.wynter.col-6-phone { - width: 100%; - } - .wynter.col-7, - .wynter.col-7-phone.wynter.col-7-phone { - width: calc(100% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-7, - .wynter.grid--no-spacing > .wynter.col-7-phone.wynter.col-7-phone { - width: 100%; - } - .wynter.col-8, - .wynter.col-8-phone.wynter.col-8-phone { - width: calc(100% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-8, - .wynter.grid--no-spacing > .wynter.col-8-phone.wynter.col-8-phone { - width: 100%; - } - .wynter.col-9, - .wynter.col-9-phone.wynter.col-9-phone { - width: calc(100% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-9, - .wynter.grid--no-spacing > .wynter.col-9-phone.wynter.col-9-phone { - width: 100%; - } - .wynter.col-10, - .wynter.col-10-phone.wynter.col-10-phone { - width: calc(100% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-10, - .wynter.grid--no-spacing > .wynter.col-10-phone.wynter.col-10-phone { - width: 100%; - } - .wynter.col-11, - .wynter.col-11-phone.wynter.col-11-phone { - width: calc(100% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-11, - .wynter.grid--no-spacing > .wynter.col-11-phone.wynter.col-11-phone { - width: 100%; - } - .wynter.col-12, - .wynter.col-12-phone.wynter.col-12-phone { - width: calc(100% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-12, - .wynter.grid--no-spacing > .wynter.col-12-phone.wynter.col-12-phone { - width: 100%; - } - .wynter.cell-1-offset, - .wynter.cell-1-offset-phone.wynter.cell-1-offset-phone { - margin-left: calc(25% + 8px); - } - .wynter.grid.wynter.grid--no-spacing > .wynter.cell-1-offset, - .wynter.grid.wynter.grid--no-spacing - > .wynter.cell-1-offset-phone.wynter.cell-1-offset-phone { - margin-left: 25%; - } - .wynter.cell-2-offset, - .wynter.cell-2-offset-phone.wynter.cell-2-offset-phone { - margin-left: calc(50% + 8px); - } - .wynter.grid.wynter.grid--no-spacing > .wynter.cell-2-offset, - .wynter.grid.wynter.grid--no-spacing - > .wynter.cell-2-offset-phone.wynter.cell-2-offset-phone { - margin-left: 50%; - } - .wynter.cell-3-offset, - .wynter.cell-3-offset-phone.wynter.cell-3-offset-phone { - margin-left: calc(75% + 8px); - } - .wynter.grid.wynter.grid--no-spacing > .wynter.cell-3-offset, - .wynter.grid.wynter.grid--no-spacing - > .wynter.cell-3-offset-phone.wynter.cell-3-offset-phone { - margin-left: 75%; - } -} -@media (min-width: 480px) and (max-width: 839px) { - .wynter.grid { - padding: 8px; - } - .wynter.cell { - margin: 8px; - width: calc(50% - 16px); - } - .wynter.grid--no-spacing > .wynter.cell { - width: 50%; - } - .wynter.hide-on-tablet { - display: none !important; - } - .wynter.cell-order-1-tablet.wynter.cell-order-1-tablet { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - } - .wynter.cell-order-2-tablet.wynter.cell-order-2-tablet { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2; - } - .wynter.cell-order-3-tablet.wynter.cell-order-3-tablet { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3; - } - .wynter.cell-order-4-tablet.wynter.cell-order-4-tablet { - -webkit-order: 4; - -ms-flex-order: 4; - order: 4; - } - .wynter.cell-order-5-tablet.wynter.cell-order-5-tablet { - -webkit-order: 5; - -ms-flex-order: 5; - order: 5; - } - .wynter.cell-order-6-tablet.wynter.cell-order-6-tablet { - -webkit-order: 6; - -ms-flex-order: 6; - order: 6; - } - .wynter.cell-order-7-tablet.wynter.cell-order-7-tablet { - -webkit-order: 7; - -ms-flex-order: 7; - order: 7; - } - .wynter.cell-order-8-tablet.wynter.cell-order-8-tablet { - -webkit-order: 8; - -ms-flex-order: 8; - order: 8; - } - .wynter.cell-order-9-tablet.wynter.cell-order-9-tablet { - -webkit-order: 9; - -ms-flex-order: 9; - order: 9; - } - .wynter.cell-order-10-tablet.wynter.cell-order-10-tablet { - -webkit-order: 10; - -ms-flex-order: 10; - order: 10; - } - .wynter.cell-order-11-tablet.wynter.cell-order-11-tablet { - -webkit-order: 11; - -ms-flex-order: 11; - order: 11; - } - .wynter.cell-order-12-tablet.wynter.cell-order-12-tablet { - -webkit-order: 12; - -ms-flex-order: 12; - order: 12; - } - .wynter.col-1, - .wynter.col-1-tablet.wynter.col-1-tablet { - width: calc(12.5% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-1, - .wynter.grid--no-spacing > .wynter.col-1-tablet.wynter.col-1-tablet { - width: 12.5%; - } - .wynter.col-2, - .wynter.col-2-tablet.wynter.col-2-tablet { - width: calc(25% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-2, - .wynter.grid--no-spacing > .wynter.col-2-tablet.wynter.col-2-tablet { - width: 25%; - } - .wynter.col-3, - .wynter.col-3-tablet.wynter.col-3-tablet { - width: calc(37.5% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-3, - .wynter.grid--no-spacing > .wynter.col-3-tablet.wynter.col-3-tablet { - width: 37.5%; - } - .wynter.col-4, - .wynter.col-4-tablet.wynter.col-4-tablet { - width: calc(50% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-4, - .wynter.grid--no-spacing > .wynter.col-4-tablet.wynter.col-4-tablet { - width: 50%; - } - .wynter.col-5, - .wynter.col-5-tablet.wynter.col-5-tablet { - width: calc(62.5% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-5, - .wynter.grid--no-spacing > .wynter.col-5-tablet.wynter.col-5-tablet { - width: 62.5%; - } - .wynter.col-6, - .wynter.col-6-tablet.wynter.col-6-tablet { - width: calc(75% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-6, - .wynter.grid--no-spacing > .wynter.col-6-tablet.wynter.col-6-tablet { - width: 75%; - } - .wynter.col-7, - .wynter.col-7-tablet.wynter.col-7-tablet { - width: calc(87.5% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-7, - .wynter.grid--no-spacing > .wynter.col-7-tablet.wynter.col-7-tablet { - width: 87.5%; - } - .wynter.col-8, - .wynter.col-8-tablet.wynter.col-8-tablet { - width: calc(100% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-8, - .wynter.grid--no-spacing > .wynter.col-8-tablet.wynter.col-8-tablet { - width: 100%; - } - .wynter.col-9, - .wynter.col-9-tablet.wynter.col-9-tablet { - width: calc(100% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-9, - .wynter.grid--no-spacing > .wynter.col-9-tablet.wynter.col-9-tablet { - width: 100%; - } - .wynter.col-10, - .wynter.col-10-tablet.wynter.col-10-tablet { - width: calc(100% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-10, - .wynter.grid--no-spacing > .wynter.col-10-tablet.wynter.col-10-tablet { - width: 100%; - } - .wynter.col-11, - .wynter.col-11-tablet.wynter.col-11-tablet { - width: calc(100% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-11, - .wynter.grid--no-spacing > .wynter.col-11-tablet.wynter.col-11-tablet { - width: 100%; - } - .wynter.col-12, - .wynter.col-12-tablet.wynter.col-12-tablet { - width: calc(100% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-12, - .wynter.grid--no-spacing > .wynter.col-12-tablet.wynter.col-12-tablet { - width: 100%; - } - .wynter.cell-1-offset, - .wynter.cell-1-offset-tablet.wynter.cell-1-offset-tablet { - margin-left: calc(12.5% + 8px); - } - .wynter.grid.wynter.grid--no-spacing > .wynter.cell-1-offset, - .wynter.grid.wynter.grid--no-spacing - > .wynter.cell-1-offset-tablet.wynter.cell-1-offset-tablet { - margin-left: 12.5%; - } - .wynter.cell-2-offset, - .wynter.cell-2-offset-tablet.wynter.cell-2-offset-tablet { - margin-left: calc(25% + 8px); - } - .wynter.grid.wynter.grid--no-spacing > .wynter.cell-2-offset, - .wynter.grid.wynter.grid--no-spacing - > .wynter.cell-2-offset-tablet.wynter.cell-2-offset-tablet { - margin-left: 25%; - } - .wynter.cell-3-offset, - .wynter.cell-3-offset-tablet.wynter.cell-3-offset-tablet { - margin-left: calc(37.5% + 8px); - } - .wynter.grid.wynter.grid--no-spacing > .wynter.cell-3-offset, - .wynter.grid.wynter.grid--no-spacing - > .wynter.cell-3-offset-tablet.wynter.cell-3-offset-tablet { - margin-left: 37.5%; - } - .wynter.cell-4-offset, - .wynter.cell-4-offset-tablet.wynter.cell-4-offset-tablet { - margin-left: calc(50% + 8px); - } - .wynter.grid.wynter.grid--no-spacing > .wynter.cell-4-offset, - .wynter.grid.wynter.grid--no-spacing - > .wynter.cell-4-offset-tablet.wynter.cell-4-offset-tablet { - margin-left: 50%; - } - .wynter.cell-5-offset, - .wynter.cell-5-offset-tablet.wynter.cell-5-offset-tablet { - margin-left: calc(62.5% + 8px); - } - .wynter.grid.wynter.grid--no-spacing > .wynter.cell-5-offset, - .wynter.grid.wynter.grid--no-spacing - > .wynter.cell-5-offset-tablet.wynter.cell-5-offset-tablet { - margin-left: 62.5%; - } - .wynter.cell-6-offset, - .wynter.cell-6-offset-tablet.wynter.cell-6-offset-tablet { - margin-left: calc(75% + 8px); - } - .wynter.grid.wynter.grid--no-spacing > .wynter.cell-6-offset, - .wynter.grid.wynter.grid--no-spacing - > .wynter.cell-6-offset-tablet.wynter.cell-6-offset-tablet { - margin-left: 75%; - } - .wynter.cell-7-offset, - .wynter.cell-7-offset-tablet.wynter.cell-7-offset-tablet { - margin-left: calc(87.5% + 8px); - } - .wynter.grid.wynter.grid--no-spacing > .wynter.cell-7-offset, - .wynter.grid.wynter.grid--no-spacing - > .wynter.cell-7-offset-tablet.wynter.cell-7-offset-tablet { - margin-left: 87.5%; - } -} -@media (min-width: 840px) { - .wynter.grid { - padding: 8px; - } - .wynter.cell { - margin: 8px; - width: calc(33.3333333333% - 16px); - } - .wynter.grid--no-spacing > .wynter.cell { - width: 33.3333333333%; - } - .wynter.hide-on-desktop { - display: none !important; - } - .wynter.cell-order-1-desktop.wynter.cell-order-1-desktop { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - } - .wynter.cell-order-2-desktop.wynter.cell-order-2-desktop { - -webkit-order: 2; - -ms-flex-order: 2; - order: 2; - } - .wynter.cell-order-3-desktop.wynter.cell-order-3-desktop { - -webkit-order: 3; - -ms-flex-order: 3; - order: 3; - } - .wynter.cell-order-4-desktop.wynter.cell-order-4-desktop { - -webkit-order: 4; - -ms-flex-order: 4; - order: 4; - } - .wynter.cell-order-5-desktop.wynter.cell-order-5-desktop { - -webkit-order: 5; - -ms-flex-order: 5; - order: 5; - } - .wynter.cell-order-6-desktop.wynter.cell-order-6-desktop { - -webkit-order: 6; - -ms-flex-order: 6; - order: 6; - } - .wynter.cell-order-7-desktop.wynter.cell-order-7-desktop { - -webkit-order: 7; - -ms-flex-order: 7; - order: 7; - } - .wynter.cell-order-8-desktop.wynter.cell-order-8-desktop { - -webkit-order: 8; - -ms-flex-order: 8; - order: 8; - } - .wynter.cell-order-9-desktop.wynter.cell-order-9-desktop { - -webkit-order: 9; - -ms-flex-order: 9; - order: 9; - } - .wynter.cell-order-10-desktop.wynter.cell-order-10-desktop { - -webkit-order: 10; - -ms-flex-order: 10; - order: 10; - } - .wynter.cell-order-11-desktop.wynter.cell-order-11-desktop { - -webkit-order: 11; - -ms-flex-order: 11; - order: 11; - } - .wynter.cell-order-12-desktop.wynter.cell-order-12-desktop { - -webkit-order: 12; - -ms-flex-order: 12; - order: 12; - } - .wynter.col-1, - .wynter.col-1-desktop.wynter.col-1-desktop { - width: calc(8.3333333333% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-1, - .wynter.grid--no-spacing > .wynter.col-1-desktop.wynter.col-1-desktop { - width: 8.3333333333%; - } - .wynter.col-2, - .wynter.col-2-desktop.wynter.col-2-desktop { - width: calc(16.6666666667% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-2, - .wynter.grid--no-spacing > .wynter.col-2-desktop.wynter.col-2-desktop { - width: 16.6666666667%; - } - .wynter.col-3, - .wynter.col-3-desktop.wynter.col-3-desktop { - width: calc(25% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-3, - .wynter.grid--no-spacing > .wynter.col-3-desktop.wynter.col-3-desktop { - width: 25%; - } - .wynter.col-4, - .wynter.col-4-desktop.wynter.col-4-desktop { - width: calc(33.3333333333% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-4, - .wynter.grid--no-spacing > .wynter.col-4-desktop.wynter.col-4-desktop { - width: 33.3333333333%; - } - .wynter.col-5, - .wynter.col-5-desktop.wynter.col-5-desktop { - width: calc(41.6666666667% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-5, - .wynter.grid--no-spacing > .wynter.col-5-desktop.wynter.col-5-desktop { - width: 41.6666666667%; - } - .wynter.col-6, - .wynter.col-6-desktop.wynter.col-6-desktop { - width: calc(50% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-6, - .wynter.grid--no-spacing > .wynter.col-6-desktop.wynter.col-6-desktop { - width: 50%; - } - .wynter.col-7, - .wynter.col-7-desktop.wynter.col-7-desktop { - width: calc(58.3333333333% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-7, - .wynter.grid--no-spacing > .wynter.col-7-desktop.wynter.col-7-desktop { - width: 58.3333333333%; - } - .wynter.col-8, - .wynter.col-8-desktop.wynter.col-8-desktop { - width: calc(66.6666666667% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-8, - .wynter.grid--no-spacing > .wynter.col-8-desktop.wynter.col-8-desktop { - width: 66.6666666667%; - } - .wynter.col-9, - .wynter.col-9-desktop.wynter.col-9-desktop { - width: calc(75% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-9, - .wynter.grid--no-spacing > .wynter.col-9-desktop.wynter.col-9-desktop { - width: 75%; - } - .wynter.col-10, - .wynter.col-10-desktop.wynter.col-10-desktop { - width: calc(83.3333333333% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-10, - .wynter.grid--no-spacing > .wynter.col-10-desktop.wynter.col-10-desktop { - width: 83.3333333333%; - } - .wynter.col-11, - .wynter.col-11-desktop.wynter.col-11-desktop { - width: calc(91.6666666667% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-11, - .wynter.grid--no-spacing > .wynter.col-11-desktop.wynter.col-11-desktop { - width: 91.6666666667%; - } - .wynter.col-12, - .wynter.col-12-desktop.wynter.col-12-desktop { - width: calc(100% - 16px); - } - .wynter.grid--no-spacing > .wynter.col-12, - .wynter.grid--no-spacing > .wynter.col-12-desktop.wynter.col-12-desktop { - width: 100%; - } - .wynter.cell-1-offset, - .wynter.cell-1-offset-desktop.wynter.cell-1-offset-desktop { - margin-left: calc(8.3333333333% + 8px); - } - .wynter.grid.wynter.grid--no-spacing > .wynter.cell-1-offset, - .wynter.grid.wynter.grid--no-spacing - > .wynter.cell-1-offset-desktop.wynter.cell-1-offset-desktop { - margin-left: 8.3333333333%; - } - .wynter.cell-2-offset, - .wynter.cell-2-offset-desktop.wynter.cell-2-offset-desktop { - margin-left: calc(16.6666666667% + 8px); - } - .wynter.grid.wynter.grid--no-spacing > .wynter.cell-2-offset, - .wynter.grid.wynter.grid--no-spacing - > .wynter.cell-2-offset-desktop.wynter.cell-2-offset-desktop { - margin-left: 16.6666666667%; - } - .wynter.cell-3-offset, - .wynter.cell-3-offset-desktop.wynter.cell-3-offset-desktop { - margin-left: calc(25% + 8px); - } - .wynter.grid.wynter.grid--no-spacing > .wynter.cell-3-offset, - .wynter.grid.wynter.grid--no-spacing - > .wynter.cell-3-offset-desktop.wynter.cell-3-offset-desktop { - margin-left: 25%; - } - .wynter.cell-4-offset, - .wynter.cell-4-offset-desktop.wynter.cell-4-offset-desktop { - margin-left: calc(33.3333333333% + 8px); - } - .wynter.grid.wynter.grid--no-spacing > .wynter.cell-4-offset, - .wynter.grid.wynter.grid--no-spacing - > .wynter.cell-4-offset-desktop.wynter.cell-4-offset-desktop { - margin-left: 33.3333333333%; - } - .wynter.cell-5-offset, - .wynter.cell-5-offset-desktop.wynter.cell-5-offset-desktop { - margin-left: calc(41.6666666667% + 8px); - } - .wynter.grid.wynter.grid--no-spacing > .wynter.cell-5-offset, - .wynter.grid.wynter.grid--no-spacing - > .wynter.cell-5-offset-desktop.wynter.cell-5-offset-desktop { - margin-left: 41.6666666667%; - } - .wynter.cell-6-offset, - .wynter.cell-6-offset-desktop.wynter.cell-6-offset-desktop { - margin-left: calc(50% + 8px); - } - .wynter.grid.wynter.grid--no-spacing > .wynter.cell-6-offset, - .wynter.grid.wynter.grid--no-spacing - > .wynter.cell-6-offset-desktop.wynter.cell-6-offset-desktop { - margin-left: 50%; - } - .wynter.cell-7-offset, - .wynter.cell-7-offset-desktop.wynter.cell-7-offset-desktop { - margin-left: calc(58.3333333333% + 8px); - } - .wynter.grid.wynter.grid--no-spacing > .wynter.cell-7-offset, - .wynter.grid.wynter.grid--no-spacing - > .wynter.cell-7-offset-desktop.wynter.cell-7-offset-desktop { - margin-left: 58.3333333333%; - } - .wynter.cell-8-offset, - .wynter.cell-8-offset-desktop.wynter.cell-8-offset-desktop { - margin-left: calc(66.6666666667% + 8px); - } - .wynter.grid.wynter.grid--no-spacing > .wynter.cell-8-offset, - .wynter.grid.wynter.grid--no-spacing - > .wynter.cell-8-offset-desktop.wynter.cell-8-offset-desktop { - margin-left: 66.6666666667%; - } - .wynter.cell-9-offset, - .wynter.cell-9-offset-desktop.wynter.cell-9-offset-desktop { - margin-left: calc(75% + 8px); - } - .wynter.grid.wynter.grid--no-spacing > .wynter.cell-9-offset, - .wynter.grid.wynter.grid--no-spacing - > .wynter.cell-9-offset-desktop.wynter.cell-9-offset-desktop { - margin-left: 75%; - } - .wynter.cell-10-offset, - .wynter.cell-10-offset-desktop.wynter.cell-10-offset-desktop { - margin-left: calc(83.3333333333% + 8px); - } - .wynter.grid.wynter.grid--no-spacing > .wynter.cell-10-offset, - .wynter.grid.wynter.grid--no-spacing - > .wynter.cell-10-offset-desktop.wynter.cell-10-offset-desktop { - margin-left: 83.3333333333%; - } - .wynter.cell-11-offset, - .wynter.cell-11-offset-desktop.wynter.cell-11-offset-desktop { - margin-left: calc(91.6666666667% + 8px); - } - .wynter.grid.wynter.grid--no-spacing > .wynter.cell-11-offset, - .wynter.grid.wynter.grid--no-spacing - > .wynter.cell-11-offset-desktop.wynter.cell-11-offset-desktop { - margin-left: 91.6666666667%; - } -} -body { - margin: 0; -} -.styleguide-demo h1 { - margin: 48px 24px 0; -} -.styleguide-demo h1:after { - content: ""; - display: block; - width: 100%; - border-bottom: 1px solid rgba(0, 0, 0, 0.5); - margin-top: 24px; -} -.styleguide-demo { - opacity: 0; - transition: opacity 0.6s ease; -} -.styleguide-masthead { - height: 256px; - background: #212121; - padding: 115px 16px 0; -} -.styleguide-container { - position: relative; - max-width: 960px; - width: 100%; -} -.styleguide-title { - color: #fff; - bottom: auto; - position: relative; - font-size: 56px; - font-weight: 300; - line-height: 1; - letter-spacing: -0.02em; -} -.styleguide-title:after { - border-bottom: 0; -} -.styleguide-title span { - font-weight: 300; -} -.wynter.styleguide .wynter.drawer .wynter.nav-link { - padding: 10px 24px; -} -.demosLoaded .styleguide-demo { - opacity: 1; -} -iframe { - display: block; - width: 100%; - border: none; -} -iframe.heightSet { - overflow: hidden; -} -.demo-wrapper { - margin: 24px; -} -.demo-wrapper iframe { - border: 1px solid rgba(0, 0, 0, 0.5); -} diff --git a/app/views/assets/images/.init b/app/views/assets/images/.init deleted file mode 100644 index e69de29..0000000 diff --git a/app/views/assets/js/.init b/app/views/assets/js/.init deleted file mode 100644 index e69de29..0000000 diff --git a/app/views/components/header.vein.php b/app/views/components/header.vein.php deleted file mode 100644 index a554bfb..0000000 --- a/app/views/components/header.vein.php +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/app/views/components/notification.vein.php b/app/views/components/notification.vein.php deleted file mode 100644 index 7a7cb11..0000000 --- a/app/views/components/notification.vein.php +++ /dev/null @@ -1,21 +0,0 @@ -
- {if="count($errors) > 0"} - {loop="$errors" as $error} -
- {$error} -
- {/loop} - {/if} - - {if="$session['success']"} -
- {$session['success']} -
- {/if} - - {if="$session['error']"} -
- {$session['error']} -
- {/if} -
\ No newline at end of file diff --git a/app/views/errors/404.html b/app/views/errors/404.html new file mode 100644 index 0000000..6eb5bcf --- /dev/null +++ b/app/views/errors/404.html @@ -0,0 +1,32 @@ + + + + Page Not Found + + + + + + + +

Error 4😵4

+

+ We could not find the page you requested, please check and try again + or Go Back Home +

+ + diff --git a/app/views/errors/500.html b/app/views/errors/500.html new file mode 100644 index 0000000..3f4be42 --- /dev/null +++ b/app/views/errors/500.html @@ -0,0 +1,32 @@ + + + + Internal Server Error + + + + + + + +

+ Error 5😵😵 +

+

Internal Server Error. Please try again later.

+ + diff --git a/app/views/index.blade.php b/app/views/index.blade.php new file mode 100644 index 0000000..4f07eca --- /dev/null +++ b/app/views/index.blade.php @@ -0,0 +1,217 @@ + + + + + + + {{ _env('APP_NAME', 'My Leaf MVC App') }} + + + + {{-- @vite('css/app.css') --}} + + + + @alpine + + + + + + + diff --git a/app/views/pages/errors/404.html b/app/views/pages/errors/404.html deleted file mode 100644 index 21263cb..0000000 --- a/app/views/pages/errors/404.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - Page Not Found - - - - - - - -
-
-

Error 4😵4

-

- We could not find the page you requested, please check and try again or Go Back Home -

-
-
- - \ No newline at end of file diff --git a/app/views/pages/errors/500.html b/app/views/pages/errors/500.html deleted file mode 100644 index 4c08af2..0000000 --- a/app/views/pages/errors/500.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - Internal Server Error - - - - - - - -
-
-

Error 5😵😵

-

- Internal Server Error. Please try again later. -

-
-
- - \ No newline at end of file diff --git a/app/views/pages/errors/offline.html b/app/views/pages/errors/offline.html deleted file mode 100644 index 238c57e..0000000 --- a/app/views/pages/errors/offline.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - Network Error - - - - - - - -
-
-

😵💔

-

- You're currently offline. Please connect and try again. -

-
-
- - \ No newline at end of file diff --git a/app/views/pages/index.vein.php b/app/views/pages/index.vein.php deleted file mode 100644 index d8c5b5a..0000000 --- a/app/views/pages/index.vein.php +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - Leaf MVC - - - - - - - - {include="../components/header"} - -
-
-
-
-
-

Yay, you're on Leaf MVC🎉

-

- This is the LeafMVC framework. A simple MVC framework built for Leaf PHP Framework -

-

Getting Started

-

- Open up app/routes/web.php to add your routes. -

-

- Edit app/views/pages/index.vein.php and reload to see changes. -

-

- Open up the root directory in your console and type php leaf list to view all available commands. -

-

Learning LeafMVC

-

-

-

-
-
-
-
- - - \ No newline at end of file diff --git a/composer.json b/composer.json index aae7535..c5cf53b 100644 --- a/composer.json +++ b/composer.json @@ -1,37 +1,77 @@ { + "$schema": "https://getcomposer.org/schema.json", "name": "leafs/mvc", - "description": "A lightweight PHP MVC framework for creating simple but powerful web apps and APIs quickly.", - "type": "library", - "keywords": ["framework", "leaf", "leafPHP", "laravel"], - "license": "MIT", - "authors": [ - { - "name": "Michael Darko", - "email": "mickdd22@gmail.com", - "homepage": "https://mychi.netlify.com", - "role": "Developer" - } + "description": "A lightweight framework for people who just want to ship", + "type": "project", + "keywords": [ + "framework", + "leaf", + "mvc" ], + "license": "MIT", "require": { - "doctrine/dbal": "^2.9", - "illuminate/console": "^6.3", - "leafs/leaf": "v2.2.0-beta", - "psy/psysh": "^0.9.9", - "symfony/console": "^4.3", - "vlucas/phpdotenv": "^3.6" + "leafs/aloe": "v4.0-beta", + "leafs/blade": "^4.0", + "leafs/mvc-core": "v4.0-beta", + "leafs/leaf": "v4.0-beta", + "leafs/logger": "^4.0" }, "require-dev": { - "fzaninotto/faker": "^1.4", - "deployer/deployer": "^6.4" + "fakerphp/faker": "^1.24" }, - "config": { - "optimize-autoloader": true, - "sort-packages": false + "autoload": { + "psr-4": { + "App\\": "app/", + "Tests\\": "tests/", + "Config\\": "config/", + "App\\Http\\": "app/http/", + "App\\Jobs\\": "app/jobs/", + "App\\Lang\\": "app/lang/", + "App\\Mail\\": "app/mail/", + "App\\Views\\": "app/views/", + "App\\Utils\\": "app/utils/", + "App\\Events\\": "app/events/", + "App\\Models\\": "app/models/", + "App\\Mailers\\": "app/mailers/", + "App\\Workers\\": "app/workers/", + "App\\Console\\": "app/console/", + "App\\Scripts\\": "app/scripts/", + "App\\Helpers\\": "app/helpers/", + "App\\Channels\\": "app/channels/", + "App\\Services\\": "app/services/", + "App\\Database\\": "app/database/", + "App\\Middleware\\": "app/middleware/", + "App\\Components\\": "app/components/", + "App\\Controllers\\": "app/controllers/", + "App\\Notifications\\": "app/notifications/", + "App\\Database\\Seeds\\": "app/database/seeds/", + "App\\Database\\Schema\\": "app/database/schema/", + "App\\Database\\Factories\\": "app/database/factories/" + }, + "exclude-from-classmap": [ + "app/database/migrations" + ] }, "scripts": { "post-root-package-install": [ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"", - "@php -r \"unlink('README.MD'); rename('README2.MD', 'README.MD');\"" + "@php -r \"if (file_exists('README2.MD')) {unlink('README.MD'); rename('README2.MD', 'README.MD');}\"" + ], + "post-create-project-cmd": [ + "@php leaf key:generate" + ], + "dev": [ + "Composer\\Config::disableProcessTimeout", + "@php leaf serve --ansi" ] - } + }, + "config": { + "optimize-autoloader": true, + "sort-packages": false, + "allow-plugins": { + "pestphp/pest-plugin": true + } + }, + "minimum-stability": "dev", + "prefer-stable": true } diff --git a/config/bootstrap.php b/config/bootstrap.php deleted file mode 100644 index 60c081f..0000000 --- a/config/bootstrap.php +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - Login - - -
-
-
-
- Sign up -

Sign in

-
-
- - -
-
- Forgot? - - -
-
-
- -
-
-
- -
-
-
-
-
-
- - diff --git a/config/command/Auth/bootstrap-stubs/auth/passwords/confirm.stub b/config/command/Auth/bootstrap-stubs/auth/passwords/confirm.stub deleted file mode 100644 index d2202fb..0000000 --- a/config/command/Auth/bootstrap-stubs/auth/passwords/confirm.stub +++ /dev/null @@ -1,97 +0,0 @@ -@extends('layouts.app') - -@section('content') -
-
-
-
-
{{ __('Confirm Password') }}
- -
- {{ __('Please confirm your password before continuing.') }} - -
- @csrf - -
- - -
- - - @error('password') - - {{ $message }} - - @enderror -
-
- -
-
- - - @if (Route::has('password.request')) - - {{ __('Forgot Your Password?') }} - - @endif -
-
- -
-
-
-
-
-@endsection diff --git a/config/command/Auth/bootstrap-stubs/auth/passwords/email.stub b/config/command/Auth/bootstrap-stubs/auth/passwords/email.stub deleted file mode 100644 index cd462bc..0000000 --- a/config/command/Auth/bootstrap-stubs/auth/passwords/email.stub +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - Login - - -
-
-
-
- Sign In -

Reset Password

-
-
- - -
-
- -
-
-
-
-
-
- - diff --git a/config/command/Auth/bootstrap-stubs/auth/passwords/reset.stub b/config/command/Auth/bootstrap-stubs/auth/passwords/reset.stub deleted file mode 100644 index b43db81..0000000 --- a/config/command/Auth/bootstrap-stubs/auth/passwords/reset.stub +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - Login - - -
-
-
-
- Sign In -

Reset Password

-
-
- - -
-
- - -
-
- - -
-
- -
-
-
-
-
-
- - diff --git a/config/command/Auth/bootstrap-stubs/auth/register.stub b/config/command/Auth/bootstrap-stubs/auth/register.stub deleted file mode 100644 index 4936feb..0000000 --- a/config/command/Auth/bootstrap-stubs/auth/register.stub +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - Register - - -
-
-
-
- Sign In -

Sign Up

-
-
- - -
-
- - -
-
- - -
-
- - -
-
-
- -
-
-
- -
-
-
-
-
-
- - diff --git a/config/command/Auth/bootstrap-stubs/auth/verify.stub b/config/command/Auth/bootstrap-stubs/auth/verify.stub deleted file mode 100644 index ad6a595..0000000 --- a/config/command/Auth/bootstrap-stubs/auth/verify.stub +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - Register - - -
- {if="$newVerification"} -
A new code has been sent to your account
- {/if} -

Verify your account

-

A verification link has been sent to your email

-
- - diff --git a/config/command/Auth/bootstrap-stubs/home.stub b/config/command/Auth/bootstrap-stubs/home.stub deleted file mode 100644 index 20891a7..0000000 --- a/config/command/Auth/bootstrap-stubs/home.stub +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - Register - - -
- {if="$hasAuth"} -

Logged in

- {else} - Login - {/if} -
- - diff --git a/config/command/Auth/stubs/controllers/AuthController.stub b/config/command/Auth/stubs/controllers/AuthController.stub deleted file mode 100644 index 9debc9d..0000000 --- a/config/command/Auth/stubs/controllers/AuthController.stub +++ /dev/null @@ -1,38 +0,0 @@ -render("auth/login"); - } - - public function register() - { - $this->render("auth/register"); - } - - public function verify() - { - $this->render("auth/verify"); - } - - public function confirm() - { - $this->render("auth/passwords/confirm"); - } - - public function confirmEmail() - { - $this->render("auth/passwords/email"); - } - - public function reset() - { - $this->render("auth/passwords/reset"); - } -} diff --git a/config/command/Auth/stubs/controllers/HomeController.stub b/config/command/Auth/stubs/controllers/HomeController.stub deleted file mode 100644 index 2bc85fd..0000000 --- a/config/command/Auth/stubs/controllers/HomeController.stub +++ /dev/null @@ -1,13 +0,0 @@ -render("home"); - } -} diff --git a/config/command/Auth/stubs/routes.stub b/config/command/Auth/stubs/routes.stub deleted file mode 100644 index dcf1a44..0000000 --- a/config/command/Auth/stubs/routes.stub +++ /dev/null @@ -1,8 +0,0 @@ - - $leaf->get('/auth/login', 'AuthController@login'); - $leaf->get('/auth/register', 'AuthController@register'); - $leaf->get('/auth/verify', 'AuthController@verify'); - $leaf->get('/auth/confirm', 'AuthController@confirm'); - $leaf->get('/auth/email/confirm', 'AuthController@confirmEmail'); - $leaf->get('/auth/reset', 'AuthController@reset'); - $leaf->get('/home', 'HomeController@index'); diff --git a/config/command/AuthCommand.php b/config/command/AuthCommand.php deleted file mode 100644 index eb3da9d..0000000 --- a/config/command/AuthCommand.php +++ /dev/null @@ -1,127 +0,0 @@ - 'auth/login.vein', - 'auth/passwords/confirm.stub' => 'auth/passwords/confirm.vein', - 'auth/passwords/email.stub' => 'auth/passwords/email.vein', - 'auth/passwords/reset.stub' => 'auth/passwords/reset.vein', - 'auth/register.stub' => 'auth/register.vein', - 'auth/verify.stub' => 'auth/verify.vein', - 'home.stub' => 'home.vein' - ]; - - public function __construct(){ - $this->veinPath = dirname(dirname(__DIR__)) . '/app/views/'; - parent::__construct(); - } - - - protected function configure() - { - $this - ->setDescription($this->description) - ->setHelp($this->help) - ->addOption("type", null, InputOption::VALUE_OPTIONAL, 'The preset type', 'bootstrap'); - } - - - public function execute(InputInterface $input, OutputInterface $output) - { - if (!in_array($input->getOption('type'), ['bootstrap'])) { - throw new InvalidArgumentException('Invalid preset.'); - } - - $this->coolConsole = new SymfonyStyle($input, $output); - - $this->ensureDirectoriesExist(); - - $this->exportViews($input, $output); - - $this->exportBackend($output); - } - - - protected function ensureDirectoriesExist() - { - if (!is_dir($directory = 'app/views')) { - mkdir($directory, 0755, true); - } - - if (!is_dir($directory = 'app/views/auth/passwords')) { - mkdir($directory, 0755, true); - } - } - - - protected function exportViews($input, $output) - { - foreach ($this->views as $key => $value) { - if (file_exists($view = 'app/views/'.$value)) { - if (!$this->coolConsole->confirm("The [{$value}] view already exists. Do you want to replace it?", false)) { - continue; - } - } - - copy( - __DIR__.'/Auth/'.$input->getOption('type').'-stubs/'.$key, - $view - ); - } - - $output->writeln("Authentication scaffolding generated successfully."); - } - - protected function exportBackend($output) - { - touch('app/controllers/AuthController.php'); - touch('app/controllers/HomeController.php'); - - file_put_contents( - 'app/controllers/AuthController.php', - file_get_contents(__DIR__.'/Auth/stubs/controllers/AuthController.stub') - ); - $output->writeln("Auth controller generated successfully."); - - file_put_contents( - 'app/controllers/HomeController.php', - file_get_contents(__DIR__.'/Auth/stubs/controllers/HomeController.stub') - ); - $output->writeln("Home controller generated successfully."); - - if (!file_exists('app/routes/routes.php')) { - touch('app/routes/routes.php'); - } - - file_put_contents( - 'app/routes/routes.php', - file_get_contents(__DIR__.'/Auth/stubs/routes.stub'), - FILE_APPEND - ); - $output->writeln("Auth routes generated successfully."); - } -} \ No newline at end of file diff --git a/config/command/BaseCommand.php b/config/command/BaseCommand.php deleted file mode 100644 index 3110a01..0000000 --- a/config/command/BaseCommand.php +++ /dev/null @@ -1,19 +0,0 @@ -getArgument("controller")); - $path_info = pathinfo($path_to_controller); - - $dirname = $path_info["dirname"] == "." ? $controllerPath : $controllerPath . $path_info["dirname"]; - $filename = Str::studly($path_info['filename']) . '.php'; - - return [$dirname, $filename]; - } - } - \ No newline at end of file diff --git a/config/command/ConsoleCommand.php b/config/command/ConsoleCommand.php deleted file mode 100644 index 89996b2..0000000 --- a/config/command/ConsoleCommand.php +++ /dev/null @@ -1,26 +0,0 @@ -setDescription("Interact with your application") - ->setHelp("Interact with your application"); - } - - - protected function execute(InputInterface $input, OutputInterface $output) { - // $output->writeln("Leaf interactive shell activated"); - $shell = new Shell(); - $output->write($shell->run()); - } -} \ No newline at end of file diff --git a/config/command/DatabaseMigrationCommand.php b/config/command/DatabaseMigrationCommand.php deleted file mode 100644 index 84fcfa6..0000000 --- a/config/command/DatabaseMigrationCommand.php +++ /dev/null @@ -1,54 +0,0 @@ -migrationPath = dirname(dirname(__DIR__)) . '/app/database/migrations/'; - parent::__construct(); - } - - protected function configure() { - $this - ->setDescription("Run the database migrations") - ->setHelp("Run the database migrations"); - } - - - protected function execute(InputInterface $input, OutputInterface $output) { - $this->_runMigrations($output); - } - - public function _runMigrations($output) - { - $migrations = glob($this->migrationPath . '*.php'); - - foreach ($migrations as $migration) { - $file = pathinfo($migration); - $filename = $file['filename']; - - if ($filename !== "Schema"): - $className = '\App\Database\Migrations\\' . Str::studly(\substr($filename, 17)); - $this->migrate($className, $filename); - - $output->writeln('db migration on => ' . str_replace(dirname(dirname(__DIR__)) . '/app/database/migrations/', "", $migration)); - endif; - } - } - - protected function migrate($className, $filename) { - require_once "app/database/migrations/$filename.php"; - - $class = new $className; - $class->up(); - } -} \ No newline at end of file diff --git a/config/command/DatabaseRollbackCommand.php b/config/command/DatabaseRollbackCommand.php deleted file mode 100644 index b59240e..0000000 --- a/config/command/DatabaseRollbackCommand.php +++ /dev/null @@ -1,57 +0,0 @@ -migrationPath = dirname(dirname(__DIR__)) . '/app/database/migrations/'; - parent::__construct(); - } - - protected function configure() - { - $this - ->setDescription("Rollback all database migrations") - ->setHelp("Rollback all database migrations") - ->addArgument('step', InputArgument::REQUIRED, 'step required'); - } - - - protected function execute(InputInterface $input, OutputInterface $output) - { - $this->_runMigrations($input, $output); - } - - public function _runMigrations($input, $output) - { - $migrations = glob($this->migrationPath . '*.php'); - $step = $input->getArgument('step'); - - if($step !== 'all'): - $migrations = array_slice($migrations, -abs($step), abs($step), true); - endif; - - foreach ($migrations as $migration) { - $file = pathinfo($migration); - $filename = $file['filename']; - - require_once $migration; - $className = 'App\Database\Migrations\\'.Str::studly(\substr($filename, 17)); - - $class = new $className; - $class->down(); - - $output->writeln('db rollback on => ' . str_replace(dirname(dirname(__DIR__)) . '/app/database/migrations/', "", $migration)); - } - } -} \ No newline at end of file diff --git a/config/command/DatabaseSeedCommand.php b/config/command/DatabaseSeedCommand.php deleted file mode 100644 index af90bb3..0000000 --- a/config/command/DatabaseSeedCommand.php +++ /dev/null @@ -1,33 +0,0 @@ -seedPath = dirname(dirname(__DIR__)) . '/app/database/seeds/'; - parent::__construct(); - } - - protected function configure() - { - $this - ->setDescription("Seed the database with records") - ->setHelp("Seed the database with records"); - } - - - protected function execute(InputInterface $input, OutputInterface $output) - { - $seed = new \App\Database\Seeds\DatabaseSeeder; - $seed->run(); - - $output->writeln("Database seed complete"); - } -} \ No newline at end of file diff --git a/config/command/DeleteControllerCommand.php b/config/command/DeleteControllerCommand.php deleted file mode 100644 index 19d9343..0000000 --- a/config/command/DeleteControllerCommand.php +++ /dev/null @@ -1,55 +0,0 @@ -controllerPath = dirname(dirname(__DIR__)) . '/app/controllers/'; - parent::__construct(); - } - - protected function configure() { - $this - ->setDescription("Delete a controller") - ->setHelp("Delete a controller") - ->addArgument("controller", InputArgument::REQUIRED, "controller name"); - } - - - protected function execute(InputInterface $input, OutputInterface $output) { - $output->writeln($this->_deleteController($input)); - } - - public function _deleteController($input) { - list($dirname, $filename) = BaseCommand::dir_and_file($input); - - if(file_exists($dirname . '/' . $filename)): - unlink($dirname . '/' . $filename); - - $is_empty = !(new \FilesystemIterator($dirname))->valid(); - - if ($is_empty === true): - $path = explode('/', $dirname); - $base_controller = Str::studly(strtolower(end($path))) . ".php"; - $base_path = str_replace(end($path), "", $dirname); - - unlink($base_path . $base_controller); - rmdir($dirname); - endif; - else: - return "Controller does not exists"; - endif; - - return "{$filename} controller deleted successfully"; - } -} \ No newline at end of file diff --git a/config/command/DeleteModelCommand.php b/config/command/DeleteModelCommand.php deleted file mode 100644 index e3dc433..0000000 --- a/config/command/DeleteModelCommand.php +++ /dev/null @@ -1,66 +0,0 @@ -modelPath = dirname(dirname(__DIR__)).\models_path(); - parent::__construct(); - } - - protected function configure() { - $this - ->setDescription("Delete a model") - ->setHelp("Delete a model") - ->addArgument("model", InputArgument::REQUIRED, "model name"); - } - - - protected function execute(InputInterface $input, OutputInterface $output) { - $output->writeln($this->_deleteModel($input)); - } - - public function _deleteModel($input) { - list($dirname, $filename) = $this->dir_and_file($input); - - if(file_exists($dirname . '/' . $filename)): - unlink($dirname . '/' . $filename); - - $is_empty = !(new \FilesystemIterator($dirname))->valid(); - - if ($is_empty === true): - $path = explode('/', $dirname); - $base_model = Str::studly(strtolower(end($path))) . ".php"; - $base_path = str_replace(end($path), "", $dirname); - - unlink($base_path . $base_model); - rmdir($dirname); - endif; - else: - return "Model does not exists"; - endif; - - return "{$filename} deleted successfully"; - } - - public function dir_and_file($input): Array { - $modelPath = dirname(dirname(__DIR__)).\models_path(); - - $path_to_model = ($input->getArgument("model")); - $path_info = pathinfo($path_to_model); - - $dirname = $path_info["dirname"] == "." ? $modelPath : $modelPath . $path_info["dirname"]; - $filename = Str::studly($path_info['filename']) . '.php'; - - return [$dirname, $filename]; - } -} \ No newline at end of file diff --git a/config/command/DeleteTemplateCommand.php b/config/command/DeleteTemplateCommand.php deleted file mode 100644 index 51935be..0000000 --- a/config/command/DeleteTemplateCommand.php +++ /dev/null @@ -1,68 +0,0 @@ -templatePath = dirname(dirname(__DIR__)).\views_path(); - parent::__construct(); - } - - protected function configure() { - $this - ->setDescription("Delete a template") - ->setHelp("Delete a template") - ->addArgument("template", InputArgument::REQUIRED, "template name"); - } - - - protected function execute(InputInterface $input, OutputInterface $output) { - $output->writeln($this->_deleteTemplate($input, $output)); - } - - public function _deleteTemplate($input, $output) { - list($dirname, $filename) = $this->dir_and_file($input); - - $output->writeln($dirname.$filename); - - if(file_exists($dirname.$filename)): - unlink($dirname.$filename); - - $is_empty = !(new \FilesystemIterator($dirname))->valid(); - - if ($is_empty === true): - $path = explode('/', $dirname); - $base_template = Str::studly(strtolower(end($path))) . ".php"; - $base_path = str_replace(end($path), "", $dirname); - - unlink($base_path . $base_template); - rmdir($dirname); - endif; - else: - return "Template does not exists"; - endif; - - return "{$filename} deleted successfully"; - } - - public function dir_and_file($input): Array { - $templatePath = dirname(dirname(__DIR__)).\views_path(); - - $path_to_template = ($input->getArgument("template")); - $path_info = pathinfo($path_to_template); - - $dirname = $path_info["dirname"] == "." ? $templatePath : $templatePath . $path_info["dirname"]; - $filename = $path_info['filename'] . '.vein.php'; - - return [$dirname, $filename]; - } -} \ No newline at end of file diff --git a/config/command/GenerateControllerCommand.php b/config/command/GenerateControllerCommand.php deleted file mode 100644 index ca04d21..0000000 --- a/config/command/GenerateControllerCommand.php +++ /dev/null @@ -1,90 +0,0 @@ -controllerPath = dirname(dirname(__DIR__)) . '/app/controllers/'; - parent::__construct(); - } - - protected function configure() - { - $this - ->setDescription("Create a new controller class") - ->setHelp("Create a new controller class") - ->addArgument("controller", InputArgument::REQUIRED, 'controller name') - ->addOption("all", "a", InputOption::VALUE_NONE, 'Create a model, migration and template for controller') - ->addOption("template", "t", InputOption::VALUE_NONE, 'Create a template for controller') - ->addOption("view", null, InputOption::VALUE_NONE, 'Create a template for controller') - ->addOption("model", "m", InputOption::VALUE_NONE, 'Create a model for controller') - ->addOption("resource", "r", InputOption::VALUE_NONE, 'Create a resource controller') - ->addOption("api", null, InputOption::VALUE_NONE, 'Create an API controller'); - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - if (!in_array($input->getOption('resource'), [true, false])) { - throw new InvalidArgumentException('Invalid option.'); - } - $output->writeln($this->_generateController($input, $output)); - } - - public function _generateController($input, $output) - { - list($dirname, $filename) = BaseCommand::dir_and_file($input); - - if (!file_exists($dirname . '/' . $filename)): - $file = $dirname . '/' . $filename; - $controller = str_replace(".php", "", $filename); - touch($file); - - if (!$input->getOption('api')) { - if (!$input->getOption('resource')) { - $fileContent = file_get_contents(__DIR__ . '/stubs/controller.stub'); - } else { - $fileContent = file_get_contents(__DIR__ . '/stubs/resourceController.stub'); - } - } else { - $fileContent = file_get_contents(__DIR__ . '/stubs/apiController.stub'); - } - - if ($input->getOption('all')) { - $process = new Process("php leaf g:model ".Str::studly(str_replace("Controller", "", $controller))." -m"); - $process->run(); - $output->writeln("Model ".Str::studly(str_replace("Controller", "", $controller))." generated successfully"); - $process = new Process("php leaf g:template ".Str::lower(str_replace("Controller", "", $controller))); - $process->run(); - $output->writeln(Str::lower(str_replace("Controller", "", $controller)).".vein.php generated successfully"); - } elseif ($input->getOption('model')) { - $process = new Process("php leaf g:model ".Str::studly(str_replace("Controller", "", $controller))); - $process->run(); - $output->writeln("Model ".Str::studly(str_replace("Controller", "", $controller))." generated successfully"); - } elseif ($input->getOption('template') || $input->getOption('view')) { - $process = new Process("php leaf g:template ".Str::lower(str_replace("Controller", "", $controller))); - $process->run(); - $output->writeln(Str::lower(str_replace("Controller", "", $controller)).".vein.php generated successfully"); - } - - $fileContent = str_replace(["ClassName"], [$controller], $fileContent); - file_put_contents($file, $fileContent); - - return "$controller created successfully"; - else: - return str_replace(".php", "", $filename)." already exists"; - endif; - } -} \ No newline at end of file diff --git a/config/command/GenerateHelperCommand.php b/config/command/GenerateHelperCommand.php deleted file mode 100644 index 57f30ab..0000000 --- a/config/command/GenerateHelperCommand.php +++ /dev/null @@ -1,42 +0,0 @@ -helperPath = dirname(dirname(__DIR__)) . '/app/helpers/'; - parent::__construct(); - } - - protected function configure() - { - $this - ->setDescription("Create a new helper class") - ->setHelp("Create a new helper class") - ->addArgument("helper", InputArgument::REQUIRED, 'helper name'); - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - $helper = Str::studly($input->getArgument("helper").'Helper'); - - $file = $this->helperPath . $helper . '.php'; - - touch($file); - - $fileContent = \file_get_contents(__DIR__ . '/stubs/helper.stub'); - $fileContent = str_replace('ClassName', $helper, $fileContent); - \file_put_contents($file, $fileContent); - - $output->writeln($helper . ' generated successfully'); - } -} \ No newline at end of file diff --git a/config/command/GenerateMigrationCommand.php b/config/command/GenerateMigrationCommand.php deleted file mode 100644 index d9ef202..0000000 --- a/config/command/GenerateMigrationCommand.php +++ /dev/null @@ -1,49 +0,0 @@ -migrationPath = dirname(dirname(__DIR__)) . "/app/database/migrations/"; - parent::__construct(); - } - - protected function configure() - { - $this - ->setDescription("Create a new migration file") - ->setHelp("Create a new migration file") - ->addArgument('migration', InputArgument::REQUIRED, 'migration file name'); - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - $userInput = Str::plural($input->getArgument("migration")); - $filename = Str::snake("Create_".$userInput); - - $actualFileName = date("Y_m_d_His").'_'.$filename.'.php'; - $file = $this->migrationPath.$actualFileName; - - touch($file); - - $className = Str::studly("Create".$input->getArgument("migration")); - - $fileContent = \file_get_contents(__DIR__ . '/stubs/migration.stub'); - - $fileContent = str_replace(["ClassName", "tableName"], [$className, $userInput], $fileContent); - - file_put_contents($file, $fileContent); - - $output->writeln($actualFileName . ' generated successfully'); - } - } \ No newline at end of file diff --git a/config/command/GenerateModelCommand.php b/config/command/GenerateModelCommand.php deleted file mode 100644 index 68d7ca9..0000000 --- a/config/command/GenerateModelCommand.php +++ /dev/null @@ -1,90 +0,0 @@ -migrationPath = dirname(dirname(__DIR__)) . \migrations_path(); - $this->modelPath = dirname(dirname(__DIR__)). \models_path(); - - parent::__construct(); - } - - protected function configure() - { - $this - ->setDescription("Create a new model class") - ->setHelp("Create a new model class") - ->addArgument('model', InputArgument::REQUIRED, 'model file name') - ->addOption("migration", "m", InputOption::VALUE_NONE, 'Create a migration for model'); - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - // create the model file - $model = $this->modelPath . Str::singular(Str::studly($input->getArgument("model"))) . '.php'; - - if (!file_exists($model)): - $model = $this->_createModel($input); - $output->writeln($model . ' model generated'); - - if ($input->getOption('migration')): - $migration = $this->_createMigration($input); - $output->writeln($migration . ' file generated'); - endif; - else: - $output->writeln("Model already exists"); - endif; - } - - public function _createModel($input): String - { - $model = Str::singular(Str::studly($input->getArgument("model"))); - - // get content of the migration stub - $fileContent = \file_get_contents(__DIR__ . '/stubs/model.stub'); - - // replace all ClassName with model variable - $fileContent = str_replace("ClassName", $model, $fileContent); - - // update the model file - file_put_contents($this->modelPath . "{$model}.php", $fileContent); - - return $model; - } - - public function _createMigration($input) - { - $model = $input->getArgument("model"); - - $filename = Str::snake(Str::plural($model)); - $file = $this->migrationPath . date("Y_m_d_His") . '_create_' . $filename . '.php'; - - // create the migration file - touch($file); - - $className = 'Create' . Str::studly($filename); - $tableName = \strtolower(Str::plural($model)); - - // get content of the migration stub - $fileContent = \file_get_contents(__DIR__ . '/stubs/migration.stub'); - - // replace all ClassName with className variable - $fileContent = str_replace(["ClassName", "tableName"], [$className, "{$tableName}"], $fileContent); - // update the migration file - file_put_contents($file, $fileContent); - - return $file; - } - } \ No newline at end of file diff --git a/config/command/GenerateTemplateCommand.php b/config/command/GenerateTemplateCommand.php deleted file mode 100644 index fbbfc36..0000000 --- a/config/command/GenerateTemplateCommand.php +++ /dev/null @@ -1,41 +0,0 @@ -templatePath = dirname(dirname(__DIR__)) . '/app/views/'; - parent::__construct(); - } - - protected function configure() - { - $this - ->setDescription("Create a new vein template") - ->setHelp("Create a new vein template") - ->addArgument("template", InputArgument::REQUIRED, 'template name'); - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - $template = $input->getArgument("template"); - - $file = $this->templatePath . $template . '.vein.php'; - - touch($file); - - $fileContent = \file_get_contents(__DIR__ . '/stubs/template.stub'); - \file_put_contents($file, $fileContent); - - $output->writeln($template . ' generated successfully'); - } -} \ No newline at end of file diff --git a/config/command/Presets/Bootstrap.php b/config/command/Presets/Bootstrap.php deleted file mode 100644 index 09fd778..0000000 --- a/config/command/Presets/Bootstrap.php +++ /dev/null @@ -1,55 +0,0 @@ - '^4.0.0', - 'jquery' => '^3.2', - 'popper.js' => '^1.12', - ] + $packages; - } - - /** - * Update the Sass files for the application. - * - * @return void - */ - protected static function updateSass() - { - copy(__DIR__.'/bootstrap-stubs/_variables.scss', resource_path('sass/_variables.scss')); - copy(__DIR__.'/bootstrap-stubs/app.scss', resource_path('sass/app.scss')); - } - - /** - * Update the bootstrapping files. - * - * @return void - */ - protected static function updateBootstrapping() - { - copy(__DIR__.'/bootstrap-stubs/bootstrap.js', resource_path('js/bootstrap.js')); - } -} diff --git a/config/command/Presets/Preset.php b/config/command/Presets/Preset.php deleted file mode 100644 index c3c222d..0000000 --- a/config/command/Presets/Preset.php +++ /dev/null @@ -1,65 +0,0 @@ -isDirectory($directory = resource_path('js/components'))) { - $filesystem->makeDirectory($directory, 0755, true); - } - } - - /** - * Update the "package.json" file. - * - * @param bool $dev - * @return void - */ - protected static function updatePackages($dev = true) - { - if (! file_exists(base_path('package.json'))) { - return; - } - - $configurationKey = $dev ? 'devDependencies' : 'dependencies'; - - $packages = json_decode(file_get_contents(base_path('package.json')), true); - - $packages[$configurationKey] = static::updatePackageArray( - array_key_exists($configurationKey, $packages) ? $packages[$configurationKey] : [], - $configurationKey - ); - - ksort($packages[$configurationKey]); - - file_put_contents( - base_path('package.json'), - json_encode($packages, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT).PHP_EOL - ); - } - - /** - * Remove the installed Node modules. - * - * @return void - */ - protected static function removeNodeModules() - { - tap(new Filesystem, function ($files) { - $files->deleteDirectory(base_path('node_modules')); - - $files->delete(base_path('yarn.lock')); - }); - } -} diff --git a/config/command/Presets/React.php b/config/command/Presets/React.php deleted file mode 100644 index 48fd958..0000000 --- a/config/command/Presets/React.php +++ /dev/null @@ -1,76 +0,0 @@ - '^7.0.0', - 'react' => '^16.2.0', - 'react-dom' => '^16.2.0', - ] + Arr::except($packages, ['vue', 'vue-template-compiler']); - } - - /** - * Update the Webpack configuration. - * - * @return void - */ - protected static function updateWebpackConfiguration() - { - copy(__DIR__.'/react-stubs/webpack.mix.js', base_path('webpack.mix.js')); - } - - /** - * Update the example component. - * - * @return void - */ - protected static function updateComponent() - { - (new Filesystem)->delete( - resource_path('js/components/ExampleComponent.vue') - ); - - copy( - __DIR__.'/react-stubs/Example.js', - resource_path('js/components/Example.js') - ); - } - - /** - * Update the bootstrapping files. - * - * @return void - */ - protected static function updateBootstrapping() - { - copy(__DIR__.'/react-stubs/app.js', resource_path('js/app.js')); - } -} diff --git a/config/command/Presets/Vue.php b/config/command/Presets/Vue.php deleted file mode 100644 index 82528da..0000000 --- a/config/command/Presets/Vue.php +++ /dev/null @@ -1,82 +0,0 @@ - '^2.3.1', - 'sass' => '^1.20.1', - 'sass-loader' => '7.*', - 'vue' => '^2.5.17', - 'vue-template-compiler' => '^2.6.10', - ] + Arr::except($packages, [ - '@babel/preset-react', - 'react', - 'react-dom', - ]); - } - - /** - * Update the Webpack configuration. - * - * @return void - */ - protected static function updateWebpackConfiguration() - { - copy(__DIR__.'/vue-stubs/webpack.mix.js', base_path('webpack.mix.js')); - } - - /** - * Update the example component. - * - * @return void - */ - protected static function updateComponent() - { - (new Filesystem)->delete( - resource_path('js/components/Example.js') - ); - - copy( - __DIR__.'/vue-stubs/ExampleComponent.vue', - resource_path('js/components/ExampleComponent.vue') - ); - } - - /** - * Update the bootstrapping files. - * - * @return void - */ - protected static function updateBootstrapping() - { - copy(__DIR__.'/vue-stubs/app.js', resource_path('js/app.js')); - } -} diff --git a/config/command/Presets/bootstrap-stubs/_variables.scss b/config/command/Presets/bootstrap-stubs/_variables.scss deleted file mode 100644 index 0407ab5..0000000 --- a/config/command/Presets/bootstrap-stubs/_variables.scss +++ /dev/null @@ -1,19 +0,0 @@ -// Body -$body-bg: #f8fafc; - -// Typography -$font-family-sans-serif: 'Nunito', sans-serif; -$font-size-base: 0.9rem; -$line-height-base: 1.6; - -// Colors -$blue: #3490dc; -$indigo: #6574cd; -$purple: #9561e2; -$pink: #f66d9b; -$red: #e3342f; -$orange: #f6993f; -$yellow: #ffed4a; -$green: #38c172; -$teal: #4dc0b5; -$cyan: #6cb2eb; diff --git a/config/command/Presets/bootstrap-stubs/app.scss b/config/command/Presets/bootstrap-stubs/app.scss deleted file mode 100644 index 3193ffa..0000000 --- a/config/command/Presets/bootstrap-stubs/app.scss +++ /dev/null @@ -1,8 +0,0 @@ -// Fonts -@import url('https://fonts.googleapis.com/css?family=Nunito'); - -// Variables -@import 'variables'; - -// Bootstrap -@import '~bootstrap/scss/bootstrap'; diff --git a/config/command/Presets/bootstrap-stubs/bootstrap.js b/config/command/Presets/bootstrap-stubs/bootstrap.js deleted file mode 100644 index 8eaba1b..0000000 --- a/config/command/Presets/bootstrap-stubs/bootstrap.js +++ /dev/null @@ -1,41 +0,0 @@ -window._ = require('lodash'); - -/** - * We'll load jQuery and the Bootstrap jQuery plugin which provides support - * for JavaScript based Bootstrap features such as modals and tabs. This - * code may be modified to fit the specific needs of your application. - */ - -try { - window.Popper = require('popper.js').default; - window.$ = window.jQuery = require('jquery'); - - require('bootstrap'); -} catch (e) {} - -/** - * We'll load the axios HTTP library which allows us to easily issue requests - * to our Laravel back-end. This library automatically handles sending the - * CSRF token as a header based on the value of the "XSRF" token cookie. - */ - -window.axios = require('axios'); - -window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; - -/** - * Echo exposes an expressive API for subscribing to channels and listening - * for events that are broadcast by Laravel. Echo and event broadcasting - * allows your team to easily build robust real-time web applications. - */ - -// import Echo from 'laravel-echo'; - -// window.Pusher = require('pusher-js'); - -// window.Echo = new Echo({ -// broadcaster: 'pusher', -// key: process.env.MIX_PUSHER_APP_KEY, -// cluster: process.env.MIX_PUSHER_APP_CLUSTER, -// encrypted: true -// }); diff --git a/config/command/Presets/react-stubs/Example.jsx b/config/command/Presets/react-stubs/Example.jsx deleted file mode 100644 index 3383467..0000000 --- a/config/command/Presets/react-stubs/Example.jsx +++ /dev/null @@ -1,24 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; - -function Example() { - return ( -
-
-
-
-
Example Component
- -
I'm an example component!
-
-
-
-
- ); -} - -export default Example; - -if (document.getElementById('example')) { - ReactDOM.render(, document.getElementById('example')); -} diff --git a/config/command/Presets/react-stubs/app.js b/config/command/Presets/react-stubs/app.js deleted file mode 100644 index a5f91ab..0000000 --- a/config/command/Presets/react-stubs/app.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * First we will load all of this project's JavaScript dependencies which - * includes React and other helpers. It's a great starting point while - * building robust, powerful web applications using React + Laravel. - */ - -require('./bootstrap'); - -/** - * Next, we will create a fresh React component instance and attach it to - * the page. Then, you may begin adding components to this application - * or customize the JavaScript scaffolding to fit your unique needs. - */ - -require('./components/Example'); diff --git a/config/command/Presets/react-stubs/webpack.mix.js b/config/command/Presets/react-stubs/webpack.mix.js deleted file mode 100644 index cc075aa..0000000 --- a/config/command/Presets/react-stubs/webpack.mix.js +++ /dev/null @@ -1,15 +0,0 @@ -const mix = require('laravel-mix'); - -/* - |-------------------------------------------------------------------------- - | Mix Asset Management - |-------------------------------------------------------------------------- - | - | Mix provides a clean, fluent API for defining some Webpack build steps - | for your Laravel application. By default, we are compiling the Sass - | file for the application as well as bundling up all the JS files. - | - */ - -mix.react('resources/js/app.js', 'public/js') - .sass('resources/sass/app.scss', 'public/css'); diff --git a/config/command/Presets/vue-stubs/ExampleComponent.vue b/config/command/Presets/vue-stubs/ExampleComponent.vue deleted file mode 100644 index 3fb9f9a..0000000 --- a/config/command/Presets/vue-stubs/ExampleComponent.vue +++ /dev/null @@ -1,23 +0,0 @@ - - - diff --git a/config/command/Presets/vue-stubs/app.js b/config/command/Presets/vue-stubs/app.js deleted file mode 100644 index aa19e31..0000000 --- a/config/command/Presets/vue-stubs/app.js +++ /dev/null @@ -1,32 +0,0 @@ -/** - * First we will load all of this project's JavaScript dependencies which - * includes Vue and other libraries. It is a great starting point when - * building robust, powerful web applications using Vue and Laravel. - */ - -require('./bootstrap'); - -window.Vue = require('vue'); - -/** - * The following block of code may be used to automatically register your - * Vue components. It will recursively scan this directory for the Vue - * components and automatically register them with their "basename". - * - * Eg. ./components/ExampleComponent.vue -> - */ - -// const files = require.context('./', true, /\.vue$/i) -// files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default)) - -Vue.component('example-component', require('./components/ExampleComponent.vue').default); - -/** - * Next, we will create a fresh Vue application instance and attach it to - * the page. Then, you may begin adding components to this application - * or customize the JavaScript scaffolding to fit your unique needs. - */ - -const app = new Vue({ - el: '#app', -}); diff --git a/config/command/Presets/vue-stubs/webpack.mix.js b/config/command/Presets/vue-stubs/webpack.mix.js deleted file mode 100644 index 19a48fa..0000000 --- a/config/command/Presets/vue-stubs/webpack.mix.js +++ /dev/null @@ -1,15 +0,0 @@ -const mix = require('laravel-mix'); - -/* - |-------------------------------------------------------------------------- - | Mix Asset Management - |-------------------------------------------------------------------------- - | - | Mix provides a clean, fluent API for defining some Webpack build steps - | for your Laravel application. By default, we are compiling the Sass - | file for the application as well as bundling up all the JS files. - | - */ - -mix.js('resources/js/app.js', 'public/js') - .sass('resources/sass/app.scss', 'public/css'); diff --git a/config/command/ServerCommand.php b/config/command/ServerCommand.php deleted file mode 100644 index 63fa197..0000000 --- a/config/command/ServerCommand.php +++ /dev/null @@ -1,31 +0,0 @@ -setHelp("Start the leaf app server") - ->setDescription("Run your Leaf app") - ->addArgument("port", InputArgument::OPTIONAL, "port number"); - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - $port = $input->getArgument("port") ? (int)$input->getArgument("port") : 5500; - - $output->write("Leaf development server started: http://localhost:$port\n"); - $output->write("Happy gardening!! \n"); - $output->write(shell_exec("php -S localhost:{$port}")); - } -} \ No newline at end of file diff --git a/config/command/UiCommand.php b/config/command/UiCommand.php deleted file mode 100644 index a3c2c2e..0000000 --- a/config/command/UiCommand.php +++ /dev/null @@ -1,91 +0,0 @@ -argument('type'))) { - return call_user_func(static::$macros[$this->argument('type')], $this); - } - - if (! in_array($this->argument('type'), ['bootstrap', 'vue', 'react'])) { - throw new InvalidArgumentException('Invalid preset.'); - } - - $this->{$this->argument('type')}(); - - if ($this->option('auth')) { - $this->call('ui:auth'); - } - } - - /** - * Install the "bootstrap" preset. - * - * @return void - */ - protected function bootstrap() - { - Presets\Bootstrap::install(); - - $this->info('Bootstrap scaffolding installed successfully.'); - $this->comment('Please run "npm install && npm run dev" to compile your fresh scaffolding.'); - } - - /** - * Install the "vue" preset. - * - * @return void - */ - protected function vue() - { - Presets\Bootstrap::install(); - Presets\Vue::install(); - - $this->info('Vue scaffolding installed successfully.'); - $this->comment('Please run "npm install && npm run dev" to compile your fresh scaffolding.'); - } - - /** - * Install the "react" preset. - * - * @return void - */ - protected function react() - { - Presets\Bootstrap::install(); - Presets\React::install(); - - $this->info('React scaffolding installed successfully.'); - $this->comment('Please run "npm install && npm run dev" to compile your fresh scaffolding.'); - } -} diff --git a/config/command/stubs/apiController.stub b/config/command/stubs/apiController.stub deleted file mode 100644 index 5f066b1..0000000 --- a/config/command/stubs/apiController.stub +++ /dev/null @@ -1,17 +0,0 @@ -respond([ - "message" => "This is the ClassName" - ]); - } - } \ No newline at end of file diff --git a/config/command/stubs/controller.stub b/config/command/stubs/controller.stub deleted file mode 100644 index 5b2bc66..0000000 --- a/config/command/stubs/controller.stub +++ /dev/null @@ -1,6 +0,0 @@ -capsule::schema()->hasTable("tableName")): - $this->capsule::schema()->create("tableName", function ($table) { - $table->increments('id'); - $table->timestamps(); - }); - endif; - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() { - $this->capsule::schema()->dropIfExists("tableName"); - } - } \ No newline at end of file diff --git a/config/command/stubs/model.stub b/config/command/stubs/model.stub deleted file mode 100644 index 89f8651..0000000 --- a/config/command/stubs/model.stub +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - - {function="env('APP_NAME')"} - - - - -

{$title}

- - - - \ No newline at end of file diff --git a/config/console.php b/config/console.php deleted file mode 100644 index 2384ae8..0000000 --- a/config/console.php +++ /dev/null @@ -1,55 +0,0 @@ -app = new Application("LeafMVC Framework v1.3.0"); - - // Random Commands - $this->app->add(new \Config\Command\ServerCommand()); - $this->app->add(new \Config\Command\ConsoleCommand()); - - // Generate Commands - $this->app->add(new \Config\Command\GenerateTemplateCommand()); - $this->app->add(new \Config\Command\GenerateMigrationCommand()); - $this->app->add(new \Config\Command\GenerateModelCommand()); - $this->app->add(new \Config\Command\GenerateHelperCommand()); - $this->app->add(new \Config\Command\GenerateControllerCommand()); - - // Delete Commands - $this->app->add(new \Config\Command\DeleteModelCommand()); - $this->app->add(new \Config\Command\DeleteTemplateCommand()); - $this->app->add(new \Config\Command\DeleteControllerCommand()); - - // Database Commands - $this->app->add(new \Config\Command\DatabaseMigrationCommand()); - $this->app->add(new \Config\Command\DatabaseRollbackCommand()); - $this->app->add(new \Config\Command\DatabaseSeedCommand()); - - // UI Commands - // $this->app->add(new \Config\Command\UiCommand()); - $this->app->add(new \Config\Command\AuthCommand()); - } - - /** - * Register a custom command - * - * @param Symfony\Component\Console\Command\Command $command: Command to run - * - * @return void - */ - public function registerCustom($command) { - $this->app->add($command); - } - - /** - * Run the console app - */ - public function run() { - $this->app->run(); - } -} \ No newline at end of file diff --git a/config/database.php b/config/database.php deleted file mode 100644 index 199382d..0000000 --- a/config/database.php +++ /dev/null @@ -1,147 +0,0 @@ - env('DB_CONNECTION', 'mysql'), - - /* - |-------------------------------------------------------------------------- - | Database Connections - |-------------------------------------------------------------------------- - | - | Here are each of the database connections setup for your application. - | Of course, examples of configuring each database platform that is - | supported by Laravel is shown below to make development simple. - | - | - | All database work in Laravel is done through the PHP PDO facilities - | so make sure you have the driver for your particular database of - | choice installed on your machine before you begin development. - | - */ - - 'connections' => [ - - 'sqlite' => [ - 'driver' => 'sqlite', - 'url' => env('DATABASE_URL'), - 'database' => env('DB_DATABASE', database_path('database.sqlite')), - 'prefix' => '', - 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), - ], - - 'mysql' => [ - 'driver' => 'mysql', - 'url' => env('DATABASE_URL'), - 'host' => env('DB_HOST', '127.0.0.1'), - 'port' => env('DB_PORT', '3306'), - 'database' => env('DB_DATABASE', 'forge'), - 'username' => env('DB_USERNAME', 'forge'), - 'password' => env('DB_PASSWORD', ''), - 'unix_socket' => env('DB_SOCKET', ''), - 'charset' => 'utf8mb4', - 'collation' => 'utf8mb4_unicode_ci', - 'prefix' => '', - 'prefix_indexes' => true, - 'strict' => true, - 'engine' => null, - 'options' => extension_loaded('pdo_mysql') ? array_filter([ - PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), - ]) : [], - ], - - 'pgsql' => [ - 'driver' => 'pgsql', - 'url' => env('DATABASE_URL'), - 'host' => env('DB_HOST', '127.0.0.1'), - 'port' => env('DB_PORT', '5432'), - 'database' => env('DB_DATABASE', 'forge'), - 'username' => env('DB_USERNAME', 'forge'), - 'password' => env('DB_PASSWORD', ''), - 'charset' => 'utf8', - 'prefix' => '', - 'prefix_indexes' => true, - 'schema' => 'public', - 'sslmode' => 'prefer', - ], - - 'sqlsrv' => [ - 'driver' => 'sqlsrv', - 'url' => env('DATABASE_URL'), - 'host' => env('DB_HOST', 'localhost'), - 'port' => env('DB_PORT', '1433'), - 'database' => env('DB_DATABASE', 'forge'), - 'username' => env('DB_USERNAME', 'forge'), - 'password' => env('DB_PASSWORD', ''), - 'charset' => 'utf8', - 'prefix' => '', - 'prefix_indexes' => true, - ], - - ], - - /* - |-------------------------------------------------------------------------- - | Migration Repository Table - |-------------------------------------------------------------------------- - | - | This table keeps track of all the migrations that have already run for - | your application. Using this information, we can determine which of - | the migrations on disk haven't actually been run in the database. - | - */ - - 'migrations' => 'migrations', - - /* - |-------------------------------------------------------------------------- - | Redis Databases - |-------------------------------------------------------------------------- - | - | Redis is an open source, fast, and advanced key-value store that also - | provides a richer body of commands than a typical key-value system - | such as APC or Memcached. Laravel makes it easy to dig right in. - | - */ - - 'redis' => [ - - 'client' => env('REDIS_CLIENT', 'phpredis'), - - 'options' => [ - 'cluster' => env('REDIS_CLUSTER', 'redis'), - 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), - ], - - 'default' => [ - 'url' => env('REDIS_URL'), - 'host' => env('REDIS_HOST', '127.0.0.1'), - 'password' => env('REDIS_PASSWORD', null), - 'port' => env('REDIS_PORT', 6379), - 'database' => env('REDIS_DB', 0), - ], - - 'cache' => [ - 'url' => env('REDIS_URL'), - 'host' => env('REDIS_HOST', '127.0.0.1'), - 'password' => env('REDIS_PASSWORD', null), - 'port' => env('REDIS_PORT', 6379), - 'database' => env('REDIS_CACHE_DB', 1), - ], - - ], - -]; diff --git a/config/debug.php b/config/debug.php deleted file mode 100644 index 7914be0..0000000 --- a/config/debug.php +++ /dev/null @@ -1,9 +0,0 @@ -show() : $errors->hide(); - } -} \ No newline at end of file diff --git a/config/mail.php b/config/mail.php deleted file mode 100644 index 3c65eb3..0000000 --- a/config/mail.php +++ /dev/null @@ -1,136 +0,0 @@ - env('MAIL_DRIVER', 'smtp'), - - /* - |-------------------------------------------------------------------------- - | SMTP Host Address - |-------------------------------------------------------------------------- - | - | Here you may provide the host address of the SMTP server used by your - | applications. A default option is provided that is compatible with - | the Mailgun mail service which will provide reliable deliveries. - | - */ - - 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), - - /* - |-------------------------------------------------------------------------- - | SMTP Host Port - |-------------------------------------------------------------------------- - | - | This is the SMTP port used by your application to deliver e-mails to - | users of the application. Like the host we have set this value to - | stay compatible with the Mailgun e-mail application by default. - | - */ - - 'port' => env('MAIL_PORT', 587), - - /* - |-------------------------------------------------------------------------- - | Global "From" Address - |-------------------------------------------------------------------------- - | - | You may wish for all e-mails sent by your application to be sent from - | the same address. Here, you may specify a name and address that is - | used globally for all e-mails that are sent by your application. - | - */ - - 'from' => [ - 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), - 'name' => env('MAIL_FROM_NAME', 'Example'), - ], - - /* - |-------------------------------------------------------------------------- - | E-Mail Encryption Protocol - |-------------------------------------------------------------------------- - | - | Here you may specify the encryption protocol that should be used when - | the application send e-mail messages. A sensible default using the - | transport layer security protocol should provide great security. - | - */ - - 'encryption' => env('MAIL_ENCRYPTION', 'tls'), - - /* - |-------------------------------------------------------------------------- - | SMTP Server Username - |-------------------------------------------------------------------------- - | - | If your SMTP server requires a username for authentication, you should - | set it here. This will get used to authenticate with your server on - | connection. You may also set the "password" value below this one. - | - */ - - 'username' => env('MAIL_USERNAME'), - - 'password' => env('MAIL_PASSWORD'), - - /* - |-------------------------------------------------------------------------- - | Sendmail System Path - |-------------------------------------------------------------------------- - | - | When using the "sendmail" driver to send e-mails, we will need to know - | the path to where Sendmail lives on this server. A default path has - | been provided here, which will work well on most of your systems. - | - */ - - 'sendmail' => '/usr/sbin/sendmail -bs', - - /* - |-------------------------------------------------------------------------- - | Markdown Mail Settings - |-------------------------------------------------------------------------- - | - | If you are using Markdown based email rendering, you may configure your - | theme and component paths here, allowing you to customize the design - | of the emails. Or, you may simply stick with the Laravel defaults! - | - */ - - 'markdown' => [ - 'theme' => 'default', - - 'paths' => [ - resource_path('views/vendor/mail'), - ], - ], - - /* - |-------------------------------------------------------------------------- - | Log Channel - |-------------------------------------------------------------------------- - | - | If you are using the "log" driver, you may specify the logging channel - | if you prefer to keep mail messages separate from other log entries - | for simpler reading. Otherwise, the default channel will be used. - | - */ - - 'log_channel' => env('MAIL_LOG_CHANNEL'), - -]; diff --git a/config/paths.php b/config/paths.php deleted file mode 100644 index 6e37436..0000000 --- a/config/paths.php +++ /dev/null @@ -1,41 +0,0 @@ -getCurrentUri(), "api/"); - -if ($isAPIroute == true || $leaf->getCurrentUri() == "/api") { - require dirname(__DIR__).routes_path("api.php"); -} else { - require dirname(__DIR__).routes_path("web.php"); -} \ No newline at end of file diff --git a/config/session.php b/config/session.php deleted file mode 100644 index fbb9b4d..0000000 --- a/config/session.php +++ /dev/null @@ -1,199 +0,0 @@ - env('SESSION_DRIVER', 'file'), - - /* - |-------------------------------------------------------------------------- - | Session Lifetime - |-------------------------------------------------------------------------- - | - | Here you may specify the number of minutes that you wish the session - | to be allowed to remain idle before it expires. If you want them - | to immediately expire on the browser closing, set that option. - | - */ - - 'lifetime' => env('SESSION_LIFETIME', 120), - - 'expire_on_close' => false, - - /* - |-------------------------------------------------------------------------- - | Session Encryption - |-------------------------------------------------------------------------- - | - | This option allows you to easily specify that all of your session data - | should be encrypted before it is stored. All encryption will be run - | automatically by Laravel and you can use the Session like normal. - | - */ - - 'encrypt' => false, - - /* - |-------------------------------------------------------------------------- - | Session File Location - |-------------------------------------------------------------------------- - | - | When using the native session driver, we need a location where session - | files may be stored. A default has been set for you but a different - | location may be specified. This is only needed for file sessions. - | - */ - - 'files' => storage_path('framework/sessions'), - - /* - |-------------------------------------------------------------------------- - | Session Database Connection - |-------------------------------------------------------------------------- - | - | When using the "database" or "redis" session drivers, you may specify a - | connection that should be used to manage these sessions. This should - | correspond to a connection in your database configuration options. - | - */ - - 'connection' => env('SESSION_CONNECTION', null), - - /* - |-------------------------------------------------------------------------- - | Session Database Table - |-------------------------------------------------------------------------- - | - | When using the "database" session driver, you may specify the table we - | should use to manage the sessions. Of course, a sensible default is - | provided for you; however, you are free to change this as needed. - | - */ - - 'table' => 'sessions', - - /* - |-------------------------------------------------------------------------- - | Session Cache Store - |-------------------------------------------------------------------------- - | - | When using the "apc", "memcached", or "dynamodb" session drivers you may - | list a cache store that should be used for these sessions. This value - | must match with one of the application's configured cache "stores". - | - */ - - 'store' => env('SESSION_STORE', null), - - /* - |-------------------------------------------------------------------------- - | Session Sweeping Lottery - |-------------------------------------------------------------------------- - | - | Some session drivers must manually sweep their storage location to get - | rid of old sessions from storage. Here are the chances that it will - | happen on a given request. By default, the odds are 2 out of 100. - | - */ - - 'lottery' => [2, 100], - - /* - |-------------------------------------------------------------------------- - | Session Cookie Name - |-------------------------------------------------------------------------- - | - | Here you may change the name of the cookie used to identify a session - | instance by ID. The name specified here will get used every time a - | new session cookie is created by the framework for every driver. - | - */ - - 'cookie' => env( - 'SESSION_COOKIE', - Str::slug(env('APP_NAME', 'laravel'), '_').'_session' - ), - - /* - |-------------------------------------------------------------------------- - | Session Cookie Path - |-------------------------------------------------------------------------- - | - | The session cookie path determines the path for which the cookie will - | be regarded as available. Typically, this will be the root path of - | your application but you are free to change this when necessary. - | - */ - - 'path' => '/', - - /* - |-------------------------------------------------------------------------- - | Session Cookie Domain - |-------------------------------------------------------------------------- - | - | Here you may change the domain of the cookie used to identify a session - | in your application. This will determine which domains the cookie is - | available to in your application. A sensible default has been set. - | - */ - - 'domain' => env('SESSION_DOMAIN', null), - - /* - |-------------------------------------------------------------------------- - | HTTPS Only Cookies - |-------------------------------------------------------------------------- - | - | By setting this option to true, session cookies will only be sent back - | to the server if the browser has a HTTPS connection. This will keep - | the cookie from being sent to you if it can not be done securely. - | - */ - - 'secure' => env('SESSION_SECURE_COOKIE', false), - - /* - |-------------------------------------------------------------------------- - | HTTP Access Only - |-------------------------------------------------------------------------- - | - | Setting this value to true will prevent JavaScript from accessing the - | value of the cookie and the cookie will only be accessible through - | the HTTP protocol. You are free to modify this option if needed. - | - */ - - 'http_only' => true, - - /* - |-------------------------------------------------------------------------- - | Same-Site Cookies - |-------------------------------------------------------------------------- - | - | This option determines how your cookies behave when cross-site requests - | take place, and can be used to mitigate CSRF attacks. By default, we - | do not enable this as other CSRF protection services are in place. - | - | Supported: "lax", "strict" - | - */ - - 'same_site' => null, - -]; diff --git a/config/view.php b/config/view.php deleted file mode 100644 index 183fc29..0000000 --- a/config/view.php +++ /dev/null @@ -1,35 +0,0 @@ - [ - views_path('/'), - ], - - /* - |-------------------------------------------------------------------------- - | Compiled View Path - |-------------------------------------------------------------------------- - | - | This option determines where all the compiled Blade templates will be - | stored for your application. Typically, this is within the storage - | directory. However, as usual, you are free to change this value. - | - */ - - 'compiled' => env( - 'VIEW_COMPILED_PATH', - realpath(storage_path('framework/views')) - ), -]; diff --git a/leaf b/leaf index f81b462..6569a69 100644 --- a/leaf +++ b/leaf @@ -1,5 +1,6 @@ #!/usr/bin/env php load(); - -/* -|-------------------------------------------------------------------------- -| Initialise Leaf CMD -|-------------------------------------------------------------------------- -| -| Initialise pre-defined console commands -| -*/ -$console = new \Config\Console; - -/* -|-------------------------------------------------------------------------- -| Add custom command -|-------------------------------------------------------------------------- -| -| If you have a new command to add to Leaf -| -*/ -$console->registerCustom(new \App\Console\ExampleCommand()); +try { + \Dotenv\Dotenv::createUnsafeImmutable(__DIR__)->load(); +} catch (\Throwable $th) { + trigger_error($th); +} /* |-------------------------------------------------------------------------- -| Run The console Application +| Boot Aloe Console |-------------------------------------------------------------------------- | -| Transport water and dissolved substances to the rest of Leaf😂 +| Automatically load your config, paths and commands, +| and then run the console application. | */ -$console->run(); +Leaf\Core::loadConsole(); diff --git a/lib/.init b/lib/.init deleted file mode 100644 index e69de29..0000000 diff --git a/package.json b/package.json deleted file mode 100644 index 424378b..0000000 --- a/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "leaf-mvc", - "version": "1.2.0", - "description": "Leaf PHP MVC Framework", - "author": "Michael Darko", - "license": "MIT", - "homepage": "https://leaf-docs.netlify.com", - "scripts": { - "dev": "npm run development", - "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", - "watch": "npm run development -- --watch", - "start": "npm run development -- --watch", - "watch-poll": "npm run watch -- --watch-poll", - "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", - "prod": "npm run production", - "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" - }, - "devDependencies": { - "axios": "^0.19", - "cross-env": "^5.1", - "laravel-mix": "^4.0.7", - "lodash": "^4.17.13", - "resolve-url-loader": "^2.3.1", - "sass": "^1.15.2", - "sass-loader": "^7.1.0" - }, - "repository": { - "type": "git", - "url": "https://github.com/leafsphp/leaf" - } -} diff --git a/.htaccess b/public/.htaccess similarity index 100% rename from .htaccess rename to public/.htaccess diff --git a/public/assets/css/styles.css b/public/assets/css/styles.css new file mode 100644 index 0000000..0ba5999 --- /dev/null +++ b/public/assets/css/styles.css @@ -0,0 +1,8 @@ +body { + font-family: "Bricolage Grotesque", serif; + font-size: 14px; +} + +*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--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-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--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 / .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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--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-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--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 / .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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}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,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;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{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-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,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}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.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}}.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}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-16{bottom:-4rem}.-left-16{left:-4rem}.-top-3{top:-.75rem}.bottom-0{bottom:0}.bottom-24{bottom:6rem}.left-0{left:0}.left-1\/2{left:50%}.left-6{left:1.5rem}.right-0{right:0}.top-0{top:0}.top-1\/2{top:50%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[99\]{z-index:99}.\!row-span-1{grid-row:span 1 / span 1!important}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.-ml-1{margin-left:-.25rem}.-mr-1{margin-right:-.25rem}.-mt-1{margin-top:-.25rem}.mb-6{margin-bottom:1.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-1\.5{margin-right:.375rem}.mr-2\.5{margin-right:.625rem}.mr-6{margin-right:1.5rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.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!important}.hidden{display:none}.aspect-video{aspect-ratio:16 / 9}.size-12{width:3rem;height:3rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-8{width:2rem;height:2rem}.h-10{height:2.5rem}.h-3{height:.75rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\[18px\]{height:18px}.h-\[70px\]{height:70px}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-3{width:.75rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-80{width:20rem}.w-\[18px\]{width:18px}.w-\[calc\(100\%_\+_8rem\)\]{width:calc(100% + 8rem)}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.min-w-full{min-width:100%}.max-w-7xl{max-width:80rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.origin-top-right{transform-origin:top right}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(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)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(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)) skew(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)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(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)) skew(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)) skew(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)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-\[32px_1fr\]{grid-template-columns:32px 1fr}.\!flex-row{flex-direction:row!important}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-start{align-items:flex-start}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-1\.5{-moz-column-gap:.375rem;column-gap:.375rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * 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))}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.rounded-2xl{border-radius:1rem}.rounded-\[10px\]{border-radius:10px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-\[rgba\(172\,175\,176\,0\.3\)\]{border-color:#acafb04d}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-700\/10{border-color:#3741511a}.border-b-slate-900\/5{border-bottom-color:#0f172a0d}.bg-\[\#3eaf7c\]\/10{background-color:#3eaf7c1a}.bg-\[\#647eff\]\/10{background-color:#647eff1a}.bg-\[\#F5F8F9\]{--tw-bg-opacity: 1;background-color:rgb(245 248 249 / var(--tw-bg-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-green-600\/70{background-color:#16a34ab3}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-orange-600{--tw-bg-opacity: 1;background-color:rgb(234 88 12 / var(--tw-bg-opacity, 1))}.bg-pink-600{--tw-bg-opacity: 1;background-color:rgb(219 39 119 / var(--tw-bg-opacity, 1))}.bg-red-300{--tw-bg-opacity: 1;background-color:rgb(252 165 165 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-400\/10{background-color:#facc151a}.bg-yellow-600{--tw-bg-opacity: 1;background-color:rgb(202 138 4 / var(--tw-bg-opacity, 1))}.bg-opacity-75{--tw-bg-opacity: .75}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-white{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-green-100{--tw-gradient-to: #dcfce7 var(--tw-gradient-to-position)}.to-white{--tw-gradient-to: #fff var(--tw-gradient-to-position)}.stroke-\[\#3eaf7c\]{stroke:#3eaf7c}.stroke-red-500{stroke:#ef4444}.stroke-slate-900{stroke:#0f172a}.stroke-yellow-400{stroke:#facc15}.object-cover{-o-object-fit:cover;object-fit:cover}.object-top{-o-object-position:top;object-position:top}.p-0{padding:0}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-6{padding-bottom:1.5rem}.pl-5{padding-left:1.25rem}.pr-20{padding-right:5rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[13px\]{font-size:13px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-sm\/relaxed{font-size:.875rem;line-height:1.625}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.text-xs\/relaxed{font-size:.75rem;line-height:1.625}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-\[\#3eaf7c\]{--tw-text-opacity: 1;color:rgb(62 175 124 / var(--tw-text-opacity, 1))}.text-\[\#5e79c7\]{--tw-text-opacity: 1;color:rgb(94 121 199 / var(--tw-text-opacity, 1))}.text-\[\#647eff\]{--tw-text-opacity: 1;color:rgb(100 126 255 / var(--tw-text-opacity, 1))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-black\/50{color:#00000080}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-900{--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(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-\[0_5px_15px_-3px_rgb\(0_0_0_\/_0\.08\)\]{--tw-shadow: 0 5px 15px -3px rgb(0 0 0 / .08);--tw-shadow-colored: 0 5px 15px -3px 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-\[0px_14px_34px_0px_rgba\(0\,0\,0\,0\.08\)\]{--tw-shadow: 0px 14px 34px 0px rgba(0,0,0,.08);--tw-shadow-colored: 0px 14px 34px 0px 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 / .1), 0 4px 6px -4px rgb(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-sm{--tw-shadow: 0 1px 2px 0 rgb(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-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(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)}.outline-none{outline:2px solid transparent;outline-offset:2px}.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, 1))}.ring-gray-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity, 1))}.ring-white\/\[0\.05\]{--tw-ring-color: rgb(255 255 255 / .05)}.ring-opacity-5{--tw-ring-opacity: .05}.blur-xl{--tw-blur: blur(24px);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)}.drop-shadow-\[0px_4px_34px_rgba\(0\,0\,0\,0\.06\)\]{--tw-drop-shadow: drop-shadow(0px 4px 34px rgba(0,0,0,.06));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)}.drop-shadow-\[0px_4px_34px_rgba\(0\,0\,0\,0\.25\)\]{--tw-drop-shadow: drop-shadow(0px 4px 34px rgba(0,0,0,.25));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-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-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-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-green-50:hover{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.hover\:bg-green-500:hover{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.hover\:bg-green-600\/50:hover{background-color:#16a34a80}.hover\:text-black:hover{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.hover\:text-black\/70:hover{color:#000000b3}.hover\:text-gray-100:hover{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.hover\:text-gray-500:hover{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.hover\:text-indigo-900:hover{--tw-text-opacity: 1;color:rgb(49 46 129 / var(--tw-text-opacity, 1))}.hover\:ring-\[\#42d392\]\/40:hover{--tw-ring-color: rgb(66 211 146 / .4)}.hover\:ring-\[\#647eff\]\/50:hover{--tw-ring-color: rgb(100 126 255 / .5)}.hover\:ring-red-500\/40:hover{--tw-ring-color: rgb(239 68 68 / .4)}.hover\:ring-yellow-400\/50:hover{--tw-ring-color: rgb(250 204 21 / .5)}.focus\:text-gray-800:focus{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--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-visible\:ring-\[\#3eaf7c\]:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(62 175 124 / var(--tw-ring-opacity, 1))}@media (min-width: 640px){.sm\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.sm\:mb-6{margin-bottom:1.5rem}.sm\:ml-6{margin-left:1.5rem}.sm\:mr-6{margin-right:1.5rem}.sm\:mt-6{margin-top:1.5rem}.sm\:size-16{width:4rem;height:4rem}.sm\:size-6{width:1.5rem;height:1.5rem}.sm\:w-\[350px\]{width:350px}.sm\:max-w-xs{max-width:20rem}.sm\:flex-row{flex-direction:row}.sm\:justify-between{justify-content:space-between}.sm\:rounded-lg{border-radius:.5rem}.sm\:rounded-md{border-radius:.375rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-5{padding-top:1.25rem}}@media (min-width: 768px){.md\:row-span-3{grid-row:span 3 / span 3}.md\:mt-12{margin-top:3rem}.md\:mt-8{margin-top:2rem}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:items-center{align-items:center}.md\:px-20{padding-left:5rem;padding-right:5rem}.md\:py-16{padding-top:4rem;padding-bottom:4rem}}@media (min-width: 1024px){.lg\:static{position:static}.lg\:inset-0{top:0;right:0;bottom:0;left:0}.lg\:-mx-8{margin-left:-2rem;margin-right:-2rem}.lg\:ml-8{margin-left:2rem}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-col{flex-direction:column}.lg\:items-end{align-items:flex-end}.lg\:items-center{align-items:center}.lg\:gap-8{gap:2rem}.lg\:border-l{border-left-width:1px}.lg\:border-slate-400\/15{border-color:#94a3b826}.lg\:p-10{padding:2.5rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:pb-10{padding-bottom:2.5rem}.lg\:pl-8{padding-left:2rem}.lg\:pt-0{padding-top:0}}@media (min-width: 1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[1fr_2fr\]{grid-template-columns:1fr 2fr}.xl\:gap-16{gap:4rem}}@media (prefers-color-scheme: dark){.dark\:block{display:block}.dark\:hidden{display:none}.dark\:border-\[\#001e26\]{--tw-border-opacity: 1;border-color:rgb(0 30 38 / var(--tw-border-opacity, 1))}.dark\:border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.dark\:bg-\[\#001318\]{--tw-bg-opacity: 1;background-color:rgb(0 19 24 / var(--tw-bg-opacity, 1))}.dark\:bg-\[\#001e26\]{--tw-bg-opacity: 1;background-color:rgb(0 30 38 / var(--tw-bg-opacity, 1))}.dark\:from-\[\#001e26\]{--tw-gradient-from: #001e26 var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 30 38 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:from-\[\#102e36\]{--tw-gradient-from: #102e36 var(--tw-gradient-from-position);--tw-gradient-to: rgb(16 46 54 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:via-\[\#001318\]{--tw-gradient-to: rgb(0 19 24 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #001318 var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:to-\[\#001318\]{--tw-gradient-to: #001318 var(--tw-gradient-to-position)}.dark\:to-\[\#001e26\]{--tw-gradient-to: #001e26 var(--tw-gradient-to-position)}.dark\:text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:text-white\/50{color:#ffffff80}.dark\:ring-gray-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(31 41 55 / var(--tw-ring-opacity, 1))}.dark\:hover\:bg-\[\#001e26\]:hover{--tw-bg-opacity: 1;background-color:rgb(0 30 38 / var(--tw-bg-opacity, 1))}.dark\:hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:hover\:text-white\/70:hover{color:#ffffffb3}.dark\:focus-visible\:ring-\[\#3eaf7c\]:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(62 175 124 / var(--tw-ring-opacity, 1))}} + + diff --git a/public/assets/img/eclipse.svg b/public/assets/img/eclipse.svg new file mode 100644 index 0000000..7ef436e --- /dev/null +++ b/public/assets/img/eclipse.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/assets/js/app.js b/public/assets/js/app.js new file mode 100644 index 0000000..095d203 --- /dev/null +++ b/public/assets/js/app.js @@ -0,0 +1 @@ +console.log('Hello World from app.js'); diff --git a/index.php b/public/index.php similarity index 57% rename from index.php rename to public/index.php index c4d5338..1218ccb 100644 --- a/index.php +++ b/public/index.php @@ -1,53 +1,67 @@ load(); +} catch (\Throwable $th) { + trigger_error($th); +} /* |-------------------------------------------------------------------------- -| Initialise the Leaf Debugger +| Load application paths |-------------------------------------------------------------------------- | -| Hide/Show errors +| Decline static file requests back to the PHP built-in webserver | */ -new \Config\Debug; +if (php_sapi_name() === 'cli-server') { + $path = realpath(__DIR__ . parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)); + + if (is_string($path) && __FILE__ !== $path && is_file($path)) { + return false; + } + + unset($path); +} /* |-------------------------------------------------------------------------- -| Route Config +| Run your Leaf MVC application |-------------------------------------------------------------------------- | -| Require app routes +| This line brings in all your routes and starts your application | */ -require __DIR__. "/config/routes.php"; \ No newline at end of file +\Leaf\Core::runApplication(); diff --git a/public/web.config b/public/web.config index d3711d7..323482f 100644 --- a/public/web.config +++ b/public/web.config @@ -1,6 +1,6 @@ diff --git a/storage/app/public/.gitignore b/storage/app/public/.gitignore deleted file mode 100644 index d6b7ef3..0000000 --- a/storage/app/public/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/storage/framework/views/.gitignore b/storage/framework/views/.gitignore deleted file mode 100644 index d6b7ef3..0000000 --- a/storage/framework/views/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/storage/logs/.gitignore b/storage/logs/.gitignore deleted file mode 100644 index d6b7ef3..0000000 --- a/storage/logs/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/webpack.mix.js b/webpack.mix.js deleted file mode 100644 index d04c57c..0000000 --- a/webpack.mix.js +++ /dev/null @@ -1,15 +0,0 @@ -const mix = require('laravel-mix'); - -/* - |-------------------------------------------------------------------------- - | Mix Asset Management - |-------------------------------------------------------------------------- - | - | Mix provides a clean, fluent API for defining some Webpack build steps - | for your Laravel application. By default, we are compiling the Sass - | file for the application as well as bundling up all the JS files. - | - */ - -mix.js('app/views/js/app.js', 'public/js') - .sass('app/views/sass/app.scss', 'public/css');