diff --git a/packages/Webkul/Admin/src/Http/routes.php b/packages/Webkul/Admin/src/Http/routes.php deleted file mode 100755 index fde67e5b3..000000000 --- a/packages/Webkul/Admin/src/Http/routes.php +++ /dev/null @@ -1,933 +0,0 @@ - ['web', 'admin_locale']], function () { - Route::prefix(config('app.admin_url'))->group(function () { - - Route::get('/', [Controller::class, 'redirectToLogin']); - - // Login Routes - Route::get('/login', [SessionController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::users.sessions.create', - ])->name('admin.session.create'); - - //login post route to admin auth controller - Route::post('/login', [SessionController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.dashboard.index', - ])->name('admin.session.store'); - - // Forget Password Routes - Route::get('/forget-password', [ForgetPasswordController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::users.forget-password.create', - ])->name('admin.forget-password.create'); - - Route::post('/forget-password', [ForgetPasswordController::class, 'store'])->name('admin.forget-password.store'); - - // Reset Password Routes - Route::get('/reset-password/{token}', [ResetPasswordController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::users.reset-password.create', - ])->name('admin.reset-password.create'); - - Route::post('/reset-password', [ResetPasswordController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.dashboard.index', - ])->name('admin.reset-password.store'); - - - // Admin Routes - Route::group(['middleware' => ['admin']], function () { - Route::get('/logout', [SessionController::class, 'destroy'])->defaults('_config', [ - 'redirect' => 'admin.session.create', - ])->name('admin.session.destroy'); - - /** - * Tinymce file upload handler. - */ - Route::post('tinymce/upload', [TinyMCEController::class, 'upload']) - ->name('admin.tinymce.upload'); - - // Dashboard Route - Route::get('dashboard', [DashboardController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::dashboard.index', - ])->name('admin.dashboard.index'); - - // Customer Management Routes - Route::get('customers', [CustomerController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::customers.index', - ])->name('admin.customer.index'); - - Route::get('customers/create', [CustomerController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::customers.create', - ])->name('admin.customer.create'); - - Route::post('customers/create', [CustomerController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.customer.index', - ])->name('admin.customer.store'); - - Route::get('customers/edit/{id}', [CustomerController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::customers.edit', - ])->name('admin.customer.edit'); - - Route::get('customers/note/{id}', [CustomerController::class, 'createNote'])->defaults('_config', [ - 'view' => 'admin::customers.note', - ])->name('admin.customer.note.create'); - - Route::put('customers/note/{id}', [CustomerController::class, 'storeNote'])->defaults('_config', [ - 'redirect' => 'admin.customer.index', - ])->name('admin.customer.note.store'); - - Route::put('customers/edit/{id}', [CustomerController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.customer.index', - ])->name('admin.customer.update'); - - Route::post('customers/delete/{id}', [CustomerController::class, 'destroy'])->name('admin.customer.delete'); - - Route::post('customers/masssdelete', [CustomerController::class, 'massDestroy'])->name('admin.customer.mass-delete'); - - Route::post('customers/masssupdate', [CustomerController::class, 'massUpdate'])->name('admin.customer.mass-update'); - - Route::get('reviews', [ReviewController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::customers.reviews.index', - ])->name('admin.customer.review.index'); - - // Customer's addresses routes - Route::get('customers/{id}/addresses', [AddressController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::customers.addresses.index', - ])->name('admin.customer.addresses.index'); - - Route::get('customers/{id}/addresses/create', [AddressController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::customers.addresses.create', - ])->name('admin.customer.addresses.create'); - - Route::post('customers/{id}/addresses/create', [AddressController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.customer.addresses.index', - ])->name('admin.customer.addresses.store'); - - Route::get('customers/addresses/edit/{id}', [AddressController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::customers.addresses.edit', - ])->name('admin.customer.addresses.edit'); - - Route::put('customers/addresses/edit/{id}', [AddressController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.customer.addresses.index', - ])->name('admin.customer.addresses.update'); - - Route::post('customers/addresses/delete/{id}', [AddressController::class, 'destroy'])->defaults('_config', [ - 'redirect' => 'admin.customer.addresses.index', - ])->name('admin.customer.addresses.delete'); - - //mass destroy - Route::post('customers/{id}/addresses', [AddressController::class, 'massDestroy'])->defaults('_config', [ - 'redirect' => 'admin.customer.addresses.index', - ])->name('admin.customer.addresses.massdelete'); - - // Customer's invoices route - Route::get('customers/{id}/invoices', [CustomerController::class, 'invoices'])->name('admin.customer.invoices.data'); - - // Customer's orders route - Route::get('customers/{id}/orders', [CustomerController::class, 'orders'])->defaults('_config', [ - 'view' => 'admin::customers.orders.index', - ])->name('admin.customer.orders.data'); - - // Configuration routes - Route::get('configuration/{slug?}/{slug2?}', [ConfigurationController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::configuration.index', - ])->name('admin.configuration.index'); - - Route::post('configuration/{slug?}/{slug2?}', [ConfigurationController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.configuration.index', - ])->name('admin.configuration.index.store'); - - Route::get('configuration/{slug?}/{slug2?}/{path}', [ConfigurationController::class, 'download'])->defaults('_config', [ - 'redirect' => 'admin.configuration.index', - ])->name('admin.configuration.download'); - - // Reviews Routes - Route::get('reviews/edit/{id}', [ReviewController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::customers.reviews.edit', - ])->name('admin.customer.review.edit'); - - Route::put('reviews/edit/{id}', [ReviewController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.customer.review.index', - ])->name('admin.customer.review.update'); - - Route::post('reviews/delete/{id}', [ReviewController::class, 'destroy'])->defaults('_config', [ - 'redirect' => 'admin.customer.review.index', - ])->name('admin.customer.review.delete'); - - //mass destroy - Route::post('reviews/massdestroy', [ReviewController::class, 'massDestroy'])->defaults('_config', [ - 'redirect' => 'admin.customer.review.index', - ])->name('admin.customer.review.massdelete'); - - //mass update - Route::post('reviews/massupdate', [ReviewController::class, 'massUpdate'])->defaults('_config', [ - 'redirect' => 'admin.customer.review.index', - ])->name('admin.customer.review.massupdate'); - - // Customer Groups Routes - Route::get('groups', [CustomerGroupController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::customers.groups.index', - ])->name('admin.groups.index'); - - Route::get('groups/create', [CustomerGroupController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::customers.groups.create', - ])->name('admin.groups.create'); - - Route::post('groups/create', [CustomerGroupController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.groups.index', - ])->name('admin.groups.store'); - - Route::get('groups/edit/{id}', [CustomerGroupController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::customers.groups.edit', - ])->name('admin.groups.edit'); - - Route::put('groups/edit/{id}', [CustomerGroupController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.groups.index', - ])->name('admin.groups.update'); - - Route::post('groups/delete/{id}', [CustomerGroupController::class, 'destroy'])->name('admin.groups.delete'); - - - // Sales Routes - Route::prefix('sales')->group(function () { - // Sales Order Routes - Route::get('/orders', [OrderController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::sales.orders.index', - ])->name('admin.sales.orders.index'); - - Route::get('/orders/view/{id}', [OrderController::class, 'view'])->defaults('_config', [ - 'view' => 'admin::sales.orders.view', - ])->name('admin.sales.orders.view'); - - Route::get('/orders/cancel/{id}', [OrderController::class, 'cancel'])->defaults('_config', [ - 'view' => 'admin::sales.orders.cancel', - ])->name('admin.sales.orders.cancel'); - - Route::post('/orders/create/{order_id}', [OrderController::class, 'comment'])->name('admin.sales.orders.comment'); - - - // Sales Invoices Routes - Route::get('/invoices', [InvoiceController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::sales.invoices.index', - ])->name('admin.sales.invoices.index'); - - Route::get('/invoices/create/{order_id}', [InvoiceController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::sales.invoices.create', - ])->name('admin.sales.invoices.create'); - - Route::post('/invoices/create/{order_id}', [InvoiceController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.sales.orders.view', - ])->name('admin.sales.invoices.store'); - - Route::get('/invoices/view/{id}', [InvoiceController::class, 'view'])->defaults('_config', [ - 'view' => 'admin::sales.invoices.view', - ])->name('admin.sales.invoices.view'); - - Route::get('/invoices/print/{id}', [InvoiceController::class, 'print'])->defaults('_config', [ - 'view' => 'admin::sales.invoices.print', - ])->name('admin.sales.invoices.print'); - - - // Sales Shipments Routes - Route::get('/shipments', [ShipmentController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::sales.shipments.index', - ])->name('admin.sales.shipments.index'); - - Route::get('/shipments/create/{order_id}', [ShipmentController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::sales.shipments.create', - ])->name('admin.sales.shipments.create'); - - Route::post('/shipments/create/{order_id}', [ShipmentController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.sales.orders.view', - ])->name('admin.sales.shipments.store'); - - Route::get('/shipments/view/{id}', [ShipmentController::class, 'view'])->defaults('_config', [ - 'view' => 'admin::sales.shipments.view', - ])->name('admin.sales.shipments.view'); - - - // Sales Redunds Routes - Route::get('/refunds', [RefundController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::sales.refunds.index', - ])->name('admin.sales.refunds.index'); - - Route::get('/refunds/create/{order_id}', [RefundController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::sales.refunds.create', - ])->name('admin.sales.refunds.create'); - - Route::post('/refunds/create/{order_id}', [RefundController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.sales.orders.view', - ])->name('admin.sales.refunds.store'); - - Route::post('/refunds/update-qty/{order_id}', [RefundController::class, 'updateQty'])->defaults('_config', [ - 'redirect' => 'admin.sales.orders.view', - ])->name('admin.sales.refunds.update_qty'); - - Route::get('/refunds/view/{id}', [RefundController::class, 'view'])->defaults('_config', [ - 'view' => 'admin::sales.refunds.view', - ])->name('admin.sales.refunds.view'); - - // Sales Transactions Routes - Route::get('/transactions', [TransactionController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::sales.transactions.index', - ])->name('admin.sales.transactions.index'); - - Route::get('/transactions/create', [TransactionController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::sales.transactions.create', - ])->name('admin.sales.transactions.create'); - - Route::post('/transactions/create', [TransactionController::class, 'store'])->name('admin.sales.transactions.store'); - - Route::get('/transactions/view/{id}', [TransactionController::class, 'view'])->defaults('_config', [ - 'view' => 'admin::sales.transactions.view', - ])->name('admin.sales.transactions.view'); - }); - - // Catalog Routes - Route::prefix('catalog')->group(function () { - Route::get('/sync', [ProductController::class, 'sync']); - - // Catalog Product Routes - Route::get('/products', [ProductController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::catalog.products.index', - ])->name('admin.catalog.products.index'); - - Route::get('/products/create', [ProductController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::catalog.products.create', - ])->name('admin.catalog.products.create'); - - Route::post('/products/create', [ProductController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.catalog.products.edit', - ])->name('admin.catalog.products.store'); - - Route::get('products/copy/{id}', [ProductController::class, 'copy'])->defaults('_config', [ - 'view' => 'admin::catalog.products.edit', - ])->name('admin.catalog.products.copy'); - - Route::get('/products/edit/{id}', [ProductController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::catalog.products.edit', - ])->name('admin.catalog.products.edit'); - - Route::put('/products/edit/{id}', [ProductController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.catalog.products.index', - ])->name('admin.catalog.products.update'); - - Route::put('/products/edit/{id}/inventories', [ProductController::class, 'updateInventories'])->defaults('_config', [ - 'redirect' => 'admin.catalog.products.index', - ])->name('admin.catalog.products.update-inventories'); - - Route::post('/products/upload-file/{id}', [ProductController::class, 'uploadLink'])->name('admin.catalog.products.upload_link'); - - Route::post('/products/upload-sample/{id}', [ProductController::class, 'uploadSample'])->name('admin.catalog.products.upload_sample'); - - //product delete - Route::post('/products/delete/{id}', [ProductController::class, 'destroy'])->name('admin.catalog.products.delete'); - - //product massaction - Route::post('products/massaction', [ProductController::class, 'massActionHandler'])->name('admin.catalog.products.massaction'); - - //product massdelete - Route::post('products/massdelete', [ProductController::class, 'massDestroy'])->defaults('_config', [ - 'redirect' => 'admin.catalog.products.index', - ])->name('admin.catalog.products.massdelete'); - - //product massupdate - Route::post('products/massupdate', [ProductController::class, 'massUpdate'])->defaults('_config', [ - 'redirect' => 'admin.catalog.products.index', - ])->name('admin.catalog.products.massupdate'); - - //product search for linked products - Route::get('products/search', [ProductController::class, 'productLinkSearch'])->defaults('_config', [ - 'view' => 'admin::catalog.products.edit', - ])->name('admin.catalog.products.productlinksearch'); - - Route::get('products/search-simple-products', [ProductController::class, 'searchSimpleProducts'])->name('admin.catalog.products.search_simple_product'); - - Route::get('/products/{id}/{attribute_id}', [ProductController::class, 'download'])->defaults('_config', [ - 'view' => 'admin.catalog.products.edit', - ])->name('admin.catalog.products.file.download'); - - // Catalog Category Routes - Route::get('/categories', [CategoryController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::catalog.categories.index', - ])->name('admin.catalog.categories.index'); - - Route::get('/categories/create', [CategoryController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::catalog.categories.create', - ])->name('admin.catalog.categories.create'); - - Route::post('/categories/create', [CategoryController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.catalog.categories.index', - ])->name('admin.catalog.categories.store'); - - Route::get('/categories/edit/{id}', [CategoryController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::catalog.categories.edit', - ])->name('admin.catalog.categories.edit'); - - Route::put('/categories/edit/{id}', [CategoryController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.catalog.categories.index', - ])->name('admin.catalog.categories.update'); - - Route::post('/categories/delete/{id}', [CategoryController::class, 'destroy'])->name('admin.catalog.categories.delete'); - - //category massdelete - Route::post('categories/massdelete', [CategoryController::class, 'massDestroy'])->defaults('_config', [ - 'redirect' => 'admin.catalog.categories.index', - ])->name('admin.catalog.categories.massdelete'); - - Route::post('/categories/product/count', [CategoryController::class, 'categoryProductCount'])->name('admin.catalog.categories.product.count'); - - - // Catalog Attribute Routes - Route::get('/attributes', [AttributeController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::catalog.attributes.index', - ])->name('admin.catalog.attributes.index'); - - Route::get('/attributes/{id}/options', [AttributeController::class, 'getAttributeOptions'])->defaults('_config', [ - 'view' => 'admin::catalog.attributes.options', - ])->name('admin.catalog.attributes.options'); - - Route::get('/attributes/create', [AttributeController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::catalog.attributes.create', - ])->name('admin.catalog.attributes.create'); - - Route::post('/attributes/create', [AttributeController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.catalog.attributes.index', - ])->name('admin.catalog.attributes.store'); - - Route::get('/attributes/edit/{id}', [AttributeController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::catalog.attributes.edit', - ])->name('admin.catalog.attributes.edit'); - - Route::put('/attributes/edit/{id}', [AttributeController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.catalog.attributes.index', - ])->name('admin.catalog.attributes.update'); - - Route::post('/attributes/delete/{id}', [AttributeController::class, 'destroy'])->name('admin.catalog.attributes.delete'); - - Route::post('/attributes/massdelete', [AttributeController::class, 'massDestroy'])->name('admin.catalog.attributes.massdelete'); - - // Catalog Family Routes - Route::get('/families', [AttributeFamilyController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::catalog.families.index', - ])->name('admin.catalog.families.index'); - - Route::get('/families/create', [AttributeFamilyController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::catalog.families.create', - ])->name('admin.catalog.families.create'); - - Route::post('/families/create', [AttributeFamilyController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.catalog.families.index', - ])->name('admin.catalog.families.store'); - - Route::get('/families/edit/{id}', [AttributeFamilyController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::catalog.families.edit', - ])->name('admin.catalog.families.edit'); - - Route::put('/families/edit/{id}', [AttributeFamilyController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.catalog.families.index', - ])->name('admin.catalog.families.update'); - - Route::post('/families/delete/{id}', [AttributeFamilyController::class, 'destroy'])->name('admin.catalog.families.delete'); - }); - - // User Routes - //datagrid for backend users - Route::get('/users', [UserController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::users.users.index', - ])->name('admin.users.index'); - - //create backend user get - Route::get('/users/create', [UserController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::users.users.create', - ])->name('admin.users.create'); - - //create backend user post - Route::post('/users/create', [UserController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.users.index', - ])->name('admin.users.store'); - - //delete backend user view - Route::get('/users/edit/{id}', [UserController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::users.users.edit', - ])->name('admin.users.edit'); - - //edit backend user submit - Route::put('/users/edit/{id}', [UserController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.users.index', - ])->name('admin.users.update'); - - //delete backend user - Route::post('/users/delete/{id}', [UserController::class, 'destroy'])->name('admin.users.delete'); - - Route::get('/users/confirm/{id}', [UserController::class, 'confirm'])->defaults('_config', [ - 'view' => 'admin::customers.confirm-password', - ])->name('super.users.confirm'); - - Route::post('/users/confirm/{id}', [UserController::class, 'destroySelf'])->defaults('_config', [ - 'redirect' => 'admin.users.index', - ])->name('admin.users.destroy'); - - // User Role Routes - Route::get('/roles', [RoleController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::users.roles.index', - ])->name('admin.roles.index'); - - Route::get('/roles/create', [RoleController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::users.roles.create', - ])->name('admin.roles.create'); - - Route::post('/roles/create', [RoleController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.roles.index', - ])->name('admin.roles.store'); - - Route::get('/roles/edit/{id}', [RoleController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::users.roles.edit', - ])->name('admin.roles.edit'); - - Route::put('/roles/edit/{id}', [RoleController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.roles.index', - ])->name('admin.roles.update'); - - Route::post('/roles/delete/{id}', [RoleController::class, 'destroy'])->name('admin.roles.delete'); - - - // Locale Routes - Route::get('/locales', [LocaleController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::settings.locales.index', - ])->name('admin.locales.index'); - - Route::get('/locales/create', [LocaleController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::settings.locales.create', - ])->name('admin.locales.create'); - - Route::post('/locales/create', [LocaleController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.locales.index', - ])->name('admin.locales.store'); - - Route::get('/locales/edit/{id}', [LocaleController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::settings.locales.edit', - ])->name('admin.locales.edit'); - - Route::put('/locales/edit/{id}', [LocaleController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.locales.index', - ])->name('admin.locales.update'); - - Route::post('/locales/delete/{id}', [LocaleController::class, 'destroy'])->name('admin.locales.delete'); - - - // Currency Routes - Route::get('/currencies', [CurrencyController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::settings.currencies.index', - ])->name('admin.currencies.index'); - - Route::get('/currencies/create', [CurrencyController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::settings.currencies.create', - ])->name('admin.currencies.create'); - - Route::post('/currencies/create', [CurrencyController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.currencies.index', - ])->name('admin.currencies.store'); - - Route::get('/currencies/edit/{id}', [CurrencyController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::settings.currencies.edit', - ])->name('admin.currencies.edit'); - - Route::put('/currencies/edit/{id}', [CurrencyController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.currencies.index', - ])->name('admin.currencies.update'); - - Route::post('/currencies/delete/{id}', [CurrencyController::class, 'destroy'])->name('admin.currencies.delete'); - - Route::post('/currencies/massdelete', [CurrencyController::class, 'massDestroy'])->name('admin.currencies.massdelete'); - - - // Exchange Rates Routes - Route::get('/exchange_rates', [ExchangeRateController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::settings.exchange_rates.index', - ])->name('admin.exchange_rates.index'); - - Route::get('/exchange_rates/create', [ExchangeRateController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::settings.exchange_rates.create', - ])->name('admin.exchange_rates.create'); - - Route::post('/exchange_rates/create', [ExchangeRateController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.exchange_rates.index', - ])->name('admin.exchange_rates.store'); - - Route::get('/exchange_rates/edit/{id}', [ExchangeRateController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::settings.exchange_rates.edit', - ])->name('admin.exchange_rates.edit'); - - Route::get('/exchange_rates/update-rates', [ExchangeRateController::class, 'updateRates'])->name('admin.exchange_rates.update_rates'); - - Route::put('/exchange_rates/edit/{id}', [ExchangeRateController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.exchange_rates.index', - ])->name('admin.exchange_rates.update'); - - Route::post('/exchange_rates/delete/{id}', [ExchangeRateController::class, 'destroy'])->name('admin.exchange_rates.delete'); - - - // Inventory Source Routes - Route::get('/inventory_sources', [InventorySourceController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::settings.inventory_sources.index', - ])->name('admin.inventory_sources.index'); - - Route::get('/inventory_sources/create', [InventorySourceController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::settings.inventory_sources.create', - ])->name('admin.inventory_sources.create'); - - Route::post('/inventory_sources/create', [InventorySourceController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.inventory_sources.index', - ])->name('admin.inventory_sources.store'); - - Route::get('/inventory_sources/edit/{id}', [InventorySourceController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::settings.inventory_sources.edit', - ])->name('admin.inventory_sources.edit'); - - Route::put('/inventory_sources/edit/{id}', [InventorySourceController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.inventory_sources.index', - ])->name('admin.inventory_sources.update'); - - Route::post('/inventory_sources/delete/{id}', [InventorySourceController::class, 'destroy'])->name('admin.inventory_sources.delete'); - - // Channel Routes - Route::get('/channels', [ChannelController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::settings.channels.index', - ])->name('admin.channels.index'); - - Route::get('/channels/create', [ChannelController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::settings.channels.create', - ])->name('admin.channels.create'); - - Route::post('/channels/create', [ChannelController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.channels.index', - ])->name('admin.channels.store'); - - Route::get('/channels/edit/{id}', [ChannelController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::settings.channels.edit', - ])->name('admin.channels.edit'); - - Route::put('/channels/edit/{id}', [ChannelController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.channels.index', - ])->name('admin.channels.update'); - - Route::post('/channels/delete/{id}', [ChannelController::class, 'destroy'])->name('admin.channels.delete'); - - - // Admin Profile route - Route::get('/account', [AccountController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::account.edit', - ])->name('admin.account.edit'); - - Route::put('/account', [AccountController::class, 'update'])->name('admin.account.update'); - - //slider index - Route::get('/slider', [SliderController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::settings.sliders.index', - ])->name('admin.sliders.index'); - - //slider create show - Route::get('slider/create', [SliderController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::settings.sliders.create', - ])->name('admin.sliders.create'); - - //slider create show - Route::post('slider/create', [SliderController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.sliders.index', - ])->name('admin.sliders.store'); - - //slider edit show - Route::get('slider/edit/{id}', [SliderController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::settings.sliders.edit', - ])->name('admin.sliders.edit'); - - //slider edit update - Route::post('slider/edit/{id}', [SliderController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.sliders.index', - ])->name('admin.sliders.update'); - - //destroy a slider item - Route::post('slider/delete/{id}', [SliderController::class, 'destroy'])->name('admin.sliders.delete'); - - //tax routes - Route::get('/tax-categories', [TaxController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::tax.tax-categories.index', - ])->name('admin.tax-categories.index'); - - - // tax category routes - Route::get('/tax-categories/create', [TaxCategoryController::class, 'show'])->defaults('_config', [ - 'view' => 'admin::tax.tax-categories.create', - ])->name('admin.tax-categories.create'); - - Route::post('/tax-categories/create', [TaxCategoryController::class, 'create'])->defaults('_config', [ - 'redirect' => 'admin.tax-categories.index', - ])->name('admin.tax-categories.store'); - - Route::get('/tax-categories/edit/{id}', [TaxCategoryController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::tax.tax-categories.edit', - ])->name('admin.tax-categories.edit'); - - Route::put('/tax-categories/edit/{id}', [TaxCategoryController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.tax-categories.index', - ])->name('admin.tax-categories.update'); - - Route::post('/tax-categories/delete/{id}', [TaxCategoryController::class, 'destroy'])->name('admin.tax-categories.delete'); - //tax category ends - - - //tax rate - Route::get('tax-rates', [TaxRateController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::tax.tax-rates.index', - ])->name('admin.tax-rates.index'); - - Route::get('tax-rates/create', [TaxRateController::class, 'show'])->defaults('_config', [ - 'view' => 'admin::tax.tax-rates.create', - ])->name('admin.tax-rates.create'); - - Route::post('tax-rates/create', [TaxRateController::class, 'create'])->defaults('_config', [ - 'redirect' => 'admin.tax-rates.index', - ])->name('admin.tax-rates.store'); - - Route::get('tax-rates/edit/{id}', [TaxRateController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::tax.tax-rates.edit', - ])->name('admin.tax-rates.edit'); - - Route::put('tax-rates/update/{id}', [TaxRateController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.tax-rates.index', - ])->name('admin.tax-rates.update'); - - Route::post('/tax-rates/delete/{id}', [TaxRateController::class, 'destroy'])->name('admin.tax-rates.delete'); - - Route::post('/tax-rates/import', [TaxRateController::class, 'import'])->defaults('_config', [ - 'redirect' => 'admin.tax-rates.index', - ])->name('admin.tax-rates.import'); - //tax rate ends - - //DataGrid Export - Route::post(config('app.admin_url') . '/export', [ExportController::class, 'export'])->name('admin.datagrid.export'); - - Route::prefix('promotions')->group(function () { - Route::get('cart-rules', [CartRuleController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::marketing.promotions.cart-rules.index', - ])->name('admin.cart-rules.index'); - - Route::get('cart-rules/create', [CartRuleController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::marketing.promotions.cart-rules.create', - ])->name('admin.cart-rules.create'); - - Route::post('cart-rules/create', [CartRuleController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.cart-rules.index', - ])->name('admin.cart-rules.store'); - - Route::get('cart-rules/copy/{id}', [CartRuleController::class, 'copy'])->defaults('_config', [ - 'view' => 'admin::marketing.promotions.cart-rules.edit', - ])->name('admin.cart-rules.copy'); - - Route::get('cart-rules/edit/{id}', [CartRuleController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::marketing.promotions.cart-rules.edit', - ])->name('admin.cart-rules.edit'); - - Route::post('cart-rules/edit/{id}', [CartRuleController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.cart-rules.index', - ])->name('admin.cart-rules.update'); - - Route::post('cart-rules/delete/{id}', [CartRuleController::class, 'destroy'])->name('admin.cart-rules.delete'); - - Route::post('cart-rules/generate-coupons/{id?}', [CartRuleController::class, 'generateCoupons'])->name('admin.cart-rules.generate-coupons'); - - Route::post('/massdelete', [CartRuleCouponController::class, 'massDelete'])->name('admin.cart-rule-coupons.mass-delete'); - - - //Catalog rules - Route::get('catalog-rules', [CatalogRuleController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::marketing.promotions.catalog-rules.index', - ])->name('admin.catalog-rules.index'); - - Route::get('catalog-rules/create', [CatalogRuleController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::marketing.promotions.catalog-rules.create', - ])->name('admin.catalog-rules.create'); - - Route::post('catalog-rules/create', [CatalogRuleController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.catalog-rules.index', - ])->name('admin.catalog-rules.store'); - - Route::get('catalog-rules/edit/{id}', [CatalogRuleController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::marketing.promotions.catalog-rules.edit', - ])->name('admin.catalog-rules.edit'); - - Route::post('catalog-rules/edit/{id}', [CatalogRuleController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.catalog-rules.index', - ])->name('admin.catalog-rules.update'); - - Route::post('catalog-rules/delete/{id}', [CatalogRuleController::class, 'destroy'])->name('admin.catalog-rules.delete'); - - - //Marketing campaigns routes - Route::get('campaigns', [CampaignController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::marketing.email-marketing.campaigns.index', - ])->name('admin.campaigns.index'); - - Route::get('campaigns/create', [CampaignController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::marketing.email-marketing.campaigns.create', - ])->name('admin.campaigns.create'); - - Route::post('campaigns/create', [CampaignController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.campaigns.index', - ])->name('admin.campaigns.store'); - - Route::get('campaigns/edit/{id}', [CampaignController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::marketing.email-marketing.campaigns.edit', - ])->name('admin.campaigns.edit'); - - Route::post('campaigns/edit/{id}', [CampaignController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.campaigns.index', - ])->name('admin.campaigns.update'); - - Route::post('campaigns/delete/{id}', [CampaignController::class, 'destroy'])->name('admin.campaigns.delete'); - - - //Marketing emails templates routes - Route::get('email-templates', [TemplateController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::marketing.email-marketing.templates.index', - ])->name('admin.email-templates.index'); - - Route::get('email-templates/create', [TemplateController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::marketing.email-marketing.templates.create', - ])->name('admin.email-templates.create'); - - Route::post('email-templates/create', [TemplateController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.email-templates.index', - ])->name('admin.email-templates.store'); - - Route::get('email-templates/edit/{id}', [TemplateController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::marketing.email-marketing.templates.edit', - ])->name('admin.email-templates.edit'); - - Route::post('email-templates/edit/{id}', [TemplateController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.email-templates.index', - ])->name('admin.email-templates.update'); - - Route::post('email-templates/delete/{id}', [TemplateController::class, 'destroy'])->name('admin.email-templates.delete'); - - - //Marketing events routes - Route::get('events', [EventController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::marketing.email-marketing.events.index', - ])->name('admin.events.index'); - - Route::get('events/create', [EventController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::marketing.email-marketing.events.create', - ])->name('admin.events.create'); - - Route::post('events/create', [EventController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.events.index', - ])->name('admin.events.store'); - - Route::get('events/edit/{id}', [EventController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::marketing.email-marketing.events.edit', - ])->name('admin.events.edit'); - - Route::post('events/edit/{id}', [EventController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.events.index', - ])->name('admin.events.update'); - - Route::post('events/delete/{id}', [EventController::class, 'destroy'])->name('admin.events.delete'); - - - // Admin Store Front Settings Route - Route::get('/subscribers', [SubscriptionController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::marketing.email-marketing.subscribers.index', - ])->name('admin.customers.subscribers.index'); - - //destroy a newsletter subscription item - Route::post('subscribers/delete/{id}', [SubscriptionController::class, 'destroy'])->name('admin.customers.subscribers.delete'); - - Route::get('subscribers/edit/{id}', [SubscriptionController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::marketing.email-marketing.subscribers.edit', - ])->name('admin.customers.subscribers.edit'); - - Route::put('subscribers/update/{id}', [SubscriptionController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.customers.subscribers.index', - ])->name('admin.customers.subscribers.update'); - }); - - Route::prefix('cms')->group(function () { - Route::get('/', [PageController::class, 'index'])->defaults('_config', [ - 'view' => 'admin::cms.index', - ])->name('admin.cms.index'); - - - Route::get('create', [PageController::class, 'create'])->defaults('_config', [ - 'view' => 'admin::cms.create', - ])->name('admin.cms.create'); - - Route::post('create', [PageController::class, 'store'])->defaults('_config', [ - 'redirect' => 'admin.cms.index', - ])->name('admin.cms.store'); - - Route::get('edit/{id}', [PageController::class, 'edit'])->defaults('_config', [ - 'view' => 'admin::cms.edit', - ])->name('admin.cms.edit'); - - Route::post('edit/{id}', [PageController::class, 'update'])->defaults('_config', [ - 'redirect' => 'admin.cms.index', - ])->name('admin.cms.update'); - - Route::post('/delete/{id}', [PageController::class, 'delete'])->defaults('_config', [ - 'redirect' => 'admin.cms.index', - ])->name('admin.cms.delete'); - - Route::post('/massdelete', [PageController::class, 'massDelete'])->defaults('_config', [ - 'redirect' => 'admin.cms.index', - ])->name('admin.cms.mass-delete'); - - // Route::post('/delete/{id}', 'Webkul\CMS\Http\Controllers\Admin\PageController@delete')->defaults('_config', [ - // 'redirect' => 'admin.cms.index' - // ])->name('admin.cms.delete'); - }); - }); - }); -}); diff --git a/packages/Webkul/Admin/src/Providers/AdminServiceProvider.php b/packages/Webkul/Admin/src/Providers/AdminServiceProvider.php index 0b8a55b59..e5c210ec4 100755 --- a/packages/Webkul/Admin/src/Providers/AdminServiceProvider.php +++ b/packages/Webkul/Admin/src/Providers/AdminServiceProvider.php @@ -2,10 +2,10 @@ namespace Webkul\Admin\Providers; -use Webkul\Core\Tree; use Illuminate\Routing\Router; use Illuminate\Support\ServiceProvider; use Webkul\Admin\Http\Middleware\Locale; +use Webkul\Core\Tree; class AdminServiceProvider extends ServiceProvider { @@ -16,18 +16,14 @@ class AdminServiceProvider extends ServiceProvider */ public function boot(Router $router) { - $this->loadRoutesFrom(__DIR__ . '/../Http/routes.php'); + $this->loadRoutesFrom(__DIR__ . '/../Routes/web.php'); $this->loadTranslationsFrom(__DIR__ . '/../Resources/lang', 'admin'); - $this->publishes([__DIR__ . '/../Resources/lang' => resource_path('lang/vendor/admin')]); - - $this->publishes([ - __DIR__ . '/../../publishable/assets' => public_path('vendor/webkul/admin/assets'), - ], 'public'); - $this->loadViewsFrom(__DIR__ . '/../Resources/views', 'admin'); + $this->loadPublishers(); + $this->composeView(); $this->registerACL(); @@ -47,6 +43,41 @@ class AdminServiceProvider extends ServiceProvider $this->registerConfig(); } + /** + * Register package config. + * + * @return void + */ + protected function registerConfig() + { + $this->mergeConfigFrom( + dirname(__DIR__) . '/Config/menu.php', + 'menu.admin' + ); + + $this->mergeConfigFrom( + dirname(__DIR__) . '/Config/acl.php', + 'acl' + ); + + $this->mergeConfigFrom( + dirname(__DIR__) . '/Config/system.php', + 'core' + ); + } + + /** + * Load publishers. + * + * @return void + */ + protected function loadPublishers(): void + { + $this->publishes([__DIR__ . '/../Resources/lang' => resource_path('lang/vendor/admin')]); + + $this->publishes([__DIR__ . '/../../publishable/assets' => public_path('vendor/webkul/admin/assets')], 'public'); + } + /** * Bind the data to the views. * @@ -111,11 +142,11 @@ class AdminServiceProvider extends ServiceProvider } /** - * Registers acl to entire application + * Register ACL to entire application. * * @return void */ - public function registerACL() + protected function registerACL() { $this->app->singleton('acl', function () { return $this->createACL(); @@ -127,7 +158,7 @@ class AdminServiceProvider extends ServiceProvider * * @return mixed */ - public function createACL() + protected function createACL() { static $tree; @@ -145,27 +176,4 @@ class AdminServiceProvider extends ServiceProvider return $tree; } - - /** - * Register package config. - * - * @return void - */ - protected function registerConfig() - { - $this->mergeConfigFrom( - dirname(__DIR__) . '/Config/menu.php', - 'menu.admin' - ); - - $this->mergeConfigFrom( - dirname(__DIR__) . '/Config/acl.php', - 'acl' - ); - - $this->mergeConfigFrom( - dirname(__DIR__) . '/Config/system.php', - 'core' - ); - } } diff --git a/packages/Webkul/Admin/src/Routes/auth-routes.php b/packages/Webkul/Admin/src/Routes/auth-routes.php new file mode 100644 index 000000000..316bab7b7 --- /dev/null +++ b/packages/Webkul/Admin/src/Routes/auth-routes.php @@ -0,0 +1,51 @@ + ['web', 'admin_locale'], 'prefix' => config('app.admin_url')], function () { + /** + * Redirect route. + */ + Route::get('/', [Controller::class, 'redirectToLogin']); + + /** + * Login routes. + */ + Route::get('/login', [SessionController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::users.sessions.create', + ])->name('admin.session.create'); + + /** + * Login post route to admin auth controller. + */ + Route::post('/login', [SessionController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.dashboard.index', + ])->name('admin.session.store'); + + /** + * Forget password routes. + */ + Route::get('/forget-password', [ForgetPasswordController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::users.forget-password.create', + ])->name('admin.forget-password.create'); + + Route::post('/forget-password', [ForgetPasswordController::class, 'store'])->name('admin.forget-password.store'); + + /** + * Reset password routes. + */ + Route::get('/reset-password/{token}', [ResetPasswordController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::users.reset-password.create', + ])->name('admin.reset-password.create'); + + Route::post('/reset-password', [ResetPasswordController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.dashboard.index', + ])->name('admin.reset-password.store'); +}); diff --git a/packages/Webkul/Admin/src/Routes/catalog-routes.php b/packages/Webkul/Admin/src/Routes/catalog-routes.php new file mode 100644 index 000000000..4f791076a --- /dev/null +++ b/packages/Webkul/Admin/src/Routes/catalog-routes.php @@ -0,0 +1,163 @@ + ['web', 'admin', 'admin_locale'], 'prefix' => config('app.admin_url')], function () { + Route::prefix('catalog')->group(function () { + /** + * Sync route. + */ + Route::get('/sync', [ProductController::class, 'sync']); + + /** + * Products routes. + */ + Route::get('/products', [ProductController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::catalog.products.index', + ])->name('admin.catalog.products.index'); + + Route::get('/products/create', [ProductController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::catalog.products.create', + ])->name('admin.catalog.products.create'); + + Route::post('/products/create', [ProductController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.catalog.products.edit', + ])->name('admin.catalog.products.store'); + + Route::get('products/copy/{id}', [ProductController::class, 'copy'])->defaults('_config', [ + 'view' => 'admin::catalog.products.edit', + ])->name('admin.catalog.products.copy'); + + Route::get('/products/edit/{id}', [ProductController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::catalog.products.edit', + ])->name('admin.catalog.products.edit'); + + Route::put('/products/edit/{id}', [ProductController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.catalog.products.index', + ])->name('admin.catalog.products.update'); + + Route::put('/products/edit/{id}/inventories', [ProductController::class, 'updateInventories'])->defaults('_config', [ + 'redirect' => 'admin.catalog.products.index', + ])->name('admin.catalog.products.update-inventories'); + + Route::post('/products/upload-file/{id}', [ProductController::class, 'uploadLink'])->name('admin.catalog.products.upload_link'); + + Route::post('/products/upload-sample/{id}', [ProductController::class, 'uploadSample'])->name('admin.catalog.products.upload_sample'); + + Route::post('/products/delete/{id}', [ProductController::class, 'destroy'])->name('admin.catalog.products.delete'); + + Route::post('products/massaction', [ProductController::class, 'massActionHandler'])->name('admin.catalog.products.massaction'); + + Route::post('products/massdelete', [ProductController::class, 'massDestroy'])->defaults('_config', [ + 'redirect' => 'admin.catalog.products.index', + ])->name('admin.catalog.products.massdelete'); + + Route::post('products/massupdate', [ProductController::class, 'massUpdate'])->defaults('_config', [ + 'redirect' => 'admin.catalog.products.index', + ])->name('admin.catalog.products.massupdate'); + + Route::get('products/search', [ProductController::class, 'productLinkSearch'])->defaults('_config', [ + 'view' => 'admin::catalog.products.edit', + ])->name('admin.catalog.products.productlinksearch'); + + Route::get('products/search-simple-products', [ProductController::class, 'searchSimpleProducts'])->name('admin.catalog.products.search_simple_product'); + + Route::get('/products/{id}/{attribute_id}', [ProductController::class, 'download'])->defaults('_config', [ + 'view' => 'admin.catalog.products.edit', + ])->name('admin.catalog.products.file.download'); + + /** + * Categories routes. + */ + Route::get('/categories', [CategoryController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::catalog.categories.index', + ])->name('admin.catalog.categories.index'); + + Route::get('/categories/create', [CategoryController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::catalog.categories.create', + ])->name('admin.catalog.categories.create'); + + Route::post('/categories/create', [CategoryController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.catalog.categories.index', + ])->name('admin.catalog.categories.store'); + + Route::get('/categories/edit/{id}', [CategoryController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::catalog.categories.edit', + ])->name('admin.catalog.categories.edit'); + + Route::put('/categories/edit/{id}', [CategoryController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.catalog.categories.index', + ])->name('admin.catalog.categories.update'); + + Route::post('/categories/delete/{id}', [CategoryController::class, 'destroy'])->name('admin.catalog.categories.delete'); + + Route::post('categories/massdelete', [CategoryController::class, 'massDestroy'])->defaults('_config', [ + 'redirect' => 'admin.catalog.categories.index', + ])->name('admin.catalog.categories.massdelete'); + + Route::post('/categories/product/count', [CategoryController::class, 'categoryProductCount'])->name('admin.catalog.categories.product.count'); + + /** + * Attributes routes. + */ + Route::get('/attributes', [AttributeController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::catalog.attributes.index', + ])->name('admin.catalog.attributes.index'); + + Route::get('/attributes/{id}/options', [AttributeController::class, 'getAttributeOptions'])->defaults('_config', [ + 'view' => 'admin::catalog.attributes.options', + ])->name('admin.catalog.attributes.options'); + + Route::get('/attributes/create', [AttributeController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::catalog.attributes.create', + ])->name('admin.catalog.attributes.create'); + + Route::post('/attributes/create', [AttributeController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.catalog.attributes.index', + ])->name('admin.catalog.attributes.store'); + + Route::get('/attributes/edit/{id}', [AttributeController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::catalog.attributes.edit', + ])->name('admin.catalog.attributes.edit'); + + Route::put('/attributes/edit/{id}', [AttributeController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.catalog.attributes.index', + ])->name('admin.catalog.attributes.update'); + + Route::post('/attributes/delete/{id}', [AttributeController::class, 'destroy'])->name('admin.catalog.attributes.delete'); + + Route::post('/attributes/massdelete', [AttributeController::class, 'massDestroy'])->name('admin.catalog.attributes.massdelete'); + + /** + * Attribute families routes. + */ + Route::get('/families', [AttributeFamilyController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::catalog.families.index', + ])->name('admin.catalog.families.index'); + + Route::get('/families/create', [AttributeFamilyController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::catalog.families.create', + ])->name('admin.catalog.families.create'); + + Route::post('/families/create', [AttributeFamilyController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.catalog.families.index', + ])->name('admin.catalog.families.store'); + + Route::get('/families/edit/{id}', [AttributeFamilyController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::catalog.families.edit', + ])->name('admin.catalog.families.edit'); + + Route::put('/families/edit/{id}', [AttributeFamilyController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.catalog.families.index', + ])->name('admin.catalog.families.update'); + + Route::post('/families/delete/{id}', [AttributeFamilyController::class, 'destroy'])->name('admin.catalog.families.delete'); + }); +}); diff --git a/packages/Webkul/Admin/src/Routes/cms-routes.php b/packages/Webkul/Admin/src/Routes/cms-routes.php new file mode 100644 index 000000000..7a32927ec --- /dev/null +++ b/packages/Webkul/Admin/src/Routes/cms-routes.php @@ -0,0 +1,39 @@ + ['web', 'admin', 'admin_locale'], 'prefix' => config('app.admin_url')], function () { + Route::prefix('cms')->group(function () { + Route::get('/', [PageController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::cms.index', + ])->name('admin.cms.index'); + + Route::get('create', [PageController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::cms.create', + ])->name('admin.cms.create'); + + Route::post('create', [PageController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.cms.index', + ])->name('admin.cms.store'); + + Route::get('edit/{id}', [PageController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::cms.edit', + ])->name('admin.cms.edit'); + + Route::post('edit/{id}', [PageController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.cms.index', + ])->name('admin.cms.update'); + + Route::post('/delete/{id}', [PageController::class, 'delete'])->defaults('_config', [ + 'redirect' => 'admin.cms.index', + ])->name('admin.cms.delete'); + + Route::post('/massdelete', [PageController::class, 'massDelete'])->defaults('_config', [ + 'redirect' => 'admin.cms.index', + ])->name('admin.cms.mass-delete'); + }); +}); \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Routes/configuration-routes.php b/packages/Webkul/Admin/src/Routes/configuration-routes.php new file mode 100644 index 000000000..7c1a6c5a0 --- /dev/null +++ b/packages/Webkul/Admin/src/Routes/configuration-routes.php @@ -0,0 +1,21 @@ + ['web', 'admin', 'admin_locale'], 'prefix' => config('app.admin_url')], function () { + Route::get('configuration/{slug?}/{slug2?}', [ConfigurationController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::configuration.index', + ])->name('admin.configuration.index'); + + Route::post('configuration/{slug?}/{slug2?}', [ConfigurationController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.configuration.index', + ])->name('admin.configuration.index.store'); + + Route::get('configuration/{slug?}/{slug2?}/{path}', [ConfigurationController::class, 'download'])->defaults('_config', [ + 'redirect' => 'admin.configuration.index', + ])->name('admin.configuration.download'); +}); diff --git a/packages/Webkul/Admin/src/Routes/customers-routes.php b/packages/Webkul/Admin/src/Routes/customers-routes.php new file mode 100644 index 000000000..46e68be3a --- /dev/null +++ b/packages/Webkul/Admin/src/Routes/customers-routes.php @@ -0,0 +1,138 @@ + ['web', 'admin', 'admin_locale'], 'prefix' => config('app.admin_url')], function () { + /** + * Customer management routes. + */ + Route::get('customers', [CustomerController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::customers.index', + ])->name('admin.customer.index'); + + Route::get('customers/create', [CustomerController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::customers.create', + ])->name('admin.customer.create'); + + Route::post('customers/create', [CustomerController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.customer.index', + ])->name('admin.customer.store'); + + Route::get('customers/edit/{id}', [CustomerController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::customers.edit', + ])->name('admin.customer.edit'); + + Route::get('customers/note/{id}', [CustomerController::class, 'createNote'])->defaults('_config', [ + 'view' => 'admin::customers.note', + ])->name('admin.customer.note.create'); + + Route::put('customers/note/{id}', [CustomerController::class, 'storeNote'])->defaults('_config', [ + 'redirect' => 'admin.customer.index', + ])->name('admin.customer.note.store'); + + Route::put('customers/edit/{id}', [CustomerController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.customer.index', + ])->name('admin.customer.update'); + + Route::post('customers/delete/{id}', [CustomerController::class, 'destroy'])->name('admin.customer.delete'); + + Route::post('customers/masssdelete', [CustomerController::class, 'massDestroy'])->name('admin.customer.mass-delete'); + + Route::post('customers/masssupdate', [CustomerController::class, 'massUpdate'])->name('admin.customer.mass-update'); + + Route::get('customers/{id}/invoices', [CustomerController::class, 'invoices'])->name('admin.customer.invoices.data'); + + Route::get('customers/{id}/orders', [CustomerController::class, 'orders'])->defaults('_config', [ + 'view' => 'admin::customers.orders.index', + ])->name('admin.customer.orders.data'); + + /** + * Customer's addresses routes. + */ + Route::get('customers/{id}/addresses', [AddressController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::customers.addresses.index', + ])->name('admin.customer.addresses.index'); + + Route::get('customers/{id}/addresses/create', [AddressController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::customers.addresses.create', + ])->name('admin.customer.addresses.create'); + + Route::post('customers/{id}/addresses/create', [AddressController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.customer.addresses.index', + ])->name('admin.customer.addresses.store'); + + Route::get('customers/addresses/edit/{id}', [AddressController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::customers.addresses.edit', + ])->name('admin.customer.addresses.edit'); + + Route::put('customers/addresses/edit/{id}', [AddressController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.customer.addresses.index', + ])->name('admin.customer.addresses.update'); + + Route::post('customers/addresses/delete/{id}', [AddressController::class, 'destroy'])->defaults('_config', [ + 'redirect' => 'admin.customer.addresses.index', + ])->name('admin.customer.addresses.delete'); + + Route::post('customers/{id}/addresses', [AddressController::class, 'massDestroy'])->defaults('_config', [ + 'redirect' => 'admin.customer.addresses.index', + ])->name('admin.customer.addresses.massdelete'); + + /** + * Customer's reviews routes. + */ + Route::get('reviews', [ReviewController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::customers.reviews.index', + ])->name('admin.customer.review.index'); + + Route::get('reviews/edit/{id}', [ReviewController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::customers.reviews.edit', + ])->name('admin.customer.review.edit'); + + Route::put('reviews/edit/{id}', [ReviewController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.customer.review.index', + ])->name('admin.customer.review.update'); + + Route::post('reviews/delete/{id}', [ReviewController::class, 'destroy'])->defaults('_config', [ + 'redirect' => 'admin.customer.review.index', + ])->name('admin.customer.review.delete'); + + Route::post('reviews/massdestroy', [ReviewController::class, 'massDestroy'])->defaults('_config', [ + 'redirect' => 'admin.customer.review.index', + ])->name('admin.customer.review.massdelete'); + + Route::post('reviews/massupdate', [ReviewController::class, 'massUpdate'])->defaults('_config', [ + 'redirect' => 'admin.customer.review.index', + ])->name('admin.customer.review.massupdate'); + + /** + * Customer groups routes. + */ + Route::get('groups', [CustomerGroupController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::customers.groups.index', + ])->name('admin.groups.index'); + + Route::get('groups/create', [CustomerGroupController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::customers.groups.create', + ])->name('admin.groups.create'); + + Route::post('groups/create', [CustomerGroupController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.groups.index', + ])->name('admin.groups.store'); + + Route::get('groups/edit/{id}', [CustomerGroupController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::customers.groups.edit', + ])->name('admin.groups.edit'); + + Route::put('groups/edit/{id}', [CustomerGroupController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.groups.index', + ])->name('admin.groups.update'); + + Route::post('groups/delete/{id}', [CustomerGroupController::class, 'destroy'])->name('admin.groups.delete'); +}); diff --git a/packages/Webkul/Admin/src/Routes/marketing-routes.php b/packages/Webkul/Admin/src/Routes/marketing-routes.php new file mode 100644 index 000000000..f76e494e5 --- /dev/null +++ b/packages/Webkul/Admin/src/Routes/marketing-routes.php @@ -0,0 +1,170 @@ + ['web', 'admin', 'admin_locale'], 'prefix' => config('app.admin_url')], function () { + Route::prefix('promotions')->group(function () { + /** + * Cart rules routes. + */ + Route::get('cart-rules', [CartRuleController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::marketing.promotions.cart-rules.index', + ])->name('admin.cart-rules.index'); + + Route::get('cart-rules/create', [CartRuleController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::marketing.promotions.cart-rules.create', + ])->name('admin.cart-rules.create'); + + Route::post('cart-rules/create', [CartRuleController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.cart-rules.index', + ])->name('admin.cart-rules.store'); + + Route::get('cart-rules/copy/{id}', [CartRuleController::class, 'copy'])->defaults('_config', [ + 'view' => 'admin::marketing.promotions.cart-rules.edit', + ])->name('admin.cart-rules.copy'); + + Route::get('cart-rules/edit/{id}', [CartRuleController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::marketing.promotions.cart-rules.edit', + ])->name('admin.cart-rules.edit'); + + Route::post('cart-rules/edit/{id}', [CartRuleController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.cart-rules.index', + ])->name('admin.cart-rules.update'); + + Route::post('cart-rules/delete/{id}', [CartRuleController::class, 'destroy'])->name('admin.cart-rules.delete'); + + Route::post('cart-rules/generate-coupons/{id?}', [CartRuleController::class, 'generateCoupons'])->name('admin.cart-rules.generate-coupons'); + + Route::post('/massdelete', [CartRuleCouponController::class, 'massDelete'])->name('admin.cart-rule-coupons.mass-delete'); + + /** + * Catalog rules routes. + */ + Route::get('catalog-rules', [CatalogRuleController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::marketing.promotions.catalog-rules.index', + ])->name('admin.catalog-rules.index'); + + Route::get('catalog-rules/create', [CatalogRuleController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::marketing.promotions.catalog-rules.create', + ])->name('admin.catalog-rules.create'); + + Route::post('catalog-rules/create', [CatalogRuleController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.catalog-rules.index', + ])->name('admin.catalog-rules.store'); + + Route::get('catalog-rules/edit/{id}', [CatalogRuleController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::marketing.promotions.catalog-rules.edit', + ])->name('admin.catalog-rules.edit'); + + Route::post('catalog-rules/edit/{id}', [CatalogRuleController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.catalog-rules.index', + ])->name('admin.catalog-rules.update'); + + Route::post('catalog-rules/delete/{id}', [CatalogRuleController::class, 'destroy'])->name('admin.catalog-rules.delete'); + + /** + * Campaigns routes. + */ + Route::get('campaigns', [CampaignController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::marketing.email-marketing.campaigns.index', + ])->name('admin.campaigns.index'); + + Route::get('campaigns/create', [CampaignController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::marketing.email-marketing.campaigns.create', + ])->name('admin.campaigns.create'); + + Route::post('campaigns/create', [CampaignController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.campaigns.index', + ])->name('admin.campaigns.store'); + + Route::get('campaigns/edit/{id}', [CampaignController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::marketing.email-marketing.campaigns.edit', + ])->name('admin.campaigns.edit'); + + Route::post('campaigns/edit/{id}', [CampaignController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.campaigns.index', + ])->name('admin.campaigns.update'); + + Route::post('campaigns/delete/{id}', [CampaignController::class, 'destroy'])->name('admin.campaigns.delete'); + + /** + * Emails templates routes. + */ + Route::get('email-templates', [TemplateController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::marketing.email-marketing.templates.index', + ])->name('admin.email-templates.index'); + + Route::get('email-templates/create', [TemplateController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::marketing.email-marketing.templates.create', + ])->name('admin.email-templates.create'); + + Route::post('email-templates/create', [TemplateController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.email-templates.index', + ])->name('admin.email-templates.store'); + + Route::get('email-templates/edit/{id}', [TemplateController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::marketing.email-marketing.templates.edit', + ])->name('admin.email-templates.edit'); + + Route::post('email-templates/edit/{id}', [TemplateController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.email-templates.index', + ])->name('admin.email-templates.update'); + + Route::post('email-templates/delete/{id}', [TemplateController::class, 'destroy'])->name('admin.email-templates.delete'); + + /** + * Events routes. + */ + Route::get('events', [EventController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::marketing.email-marketing.events.index', + ])->name('admin.events.index'); + + Route::get('events/create', [EventController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::marketing.email-marketing.events.create', + ])->name('admin.events.create'); + + Route::post('events/create', [EventController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.events.index', + ])->name('admin.events.store'); + + Route::get('events/edit/{id}', [EventController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::marketing.email-marketing.events.edit', + ])->name('admin.events.edit'); + + Route::post('events/edit/{id}', [EventController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.events.index', + ])->name('admin.events.update'); + + Route::post('events/delete/{id}', [EventController::class, 'destroy'])->name('admin.events.delete'); + + /** + * Admin store front settings route. + */ + Route::get('/subscribers', [SubscriptionController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::marketing.email-marketing.subscribers.index', + ])->name('admin.customers.subscribers.index'); + + /** + * Destroy a newsletter subscription item. + */ + Route::post('subscribers/delete/{id}', [SubscriptionController::class, 'destroy'])->name('admin.customers.subscribers.delete'); + + Route::get('subscribers/edit/{id}', [SubscriptionController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::marketing.email-marketing.subscribers.edit', + ])->name('admin.customers.subscribers.edit'); + + Route::put('subscribers/update/{id}', [SubscriptionController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.customers.subscribers.index', + ])->name('admin.customers.subscribers.update'); + }); +}); \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Routes/rest-routes.php b/packages/Webkul/Admin/src/Routes/rest-routes.php new file mode 100644 index 000000000..ed3c56a51 --- /dev/null +++ b/packages/Webkul/Admin/src/Routes/rest-routes.php @@ -0,0 +1,44 @@ + ['web', 'admin', 'admin_locale'], 'prefix' => config('app.admin_url')], function () { + /** + * Tinymce file upload handler. + */ + Route::post('tinymce/upload', [TinyMCEController::class, 'upload']) + ->name('admin.tinymce.upload'); + + /** + * Dashboard routes. + */ + Route::get('dashboard', [DashboardController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::dashboard.index', + ])->name('admin.dashboard.index'); + + /** + * Admin profile routes. + */ + Route::get('/account', [AccountController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::account.edit', + ])->name('admin.account.edit'); + + Route::put('/account', [AccountController::class, 'update'])->name('admin.account.update'); + + Route::get('/logout', [SessionController::class, 'destroy'])->defaults('_config', [ + 'redirect' => 'admin.session.create', + ])->name('admin.session.destroy'); + + /** + * DataGrid export. + */ + Route::post('/export', [ExportController::class, 'export'])->name('admin.datagrid.export'); +}); diff --git a/packages/Webkul/Admin/src/Routes/sales-routes.php b/packages/Webkul/Admin/src/Routes/sales-routes.php new file mode 100644 index 000000000..52aeae6ea --- /dev/null +++ b/packages/Webkul/Admin/src/Routes/sales-routes.php @@ -0,0 +1,114 @@ + ['web', 'admin', 'admin_locale'], 'prefix' => config('app.admin_url')], function () { + Route::prefix('sales')->group(function () { + /** + * Orders routes. + */ + Route::get('/orders', [OrderController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::sales.orders.index', + ])->name('admin.sales.orders.index'); + + Route::get('/orders/view/{id}', [OrderController::class, 'view'])->defaults('_config', [ + 'view' => 'admin::sales.orders.view', + ])->name('admin.sales.orders.view'); + + Route::get('/orders/cancel/{id}', [OrderController::class, 'cancel'])->defaults('_config', [ + 'view' => 'admin::sales.orders.cancel', + ])->name('admin.sales.orders.cancel'); + + Route::post('/orders/create/{order_id}', [OrderController::class, 'comment'])->name('admin.sales.orders.comment'); + + /** + * Invoices routes. + */ + Route::get('/invoices', [InvoiceController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::sales.invoices.index', + ])->name('admin.sales.invoices.index'); + + Route::get('/invoices/create/{order_id}', [InvoiceController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::sales.invoices.create', + ])->name('admin.sales.invoices.create'); + + Route::post('/invoices/create/{order_id}', [InvoiceController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.sales.orders.view', + ])->name('admin.sales.invoices.store'); + + Route::get('/invoices/view/{id}', [InvoiceController::class, 'view'])->defaults('_config', [ + 'view' => 'admin::sales.invoices.view', + ])->name('admin.sales.invoices.view'); + + Route::get('/invoices/print/{id}', [InvoiceController::class, 'print'])->defaults('_config', [ + 'view' => 'admin::sales.invoices.print', + ])->name('admin.sales.invoices.print'); + + /** + * Shipments routes. + */ + Route::get('/shipments', [ShipmentController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::sales.shipments.index', + ])->name('admin.sales.shipments.index'); + + Route::get('/shipments/create/{order_id}', [ShipmentController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::sales.shipments.create', + ])->name('admin.sales.shipments.create'); + + Route::post('/shipments/create/{order_id}', [ShipmentController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.sales.orders.view', + ])->name('admin.sales.shipments.store'); + + Route::get('/shipments/view/{id}', [ShipmentController::class, 'view'])->defaults('_config', [ + 'view' => 'admin::sales.shipments.view', + ])->name('admin.sales.shipments.view'); + + /** + * Refunds routes. + */ + Route::get('/refunds', [RefundController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::sales.refunds.index', + ])->name('admin.sales.refunds.index'); + + Route::get('/refunds/create/{order_id}', [RefundController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::sales.refunds.create', + ])->name('admin.sales.refunds.create'); + + Route::post('/refunds/create/{order_id}', [RefundController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.sales.orders.view', + ])->name('admin.sales.refunds.store'); + + Route::post('/refunds/update-qty/{order_id}', [RefundController::class, 'updateQty'])->defaults('_config', [ + 'redirect' => 'admin.sales.orders.view', + ])->name('admin.sales.refunds.update_qty'); + + Route::get('/refunds/view/{id}', [RefundController::class, 'view'])->defaults('_config', [ + 'view' => 'admin::sales.refunds.view', + ])->name('admin.sales.refunds.view'); + + /** + * Transactions routes. + */ + Route::get('/transactions', [TransactionController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::sales.transactions.index', + ])->name('admin.sales.transactions.index'); + + Route::get('/transactions/create', [TransactionController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::sales.transactions.create', + ])->name('admin.sales.transactions.create'); + + Route::post('/transactions/create', [TransactionController::class, 'store'])->name('admin.sales.transactions.store'); + + Route::get('/transactions/view/{id}', [TransactionController::class, 'view'])->defaults('_config', [ + 'view' => 'admin::sales.transactions.view', + ])->name('admin.sales.transactions.view'); + }); +}); diff --git a/packages/Webkul/Admin/src/Routes/settings-routes.php b/packages/Webkul/Admin/src/Routes/settings-routes.php new file mode 100644 index 000000000..6244b5434 --- /dev/null +++ b/packages/Webkul/Admin/src/Routes/settings-routes.php @@ -0,0 +1,285 @@ + ['web', 'admin', 'admin_locale'], 'prefix' => config('app.admin_url')], function () { + /** + * Roles routes. + */ + Route::get('/roles', [RoleController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::users.roles.index', + ])->name('admin.roles.index'); + + Route::get('/roles/create', [RoleController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::users.roles.create', + ])->name('admin.roles.create'); + + Route::post('/roles/create', [RoleController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.roles.index', + ])->name('admin.roles.store'); + + Route::get('/roles/edit/{id}', [RoleController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::users.roles.edit', + ])->name('admin.roles.edit'); + + Route::put('/roles/edit/{id}', [RoleController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.roles.index', + ])->name('admin.roles.update'); + + Route::post('/roles/delete/{id}', [RoleController::class, 'destroy'])->name('admin.roles.delete'); + + /** + * Locales routes. + */ + Route::get('/locales', [LocaleController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::settings.locales.index', + ])->name('admin.locales.index'); + + Route::get('/locales/create', [LocaleController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::settings.locales.create', + ])->name('admin.locales.create'); + + Route::post('/locales/create', [LocaleController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.locales.index', + ])->name('admin.locales.store'); + + Route::get('/locales/edit/{id}', [LocaleController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::settings.locales.edit', + ])->name('admin.locales.edit'); + + Route::put('/locales/edit/{id}', [LocaleController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.locales.index', + ])->name('admin.locales.update'); + + Route::post('/locales/delete/{id}', [LocaleController::class, 'destroy'])->name('admin.locales.delete'); + + /** + * Currencies routes. + */ + Route::get('/currencies', [CurrencyController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::settings.currencies.index', + ])->name('admin.currencies.index'); + + Route::get('/currencies/create', [CurrencyController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::settings.currencies.create', + ])->name('admin.currencies.create'); + + Route::post('/currencies/create', [CurrencyController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.currencies.index', + ])->name('admin.currencies.store'); + + Route::get('/currencies/edit/{id}', [CurrencyController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::settings.currencies.edit', + ])->name('admin.currencies.edit'); + + Route::put('/currencies/edit/{id}', [CurrencyController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.currencies.index', + ])->name('admin.currencies.update'); + + Route::post('/currencies/delete/{id}', [CurrencyController::class, 'destroy'])->name('admin.currencies.delete'); + + Route::post('/currencies/massdelete', [CurrencyController::class, 'massDestroy'])->name('admin.currencies.massdelete'); + + /** + * Exchange rates routes. + */ + Route::get('/exchange_rates', [ExchangeRateController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::settings.exchange_rates.index', + ])->name('admin.exchange_rates.index'); + + Route::get('/exchange_rates/create', [ExchangeRateController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::settings.exchange_rates.create', + ])->name('admin.exchange_rates.create'); + + Route::post('/exchange_rates/create', [ExchangeRateController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.exchange_rates.index', + ])->name('admin.exchange_rates.store'); + + Route::get('/exchange_rates/edit/{id}', [ExchangeRateController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::settings.exchange_rates.edit', + ])->name('admin.exchange_rates.edit'); + + Route::get('/exchange_rates/update-rates', [ExchangeRateController::class, 'updateRates'])->name('admin.exchange_rates.update_rates'); + + Route::put('/exchange_rates/edit/{id}', [ExchangeRateController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.exchange_rates.index', + ])->name('admin.exchange_rates.update'); + + Route::post('/exchange_rates/delete/{id}', [ExchangeRateController::class, 'destroy'])->name('admin.exchange_rates.delete'); + + /** + * Inventory sources routes. + */ + Route::get('/inventory_sources', [InventorySourceController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::settings.inventory_sources.index', + ])->name('admin.inventory_sources.index'); + + Route::get('/inventory_sources/create', [InventorySourceController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::settings.inventory_sources.create', + ])->name('admin.inventory_sources.create'); + + Route::post('/inventory_sources/create', [InventorySourceController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.inventory_sources.index', + ])->name('admin.inventory_sources.store'); + + Route::get('/inventory_sources/edit/{id}', [InventorySourceController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::settings.inventory_sources.edit', + ])->name('admin.inventory_sources.edit'); + + Route::put('/inventory_sources/edit/{id}', [InventorySourceController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.inventory_sources.index', + ])->name('admin.inventory_sources.update'); + + Route::post('/inventory_sources/delete/{id}', [InventorySourceController::class, 'destroy'])->name('admin.inventory_sources.delete'); + + /** + * Channels routes. + */ + Route::get('/channels', [ChannelController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::settings.channels.index', + ])->name('admin.channels.index'); + + Route::get('/channels/create', [ChannelController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::settings.channels.create', + ])->name('admin.channels.create'); + + Route::post('/channels/create', [ChannelController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.channels.index', + ])->name('admin.channels.store'); + + Route::get('/channels/edit/{id}', [ChannelController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::settings.channels.edit', + ])->name('admin.channels.edit'); + + Route::put('/channels/edit/{id}', [ChannelController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.channels.index', + ])->name('admin.channels.update'); + + Route::post('/channels/delete/{id}', [ChannelController::class, 'destroy'])->name('admin.channels.delete'); + + /** + * Users routes. + */ + Route::get('/users', [UserController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::users.users.index', + ])->name('admin.users.index'); + + Route::get('/users/create', [UserController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::users.users.create', + ])->name('admin.users.create'); + + Route::post('/users/create', [UserController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.users.index', + ])->name('admin.users.store'); + + Route::get('/users/edit/{id}', [UserController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::users.users.edit', + ])->name('admin.users.edit'); + + Route::put('/users/edit/{id}', [UserController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.users.index', + ])->name('admin.users.update'); + + Route::post('/users/delete/{id}', [UserController::class, 'destroy'])->name('admin.users.delete'); + + Route::get('/users/confirm/{id}', [UserController::class, 'confirm'])->defaults('_config', [ + 'view' => 'admin::customers.confirm-password', + ])->name('super.users.confirm'); + + Route::post('/users/confirm/{id}', [UserController::class, 'destroySelf'])->defaults('_config', [ + 'redirect' => 'admin.users.index', + ])->name('admin.users.destroy'); + + /** + * Slider routes. + */ + Route::get('/slider', [SliderController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::settings.sliders.index', + ])->name('admin.sliders.index'); + + Route::get('slider/create', [SliderController::class, 'create'])->defaults('_config', [ + 'view' => 'admin::settings.sliders.create', + ])->name('admin.sliders.create'); + + Route::post('slider/create', [SliderController::class, 'store'])->defaults('_config', [ + 'redirect' => 'admin.sliders.index', + ])->name('admin.sliders.store'); + + Route::get('slider/edit/{id}', [SliderController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::settings.sliders.edit', + ])->name('admin.sliders.edit'); + + Route::post('slider/edit/{id}', [SliderController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.sliders.index', + ])->name('admin.sliders.update'); + + Route::post('slider/delete/{id}', [SliderController::class, 'destroy'])->name('admin.sliders.delete'); + + /** + * Tax categories routes. + */ + Route::get('/tax-categories', [TaxController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::tax.tax-categories.index', + ])->name('admin.tax-categories.index'); + + Route::get('/tax-categories/create', [TaxCategoryController::class, 'show'])->defaults('_config', [ + 'view' => 'admin::tax.tax-categories.create', + ])->name('admin.tax-categories.create'); + + Route::post('/tax-categories/create', [TaxCategoryController::class, 'create'])->defaults('_config', [ + 'redirect' => 'admin.tax-categories.index', + ])->name('admin.tax-categories.store'); + + Route::get('/tax-categories/edit/{id}', [TaxCategoryController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::tax.tax-categories.edit', + ])->name('admin.tax-categories.edit'); + + Route::put('/tax-categories/edit/{id}', [TaxCategoryController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.tax-categories.index', + ])->name('admin.tax-categories.update'); + + Route::post('/tax-categories/delete/{id}', [TaxCategoryController::class, 'destroy'])->name('admin.tax-categories.delete'); + + /** + * Tax rates routes. + */ + Route::get('tax-rates', [TaxRateController::class, 'index'])->defaults('_config', [ + 'view' => 'admin::tax.tax-rates.index', + ])->name('admin.tax-rates.index'); + + Route::get('tax-rates/create', [TaxRateController::class, 'show'])->defaults('_config', [ + 'view' => 'admin::tax.tax-rates.create', + ])->name('admin.tax-rates.create'); + + Route::post('tax-rates/create', [TaxRateController::class, 'create'])->defaults('_config', [ + 'redirect' => 'admin.tax-rates.index', + ])->name('admin.tax-rates.store'); + + Route::get('tax-rates/edit/{id}', [TaxRateController::class, 'edit'])->defaults('_config', [ + 'view' => 'admin::tax.tax-rates.edit', + ])->name('admin.tax-rates.edit'); + + Route::put('tax-rates/update/{id}', [TaxRateController::class, 'update'])->defaults('_config', [ + 'redirect' => 'admin.tax-rates.index', + ])->name('admin.tax-rates.update'); + + Route::post('/tax-rates/delete/{id}', [TaxRateController::class, 'destroy'])->name('admin.tax-rates.delete'); + + Route::post('/tax-rates/import', [TaxRateController::class, 'import'])->defaults('_config', [ + 'redirect' => 'admin.tax-rates.index', + ])->name('admin.tax-rates.import'); +}); diff --git a/packages/Webkul/Admin/src/Routes/web.php b/packages/Webkul/Admin/src/Routes/web.php new file mode 100644 index 000000000..5b7a27fb2 --- /dev/null +++ b/packages/Webkul/Admin/src/Routes/web.php @@ -0,0 +1,46 @@ +label{margin-right:15px}.mr20{margin-right:20px}.mb5{margin-bottom:5px!important}.mb10{margin-bottom:10px!important}.mb15,.product-detail .right .info{margin-bottom:15px}.mb20,.product-detail .right .options>*,.product-detail .right>div{margin-bottom:20px}.mb25{margin-bottom:25px}.mb30,.product-detail .right .customer-reviews .row{margin-bottom:30px}.ml0,.product-detail .right>div:not(:first-child){margin-left:0!important}.ml5{margin-left:5px}.ml10{margin-left:10px!important}.ml15{margin-left:15px!important}.ml30{margin-left:30px!important}.body-blur{filter:blur(4px);-webkit-filter:blur(4px)}.no-margin{margin:0!important}.flex-wrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.category-list-container .category,.cursor-pointer,.qty-btn>:not(:nth-child(2)){cursor:pointer}.cursor-not-allowed{cursor:not-allowed!important}.cursor-default{cursor:default}.grey{color:#9e9e9e}.clr-light{color:rgba(0,0,0,.53)}.clr-dark,.footer .footer-content .footer-statics .software-description p{color:hsla(0,0%,100%,.52)}.font-clr{color:rgba(0,0,0,.83)}.display-inbl,.product-detail .right .options .quantity>label{display:inline-block!important}.display-block,.product-detail .right .options label{display:block!important}.align-vertical-middle{vertical-align:middle}.full-width{width:100%}.full-image{width:100%;height:100%}.card-product-image-container .background-image-group,.full-back-size{background-size:100% 100%!important}.max-width-100{max-width:100%!important}.no-border{border:none!important}.back-pos-rt{background-position:100%}.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn,.account-content .account-layout .bottom-toolbar .pagination .page-item,.cart-details .continue-shopping-btn,.quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button,.theme-btn{z-index:10;border:none;cursor:pointer;font-weight:600;padding:10px 20px;vertical-align:top;border:1px solid transparent;color:#fff!important;background-color:#26a37c!important}.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button:focus,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button:hover,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn:focus,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn:hover,.account-content .account-layout .bottom-toolbar .pagination .page-item:focus,.account-content .account-layout .bottom-toolbar .pagination .page-item:hover,.cart-details .continue-shopping-btn:focus,.cart-details .continue-shopping-btn:hover,.quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button:focus,.quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button:hover,.theme-btn:focus,.theme-btn:hover{outline:none;-webkit-box-shadow:none;box-shadow:none;border:1px solid #247959;background-color:#26a37c!important}.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .quantity button.page-item,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.btn.page-item,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button.light,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.light.btn,.account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn.page-item,.account-content .account-layout .bottom-toolbar .pagination .page-item,.account-content .account-layout .bottom-toolbar .pagination .quantity .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item,.cart-details .light.continue-shopping-btn,.quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.page-item,.quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.light,.quantity .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item,.theme-btn.light{color:#26a37c!important;background-color:#fff!important;-webkit-box-shadow:0 1px 0 0 #cfcfcf;box-shadow:0 1px 0 0 #cfcfcf;border:1px solid rgba(0,0,0,.12)}.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .quantity button.page-item:focus,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .quantity button.page-item:hover,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.btn.page-item:focus,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.btn.page-item:hover,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button.light:focus,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button.light:hover,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.light.btn:focus,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.light.btn:hover,.account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn.page-item:focus,.account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn.page-item:hover,.account-content .account-layout .bottom-toolbar .pagination .page-item:focus,.account-content .account-layout .bottom-toolbar .pagination .page-item:hover,.account-content .account-layout .bottom-toolbar .pagination .quantity .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item:focus,.account-content .account-layout .bottom-toolbar .pagination .quantity .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item:hover,.cart-details .light.continue-shopping-btn:focus,.cart-details .light.continue-shopping-btn:hover,.quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.page-item:focus,.quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.page-item:hover,.quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.light:focus,.quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.light:hover,.quantity .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item:focus,.quantity .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item:hover,.theme-btn.light:focus,.theme-btn.light:hover{outline:none;-webkit-box-shadow:none;box-shadow:none;border:1px solid #247959;background-color:#f5f5f5!important}.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button:hover,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn:hover,.account-content .account-layout .bottom-toolbar .pagination .page-item:hover,.btn-add-to-cart:hover,.cart-details .continue-shopping-btn:hover,.quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button:hover,.theme-btn:hover{border-color:#247959!important;background-color:#247959!important}.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .quantity button.page-item:hover,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.btn.page-item:hover,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button:hover.light,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn:hover.light,.account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn.page-item:hover,.account-content .account-layout .bottom-toolbar .pagination .btn-add-to-cart.page-item:hover,.account-content .account-layout .bottom-toolbar .pagination .page-item:hover,.account-content .account-layout .bottom-toolbar .pagination .quantity .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item:hover,.btn-add-to-cart:hover.light,.cart-details .continue-shopping-btn:hover.light,.quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.page-item:hover,.quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button:hover.light,.quantity .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item:hover,.theme-btn:hover.light{border:1px solid rgba(0,0,0,.12)!important}.norm-btn{border:1px solid #ccc;font-size:14px;padding:9px 20px;border-radius:2px;vertical-align:top;color:#111!important;background-color:#fff!important}.sale-btn{z-index:10;border:none;color:#fff;font-size:14px;padding:3px 10px;position:absolute;border-radius:12px;background-color:#26a37c}.bg-image,.small-card-container .product-image{width:100%;background-size:contain;background-repeat:no-repeat;background-position:top}#top #account .welcome-content *,.material-icons,.unselectable *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.card-arrow-container .card-arrow{z-index:10;width:20px;height:20px;display:block;position:absolute;background-color:#2b2b2b;transform:rotate(45deg);-webkit-transform:rotate(45deg);-webkit-box-shadow:0 0 0 1px rgba(39,44,48,.05),0 2px 7px 1px rgba(39,44,48,.16);box-shadow:0 0 0 1px rgba(39,44,48,.05),0 2px 7px 1px rgba(39,44,48,.16)}.card-arrow-container .card-arrow-tp{left:50%;top:-10px}.card-arrow-container .card-arrow-rt{top:50%;right:-10px}.card-arrow-container .card-arrow-bt{left:50%;top:calc(100% - 10px)}.card-arrow-container .card-arrow-lt{top:50%;left:-7px}.lg-card-container{cursor:pointer}.lg-card-container a{color:rgba(0,0,0,.83);text-decoration:none}.lg-card-container #quick-view-btn-container :hover{color:#fff!important}.lg-card-container .background-image-group{background-size:contain!important}.lg-card-container.grid-card .card-current-price,.lg-card-container.list-card .card-current-price{font-size:18px}.lg-card-container.grid-card .product-rating .stars,.lg-card-container.list-card .product-rating .stars{display:inline-block}.lg-card-container.grid-card .product-rating span,.lg-card-container.list-card .product-rating span{vertical-align:middle}.lg-card-container.grid-card .product-information>div:not(:last-child),.lg-card-container.list-card .product-information>div:not(:last-child){margin-bottom:5px}.lg-card-container.grid-card img,.lg-card-container.list-card img{width:100%}.lg-card-container.list-card{margin-left:0;padding-left:0}.lg-card-container.list-card .background-image-group{height:100%}.lg-card-container.list-card .product-image{float:left;width:30%;height:270px;max-width:200px;max-height:200px;position:relative}.lg-card-container.list-card .product-image .quick-view-btn-container button{left:calc(50% - 40px)}.lg-card-container.list-card .product-information{width:70%;float:right;padding-left:20px}.lg-card-container.list-card .product-rating .stars{display:inline-block}.lg-card-container.list-card .product-rating span{vertical-align:top}.lg-card-container.list-card .product-information{height:200px;display:table}.lg-card-container.list-card .product-information>div{display:table-cell}.lg-card-container.list-card .product-price .sticker{display:block}.lg-card-container.list-card .wishlist-icon{height:40px;vertical-align:top;display:inline-table;padding-left:0!important}.lg-card-container.list-card .wishlist-icon i{display:table-cell;vertical-align:middle;padding-left:0!important}.lg-card-container.list-card .compare-icon{padding-left:0;display:inline-table}.lg-card-container.list-card .add-to-cart-btn{float:left;display:inline-block}.lg-card-container.grid-card{padding:15px}.lg-card-container.grid-card .product-image{max-height:350px;max-width:280px;margin-bottom:10px;background:#f2f2f2}.lg-card-container.grid-card .product-image img{display:block;height:100%}.lg-card-container.list-card:not(:first-child){margin-top:20px}.carousel-products.with-recent-viewed .btn-add-to-cart,.small-padding{padding:3px 4px!important}.medium-padding{padding:3px 10px!important}.general-container{cursor:pointer}.lg-card-container>.product-card{border:none}.general-container:hover,.lg-card-container:hover,.product-card-new:hover{-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.lg-card-container:hover .quick-view-btn-container{display:block}.product-card-new .product-rating,.text-nowrap{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#555}.small-card-container{cursor:pointer;margin-bottom:10px;margin-left:0!important;margin-right:0!important}.small-card-container .material-icons{font-size:16px}.small-card-container .product-image-container{padding:0;display:inline-block}.small-card-container .product-image{height:100%;background-position:50%}.small-card-container .card-body{width:50%;display:inline-block;padding:10px 0!important}.small-card-container .card-body .product-name{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.small-card-container .regular-price,.small-card-container .sticker{display:none}.small-card-container:hover{-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.text-down-3{top:3px;position:relative}.text-down-4{top:4px;position:relative}.text-down-6{top:6px;position:relative}.text-up-1{top:-1px;position:relative}.text-up-4{top:-4px;position:relative}.text-up-14{top:-14px;position:relative}ul.circle-list{padding-top:10px;text-align:center}ul.circle-list li.circle{width:10px;height:10px;cursor:pointer;border-radius:50%;display:inline-block;border:1px solid #d8d8d8}ul.circle-list li.circle.fill{background:#d8d8d8}ul.circle-list li.circle:not(:last-child){margin-right:6px}.hide{display:none}.category-breadcrumb{font-size:16px}.link-color{color:#4d7ea8}.account-content .account-layout .account-table-content #datagrid-filters~table.table tbody tr .action a,.account-content .account-layout .bottom-toolbar .pagination a.page-item,a.unset{color:unset!important;text-decoration:none!important}a.active-hover:hover{color:#4d7ea8!important;text-decoration:underline!important}a.remove-decoration,a.remove-decoration:active,a.remove-decoration:focus,a.remove-decoration:hover{text-decoration:none!important}.dropdown-icon:after{display:inline-block;margin-left:1rem;vertical-align:middle;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.disable-box-shadow,.disable-box-shadow:active,.disable-box-shadow:focus,input:focus,select:focus{outline:none!important;box-shadow:none!important;-webkit-box-shadow:0 5px 15px transparent;-o-box-shadow:0 5px 15px transparent;box-shadow:0 5px 15px transparent}.control-error{color:#f05153}.mandatory,.required{width:100%}.mandatory:after,.required:after{content:"*";font-size:16px;margin-left:-1px;color:#f05153}a.default{color:rgba(0,0,0,.83)!important;text-decoration:none!important}.VueCarousel{width:100%;cursor:pointer}.VueCarousel .VueCarousel-inner{padding-top:5px}.VueCarousel .VueCarousel-slide:first-of-type .product-card-new{margin-left:5px}.navigation-hide .VueCarousel-navigation,.pagination-hide .VueCarousel-pagination{display:none}.layered-filter-wrapper,.scrollable{max-height:100%;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}.layered-filter-wrapper::-webkit-scrollbar,.scrollable::-webkit-scrollbar{width:0!important}button[disabled]{opacity:.5;cursor:not-allowed}.max-sm-img-dimention{max-width:110px;max-height:110px}.max-sm-img-dimention img{width:100%;height:100%}.max-width{width:1440px!important;margin:0 auto!important}.styled-select{appearance:none;-moz-appearance:none;-webkit-appearance:none}.styled-select+.select-icon-container{position:relative}.styled-select+.select-icon-container .select-icon{top:-24px;left:unset;right:10px;font-size:16px;position:absolute;pointer-events:none}.down-arrow-container{position:relative;color:rgba(0,0,0,.83);vertical-align:top;display:inline-block}.down-arrow-container .rango-arrow-down{top:10px;left:-5px;font-size:16px;position:absolute}.select-icon{top:5px;left:-7px;font-size:16px;position:relative}.normal-text{color:#141516}.normal-white-text{color:hsla(0,0%,100%,.83)}.display-table{display:table}.display-table .cell{display:table-cell;vertical-align:middle}.account-content .account-layout .account-table-content #datagrid-filters~table.table tbody tr .action .eye-icon,.account-content .account-layout .account-table-content .filtered-tags .filter-tag .cross-icon,.account-content .account-layout .bottom-toolbar .pagination .page-item.next .angle-left-icon,.account-content .account-layout .bottom-toolbar .pagination .page-item.next .angle-right-icon,.account-content .account-layout .bottom-toolbar .pagination .page-item.previous .angle-left-icon,.account-content .account-layout .bottom-toolbar .pagination .page-item.previous .angle-right-icon,.account-content .sidebar .customer-sidebar .navigation li i.icon,.pagination .page-item.next .angle-left-icon,.pagination .page-item.next .angle-right-icon,.pagination .page-item.previous .angle-left-icon,.pagination .page-item.previous .angle-right-icon,.rango-default{speak:none;line-height:1;font-style:normal;font-weight:400;text-transform:none;font-variant:normal;-webkit-font-smoothing:antialiased;font-family:Webkul Rango!important}.max-height-350{max-height:350px}.border-normal{border:1px solid #dcdcdc}.has-error input,.has-error select,.has-error textarea{border-color:#f05153!important}.modal-parent{top:0;width:100%;height:100%;position:fixed;background:hsla(0,0%,100%,.9);z-index:125}.compare-icon,.wishlist-icon{height:38px;display:table;cursor:pointer;margin-left:10px}.compare-icon i,.wishlist-icon i{display:table-cell;vertical-align:middle}.qty-btn,.qty-btn>*{height:36px;display:inline-block}.qty-btn>*{padding:0 10px;border:1px solid #ccc;vertical-align:top;line-height:3.5rem}.qty-btn>:not(:first-child){border-left:none;position:relative}.qty-btn>:nth-child(2){left:-4px}.qty-btn>:nth-child(3){left:-7px}.btn-add-to-cart{padding:3px 14px!important;border-radius:0!important;color:#fff!important;border-color:#26a37c!important;background-color:#26a37c!important}.btn-add-to-cart.large{padding:12px 18px}.btn-add-to-cart .rango-cart-1{padding-right:5px}.accordian .accordian-header i.rango-arrow{float:right;font-size:24px}.accordian .accordian-header i.rango-arrow:before{content:"\E908"}.accordian.active .accordian-header i.rango-arrow:before{content:"\E906"}.accordian .accordian-header{width:100%;font-size:18px;cursor:pointer;color:#3a3a3a;margin-top:-1px;padding-bottom:20px;display:inline-block}.accordian .accordian-content{width:100%;display:none;padding-bottom:10px}.accordian.active .accordian-header{padding-bottom:10px}.accordian.active .accordian-content{display:inline-block}.review-page-container{padding:20px;position:relative}.review-page-container>div:first-child{top:40px;position:sticky;height:-webkit-max-content;height:-moz-max-content;height:max-content}.review-page-container .category-breadcrumb{margin-bottom:30px}.review-page-container h2{font-size:24px;font-weight:600}.review-page-container h3{font-size:20px;font-weight:600}.review-page-container h4{font-size:16px;font-weight:600}.review-page-container .customer-reviews>div.row{padding-bottom:30px;display:block}.review-page-container .submit-btn{font-weight:600}.review-page-container .submit-btn button{padding:10px 15px}.customer-rating .rating-container{padding:30px 0}.customer-rating a{color:#4d7ea8}.customer-rating a:hover{text-decoration:none}.customer-rating .col-lg-6:first-child{border-right:1px solid #ccc}.customer-rating .rating-bar{top:12px;padding:0;height:5px;position:relative;background-color:#f7f7f9}.customer-rating .rating-bar>div{width:0;height:100%;background-color:#111}.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .customer-rating button.btn.page-item,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .quantity .customer-rating button.page-item,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .customer-rating button.light.btn,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity .customer-rating button.light,.account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .customer-rating button.btn.page-item,.account-content .account-layout .bottom-toolbar .pagination .customer-rating .page-item,.account-content .account-layout .bottom-toolbar .pagination .quantity .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .customer-rating button.page-item,.cart-details .customer-rating .light.continue-shopping-btn,.customer-rating .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .quantity button.page-item,.customer-rating .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.btn.page-item,.customer-rating .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button.light,.customer-rating .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.light.btn,.customer-rating .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn.page-item,.customer-rating .account-content .account-layout .bottom-toolbar .pagination .page-item,.customer-rating .account-content .account-layout .bottom-toolbar .pagination .quantity .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item,.customer-rating .cart-details .light.continue-shopping-btn,.customer-rating .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.page-item,.customer-rating .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.light,.customer-rating .quantity .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item,.customer-rating .theme-btn.light,.quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .customer-rating button.page-item,.quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .customer-rating button.light,.quantity .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .customer-rating button.page-item{margin-top:10px}.review-form{width:80%}.review-form>div{padding-top:30px}.review-form>div label{font-size:14px;font-weight:500;display:block}.review-form>div input,.review-form>div textarea{width:100%;resize:none;font-size:16px;padding:5px 16px;border-radius:1px;border:1px solid #ccc}.filters-container{margin:20px 0}.filters-container .toolbar-wrapper>div{margin:0 20px 0 0;display:inline-block}.filters-container .toolbar-wrapper>div label{font-weight:500;margin-right:10px}.filters-container .toolbar-wrapper>div select{cursor:pointer;padding:6px 16px;color:rgba(0,0,0,.83);background-color:#fff}.filters-container .toolbar-wrapper>div .down-icon-position{pointer-events:none;background-color:#fff}.filters-container .toolbar-wrapper>div:not(:first-child){vertical-align:super}.filters-container .toolbar-wrapper .limiter:after{margin-left:10px}.view-mode{margin-bottom:20px}.view-mode .rango-view-grid-container{width:36px;height:36px;cursor:pointer;color:rgba(0,0,0,.83);padding:6px 0 0 5px;display:inline-block}.view-mode .rango-view-grid-container.active{color:#fff;background-color:#26a37c}.view-mode .rango-view-list-container{width:36px;height:36px;cursor:pointer;color:rgba(0,0,0,.83);padding:6px 0 0 5px;display:inline-block}.view-mode .rango-view-list-container.active{color:#fff;background-color:#26a37c}.modal-container{left:50%;top:100px;z-index:11;width:600px;max-width:80%;max-height:80%;position:fixed;font-size:14px;overflow-y:auto;margin-left:-300px;background:#fff;-webkit-animation:jelly .5s ease-in-out;animation:jelly .5s ease-in-out;-webkit-animation:fade-in-white .3s ease-in-out;animation:fade-in-white .3s ease-in-out;border-radius:5px;-webkit-box-shadow:0 15px 25px 0 rgba(0,0,0,.03),0 20px 45px 5px rgba(0,0,0,.2);box-shadow:0 15px 25px 0 rgba(0,0,0,.03),0 20px 45px 5px rgba(0,0,0,.2)}.modal-container .modal-header{padding:20px}.modal-container .modal-header h3{display:inline-block;font-size:20px;color:rgba(0,0,0,.83);margin:0}.modal-container .modal-header .icon{float:right;cursor:pointer}.modal-container .modal-header .icon.remove-icon{width:24px;right:20px;height:24px;margin-right:0;position:absolute;background-image:url("../images/Icon-remove.svg")}.modal-container .modal-body{padding:20px}.modal-container .modal-body .control-group .control{width:100%}.product-card-new{width:12rem;height:385px;border:none!important;margin:0 5px 10px 10px}.product-card-new .category-product-image-container{margin:0 auto;height:190px;position:relative}.product-card-new .category-product-image-container img{max-width:100%;max-height:100%}.product-card-new .product-image-container{max-height:190px;position:relative}.product-card-new .product-image-container img{width:100%;min-height:190px;max-height:190px}.product-card-new .card-current-price{font-size:18px}.product-card-new .product-rating .stars{display:inline-block}.product-card-new .product-rating span{font-size:14px;vertical-align:middle}.product-card-new .product-rating .material-icons{font-size:16px}.product-card-new .card-body{cursor:default}.product-card-new .card-body>div:last-child{margin-top:10px}.product-card-new .card-body .product-name,.product-card-new .card-body .product-rating{width:15rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.product-card-new .sticker{display:block}.product-card-new .card-body .compare-icon,.product-card-new .card-body .wishlist-icon{left:0;top:10px;display:none;margin-left:5px;margin-right:5px;position:absolute}.product-card-new .card-body .compare-icon{right:0;left:unset}.product-card-new .card-body .add-to-cart-btn{width:100%;position:relative}.product-card-new .card-body .add-to-cart-btn .btn-add-to-cart{width:100%;max-width:140px;max-width:100%!important}.carousel-products.with-recent-viewed .product-card-new .card-body .add-to-cart-btn .btn-add-to-cart,.product-card-new .card-body .add-to-cart-btn .btn-add-to-cart.small-padding,.product-card-new .card-body .add-to-cart-btn .carousel-products.with-recent-viewed .btn-add-to-cart{max-width:130px}.quick-view-btn-container{left:-20px;width:100%;bottom:10px;display:none;position:absolute}.quick-view-btn-container span{left:32%;top:-26px;z-index:1;font-size:16px;color:#fff;position:absolute}.quick-view-btn-container button{left:30%;top:-36px;border:none;color:#fff;font-size:16px;padding:5px 10px 7px 24px;position:absolute;opacity:.8;background-color:#0d2438}.product-card-new:hover #quick-view-btn-container{display:block}.product-card-new:hover .category-product-image-container,.product-card-new:hover .product-image-container{overflow:hidden}.product-card-new:hover .category-product-image-container img,.product-card-new:hover .product-image-container img{-webkit-transition:all .5s;transition:all .5s;-webkit-transform:scale(1.05);transform:scale(1.05)}.product-card-new:hover .compare-icon,.product-card-new:hover .wishlist-icon{display:block}.product-card-new:hover .sticker{display:none}.lg-card-container:hover .product-image{overflow:hidden}.lg-card-container:hover .product-image img{-webkit-transition:all .5s;transition:all .5s;-webkit-transform:scale(1.05);transform:scale(1.05)}.quantity{width:100%;padding-bottom:10px;font-size:16px!important}.quantity label{float:left;padding:5px 15px 10px 0}.quantity button,.quantity input{height:35px;border-radius:2px;vertical-align:top;padding:0 10px!important;font-size:24px!important;font-weight:600!important;color:#111!important;background-color:#fff;border:1px solid #ccc!important}.quantity input{max-width:50px;cursor:default;font-size:16px!important;text-align:center;margin-left:-5px;margin-right:-5px}.quantity button:hover{background-color:#f5f5f5!important}.quantity button:active,.quantity button:focus,.quantity input:active,.quantity input:focus{outline:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}.form-container .container{width:65%;margin:0 auto;padding-top:30px}.form-container .container .heading{width:100%;margin-bottom:35px;display:inline-block}.form-container .container .heading h2{line-height:4rem;display:inline-block}.form-container .container .heading .btn-new-customer{float:right;font-size:16px}.form-container .container .body{font-size:16px;padding:35px 55px;margin-bottom:60px;border:1px solid #ccc}.form-container .container .body .form-header{margin-bottom:20px}.form-container .container .body form>div{padding-bottom:20px}.form-container .container .body form>div input{border:1px solid #dcdcdc}.container-right>.recently-viewed{padding-top:20px}.rango-star{cursor:default}.customer-options{top:40px;float:right;padding:20px;width:200px!important}.customer-options .customer-session{padding:10px 20px 0}.customer-options .customer-session label{font-size:18px;color:#9e9e9e;text-transform:uppercase}.customer-options li{padding:3px 0;height:unset!important}.customer-options li a{display:block;padding:0 20px!important}.customer-options a{font-size:16px}.cart-btn-collection button[type=button].btn-secondary{border:none;font-size:16px;color:#111;background-color:#fff}.cart-btn-collection button[type=button].btn-secondary :hover{color:#111!important;background-color:#fff!important}.cart-btn-collection button[type=button].btn-secondary :active,.cart-btn-collection button[type=button].btn-secondary :focus{outline:none;-webkit-box-shadow:none;box-shadow:none}.cart-btn-collection button[type=button].btn-secondary #cart-count{left:-20px;top:-15px;padding:4px;min-width:20px;border-radius:50%;position:relative;color:#fff;background:#21a179}.mini-cart-container #mini-cart{outline:none;-webkit-box-shadow:none;box-shadow:none;text-decoration:unset}.mini-cart-container #mini-cart .badge{border-radius:50%;top:-2px;left:15px;padding:4px;min-width:20px;position:absolute;color:#fff;background:#21a179}.dropdown-icon-custom:after{top:-5px;color:#000;font-size:16px;position:relative;display:inline-block;margin-left:1rem;vertical-align:middle;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}#cart-modal-content{top:44px;z-index:100;width:350px;left:-265px;position:absolute}#cart-modal-content .close{top:12px;right:15px;padding:0;position:relative}#cart-modal-content .mini-cart-container{height:100%;width:100%;font-size:14px;max-height:200px;overflow-y:scroll;padding:10px 15px 0 20px}#cart-modal-content .small-card-container{margin:0;width:100%;padding:0}#cart-modal-content .small-card-container .product-image-container{margin:10px 10px 10px 0;border:1px solid #ececec}#cart-modal-content .small-card-container input{width:30px;text-align:center;font-weight:500;border:1px solid #ececec}#cart-modal-content .small-card-container .card-total-price{float:right}#cart-modal-content .small-card-container .rango-close{top:-10px;left:-10px;padding:0 4px 3px 3px;font-size:10px;max-height:17px;line-height:1.3rem;text-align:center;position:absolute;border-radius:50%;color:#fff;background:#111}#cart-modal-content .small-card-container:hover{-webkit-box-shadow:none;box-shadow:none}#cart-modal-content .modal-footer{padding-right:15px}.cart-details{padding:40px 20px}.cart-details h1{margin-bottom:30px}.cart-details .cart-details-header h2{margin-bottom:20px}.cart-details .cart-details-header .cart-header{max-height:45px;margin-bottom:20px;padding-bottom:20px!important;border-bottom:2px solid #e5e5e5}.cart-details .cart-details-header .cart-header>h3{font-size:16px;font-weight:600}.cart-details .cart-content{padding:0}.cart-details .cart-content .product-quantity .quantity{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.cart-details .cart-content .product-quantity .quantity label{display:none!important}.cart-details .cart-content .cart-item-list>.row{margin-bottom:40px}.cart-details .cart-content .cart-item-list>.row:last-child{padding-bottom:20px;border-bottom:2px solid #e5e5e5}.cart-details .cart-content .cart-item-list .product-image-container{padding:0;max-width:110px;max-height:110px}.cart-details .cart-content .cart-item-list .wishlist-icon{margin:0;display:inline}.cart-details .cart-content .product-details-content{padding-left:20px}.cart-details .cart-content .product-details-content .row{font-size:16px}.cart-details .cart-content .product-details-content .row .card-current-price{font-size:18px}.cart-details .cart-content .product-details-content .row>a{line-height:20px}.cart-details .continue-shopping-btn{max-width:156px;margin-top:20px;margin-left:15px}.cart-details .coupon-container{margin-top:20px}.cart-details .coupon-container .control-error{padding:10px 0}.account-content ol.breadcrumb{margin:0 0 2;padding:0;list-style:none;background-color:transparent}.account-content ol.breadcrumb li.breadcrumb-item{display:inline-block}.account-content ol.breadcrumb li.breadcrumb-item+.breadcrumb-item:before{display:inline-block;padding-right:5px;padding-left:5px;content:"/"}.account-content .sidebar{height:100%}.account-content .sidebar .customer-sidebar{border-right:1px solid #e5e5e5}.account-content .sidebar .customer-sidebar .account-details{text-align:center;padding:25px 20px}.account-content .sidebar .customer-sidebar .account-details .customer-name{width:60px;height:60px;margin:0 auto;font-size:24px;margin-bottom:5px;display:inline-block}.account-content .sidebar .customer-sidebar .account-details .customer-name-text{color:rgba(0,0,0,.83)}.account-content .sidebar .customer-sidebar .account-details .customer-email{color:#9e9e9e}.account-content .sidebar .customer-sidebar .navigation,.account-content .sidebar .customer-sidebar .navigation li{width:100%}.account-content .sidebar .customer-sidebar .navigation li.active,.account-content .sidebar .customer-sidebar .navigation li:hover{color:#28557b;background-color:#ececec}.account-content .sidebar .customer-sidebar .navigation li i.icon{font-size:18px;padding-right:5px}.account-content .sidebar .customer-sidebar .navigation li i.icon.profile:before{content:"\E995"}.account-content .sidebar .customer-sidebar .navigation li i.icon.address:before{content:"\E949"}.account-content .sidebar .customer-sidebar .navigation li i.icon.reviews:before{content:"\E97D"}.account-content .sidebar .customer-sidebar .navigation li i.icon.wishlist:before{content:"\E93E"}.account-content .sidebar .customer-sidebar .navigation li i.icon.orders:before{content:"\E931"}.account-content .sidebar .customer-sidebar .navigation li i.icon.downloadables:before{content:"\E926"}.account-content .sidebar .customer-sidebar .navigation li i.icon.compare:before{content:"\E93B"}.account-content .sidebar .customer-sidebar .navigation li a{display:block;padding:10px 15px}.account-content .sidebar .customer-sidebar .navigation li:last-child{margin-bottom:0}.account-content .account-layout{color:rgba(0,0,0,.83);padding:15px 20px;padding-bottom:60px}.account-content .account-layout.right{padding-left:250px!important}.account-content .account-layout .account-head{margin-bottom:20px}.account-content .account-layout .account-heading{font-size:24px;font-weight:600}.account-content .account-layout .account-table-content .control-group,.account-content .account-layout .account-table-content>.row{margin-bottom:30px}.account-content .account-layout .account-table-content label{font-weight:500}.account-content .account-layout .account-table-content input,.account-content .account-layout .account-table-content select,.account-content .account-layout .account-table-content textarea{width:100%;resize:none;font-size:16px;padding:5px 16px;border-radius:1px;background:#fff;border:1px solid #ccc}.account-content .account-layout .account-table-content input[type=search]{padding-left:35px}.account-content .account-layout .account-table-content input:active,.account-content .account-layout .account-table-content input:focus,.account-content .account-layout .account-table-content select:active,.account-content .account-layout .account-table-content select:focus,.account-content .account-layout .account-table-content textarea:active,.account-content .account-layout .account-table-content textarea:focus{border-color:#26a37c}.account-content .account-layout .account-table-content .address-holder{margin-top:30px}.account-content .account-layout .account-table-content .address-holder>div{margin:5px 0;padding-left:0}.account-content .account-layout .account-table-content .address-holder .card{height:100%}.account-content .account-layout .account-table-content .address-holder .card ul li{display:inline-block}.account-content .account-layout .account-table-content .account-items-list{margin-bottom:40px}.account-content .account-layout .account-table-content #datagrid-filters{width:100%;margin-bottom:20px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.account-content .account-layout .account-table-content #datagrid-filters .filter-left .icon-wrapper .search-btn{background-size:cover;width:24px;height:24px;background-image:url("../images/icon-search.svg");position:relative;float:left;top:-32px;left:6px}.account-content .account-layout .account-table-content #datagrid-filters>*{display:inline-block;vertical-align:top}.account-content .account-layout .account-table-content #datagrid-filters>.search-filter{top:20px;max-width:200px;margin-right:20px;position:relative}.account-content .account-layout .account-table-content #datagrid-filters>:nth-of-type(2){width:calc(50% - 10px)}.account-content .account-layout .account-table-content #datagrid-filters>:nth-of-type(3){width:calc(50% - 220px)}.account-content .account-layout .account-table-content #datagrid-filters>:nth-of-type(3) .control-group{float:right;max-width:200px}.account-content .account-layout .account-table-content #datagrid-filters>* input,.account-content .account-layout .account-table-content #datagrid-filters>* select{height:38px}.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters{font-size:16px}.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .grid-dropdown-header{display:inline-block}.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-list li{list-style:none}.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-toggle:after{border:unset}.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container{width:100%;display:inline-block!important}.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn,.quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button{display:block;font-size:14px;margin-top:10px;font-weight:600;padding:5px 10px}.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container li:not(:last-child){margin-bottom:10px}.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container li{width:150px;display:inline-block}.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .control-group{margin-bottom:0}.account-content .account-layout .account-table-content #datagrid-filters~table.table thead{font-size:18px}.account-content .account-layout .account-table-content #datagrid-filters~table.table tbody{font-size:16px}.account-content .account-layout .account-table-content #datagrid-filters~table.table tbody tr td a{display:block}.account-content .account-layout .account-table-content #datagrid-filters~table.table tbody tr .badge{padding:10px;font-size:12px}.account-content .account-layout .account-table-content #datagrid-filters~table.table tbody tr .action .eye-icon{font-size:24px;padding-left:10px}.account-content .account-layout .account-table-content #datagrid-filters~table.table tbody tr .action .eye-icon:hover{color:#4d7ea8}.account-content .account-layout .account-table-content #datagrid-filters .filter-left{float:left}.account-content .account-layout .account-table-content #datagrid-filters .filter-right{top:-25px;width:70%;float:right;position:relative}.account-content .account-layout .account-table-content #datagrid-filters .filter-right .per-page{right:0;position:absolute}.account-content .account-layout .account-table-content .filtered-tags .filter-tag{font-size:16px;margin-right:20px}.account-content .account-layout .account-table-content .filtered-tags .filter-tag .cross-icon:before{top:1px;content:"\E91F";margin-left:4px;position:relative}.account-content .account-layout .account-table-content .filtered-tags .filter-tag .cross-icon:hover{cursor:pointer}.account-content .account-layout .account-table-content .filtered-tags .filter-tag .wrapper{color:#000311;margin-left:10px;padding:5px 10px;background:#e7e7e7;letter-spacing:-.22px}.account-content .account-layout .account-table-content.profile-page-content .table{padding:0;width:800px;margin-bottom:15px}.account-content .account-layout .account-table-content.profile-page-content .table>table{width:100%;color:#5e5e5e;border:1px solid rgba(0,0,0,.125)}.account-content .account-layout .account-table-content.profile-page-content .table td{border:unset;padding:6px 12px}.account-content .account-layout .account-table-content .accordian .accordian-header{padding:10px 0;font-weight:600}.account-content .account-layout .account-table-content .image-wrapper{width:100%;margin-top:10px;margin-bottom:20px;display:inline-block}.account-content .account-layout .account-table-content .image-wrapper .image-item{width:200px;height:200px;position:relative;border-radius:3px;margin-right:20px;background:#f8f9fa;margin-bottom:20px;display:inline-block;background-position:50%;background-repeat:no-repeat;background-image:url(/vendor/webkul/ui/assets/images/placeholder-icon.svg)}.account-content .account-layout .account-table-content .image-wrapper .image-item .remove-image{left:0;bottom:0;width:100%;color:#fff;padding:10px;cursor:pointer;margin-bottom:0;text-align:center;position:absolute;margin-right:20px;border-radius:0 0 4px 4px;text-shadow:0 1px 2px rgba(0,0,0,.24);background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.08)),to(rgba(0,0,0,.24)));background-image:linear-gradient(-180deg,rgba(0,0,0,.08),rgba(0,0,0,.24))}.account-content .account-layout .account-table-content .image-wrapper .image-item input{display:none}.account-content .account-layout .account-table-content .image-wrapper .image-item img.preview{width:100%;height:100%}.account-content .account-layout .account-items-list.wishlist-container{width:100%;margin:0 auto}.account-content .account-layout .account-items-list.wishlist-container .product-card-new{width:19rem}.account-content .account-layout .max-sm-img-dimention{max-width:110px;max-height:110px}.account-content .account-layout .max-sm-img-dimention img{width:100%;height:100%}.account-content .account-layout .reviews-container>.row{margin-bottom:40px}.account-content .account-layout .bottom-toolbar .pagination{margin:0}.account-content .account-layout .bottom-toolbar .pagination a:not([href]).next,.account-content .account-layout .bottom-toolbar .pagination a:not([href]).previous{cursor:not-allowed;color:#9e9e9e!important}.account-content .account-layout .bottom-toolbar .pagination .page-item{border:none!important;box-shadow:unset!important;-webkit-box-shadow:unset!important}.account-content .account-layout .bottom-toolbar .pagination .page-item.active{border:1px solid #26a37c;color:#26a37c!important}.account-content .account-layout .bottom-toolbar .pagination .page-item.next .angle-left-icon,.account-content .account-layout .bottom-toolbar .pagination .page-item.next .angle-right-icon,.account-content .account-layout .bottom-toolbar .pagination .page-item.previous .angle-left-icon,.account-content .account-layout .bottom-toolbar .pagination .page-item.previous .angle-right-icon{margin:0;font-size:24px;background:unset;text-align:center}.account-content .account-layout .bottom-toolbar .pagination .page-item.next .angle-right-icon:before{content:"\E908"}.account-content .account-layout .bottom-toolbar .pagination .page-item.previous .angle-left-icon:before{content:"\E907"}.account-content .account-layout .sale-container{font-size:16px}.account-content .account-layout .sale-container .tabs ul{font-weight:600;font-size:20px;list-style-type:none}.account-content .account-layout .sale-container .tabs ul li{cursor:pointer;padding:10px 15px;display:inline-block;border-bottom:2px solid transparent}.account-content .account-layout .sale-container .tabs ul li.active{cursor:default;border-bottom:2px solid #26a37c}.account-content .account-layout .sale-container .tabs-content .sale-section{padding:20px 0 10px;border-bottom:1px solid #ccc}.account-content .account-layout .sale-container .tabs-content .sale-section .section-title{font-size:18px;font-weight:600;padding-bottom:10px;color:#9e9e9e}.account-content .account-layout .sale-container .tabs-content .sale-section .section-content label+span{font-weight:600;color:#9e9e9e}.account-content .account-layout .sale-container .tabs-content .sale-section .section-content .totals{width:100%;display:inline-block}.account-content .account-layout .sale-container .tabs-content .sale-section .section-content .totals .sale-summary{float:right}.account-content .account-layout .sale-container .tabs-content .sale-section .section-content .totals .sale-summary tbody tr td:first-child{width:200px}.account-content .account-layout .sale-container .tabs-content .sale-section .section-content .table table{width:100%}.account-content .account-layout .sale-container .order-box-container{padding:10px 0}.account-content .account-layout .sale-container .order-box-container .box{width:calc(25% - 5px);vertical-align:top;display:inline-block}.account-content .account-layout .sale-container .order-box-container .box .box-title{font-size:18px;padding:10px 0;font-weight:600;color:#9e9e9e}.account-content .select-icon{left:95%;top:-28px;font-size:22px;position:relative}#alert-container{top:50px;right:15px;z-index:100;position:fixed;font-size:16px}#alert-container .alert{max-width:400px!important;min-height:45px!important;max-height:100px!important}#alert-container .alert.alert-dismissible .close{font-size:23px;padding:.3rem 1.25rem}.wishlist-icon{vertical-align:middle}.wishlist-icon i{color:#111}.checkout-process{padding:40px 20px}.checkout-process .col-lg-7 .coupon-container,.checkout-process .col-lg-7>div:not(:first-child){margin-top:20px}.checkout-process h1{font-weight:600;margin-bottom:30px}.checkout-process .layered-filter-wrapper,.checkout-process .scrollable{padding-top:25px}.checkout-process .order-summary-container{top:75px}.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .checkout-process .order-summary-container button.btn,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity .checkout-process .order-summary-container button,.account-content .account-layout .bottom-toolbar .pagination .checkout-process .order-summary-container .page-item,.cart-details .checkout-process .order-summary-container .continue-shopping-btn,.checkout-process .order-summary-container .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button,.checkout-process .order-summary-container .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn,.checkout-process .order-summary-container .account-content .account-layout .bottom-toolbar .pagination .page-item,.checkout-process .order-summary-container.bottom h3,.checkout-process .order-summary-container .cart-details .continue-shopping-btn,.checkout-process .order-summary-container .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button,.checkout-process .order-summary-container .theme-btn,.quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .checkout-process .order-summary-container button{display:none}.checkout-process input[type=radio]{transform:scale(1.3);-ms-transform:scale(1.3);-webkit-transform:scale(1.3)}.checkout-process .styled-select{cursor:pointer}.checkout-process .styled-select+.select-icon{top:55%;left:92%;font-size:20px;position:absolute}.checkout-process .coupon-container input{max-width:200px}.checkout-process .coupon-container button{margin:20px 0 30px}.checkout-process .coupon-container .applied-coupon-details{font-size:16px;margin-bottom:10px}.checkout-process .coupon-container .applied-coupon-details label:first-of-type{color:#26a37c}.checkout-process .coupon-container .rango-close{cursor:pointer;margin-left:5px}.address-container .address-holder{margin-top:15px}.address-container .address-holder>div{margin:5px 0;padding-left:0}.address-container .address-holder .card{height:100%}.address-container .address-holder .card h5{font-size:14px}.address-container .address-holder .card ul li{display:inline-block}.address-container .address-holder .card .add-address-button{height:100%;display:table;text-align:center}.address-container .address-holder .card .add-address-button>div{display:table-cell;vertical-align:middle}.address-container .address-holder .card .add-address-button>div span{vertical-align:super}.custom-form .form-field{padding:0;margin-bottom:30px}.custom-form label{font-weight:500}.custom-form input[type=password],.custom-form input[type=search],.custom-form input[type=text],.custom-form select{width:100%;resize:none;font-size:16px;padding:5px 16px;border-radius:1px;background:#fff;border:1px solid #ccc}.custom-form input[type=checkbox]{position:relative;top:3px}.custom-form input:active,.custom-form input:focus,.custom-form select:active,.custom-form select:focus{border-color:#26a37c}.payment-form .payment-methods>.row,.payment-form .shipping-methods>.row,.payment-form h3,.review-checkout-conainer .payment-methods>.row,.review-checkout-conainer .shipping-methods>.row,.review-checkout-conainer h3,.shipping-form .payment-methods>.row,.shipping-form .shipping-methods>.row,.shipping-form h3{margin-bottom:20px}.payment-form .payment-methods .instructions,.payment-form .shipping-methods .instructions,.review-checkout-conainer .payment-methods .instructions,.review-checkout-conainer .shipping-methods .instructions,.shipping-form .payment-methods .instructions,.shipping-form .shipping-methods .instructions{margin-top:5px;margin-left:-13px}.payment-form .payment-methods .instructions label,.payment-form .shipping-methods .instructions label,.review-checkout-conainer .payment-methods .instructions label,.review-checkout-conainer .shipping-methods .instructions label,.shipping-form .payment-methods .instructions label,.shipping-form .shipping-methods .instructions label{font-weight:600;font-size:14px}.payment-form .payment-methods .instructions p,.payment-form .shipping-methods .instructions p,.review-checkout-conainer .payment-methods .instructions p,.review-checkout-conainer .shipping-methods .instructions p,.shipping-form .payment-methods .instructions p,.shipping-form .shipping-methods .instructions p{margin:0;font-size:14px;color:#777;font-style:italic}.payment-form .address-summary li,.review-checkout-conainer .address-summary li,.shipping-form .address-summary li{display:inline-block}.payment-form .cart-item-list,.review-checkout-conainer .cart-item-list,.shipping-form .cart-item-list{padding:20px 0;border-bottom:1px solid #e5e5e5}.payment-form .cart-item-list h4,.review-checkout-conainer .cart-item-list h4,.shipping-form .cart-item-list h4{padding-bottom:20px;border-bottom:1px solid #e5e5e5;margin-bottom:20px!important}.payment-form .cart-item-list>.row:first-child,.review-checkout-conainer .cart-item-list>.row:first-child,.shipping-form .cart-item-list>.row:first-child{margin-top:50px}.payment-form .cart-item-list>.row,.review-checkout-conainer .cart-item-list>.row,.shipping-form .cart-item-list>.row{margin-bottom:20px}.payment-form .cart-details,.review-checkout-conainer .cart-details,.shipping-form .cart-details{padding:40px 0}.order-summary-container{top:50px;padding-top:25px;height:-webkit-max-content;height:-moz-max-content;height:max-content;position:sticky!important;max-width:500px!important}.order-summary-container>div{width:100%}.order-summary-container .order-summary{padding:25px 30px;border:1px solid #e5e5e5}.order-summary-container .order-summary>h3{margin-bottom:20px}.order-summary-container .order-summary>.row:not(:last-child){margin-bottom:10px}.order-summary-container .order-summary #grand-total-detail{margin-top:15px;padding-top:15px;margin-bottom:25px;border-top:1px solid #e5e5e5}.order-success-content{padding:40px 20px;font-size:16px}.search-result-status{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}#address-section .form-header h3{margin-bottom:20px}.attached-products-wrapper{margin-top:20px}#related-products-carousel .product-card-new:first-child{margin-left:0!important}.price-label{margin-right:6px}.product-price{height:72px}.product-price .price-label{margin-right:6px}.product-price .regular-price{font-weight:500;margin-right:10px;text-decoration:line-through;display:block}.product-price .price-from .bundle-regular-price{font-size:12px!important;font-weight:500;margin-right:10px;text-decoration:line-through}.product-price .price-from .bundle-special-price{font-size:15px!important;font-weight:600}.product-price .price-from .bundle-to{display:block;font-size:15px!important;font-weight:500;margin-top:1px;margin-bottom:1px}.product-price span.price-label{font-size:16px}.product-price span.final-price{font-size:24px}.sticker{top:8px;left:8px;border:none;color:#fff;display:none;font-size:14px;font-weight:600;padding:2px 10px;position:absolute;border-radius:12px}.sticker.sale{padding:2px 14px;background-color:#f05153}.sticker.new{background-color:#26a37c;display:block}#app{min-height:65vh;position:relative}.main-container-wrapper .sticky-header{top:0;height:55px;z-index:100;position:sticky;background:#fff}.main-container-wrapper .sticky-header.header-shadow{-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.search-container{padding:30px 20px}.search-container .lg-card-container.list-card{margin:0 15px}.search-container :first-child{margin-top:0}.method-sticker{font-size:13px;padding:4px 8px;margin-right:3px;margin-bottom:3px;text-align:center;border-radius:1px;display:inline-block;color:#cfcfd0;background-color:#141516}.sidebar{z-index:1000000;width:230px}.sidebar .category-content .category-title{top:-1px;font-weight:600;position:relative}.sidebar .category-content .rango-arrow-right{top:4px;position:relative}.sidebar .category-content .category-icon{width:25px;height:20px;padding-right:5px;display:inline-block}.sidebar .category-content .category-icon img{width:100%;height:100%;vertical-align:text-top}.sidebar li:hover>a>span{color:#28557b}.sidebar .sub-categories{display:none}.sidebar .sub-categories .category{padding:5px 0 4px 15px}.sidebar .sub-categories .category+.nested{color:rgba(0,0,0,.83)}.sidebar .sub-categories .category+.nested li a{padding-top:0}.sidebar .sub-categories .category+.nested li a .category-title{font-weight:500;padding-left:28px}.sidebar .sub-categories .category .category-title{vertical-align:top}.category-list-container{z-index:10;padding:0!important;background:#fff;position:absolute!important;-webkit-box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.category-list-container .category{width:100%;line-height:2.5rem;display:inline-block}.category-list-container .category span{top:-4px;position:relative}.category-list-container li a{padding:7px 0 5px 15px}.category-list-container li a:hover{background:#ececec}.category-list-container .sub-categories{top:-1px;left:100%;height:100%;min-height:330px;z-index:100;padding-top:10px;position:absolute;background:#fff;border-left:1px solid #ccc;-webkit-box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);overflow-y:auto}.category-list-container .sub-categories li:last-of-type{margin-bottom:10px}#sidebar-level-0{display:none;z-index:100000;border-top:1px solid #ccc}.grouped-product-container .grouped-product-list ul li{width:100%;font-size:18px;margin-bottom:10px;display:inline-block}.grouped-product-container .grouped-product-list ul li:last-child{margin-bottom:0}.grouped-product-container .grouped-product-list ul li:first-child span{font-weight:600}.grouped-product-container .grouped-product-list ul li:first-child span:last-child{float:right;width:50px;text-align:left}.grouped-product-container .grouped-product-list ul li .name{font-size:16px;vertical-align:middle;display:inline-block}.grouped-product-container .grouped-product-list ul li .qty{float:right}.grouped-product-container .grouped-product-list ul li .qty .control-group{height:45px;width:auto;border-top:0;padding-top:0;margin-bottom:0;max-width:none;text-align:center}.grouped-product-container .grouped-product-list ul li .qty .control-group label{display:none}.grouped-product-container .grouped-product-list ul li .qty .control-group .control{width:60px;text-align:center;line-height:38px}.grouped-product-container .grouped-product-list ul li .qty .control-group>*{height:100%}.bundle-options-wrapper .bundle-option-list{padding:15px 0;border-top:1px solid hsla(0,0%,64%,.2)}.bundle-options-wrapper .bundle-option-list h3{font-size:16px;margin:0;color:#242424}.bundle-options-wrapper .bundle-option-list .bundle-option-item{border-bottom:1px solid hsla(0,0%,64%,.2);padding:15px 0;width:100%;display:inline-block}.bundle-options-wrapper .bundle-option-list .bundle-option-item:last-child{border-bottom:0;padding-bottom:0}.bundle-options-wrapper .bundle-option-list .bundle-option-item .control-group{margin-bottom:0;color:#5e5e5e}.bundle-options-wrapper .bundle-option-list .bundle-option-item .control-group label{color:#242424}.bundle-options-wrapper .bundle-option-list .bundle-option-item .control-group .control{color:#5e5e5e}.bundle-options-wrapper .bundle-option-list .bundle-option-item .quantity{border-top:0;padding-bottom:0}.bundle-options-wrapper .bundle-option-list .bundle-option-item .quantity.has-error button{border-color:#fc6868;color:#fc6868}.bundle-options-wrapper .bundle-option-list .bundle-option-item .control-error{float:left;width:100%}.bundle-options-wrapper .bundle-option-list .bundle-option-item.has-error button{border-color:#fc6868;color:#fc6868}.bundle-options-wrapper .bundle-summary{padding:15px 0;border-top:1px solid hsla(0,0%,64%,.2)}.bundle-options-wrapper .bundle-summary h3{font-size:16px;margin:0;color:#242424}.bundle-options-wrapper .bundle-summary .quantity{border-top:0}.bundle-options-wrapper .bundle-summary .bundle-price{font-weight:600;font-size:24px;color:#ff6472;margin-top:10px}.bundle-options-wrapper .bundle-summary ul.bundle-items li{margin-bottom:20px}.bundle-options-wrapper .bundle-summary ul.bundle-items li:last-child{margin-bottom:0}.bundle-options-wrapper .bundle-summary ul.bundle-items li .selected-products{color:#5e5e5e}.category-container .grid-card,.search-container .grid-card{width:15rem}.downloadable-container .sample-list{padding:5px 0}.downloadable-container .sample-list h3{font-size:16px;margin-top:0}.downloadable-container .sample-list ul li{margin-bottom:5px}.downloadable-container .sample-list ul li:last-child{margin-bottom:0}.downloadable-container .link-list{padding:5px 0}.downloadable-container .link-list h3{font-size:16px;margin-top:0}.downloadable-container .link-list ul li{margin-bottom:15px}.downloadable-container .link-list ul li:last-child{margin-bottom:0}.downloadable-container .link-list ul li .checkbox input[type=checkbox]{width:15px!important;height:15px!important;margin-left:-24px}.downloadable-container .link-list ul li a{float:right;margin-top:3px}.category-container{min-height:670px;margin-left:15px;padding:40px 15px!important}.category-container .hero-image{display:inline-block}.category-container .hero-image img{width:100%;height:100%;max-height:500px;margin-bottom:30px}.vue-slider .vue-slider-rail{background-color:#ccc}.vue-slider .vue-slider-dot-handle{width:100%;height:100%;border-radius:50%;background-color:#fff;-webkit-box-shadow:.5px .5px 2px 1px rgba(0,0,0,.32);box-shadow:.5px .5px 2px 1px rgba(0,0,0,.32)}.vue-slider .vue-slider-dot-tooltip-inner,.vue-slider .vue-slider-dot-tooltip-text{border-color:#26a37c!important;background-color:#26a37c!important}.vue-slider .vue-slider-dot-tooltip-text{display:block;font-size:14px;min-width:20px;padding:2px 5px;text-align:center;border-radius:5px;white-space:nowrap;color:#fff}.vue-slider .vue-slider-dot-tooltip-text:before{content:"";position:absolute;bottom:-10px;left:50%;width:0;height:0;border:5px solid transparent;border:6px solid transparent\0;border-top-color:inherit;-webkit-transform:translate(-50%);transform:translate(-50%)}.vue-slider .vue-slider-process{background-color:#26a37c!important}.full-content-wrapper>.container-fluid{padding:0!important;margin-bottom:60px!important}.full-content-wrapper>.container-fluid>.row{padding:0 15px!important}.full-content-wrapper div>.container-fluid,.full-content-wrapper p>.container-fluid{padding:0!important;margin-bottom:60px!important}.full-content-wrapper div>.container-fluid>.row,.full-content-wrapper p>.container-fluid>.row{padding:0 15px!important}.slides-container{position:relative}.slides-container .VueCarousel-pagination{display:none}.slides-container .VueCarousel-pagination button:active,.slides-container .VueCarousel-pagination button:focus{outline:none;-webkit-box-shadow:none;box-shadow:none}.slides-container .VueCarousel-pagination .VueCarousel-dot{padding:5px!important}.slides-container .VueCarousel-dot--active{background-color:#26a37c!important}.slides-container .VueCarousel .VueCarousel-inner{padding-top:0}.slides-container .VueCarousel .VueCarousel-slide{position:relative}.slides-container .VueCarousel .VueCarousel-slide .show-content{top:0;left:0;width:100%;height:100%;display:table;text-align:center;position:absolute}.slides-container .VueCarousel .VueCarousel-slide .show-content p{display:table-cell;vertical-align:middle}.slides-container .VueCarousel .VueCarousel-slide:not(:first-of-type) img{display:none}.filter-attributes-item{margin-bottom:10px;border-bottom:1px solid #ccc}.filter-attributes-item.active .filter-attributes-content{display:block}.filter-attributes-item .filter-input{margin:10px 15px 13px -4px}.filter-attributes-item .filter-input input[type=text]{text-align:center;border:1px solid #26a37c;width:30%;background-color:#fff}.filter-attributes-item input[type=checkbox]+span{margin-left:10px!important}.filter-attributes-content{display:none;margin-left:7px}.layered-filter-wrapper{max-height:670px;overflow-x:hidden;margin-bottom:42px;padding:42px 10px 0}.layered-filter-wrapper .recently-viewed{margin-top:20px}.layered-filter-wrapper .recently-viewed h2{font-size:18px}.selective-div{width:150px;-webkit-appearance:none}.select-icon-margin{margin-top:10px;margin-left:96px}.down-icon-position{position:absolute}.select-icon-show-margin{margin-left:35px;margin-top:10px}.down-arrow-margin{margin-left:75px;margin-top:8px}.vc-header{z-index:10;margin:0!important;padding:0!important;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.16),0 1px 3px rgba(0,0,0,.23);box-shadow:0 1px 3px rgba(0,0,0,.16),0 1px 3px rgba(0,0,0,.23)}.new-products-recent{top:-44px;position:relative}.recently-viewed-products-wrapper{padding:2px}.recently-viewed-products-wrapper .price-from .bundle-regular-price{display:none}.recently-viewed-products-wrapper .price-from .bundle-special-price{font-size:15px!important;font-weight:600}.recently-viewed-products-wrapper .price-from .bundle-to{display:unset;margin:0 2px;font-size:15px!important;font-weight:500}.pagination{width:100%}.pagination .page-item{padding:0 10px}.pagination .page-item.active{font-weight:600;color:#26a37c!important;border-bottom:2px solid #26a37c}.pagination .page-item.next .angle-left-icon,.pagination .page-item.next .angle-right-icon,.pagination .page-item.previous .angle-left-icon,.pagination .page-item.previous .angle-right-icon{margin:0;font-size:24px;background:unset;text-align:center}.pagination .page-item.next .angle-right-icon:before{content:"\E908"}.pagination .page-item.previous .angle-left-icon:before{content:"\E907"}.pagination a{color:unset!important;text-decoration:none!important}.pagination a i{top:2px;font-size:18px;position:relative}.pagination .angle-left-icon,.pagination .angle-right-icon{speak:none;line-height:1;font-style:normal;font-weight:400;text-transform:none;font-variant:normal;-webkit-font-smoothing:antialiased;font-family:Webkul Rango!important;background:unset}.pagination .angle-right-icon:before{content:"\E908"}.pagination .angle-left-icon:before{content:"\E907"}.carousel-products+.recently-viewed{top:-40px;position:relative}.carousel-products .VueCarousel-slide{cursor:default}.vue-slider{max-width:97%}.profile-update-form{width:800px}.compare-products{width:100%;cursor:pointer;overflow-x:auto;padding-bottom:20px;word-break:break-word;margin-left:0!important;margin-right:10px!important}.compare-products .active{cursor:grabbing;cursor:-webkit-grabbing;-webkit-transform:scale(1);transform:scale(1)}.compare-products tr{width:100%}.compare-products td{padding:15px;min-width:250px;max-width:250px;vertical-align:top}.compare-products .image-wrapper{width:100%}.compare-products .stars i{font-size:16px}.compare-products .action{position:relative}.compare-products .action .btn-add-to-cart{width:125px!important;white-space:pre-wrap}.compare-products .action .close-btn{right:0;top:6px;position:absolute;display:inline-block}.compare-products .action .close-btn:hover{font-weight:600}.compare-products .action .compare-icon{display:none}.compare-products .material-icons.cross{top:5px;right:20px;cursor:pointer;position:absolute}.compare-products .wishlist-icon{top:5px;right:60px;position:absolute;display:inline-block}.compare-products::-webkit-scrollbar{display:none}.compare-products{-ms-overflow-style:none;scrollbar-width:none}.cp-spinner{width:48px;height:48px;position:absolute;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;left:calc(50% - 24px);margin-top:calc(40% - 24px)}.overlay-loader{top:50%;left:50%;z-index:11;position:fixed;margin-top:-24px;margin-left:-24px}@media only screen and (max-width:720px){.cp-spinner{left:50%;margin-left:-24px;top:50%;margin-top:-24px}}.cp-round:before{border-radius:50%;border:6px solid grey}.cp-round:after,.cp-round:before{content:" ";width:48px;height:48px;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;top:0;left:0}.cp-round:after{border-radius:50%;border-top:6px solid #26a37c;border-right:6px solid transparent;border-bottom:6px solid transparent;border-left:6px solid transparent;-webkit-animation:spin 1s ease-in-out infinite;animation:spin 1s ease-in-out infinite}.image-search-container{top:9px;right:45px;z-index:10;cursor:pointer;position:absolute;background:#fff;height:24px!important}.image-search-result{width:100%;padding:20px;border-radius:2px;margin-bottom:20px;display:inline-block;border:1px solid #0041ff;background-color:rgba(0,65,255,.1)}.image-search-result .searched-image{float:left}.image-search-result .searched-image img{width:150px;height:auto;-webkit-box-shadow:1px 1px 3px 0 rgba(0,0,0,.32);box-shadow:1px 1px 3px 0 rgba(0,0,0,.32)}.image-search-result .searched-terms{margin-left:20px;display:inline-block}.image-search-result .searched-terms .term-list a{padding:5px 8px;margin-top:10px;background:#fff;margin-right:10px}.filtered-tags{margin-bottom:20px}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}body{scroll-behavior:smooth}body .container-margin{margin:auto 20px}.root-category-menu{border-bottom:1px solid #d8e6ed}.angle-right-icon{width:22px;height:20px;float:right;margin-right:10px;background-image:url("../images/Icon-Arrow-Right.svg")}.card-product-image-container{height:300px;min-height:100px;max-height:300px}.card-product-image-container img{width:100%;height:100%}.card-product-image-container .background-image-group{width:100%;height:100%;background-position:50%;background-repeat:no-repeat}.hide-text{white-space:nowrap;width:100%;display:inline-block;text-overflow:ellipsis;overflow:hidden!important}.card-bottom-container{margin-top:12px}.card-actual-price{text-decoration:line-through}.card-discount{color:rgba(38,163,124,.83)}.no-border-shadow{border:none!important;box-shadow:none!important;-webkit-box-shadow:none!important}.card-bottom-container .rango-heart{float:right;margin-top:8px;cursor:pointer;font-size:20px}.disable-active:active,.disable-active:focus,header #search-form>:focus{outline:none;-webkit-box-shadow:none;box-shadow:none}.container-margin>.container-fluid{margin-bottom:60px}.v-mr-20{margin-right:2rem}.popular-product-categories .active{color:#4d7ea8;padding:0 10px 5px;display:inline-block;border-bottom:2px solid}.popular-product-categories .switch-buttons{top:-3px;position:relative}.align-vertical-super{vertical-align:super}.align-vertical-top{vertical-align:top}.card-sale-btn{top:5px}.star-rating>*{font-size:14px}.advertisement-four-container .offers-ct-panel>.row{padding:0 10px}.advertisement-four-container .offers-ct-panel a:first-child{padding-bottom:15px!important}.advertisement-four-container .offers-ct-panel .offers-ct-top{height:180px}.advertisement-four-container .offers-ct-panel .offers-ct-bottom{height:220px}.advertisement-four-container>.row:first-child{padding:0 10px!important}.advertisement-four-container .col-4:nth-child(2){padding-left:10px;padding-right:10px}.advertisement-four-container img{width:100%;height:100%;max-height:425px}.advertisement-four-container img:first-of-type,.advertisement-four-container img:last-child{padding:0}.advertisement-two-container img{width:100%}.advertisement-three-container img{height:100%}.advertisement-three-container .bottom-container img,.advertisement-three-container .top-container img{height:225px}.advertisement-three-container .bottom-container{padding-top:15px}.recently-viewed-items{padding-left:10px!important;padding:0!important}.product-policy-container .card{border:none;padding:20px 10px;background:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.product-policy-container .card .policy{display:table;padding:0 10px}.product-policy-container .card .policy .left{margin-right:10px;display:inline-block}.product-policy-container .card .policy .right{display:table-cell;vertical-align:middle}.product-policy-container .product-policy-wrapper:first-of-type{padding-left:0}.product-policy-container .product-policy-wrapper:last-of-type{padding-right:0}.category-with-custom-options img{width:100%;max-width:100%;height:100%;max-height:100%}.category-with-custom-options .row:first-child{margin-bottom:0}.category-with-custom-options .row:first-child .category-image{height:350px}.category-with-custom-options .row:first-child > div{padding:0;background-repeat:no-repeat}.category-with-custom-options .row:first-child > div:first-child,.category-with-custom-options .row:first-child > div:nth-child(3){max-height:345px}.category-with-custom-options .row:nth-child(2) .category-image{height:350px}.category-with-custom-options .row:nth-child(2)>div{padding:0;background-repeat:no-repeat}.category-with-custom-options .row:nth-child(2)>div:nth-child(2),.category-with-custom-options .row:nth-child(2)>div:nth-child(4){max-height:345px}.category-with-custom-options .categories-collection{width:100%;height:100%;display:table;min-height:310px;max-height:345px;padding-left:36px;background:#2b2b2b}.category-with-custom-options .categories-collection h2{color:#fff}.category-with-custom-options .categories-collection li{color:hsla(0,0%,100%,.83)}.category-with-custom-options .categories-collection .category-text-content{height:100%;display:table-cell;vertical-align:middle}.hot-categories-container .hot-category-wrapper{padding:0 10px 0 0}.hot-categories-container .hot-category-wrapper .card{height:100%;padding:20px;border:none}.hot-categories-container .hot-category-wrapper .velocity-divide-page .left{width:30px;height:30px;margin-left:10px}.hot-categories-container .hot-category-wrapper .velocity-divide-page .left img{width:100%;height:100%}.hot-categories-container .hot-category-wrapper .velocity-divide-page .right{padding-left:50px!important}.hot-categories-container .hot-category-wrapper:nth-last-child(2){padding:0}.hot-categories-container .hot-category-wrapper:last-child{padding:0 0 0 10px}.hot-categories-container ul,.popular-categories-container ul{line-height:2.5rem}.hot-categories-container li,.popular-categories-container li{font-size:16px}.popular-categories-container .popular-category-wrapper{padding:0 8px}.popular-categories-container .popular-category-wrapper .card{height:100%;border:none}.popular-categories-container .popular-category-wrapper .card .category-image{height:180px}.popular-categories-container .popular-category-wrapper .card .category-image img{width:100%;height:100%}.popular-categories-container .popular-category-wrapper .card-image{height:180px;background-size:100% 100%;background-image:url("../images/man.png")}.popular-categories-container .popular-category-wrapper .card-description{padding:10px 20px}.popular-categories-container .popular-category-wrapper:first-child{padding-left:0}.popular-categories-container .popular-category-wrapper:nth-last-child(2){padding-right:0}.popular-categories-container .popular-category-wrapper:last-child{padding-left:16px;padding-right:0}.reviews-container .review-wrapper:first-of-type{padding:0 8px 0 0}.reviews-container .review-wrapper{padding:0 8px}.reviews-container .review-wrapper:nth-last-of-type(2){padding:0 0 0 8px}.reviews-container .review-wrapper:last-of-type{padding:0 0 0 16px}.reviews-container .card{border:none;height:100%;padding:20px;padding-left:15px;padding-right:15px;-webkit-box-shadow:0 4px 17px 0 rgba(0,0,0,.11);box-shadow:0 4px 17px 0 rgba(0,0,0,.11)}.reviews-container .card .customer-info>div{padding:0;display:inline-block}.reviews-container .card .customer-info>div:first-child{width:60px;margin-right:10px}.reviews-container .card .customer-info>div:last-child{width:calc(100% - 75px)}.reviews-container .card .review-info{height:100%;padding:20px 15px;-webkit-box-shadow:0 4px 17px 0 rgba(0,0,0,.11);box-shadow:0 4px 17px 0 rgba(0,0,0,.11)}.reviews-container .card .review-info>div:not(:last-child){margin-bottom:10px}.reviews-container .card .review-info .star-ratings{margin-bottom:5px!important}.main-content-wrapper,.reviews-container .product-info{display:inline-block}.main-content-wrapper>.row.disabled{cursor:not-allowed}.main-content-wrapper .main-category{padding:8px 15px;border-top:1px solid #ccc;border-bottom:5px solid transparent}.main-content-wrapper .content-list{margin:0;width:100%;height:42px;text-align:left;list-style:none;position:relative;vertical-align:top;display:inline-block}.main-content-wrapper .content-list ul{width:100%;height:100%;white-space:nowrap;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;background-color:#4d7ea8;overflow-x:auto}.main-content-wrapper .content-list ul li a{display:block;cursor:pointer;font-size:16px;font-weight:600;padding:8px 15px;letter-spacing:0;position:relative;color:#fff;text-decoration:none}.main-content-wrapper .content-list ul li:hover{background-color:#42719a}.velocity-divide-page{position:relative}.velocity-divide-page .left{z-index:1;width:230px;position:absolute}.velocity-divide-page .right{width:100%;padding-left:230px!important}.container-right{width:100%;display:inline-block}.container-right>:first-child{width:100%}.home-base{margin-bottom:60px}.broken-image{width:320px;height:160px;background-image:url("../images/static/broken-clock.png")}.velocity-icon{width:150px;height:150px;background-image:url("../images/static/v-icon.png")}.error-page{padding-top:30vh}.custom-circle{width:56px;height:54px;padding:14px;font-size:20px;color:#21a179;border-radius:50%;text-align:center;background:#fff;display:inline-block;vertical-align:middle;border:2px solid #21a179;font:18px josefin sans,arial}body:after{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(71,55,78,.8);opacity:0;-webkit-transition:opacity .3s 0s,visibility 0s .3s;transition:opacity .3s 0s,visibility 0s .3s}.cd-quick-view{top:100px;width:700px;z-index:101;padding:40px;display:none;position:absolute;margin-bottom:50px;left:calc(50% - 350px);background-color:#fff;-webkit-box-shadow:0 0 30px rgba(0,0,0,.2);box-shadow:0 0 30px rgba(0,0,0,.2);-webkit-transform:translateZ(0);transform:translateZ(0);backface-visibility:hidden;will-change:left,top,width;-webkit-backface-visibility:hidden}.cd-quick-view .cd-slider li.selected img{width:100%;height:100%;display:inline-block!important}.cd-quick-view .cd-slider img{display:none}.cd-quick-view .close-btn{top:15px;right:20px;font-weight:600;position:absolute}.cd-quick-view .action-buttons{padding-top:10px;margin-left:118px}.cd-quick-view .action-buttons>span{font-size:24px;margin-left:24px}.cd-quick-view .product-actions{display:inline-block}.cd-quick-view .product-actions .compare-icon,.cd-quick-view .product-actions .wishlist-icon{height:38px;display:inline-table;cursor:pointer;margin-left:10px}.cd-quick-view .product-actions .compare-icon i,.cd-quick-view .product-actions .wishlist-icon i{display:table-cell;vertical-align:middle}.cd-quick-view .product-actions .wishlist-icon{float:right}.cd-quick-view .product-actions .add-to-cart-btn{float:left}.cd-quick-view .quick-view-name{font-size:24px;line-height:25px}.cd-quick-view .product-price{margin-top:10px}.cd-quick-view .product-rating{display:table;margin:10px 0}.cd-quick-view .product-rating a,.cd-quick-view .product-rating span{vertical-align:top;display:table-cell}.cd-quick-view .product-gallery{top:10px;position:sticky}.cd-quick-view .product-gallery .VueCarousel-pagination button{padding:0!important;margin:3px!important;border:1px solid #dcdcdc!important;background-color:#fff!important}.cd-quick-view .product-gallery .VueCarousel-pagination button.VueCarousel-dot--active{background-color:#dcdcdc!important}.cd-quick-view .product-gallery .VueCarousel-pagination button.VueCarousel-dot--active:focus{outline:none}.cd-quick-view .description-text{word-break:break-word;overflow:auto}.container{max-width:1300px!important}.slider-container{min-height:400px}.category-page-wrapper,.remove-padding-margin{width:100%!important;margin:0!important;padding:0!important}.demo{border:1px solid red}.quick-addtocart-btn{margin-top:306px;margin-left:-82px}.model-display-block{display:block}.footer{width:100%;background-color:#fff;display:inline-block}.footer .footer-content .newsletter-subscription{color:#fff;padding:10px 130px;background-color:#4d7ea8}.footer .footer-content .newsletter-subscription .newsletter-wrapper input.subscribe-field{width:300px;border:none;height:38px;font-size:18px;max-width:250px;padding:10px 20px;color:rgba(0,0,0,.83)}.footer .footer-content .newsletter-subscription .newsletter-wrapper button.subscribe-btn{left:-2px;height:38px;font-size:18px;max-width:110px;line-height:10px;position:relative}.footer .footer-content .newsletter-subscription .newsletter-wrapper .social-icons{height:100%;padding:20px 0;color:#fff}.footer .footer-content .newsletter-subscription .newsletter-wrapper .social-icons i{margin:0;cursor:pointer}.footer .footer-content .newsletter-subscription .newsletter-wrapper .social-icons .within-circle{background:#4d7ea8;margin-right:2px;border:1px solid hsla(0,0%,100%,.52)}.footer .footer-content .newsletter-subscription .newsletter-wrapper .social-icons .within-circle:hover{opacity:.5}.footer .footer-content .newsletter-subscription .newsletter-wrapper .social-icons img{background:#4d7ea8;border:1px solid hsla(0,0%,100%,.52);padding-left:15px;padding-right:15px}.footer .footer-content .newsletter-subscription .newsletter-wrapper .subscribe-newsletter{text-align:right;padding:25px 0 30px}.footer .footer-content>.row{padding:60px 130px;background:#30383f}.footer .footer-content>.row .logo{width:auto;max-height:40px}.footer .footer-content>.row .footer-ct-content>div{margin:0;padding:0;font-size:14px;line-height:2.5rem}.footer .footer-content>.row .footer-ct-content>div ul{margin-bottom:0}.footer .footer-content>.row .footer-ct-content>div ul li{margin-bottom:5px}.footer .footer-content>.row .footer-ct-content>div ul li a{color:hsla(0,0%,100%,.83)}.footer .footer-content>.row .footer-rt-content{padding-right:0}.footer .footer-content>.row .footer-rt-content .row>div{width:100%;display:block}.footer .footer-content>.row .footer-rt-content .row .bg-image,.footer .footer-content>.row .footer-rt-content .row .small-card-container .product-image,.small-card-container .footer .footer-content>.row .footer-rt-content .row .product-image{width:42px;height:30px;display:inline-block;background-position:0}.footer .footer-content>.row .footer-rt-content .row .bg-image:not(:last-child),.footer .footer-content>.row .footer-rt-content .row .small-card-container .product-image:not(:last-child),.small-card-container .footer .footer-content>.row .footer-rt-content .row .product-image:not(:last-child){margin-right:3px}.footer .footer-content>.row .footer-rt-content .row .cash{background-image:url("../images/static/cash.png")}.footer .footer-content>.row .footer-rt-content .row .cheque{width:57px!important;background-image:url("../images/static/cheque.png")}.footer .footer-content>.row .footer-rt-content .row .visa{background-image:url("../images/static/visa.png")}.footer .footer-content>.row .footer-rt-content .row .master-card{background-image:url("../images/static/master-card.png")}.footer .footer-content>.row .footer-rt-content .row .paypal{background-image:url("../images/static/paypal.png")}.footer .footer-content>.row .footer-rt-content .row .discover{background-image:url("../images/static/discover.png")}.footer .footer-content>.row .footer-rt-content .row:not(:last-child){padding-bottom:20px}.footer .footer-content>.row .footer-rt-content h3{font-size:14px;color:hsla(0,0%,100%,.52)}.footer .footer-content .footer-statics .software-description{padding-left:0}.footer .footer-content .footer-statics .software-description p{font-size:14px}.footer .top-brands{padding:30px 130px}.footer .top-brands .top-brands-body ul{width:85%;display:inline-block}.footer .top-brands .top-brands-body ul li{margin-left:0;font-size:16px;padding:15px 0 0;display:inline-block}.footer .footer-copy-right{width:100%;height:60px;font-size:16px;line-height:6rem;text-align:center;background:#30383f;color:hsla(0,0%,100%,.83)}.footer .footer-copy-right p{padding:0 20px}.footer .footer-copy-right a{color:unset}.footer .footer-copy-right a:hover{color:#4d7ea8}.product-detail{padding-top:20px;margin-bottom:20px;padding-left:0!important;padding-right:0!important}.product-detail .right>div{border-bottom:1px solid #ccc}.product-detail .right>div.attributes .attribute{margin-bottom:20px}.product-detail .right>div.attributes .attribute:last-child{margin-bottom:30px}.product-detail .right .category-breadcrumb{margin-left:0;padding:0 15px}.product-detail .right .reviews{vertical-align:top}.product-detail .right .reviews>div{display:inline-block}.product-detail .right .info{margin-left:0}.product-detail .right .info>h2,.product-detail .right .info div{padding-left:0}.product-detail .right .info>*{margin-bottom:10px}.product-detail .right .info .availability button{border:none;color:#fff;font-weight:600;cursor:default;padding:2px 11px;background:#f05153}.product-detail .right .info .availability button.active{background:#4d7ea8}.product-detail .right .options .box{width:32px;height:32px;display:inline-block;background-color:#ccc}.product-detail .right h3{margin-bottom:0}.product-detail .right .row.reviews .reviews-text{line-height:3rem}.product-detail .right .add-to-cart-btn{padding:0}.product-detail .right .add-to-cart-btn button{text-transform:uppercase;padding:9px 15px!important}.product-detail .right .add-to-cart-btn button span{top:0;font-size:16px}.product-detail .right .product-price{height:unset}.product-detail .right .product-price .price-from .bundle-regular-price{font-size:20px!important;font-weight:500;margin-right:10px;text-decoration:line-through}.product-detail .right .product-price .price-from .bundle-special-price{font-size:20px!important;font-weight:600}.product-detail .right .product-price .price-from .bundle-to{display:block;font-size:20px!important;font-weight:500;margin-top:1px;margin-bottom:1px}.product-detail .right .quantity{width:unset}.product-detail .right .form-group label{display:block}.product-detail .right .form-group .radio{margin-right:10px}.product-detail .right .form-group .radio input[type=radio]{margin-left:0;position:static}.product-detail .right .form-group .radio .radio-view{display:none}.product-detail .thumb-list{left:15px;z-index:99;padding:0;overflow:hidden;margin-top:10px;position:relative}.product-detail .thumb-list .arrow{left:0;height:100%;z-index:1001;opacity:.5;margin-top:5px;cursor:pointer;position:absolute;line-height:13em;background:#dcdcdc;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.product-detail .thumb-list .arrow.right{right:0;left:unset;line-height:13rem}.product-detail .thumb-list .thumb-frame{padding:1px;border:1px solid transparent}.product-detail .thumb-list .thumb-frame.active{border:1px solid #26a37c}.product-detail .thumb-list .small-card-container .thumb-frame>.product-image,.product-detail .thumb-list .thumb-frame>.bg-image,.small-card-container .product-detail .thumb-list .thumb-frame>.product-image{width:100%;height:110px;background-size:100% 100%;background-position-y:center}.product-detail .product-actions>div{display:inline-block}.product-detail .product-actions>div .add-to-cart-btn{float:left}.product-detail .product-actions>div .compare-icon,.product-detail .product-actions>div .wishlist-icon{height:46px;margin-left:0;padding-left:10px}.product-detail .product-actions>div .compare-icon i,.product-detail .product-actions>div .wishlist-icon i{display:table-cell;vertical-align:middle}.product-detail .product-actions>div .compare-icon{display:inline-table}.product-detail .product-actions>div .wishlist-icon{float:right}.product-detail #product-form,.product-detail .layouter{height:100%}.product-detail #product-form .form-container{height:100%;position:relative}.product-detail #product-form .form-container>.left{top:60px;padding:0;position:sticky}.product-detail #product-form .form-container>.left .product-image-group>div{margin:0;padding:0}.product-detail #product-form .form-container .right .swatch-container{margin-top:10px;display:block}.product-detail #product-form .form-container .right .swatch-container .swatch{display:inline-block;margin-right:5px;min-width:40px;height:40px}.product-detail #product-form .form-container .right .swatch-container .swatch span{min-width:38px;height:38px;float:left;border:1px solid #c7c7c7;border-radius:3px;line-height:36px;text-align:center;cursor:pointer;padding:0 10px}.product-detail #product-form .form-container .right .swatch-container .swatch img{width:38px;height:38px;border:1px solid #c7c7c7;border-radius:3px;cursor:pointer;background:#f2f2f2}.product-detail #product-form .form-container .right .swatch-container .swatch input:checked+img,.product-detail #product-form .form-container .right .swatch-container .swatch input:checked+span{border:1px solid #242424}.product-detail #product-form .form-container .right .swatch-container .swatch input{display:none}.product-detail #product-form .form-container .right .swatch-container .no-options{color:#fb3949}.product-detail .accordian.active .accordian-header{padding-bottom:0}.product-detail .accordian-content div,.product-detail .description{overflow:auto}.product-detail .full-description{font-size:14px}.product-detail .full-specifications tr td:first-child{width:100px}.product-detail select[disabled=disabled]{cursor:not-allowed;border-color:#dcdcdc;background-color:#dcdcdc}.store-meta-images{margin-top:20px}.store-meta-images img{width:100%;height:100%;max-height:300px}.related-products{margin-bottom:60px}.vc-small-screen{display:none!important}@media only screen and (max-width:1192px){.sticky-header,.vc-full-screen{display:block!important}.vc-small-screen{display:none!important}#main-category{display:block!important}.footer .footer-content .newsletter-subscription .newsletter-wrapper .social-icons{width:100%;padding:5px 0;text-align:center!important}.footer .footer-content .newsletter-subscription .newsletter-wrapper .subscribe-newsletter{width:100%;padding:10px 0;text-align:center}.footer .footer-content .footer-statics>div:not(:last-child){margin-bottom:30px}.slider-container{min-height:290px}}@media only screen and (max-width:992px){body.open-hamburger{color:#7f7f7f;opacity:.8;overflow:hidden}#webheader{position:fixed;background-color:#fff}#main-category,#webheader{display:none!important}#home-right-bar-container{position:relative;top:-48px}.sticky-header,.vc-full-screen{display:none!important}.vc-small-screen{display:block!important}.force-center{margin:0 auto!important}.main-content-wrapper{z-index:100;margin-bottom:25px;background-color:#fff}.main-content-wrapper .vc-header{top:0;margin:0;padding:0;width:100%;height:50px;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.main-content-wrapper .vc-header>div{display:none}.main-content-wrapper .vc-header>div.vc-small-screen{display:block}.main-content-wrapper .vc-header>div.vc-small-screen img{width:100%;height:100%;max-height:50px}.main-content-wrapper .vc-header>div.vc-small-screen .hamburger-wrapper{display:inline-block;height:50px}.main-content-wrapper .vc-header>div.vc-small-screen .hamburger-wrapper .hamburger{top:12px;font-size:24px;position:relative}.main-content-wrapper .vc-header>div.vc-small-screen .right-vc-header{position:relative;z-index:2;display:table;text-align:right;height:50px}.main-content-wrapper .vc-header>div.vc-small-screen .right-vc-header>a{display:table-cell;vertical-align:middle}.main-content-wrapper .vc-header>div.vc-small-screen .right-vc-header .badge-container,.main-content-wrapper .vc-header>div.vc-small-screen .right-vc-header .badge-wrapper{top:-32px;left:-12px;position:relative}.main-content-wrapper .vc-header>div.vc-small-screen .right-vc-header .badge-container .badge,.main-content-wrapper .vc-header>div.vc-small-screen .right-vc-header .badge-wrapper .badge{z-index:10;border-radius:50%;position:absolute;background:#26a37c}.main-content-wrapper .vc-header>div.vc-small-screen .right-vc-header .badge-container{left:4px;margin-right:10px}#top{display:none}.product-card-new{max-width:19rem}.product-card-new.grid-card .card-body .product-name{width:13rem}.product-card-new.grid-card .card-body .product-rating{display:none}.product-card-new.grid-card .card-body .add-to-cart-btn{padding:0;display:table}.carousel-products.with-recent-viewed .product-card-new.grid-card .card-body .add-to-cart-btn .btn-add-to-cart .btn-add-to-cart,.product-card-new.grid-card .card-body .add-to-cart-btn .btn-add-to-cart .carousel-products.with-recent-viewed .btn-add-to-cart,.product-card-new.grid-card .card-body .add-to-cart-btn .btn-add-to-cart .small-padding.btn-add-to-cart{padding:3px 14px!important}.product-card-new.grid-card .card-body .add-to-cart-btn~a{position:relative}.product-card-new.grid-card .card-body .add-to-cart-btn~a.compare-icon{right:0}.product-card-new.grid-card .card-body .add-to-cart-btn~a.wishlist-icon{padding:0;left:10px;max-width:25px}.product-card-new.grid-card #quick-view-btn-container{display:none}.advertisement-four-container .offers-ct-panel{padding:8px 0}.advertisement-four-container .offers-ct-panel a:first-child{padding-bottom:10px!important}.advertisement-three-container .bottom-container img,.advertisement-three-container .top-container img{padding:0;height:unset}.advertisement-three-container .second-panel{padding-top:10px}.advertisement-two-container a:nth-of-type(2){padding:15px 0 0}.category-with-custom-options{display:none}.category-with-custom-options.vc-small-screen{display:block}.category-with-custom-options.vc-small-screen .smart-category-container .col-12{padding:0}.category-with-custom-options.vc-small-screen .smart-category-container:not(:first-child){padding-top:20px}.footer .footer-content .newsletter-subscription{padding:10px 20px}.footer .footer-content .newsletter-subscription .newsletter-wrapper{margin:0;padding:0}.footer .footer-content .newsletter-subscription .newsletter-wrapper input.subscribe-field{width:200px}.footer .footer-content .newsletter-subscription .newsletter-wrapper .subscribe-newsletter{text-align:left}.footer .footer-content .newsletter-subscription .newsletter-wrapper .subscribe-newsletter .subscriber-form-div{text-align:center}.footer .footer-content .footer-statics{padding:30px 50px}.footer .footer-content .footer-copy-right{font-size:14px}.popular-categories-container .popular-category-wrapper{padding:0}.popular-categories-container .popular-category-wrapper .card .category-image{height:100%}.popular-categories-container .popular-category-wrapper:last-child{padding-left:0}.slides-container .VueCarousel .VueCarousel-pagination button{width:5px!important;height:5px!important}.slides-container .VueCarousel .VueCarousel-pagination .VueCarousel-dot{padding:2px!important}.account-content .sidebar{display:none}.account-content .account-layout{padding:0}.account-content .account-layout.right{padding-right:20px!important;padding-left:20px!important}.account-content .account-layout .account-items-list.wishlist-container .product-card-new{width:calc(50% - 5px)}.account-content .account-layout .account-table-content #datagrid-filters>.search-filter{width:100%;max-width:100%;margin:0 0 10px}.account-content .account-layout .account-table-content #datagrid-filters>.dropdown-filters{width:100%}.account-content .account-layout .account-table-content #datagrid-filters>.dropdown-filters .control-group{width:100%;max-width:100%}.account-content .account-layout .account-table-content #datagrid-filters>.dropdown-filters .dropdown-container li{width:100%}.account-content .account-layout .account-table-content #datagrid-filters>.dropdown-filters:nth-of-type(2){margin-top:30px;margin-bottom:10px}.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters.per-page{margin-top:0;margin-bottom:10px;position:relative}.account-content .account-layout .sale-container .tabs-content .totals .sale-summary{width:100%;font-size:17px}.account-content .account-layout .sale-container .tabs-content .totals .sale-summary tbody tr td{width:50%!important}.account-content .account-layout .sale-container .tabs-content .totals .sale-summary tbody tr td:last-child{text-align:right}.account-content .account-layout .sale-container .order-box-container .box{width:100%;margin-bottom:20px}.account-content .account-layout .sale-container .order-box-container .box .box-title{padding-bottom:0}.account-content .account-layout .table table thead{display:none}.account-content .account-layout .table table tr{margin-bottom:20px;border:1px solid #ccc}.account-content .account-layout .table table tr td{width:100%;border-top:none;border-right:1px solid #ccc!important}.account-content .account-layout .table table tr td:before{content:attr(data-value);font-size:15px;font-weight:600;display:inline-block}.account-content .account-layout .table table tr td .action{display:inline-block}.account-content .account-layout .table table tr td:first-child{font-weight:700}.mini-cart-container{display:none}header .vc-small-screen .searchbar{padding-left:20px!important;padding-right:20px!important}header .vc-small-screen .searchbar .compare-btn,header .vc-small-screen .searchbar .wishlist-btn{display:none}header .vc-small-screen #search-form{background:transparent;width:100%}header .vc-small-screen #search-form .selectdiv{display:none}header .vc-small-screen #search-form .selectdiv+div input{width:calc(100% - 40px);border:1px solid #26a37c}.carousel-products.vc-full-screen{display:none}.carousel-products.vc-small-screen{display:block!important}.carousel-products+.recently-viewed{top:0;position:static}.reviews-container .review-wrapper,.reviews-container .review-wrapper:first-of-type,.reviews-container .review-wrapper:last-of-type,.reviews-container .review-wrapper:nth-last-of-type(2){padding:0}.reviews-container .review-wrapper:not(:last-child){margin-bottom:10px}.product-policy-wrapper{padding:0!important}.product-policy-wrapper:not(:last-child){margin-bottom:10px}.product-detail #product-form .form-container .left{top:0;position:relative;margin-bottom:20px}.product-detail #product-form .form-container .left .vc-small-product-image{width:100%}.product-detail .customer-rating>.row>div{margin-bottom:30px}.product-detail .arrow.left,.product-detail .arrow.right{display:none}.product-detail .thumb-list .small-card-container .thumb-frame>.product-image,.product-detail .thumb-list .thumb-frame>.bg-image,.small-card-container .product-detail .thumb-list .thumb-frame>.product-image{background-size:contain}.review-page-container>div{padding:0}.review-page-container>div:not(:last-child){position:relative;margin-bottom:60px}.customer-rating>.row>div:not(:last-child){margin-bottom:20px}.auth-content.form-container>.container{margin:0;width:100%}.auth-content.form-container>.container>div:first-child{padding:0}.auth-content.form-container>.container>div:first-child .body{padding:20px}.category-page-wrapper .layered-filter-wrapper{display:none}.category-page-wrapper .category-container{margin:0;margin-top:20px;padding-left:0!important;padding-right:0!important}.category-page-wrapper .category-container>div{padding:0 10px}.category-page-wrapper .category-container>div:first-child{padding:0 10px!important}.category-page-wrapper .category-container .filters-container{left:0;top:30px;padding:0;width:100%;z-index:9;position:fixed;padding-bottom:10px;background-color:#fff;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.21);box-shadow:0 2px 4px 0 rgba(0,0,0,.21)}.category-page-wrapper .category-container .filters-container .toolbar-wrapper>div.col-4{margin:0;padding:0;display:table;text-align:center}.category-page-wrapper .category-container .filters-container .toolbar-wrapper>div.col-4 *{display:table-cell;vertical-align:middle}.category-page-wrapper .category-container .filters-container .toolbar-wrapper>div.col-4 a{text-align:center;display:inline-block}.category-page-wrapper .category-container .filters-container .toolbar-wrapper>div.col-4 span{left:5px;position:relative}.nav-container{top:0;left:0;width:75%;opacity:1;z-index:9999;height:100vh;position:fixed;font-size:16px;overflow-y:scroll;-webkit-box-shadow:0 2px 8px 0;box-shadow:0 2px 8px 0;background-color:#fff}.nav-container .wrapper{position:relative}.nav-container .wrapper .category-title{width:100%;display:none;display:table;padding-left:10px;margin:13px 0}.nav-container .wrapper .category-title>i{font-size:26px;display:table-cell;vertical-align:middle}.nav-container .wrapper .category-title span{font-size:20px;display:table-cell;vertical-align:top}.nav-container .wrapper .category-title span i{float:left!important;margin:2px 2px 0 0!important}.nav-container .wrapper .greeting{top:0;width:100%;display:table;position:sticky;color:#111;background-color:#fff;border-bottom:1px solid #ccc}.nav-container .wrapper .greeting>i{font-size:26px;display:table-cell;vertical-align:middle}.nav-container .wrapper .greeting span{font-size:20px;display:table-cell;vertical-align:top}.nav-container .wrapper ul{font-weight:600;color:#111;border-top:1px solid #ccc}.nav-container .wrapper ul li{font-size:16px;padding:10px 0 10px 20px}.nav-container .wrapper ul li:hover{background-color:#ececec}.nav-container .wrapper ul li .category-logo,.nav-container .wrapper ul li .language-logo-wrapper{width:18px;height:18px;margin-right:5px;display:inline-block}.nav-container .wrapper ul li .rango-arrow-right{float:right;font-size:20px;padding-top:5px;padding-right:15px}.nav-container .wrapper ul li .nested-category{border-top:unset}.nav-container .wrapper ul li .nested-category li:last-child{padding-bottom:0}.nav-container .wrapper ul:first-of-type{border-top:unset}.nav-container .wrapper .category-wrapper li,.nav-container .wrapper .vc-customer-options li{font-size:14px}.nav-container .wrapper .category-wrapper li i.icon,.nav-container .wrapper .vc-customer-options li i.icon{speak:none;line-height:1;font-style:normal;font-weight:400;text-transform:none;font-variant:normal;-webkit-font-smoothing:antialiased;font-family:Webkul Rango!important;font-size:18px;padding-right:5px;display:contents}.nav-container .wrapper .category-wrapper li i.icon.profile:before,.nav-container .wrapper .vc-customer-options li i.icon.profile:before{content:"\E995"}.nav-container .wrapper .category-wrapper li i.icon.address:before,.nav-container .wrapper .vc-customer-options li i.icon.address:before{content:"\E949"}.nav-container .wrapper .category-wrapper li i.icon.reviews:before,.nav-container .wrapper .vc-customer-options li i.icon.reviews:before{content:"\E97D"}.nav-container .wrapper .category-wrapper li i.icon.wishlist:before,.nav-container .wrapper .vc-customer-options li i.icon.wishlist:before{content:"\E93E"}.nav-container .wrapper .category-wrapper li i.icon.compare:before,.nav-container .wrapper .vc-customer-options li i.icon.compare:before{content:"\E93B"}.nav-container .wrapper .category-wrapper li i.icon.orders:before,.nav-container .wrapper .vc-customer-options li i.icon.orders:before{content:"\E931"}.nav-container .wrapper .category-wrapper li i.icon.downloadables:before,.nav-container .wrapper .vc-customer-options li i.icon.downloadables:before{content:"\E926"}.nav-container .drawer-section{padding:15px}.nav-container .header.drawer-section{width:100%;display:table}.nav-container .header.drawer-section>*{display:table-cell;vertical-align:middle}.nav-container .header.drawer-section i{width:25px;padding-right:10px}.nav-container .layered-filter-wrapper{width:100%;display:block;padding-top:0;margin-bottom:0}.category-container .grid-card,.search-container .grid-card{width:45%}.category-container .grid-card:nth-child(odd),.search-container .grid-card:nth-child(odd){float:left}.category-container .grid-card:nth-child(2n),.search-container .grid-card:nth-child(2n){float:right}.cart-details.offset-1,.cart-details .order-summary-container.offset-1{margin-left:0;padding-left:0;padding-right:0}.cart-details .cart-details-header,.cart-details h1{padding:0}.cart-details h1{margin-bottom:20px}.cart-details .cart-header{display:none}.cart-details .cart-item-list>div{margin:0;padding:0}.cart-details .product-price .special-price,.cart-details .product-price span:first-child{font-size:18px}.cart-details .actions{margin-top:7px!important}.cart-details .continue-shopping,.cart-details .empty-cart-message{padding:0}.checkout-process{margin-left:0!important;padding-left:0!important;padding-right:0!important}.checkout-process>div,.checkout-process h1{padding:0}.checkout-process .accordian-header h3{margin-bottom:0!important}.checkout-process .billing-address{margin-bottom:20px}.address-holder>div{padding-right:0;padding-bottom:15px}.wishlist-container{width:100%!important;margin:0!important;padding:0!important}.wishlist-container .product-card-new{margin-left:0}.compare-products{padding:0!important}.compare-products .col,.compare-products .col-2{max-width:unset}.compare-icon,.wishlist-icon{margin-left:0}.image-search-result .searched-terms{margin-left:0;margin-top:20px}.image-search-result .searched-terms .term-list a{line-height:40px}#datagrid-filters.datagrid-filters{padding-top:20px}#sort-by.sorter select{top:2px;left:25px;padding:0 10px;position:absolute;display:inline-block}.slider-container{min-height:220px}}@media only screen and (max-width:768px){.sticky-header{display:none!important}#home-right-bar-container{position:unset;top:unset}.modal-container{left:10%;max-width:80%;margin-left:0}.footer .footer-list-container{padding-left:0!important}.footer .currency{display:block!important}.table{width:90%;margin-bottom:1rem;margin-top:68px;color:#212529;overflow-x:auto}.per-page{position:absolute;margin-top:66px;margin-right:-1px;margin-left:17px;width:151px}.filter-left{position:relative;margin-right:-6px!important}.dropdown-filters{margin-left:15px}.quantity button.btn-sm.btn-primary.apply-filter,button.btn.btn-sm.btn-primary.apply-filter{margin-top:10px;margin-left:-158px}.quick-view-btn-container span{left:24%;top:-24px;font-size:13px}.quick-view-in-list{display:none}.product-card-new{max-width:18rem}.slider-container{min-height:220px}}@media only screen and (max-width:420px){.sticky-header{display:none!important}#home-right-bar-container{position:unset;top:unset}.slider-container{min-height:100px}.advertisement-four-container{min-height:992px}.advertisement-four-container .advertisement-container-block,.advertisement-four-container .offers-ct-panel{min-height:425px}}@media only screen and (max-width:320px){.sticky-header{display:none!important}#home-right-bar-container{position:unset;top:unset}.quick-view-in-list{display:none}.slider-container{min-height:100px}.advertisement-four-container{min-height:992px}.advertisement-four-container .advertisement-container-block,.advertisement-four-container .offers-ct-panel{min-height:425px}}body.rtl{text-align:right}.account-content .account-layout .bottom-toolbar .pagination body.rtl .page-item,.product-detail body.rtl .right,body.rtl .account-content .account-layout .bottom-toolbar .pagination .page-item,body.rtl .fs16,body.rtl .product-detail .right{font-size:14px!important}body.rtl .order-summary-container{margin-left:0;margin-right:130px}body.rtl .velocity-divide-page .right{padding-left:0!important;padding-right:230px!important}body.rtl header #search-form #header-search-icon{float:right;border-radius:2px 0 0 2px}body.rtl header #search-form .btn-group select,body.rtl header #search-form .quantity select{border-left:0;border-right:1px solid #26a37c}body.rtl header #search-form .btn-group .selectdiv select,body.rtl header #search-form .quantity .selectdiv select{float:unset}body.rtl header #search-form .btn-group .selectdiv select~.select-icon-container,body.rtl header #search-form .quantity .selectdiv select~.select-icon-container{top:0;right:100px;position:absolute}body.rtl header #search-form .btn-group .selectdiv .select-icon,body.rtl header #search-form .quantity .selectdiv .select-icon{top:12px;left:8px}body.rtl header.sticky-header img{float:right}body.rtl header .mini-cart-container #mini-cart .badge{top:-8px;left:73%}body.rtl header .left-wrapper{float:left}body.rtl header .left-wrapper .compare-btn .badge-container .badge,body.rtl header .left-wrapper .wishlist-btn .badge-container .badge{top:-28px;left:-2px}body.rtl .main-content-wrapper .main-category{text-align:right}body.rtl .main-content-wrapper .main-category i{float:right;margin-left:10px}body.rtl .main-content-wrapper .vc-header>div.vc-small-screen .right-vc-header .badge-container{left:-4px}body.rtl .main-content-wrapper .vc-header .mini-cart-container #mini-cart .badge{top:-6px;left:90%}body.rtl .main-content-wrapper .vc-header .mini-cart-container #mini-cart .cart-text{left:24px;vertical-align:top}body.rtl .form-container .container .heading h2{float:right}body.rtl .form-container .container .heading a{float:left}body.rtl .sticker{left:unset;right:8px}body.rtl .subscriber-form-div{text-align:left}body.rtl .footer .footer-content .newsletter-subscription .newsletter-wrapper input.subscribe-field{left:-4px;position:relative}body.rtl #top #account .welcome-content{float:left}body.rtl #top #account .welcome-content i{text-align:left}body.rtl #top #account+.account-modal{width:100%!important;right:unset}body.rtl #top #account+.account-modal .modal-content{float:left}body.rtl #top .locale-icon~.select-icon-container{right:20px}body.rtl #cart-modal-content{left:0}body.rtl #cart-modal-content .small-card-container .rango-close{left:unset;right:-10px}body.rtl #cart-modal-content .small-card-container .card-total-price{float:left}body.rtl .category-list-container .sub-categories{left:-100%}body.rtl .category-list-container li a{padding:7px 15px 5px}body.rtl .category-list-container li ul.nested li a{padding-right:25px}body.rtl .filters-container .view-mode>div{padding-right:6px}body.rtl .filters-container .toolbar-wrapper>div label{margin-right:0;margin-left:10px}body.rtl .filter-attributes-content{margin-left:7px;margin-right:0}body.rtl .filter-attributes-item input[type=checkbox]+span{margin-right:10px}body.rtl .filter-attributes-item .filter-input{margin-right:0}body.rtl .product-card-new .card-body .cart-wish-wrap{margin-right:0!important}body.rtl .product-card-new .card-body .cart-wish-wrap .add-to-cart-btn{padding-left:35px!important}body.rtl .product-card-new .card-body .wishlist-icon{left:0;right:unset}body.rtl .product-card-new .card-body .product-name{width:unset}body.rtl .account-content .account-layout.right{width:calc(100% - 20px);padding-right:250px!important}body.rtl .account-content .account-layout .account-table-content .address-holder>div{padding-right:0;padding-left:15px}body.rtl .account-content .sidebar .customer-sidebar{border-left:1px solid #e5e5e5}body.rtl .account-content .sidebar .customer-sidebar .navigation li i.icon{padding-right:0;padding-left:5px}body.rtl .product-detail .right .info{margin-right:0}body.rtl .product-detail .right .info>h2,body.rtl .product-detail .right .info div{padding-right:0}body.rtl .product-detail .right .info .buynow{float:left;margin-right:10px}body.rtl .product-detail .thumb-list{left:0;margin-right:0}body.rtl .product-detail .wishlist-icon{padding-right:10px}body.rtl .zoomWindow{right:100%!important}body.rtl .modal-footer>:not(:last-child){margin-left:.25rem}body.rtl .compare-products .wishlist-icon{left:52px;right:unset}body.rtl .compare-products .material-icons.cross{left:20px;right:unset}body.rtl #alert-container{right:unset;left:15px}body.rtl .mini-cart-content~.down-arrow-container .rango-arrow-down{left:-15px}body.rtl .alert-dismissible .close{left:-8px}body.rtl .booking-information .book-slots .control-group-container .form-group:not(.quantity).date:after{left:40px;right:unset}body.rtl .full-content-wrapper>.container-fluid>.row.pl-26{padding-right:26%!important}body.rtl .image-search-container{left:45px;right:unset}body.rtl .product-policy-container .card .policy .left{margin-left:10px}body.rtl .account-content .account-layout .account-table-content #datagrid-filters .filter-left .icon-wrapper .search-btn{float:left;right:unset;left:5px}body.rtl .account-content .account-layout .account-table-content #datagrid-filters .per-page{left:0;right:unset}body.rtl .advertisement-three-container .second-panel{padding-right:30px}body.rtl .advertisement-two-container .row{padding:0!important}body.rtl .advertisement-two-container .row .pr0{padding-right:15px!important}body.rtl .downloadable-container .link-list ul li a{float:left;margin-top:3px}body.rtl .text-right{text-align:left!important}body.rtl .text-left{text-align:right!important}body.rtl .pr0{padding-left:0!important;padding-right:15px!important}body.rtl .pl0{padding-right:0!important}body.rtl .pl10{padding-right:10px!important}body.rtl .rango-arrow-right:before{content:"\E907"}body.rtl .styled-select+.select-icon-container .select-icon{left:6px;right:unset}body.rtl .ml15{margin-right:15px!important}body.rtl .pl30{padding-right:30px}body.rtl .ml-5{margin-right:3rem!important}.product-detail .right .options .buttons body.rtl :not(:last-child),.product-detail .right .options body.rtl .quantity>label,body.rtl .mr15,body.rtl .product-detail .right .options .buttons :not(:last-child),body.rtl .product-detail .right .options .quantity>label{margin-left:15px!important}body.rtl .ml5{margin-right:5px}@media only screen and (max-width:992px){body.rtl .order-summary-container{margin-right:0}body.rtl .nav-container ul li{padding:10px 20px 10px 0}body.rtl .nav-container ul li .rango-arrow-right{float:left;padding-left:40px}body.rtl .nav-container .wrapper .vc-customer-options li i.icon{float:right;padding-left:5px}body.rtl .account-content .account-layout.right,body.rtl .full-content-wrapper>.container-fluid>.row.pl-26{padding-right:20px!important}body.rtl .velocity-divide-page .left{right:35px;width:150px;top:4px}}@media only screen and (max-width:425px){.account-content .account-layout .bottom-toolbar .pagination body.rtl .page-item,.product-detail body.rtl .right,body.rtl .account-content .account-layout .bottom-toolbar .pagination .page-item,body.rtl .fs16,body.rtl .product-detail .right{font-size:12px!important}}@media only screen and (max-width:375px){.account-content .account-layout .bottom-toolbar .pagination body.rtl .page-item,.product-detail body.rtl .right,body.rtl .account-content .account-layout .bottom-toolbar .pagination .page-item,body.rtl .fs16,body.rtl .product-detail .right{font-size:10px!important}body.rtl .velocity-divide-page .right{padding:0 20px!important}}@media only screen and (max-width:320px){.account-content .account-layout .bottom-toolbar .pagination body.rtl .page-item,.product-detail body.rtl .right,body.rtl .account-content .account-layout .bottom-toolbar .pagination .page-item,body.rtl .fs16,body.rtl .product-detail .right{font-size:8px!important}}body.rtl .payment-methods .pl40{padding-right:40px!important;padding-left:0!important}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/materialicons/v48/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format("woff2")}@font-face{font-family:Material Icons Outlined;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/materialiconsoutlined/v14/gok-H7zzDkdnRel8-DQ6KAXJ69wP1tGnf4ZGhUce.woff2) format("woff2")}@font-face{font-family:Material Icons Round;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/materialiconsround/v14/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmP.woff2) format("woff2")}@font-face{font-family:Material Icons Sharp;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/materialiconssharp/v15/oPWQ_lt5nv4pWNJpghLP75WiFR4kLh3kvmvR.woff2) format("woff2")}@font-face{font-family:Material Icons Two Tone;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/materialiconstwotone/v13/hESh6WRmNCxEqUmNyh3JDeGxjVVyMg4tHGctNCu0.woff2) format("woff2")}.material-icons{font-family:Material Icons;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.material-icons,.material-icons-outlined{max-width:30px;overflow:hidden;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr}.material-icons-outlined{font-family:Material Icons Outlined;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.material-icons-round{font-family:Material Icons Round;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.material-icons-round,.material-icons-sharp{font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr}.material-icons-sharp{font-family:Material Icons Sharp;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.material-icons-two-tone{font-family:Material Icons Two Tone;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}*{margin:0;padding:0;font-family:Source Sans Pro,sans-serif}*,:after,:before{-webkit-box-sizing:inherit;box-sizing:inherit}::-webkit-scrollbar{width:3px;height:5px}::-webkit-scrollbar-track{background:#d8d8d8}::-webkit-scrollbar-thumb{background:#666}::-webkit-input-placeholder{font-family:Source Sans Pro,sans-serif}input[type=checkbox]{width:24px;height:15px;margin-right:10px}.form-control:focus{-webkit-box-shadow:0 0 8px 1px rgba(105,221,157,.25);box-shadow:0 0 8px 1px rgba(105,221,157,.25)}button,input,optgroup,select,textarea{font-family:Source Sans Pro,sans-serif;color:rgba(0,0,0,.83)}textarea{resize:none}html{-webkit-box-sizing:border-box;box-sizing:border-box}body{padding:0;margin:0;font-weight:400;color:rgba(0,0,0,.83);font-size:12px;line-height:20px;width:100%;background:#fff;font-family:Source Sans Pro,sans-serif}.btn:hover,.quantity button:hover,.quantity input:hover{text-decoration:none}.btn:active:hover,.btn:focus,.quantity button:active:hover,.quantity button:focus,.quantity input:active:hover,.quantity input:focus{outline:none;outline-offset:0}.btn-link{color:rgba(0,0,0,.83);padding:6px 5px}.btn-link:focus,.btn-link:hover{color:rgba(0,0,0,.83);text-decoration:none}#top{-webkit-box-shadow:0 0 0 0 rgba(0,0,0,.24);box-shadow:0 0 0 0 rgba(0,0,0,.24);margin:0;min-height:32px;color:rgba(0,0,0,.83);border-bottom:1px solid #ccc}#top .btn,#top .quantity button,#top .quantity input,.quantity #top button,.quantity #top input{font-family:Source Sans Pro,sans-serif;font-size:14px;letter-spacing:0;text-align:center;border-radius:0;text-decoration:none}#top .btn:hover,#top .quantity button:hover,#top .quantity input:hover,.quantity #top button:hover,.quantity #top input:hover{text-decoration:none}#top .btn:active:hover,#top .btn:focus,#top .quantity button:active:hover,#top .quantity button:focus,#top .quantity input:active:hover,#top .quantity input:focus,.quantity #top button:active:hover,.quantity #top button:focus,.quantity #top input:active:hover,.quantity #top input:focus{outline:none;outline-offset:0}#top .btn-normal{background:#21a179;border-color:#269c77;color:#fff;font-weight:600}#top .btn-normal:active:focus,#top .btn-normal:active:hover,#top .btn-normal:hover{background:#fff;border-color:#21a179;color:#21a179}#top .btn-link{color:rgba(0,0,0,.83)}#top .dropdown-menu-large{min-width:250px;left:-100px}#top .customer-name{font-size:16px;font-weight:600;padding:0 10px;color:rgba(0,0,0,.83)}#top #account{font-size:14px}#top #account .select-icon{top:0;left:0;padding-left:5px}#top #account .welcome-content{display:table;min-width:150px;cursor:pointer;float:right;text-align:right;padding-top:5px}#top #account .welcome-content *{display:table-cell;vertical-align:middle}#top #account+.account-modal{top:40px;right:10px;z-index:101;height:-webkit-max-content;height:-moz-max-content;height:max-content;width:290px!important;position:absolute!important}#top #account+.account-modal .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button,#top #account+.account-modal .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn,#top #account+.account-modal .account-content .account-layout .bottom-toolbar .pagination .page-item,#top #account+.account-modal .cart-details .continue-shopping-btn,#top #account+.account-modal .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button,#top #account+.account-modal .theme-btn,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container #top #account+.account-modal button.btn,.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity #top #account+.account-modal button,.account-content .account-layout .bottom-toolbar .pagination #top #account+.account-modal .page-item,.cart-details #top #account+.account-modal .continue-shopping-btn,.quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container #top #account+.account-modal button{padding:.5rem .9rem}#top #account+.account-modal .modal-footer{-webkit-box-pack:unset;-ms-flex-pack:unset;justify-content:unset}#top #account+.account-modal .modal-content{top:0;padding:0}#top #account+.account-modal .modal-content ul li:hover{background-color:#ececec}#top #account+.account-modal .modal-content ul li a{padding:10px 20px}#top #account+.account-modal .modal-content ul li:last-child{margin-bottom:5px}#top>div:last-child{height:32px}#top>div .default{padding:5px;font-size:14px}#top .locale-icon{width:20px;display:inline-block}#top .locale-icon img{width:100%}#top .locale-switcher{padding-left:5px;position:relative;padding-right:15px}#top .dropdown{margin-right:15px}#top .dropdown .select-icon-container .select-icon{right:0}.dropdown-menu{border-top:3px solid #269c77;border-radius:0;background:#fff;-webkit-box-shadow:11px 10px 17px 0 rgba(0,0,0,.21);box-shadow:11px 10px 17px 0 rgba(0,0,0,.21)}.dropdown-menu li a .dropdown-menu li a:focus,.dropdown-menu li a:focus,.dropdown-menu li a:hover{background:#21a179;color:#fff}.no-padding,.product-detail .right h3{padding:0!important}.btn-normal{background:#21a179;border-color:#269c77;color:#fff;font-weight:600;border-radius:0}.btn-normal:active:focus,.btn-normal:active:hover,.btn-normal:hover{background:#fff;border-color:#21a179;color:#21a179}.btn-secondary{background:#fff;border-color:#fff;color:#21a179}.btn-secondary:active:focus,.btn-secondary:active:hover,.btn-secondary:focus,.btn-secondary:hover{background:#21a179;border-color:#21a179}.btn-danger{color:#fff}.btn-danger,.btn-danger:active:focus,.btn-danger:active:hover,.btn-danger:focus,.btn-danger:hover{background:#f05153;border-color:#f05153}header .logo{height:50px;padding-left:10px}header #search-form{height:40px;margin:5px 0;background:#fff}header #search-form *{height:100%}header #search-form .btn-group,header #search-form .quantity{max-width:550px}header #search-form .btn-group .selectdiv,header #search-form .quantity .selectdiv{width:210px}header #search-form .btn-group .selectdiv .select-icon,header #search-form .quantity .selectdiv .select-icon{top:-30px;right:8px;z-index:10;font-size:18px;background-color:#fff;height:20px}header #search-form .btn-group select,header #search-form .quantity select{width:100%;height:100%;cursor:pointer;border-radius:2px 0 0 2px;border:1px solid #26a37c;border-right:0;font-family:Source Sans Pro,sans-serif;-webkit-appearance:none;-moz-appearance:none;appearance:none}header #search-form .btn-group select::-ms-expand,header #search-form .quantity select::-ms-expand{display:none}header #search-form input{border-radius:0;height:100%;font-size:14px;padding:0 10px;line-height:20px;letter-spacing:0;border:1px solid #26a37c;border-left:1px solid #ccc}.quantity header #search-form button:hover,.quantity header #search-form input:hover,header #search-form .btn:hover,header #search-form .quantity button:hover,header #search-form .quantity input:hover{text-decoration:none}.quantity header #search-form button:active:hover,.quantity header #search-form button:focus,.quantity header #search-form input:active:hover,.quantity header #search-form input:focus,header #search-form .btn:active:hover,header #search-form .btn:focus,header #search-form .quantity button:active:hover,header #search-form .quantity button:focus,header #search-form .quantity input:active:hover,header #search-form .quantity input:focus{outline:none;outline-offset:0}header #search-form #header-search-icon{min-width:40px;border-radius:0 2px 2px 0;background-color:#26a37c}header #search-form #header-search-icon i{color:#fff}header .mini-cart-container{height:50px;padding:5px 17px;display:inline-block}header .mini-cart-container #mini-cart .mini-cart-content{font-size:16px;font-weight:600;text-align:right;margin-right:7px;letter-spacing:0;position:relative;color:rgba(0,0,0,.83);display:inline-block}header .mini-cart-container #mini-cart .mini-cart-content i+span.cart-text{padding-left:0;vertical-align:text-bottom}header .mini-cart-container #mini-cart .mini-cart-content .cart-text{padding-left:5px}header .mini-cart-container #mini-cart .mini-cart-content+.down-arrow-container .rango-arrow-down{top:8px}header .left-wrapper{float:right}header .left-wrapper .compare-btn,header .left-wrapper .wishlist-btn{height:50px;font-size:18px;font-weight:600;padding:10px 16px 6px}header .left-wrapper .compare-btn i,header .left-wrapper .wishlist-btn i{margin-right:5px;vertical-align:middle}header .left-wrapper .compare-btn .badge-container,header .left-wrapper .wishlist-btn .badge-container{position:relative;display:inline-block}header .left-wrapper .compare-btn .badge-container .badge,header .left-wrapper .wishlist-btn .badge-container .badge{border-radius:50%;top:-23px;left:-15px;padding:4px;min-width:20px;position:absolute;color:hsla(0,0%,100%,.83);background:#21a179}header .left-wrapper .compare-btn span,header .left-wrapper .wishlist-btn span{top:2px;position:relative}header .dropdown-menu-large{min-width:280px;left:-180px}header .dropdown-menu-large .dropdown-content{width:100%;max-height:300px;overflow-y:auto}header .dropdown-menu-large .dropdown-content .item{display:-webkit-box;display:-ms-flexbox;display:flex;padding:10px}header .dropdown-menu-large .dropdown-content .item .item-image{position:relative}header .dropdown-menu-large .dropdown-content .item .item-image .material-icons{position:absolute;left:-6px;top:-6px;font-size:16px;cursor:pointer}header .dropdown-menu-large .dropdown-content .item .item-image .thumbnail{width:75px;height:75px;margin:0;border-radius:0;border:1px solid #ccc}header .dropdown-menu-large .dropdown-content .item .item-name{font-weight:600;font-size:18px;color:rgba(0,0,0,.83);letter-spacing:0}header .dropdown-menu-large .dropdown-content .item .item-details{padding:0 10px;height:auto}header .dropdown-menu-large .dropdown-content .item .item-details .item-options{font-family:Source Sans Pro,sans-serif;font-size:13px;color:rgba(0,0,0,.83);letter-spacing:0}header .dropdown-menu-large .dropdown-content .item .item-details .item-qty-price{padding:5px 0;display:inline-block}header .dropdown-menu-large .dropdown-content .item .item-details .item-qty-price .item-qty{font-size:16px;color:rgba(0,0,0,.83);letter-spacing:0;text-align:left}header .dropdown-menu-large .dropdown-content .item .item-details .item-qty-price .item-price{font-weight:600;font-size:16px;color:rgba(0,0,0,.83);letter-spacing:0;text-align:right}header .dropdown-menu-large .dropdown-header{padding:10px 10px 5px;border-top:1px solid #ccc}header .dropdown-menu-large .dropdown-header .sub-total-text{font-weight:600;font-size:16px;color:rgba(0,0,0,.83);letter-spacing:0}header .dropdown-menu-large .dropdown-header .cart-sub-total{font-weight:700;font-size:16px;color:rgba(0,0,0,.83);letter-spacing:0;text-align:right}header .dropdown-menu-large .dropdown-footer{padding:10px 10px 0;border-top:1px solid #ccc;font-weight:700;font-size:16px;color:rgba(0,0,0,.83);letter-spacing:0}header .dropdown-menu-large .dropdown-footer .cart-link{text-align:left}header .dropdown-menu-large .dropdown-footer .cart-link a{vertical-align:middle}header .dropdown-menu-large .dropdown-footer .checkout-link{text-align:right}#nav-menu{margin:0;-webkit-box-shadow:0 0 0 0 rgba(0,0,0,.24);box-shadow:0 0 0 0 rgba(0,0,0,.24);background-color:#fff}#nav-menu .navbar{margin:0;font-family:SourceSansPro-Semibold;font-size:16px;color:rgba(0,0,0,.83);letter-spacing:0;cursor:pointer;min-height:40px;position:relative}#nav-menu .navbar .navbar-header{width:100%;display:inline-block}#nav-menu .navbar .navbar-header .main-category{width:100%;overflow:hidden;position:relative;display:inline-block;padding:5px 5px 5px 35px}#nav-menu .navbar .navbar-header .main-category .material-icons{position:absolute;left:0;top:2px;font-size:28px}#nav-menu .navbar .category-dropdown{position:absolute;top:40px;background:#fff;left:0;width:100%;height:525px}#nav-menu .navbar .category-dropdown li.category-list{width:100%;display:inline-block;background:#fff;position:relative}#nav-menu .navbar .category-dropdown li.category-list a{padding:10px 0;position:relative;font-size:14px;color:rgba(0,0,0,.83);letter-spacing:0;font-weight:600;display:block}#nav-menu .navbar .category-dropdown li.category-list a .material-icons{position:absolute;right:0;top:8px}#nav-menu .navbar .category-dropdown li.category-list a:hover{color:#28557b;text-decoration:none;background-color:#f7f7f9}#nav-menu .navbar .category-dropdown li.category-list .child-container{position:absolute;top:0;background-color:#ccc;left:283px;width:250px;height:350px}#nav-menu .secondary-navbar{background-color:#4d7ea8;min-height:40px;padding:5px;vertical-align:middle;text-align:left;margin:0;list-style:none;height:auto;display:inline-block;width:100%}#nav-menu .secondary-navbar li{float:left}#nav-menu .secondary-navbar li a{display:block;cursor:pointer;font-size:16px;font-weight:600;letter-spacing:0;position:relative;color:#fff;text-decoration:none;padding:5px 20px 5px 5px}.viewed-products .viewed-products-listing{border:1px solid #fff;background-color:#f6f6f6}.viewed-products .viewed-products-listing .product-description,.viewed-products .viewed-products-listing .product-image{display:inline-block}.viewed-products .viewed-products-listing .product-description div{padding-top:2px}.customer-reviews .first-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.customer-reviews .second-row{width:100%;display:inline-block}.customer-reviews .second-row .reviews-listing{background:#fff;padding-right:10px;-webkit-box-shadow:0 4px 17px 0 rgba(0,0,0,.11);box-shadow:0 4px 17px 0 rgba(0,0,0,.11)}.customer-reviews .second-row .review-grid{display:grid;width:345px;height:262px;padding-top:40px;padding-left:10px;padding-right:10px}.categories-grid-customizable .category-grid{padding-right:5px;padding-left:5px;padding-bottom:10px}.categories-grid-customizable .category-grid .category-image{border:1px solid red}.categories-grid-customizable .category-grid .category-details{border:1px solid blue}.categories-grid-customizable .category-grid .category-details h3{color:#fff;text-align:center}.categories-grid-customizable .category-grid .category-details li{color:#fff;text-align:center;list-style-type:none}.product-policy{padding:30px 0 50px;border:1px solid maroon;text-align:center}.popular-products{height:auto;width:100%;padding-right:10px}.popular-products .second-row .popular-products-listing{border:1px solid red}.popular-products .second-row .popular-products-listing .product-buttons .add-to-cart-button .btn-primary{border:#26a37c!important;border-radius:0}.popular-products .second-row .popular-products-listing .product-buttons .add-to-cart-button .addtocart{text-transform:uppercase;background-color:#26a37c}.customer-name{display:table-cell;height:54px;width:56px;text-align:center;vertical-align:middle;border-radius:50%;background:#21a179;color:#fff;padding:16px;font:18px josefin sans,arial}.spacing{margin:5px 0}i.within-circle{display:inline-block;border-radius:50%;-webkit-box-shadow:0 0 2px #888;box-shadow:0 0 2px #888;padding:12px;margin:15px 0;width:50px;height:50px}.center_div{margin:0 auto;width:80%}.form-style{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:0}.label-style{display:inline-block!important;max-width:100%!important;margin-bottom:5px!important;font-weight:100!important;font-size:16px!important}.btn-white{color:#fff;height:36px;width:133px}.w3-card-2{width:133px}.w3-card-2,.w3-card-login{-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);float:right;height:36px}.w3-card-login{width:71px}.btn-new-customer-login{color:#26a37c!important;font-size:16px;padding:11px;text-decoration:none!important}.btn-dark-green{color:#fff;background-color:#26a37c;border-color:#26a37c;height:36px;border-radius:0!important}.login-text{height:65px;width:575px;border:1px #e5e5e5;margin:0 auto}.row:after,.row:before{display:none!important}.image-wrapper{margin-bottom:20px;margin-top:10px;display:inline-block;width:100%}.image-wrapper .image-item{width:150px;height:150px;margin-right:20px;background:#f8f9fa;border-radius:3px;display:inline-block;position:relative;background-image:url("../images/placeholder-icon.svg");background-repeat:no-repeat;background-position:50%;margin-bottom:20px;float:left;background-size:75%}.image-wrapper .image-item img.preview{width:100%;height:100%}.image-wrapper .image-item input{display:none}.image-wrapper .image-item .remove-image{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.08)),to(rgba(0,0,0,.24)));background-image:linear-gradient(-180deg,rgba(0,0,0,.08),rgba(0,0,0,.24));border-radius:0 0 4px 4px;position:absolute;bottom:0;width:100%;padding:10px;text-align:center;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.24);margin-right:20px;cursor:pointer}.image-wrapper .image-item:hover .remove-image{display:block}.image-wrapper .image-item.has-image{background-image:none}.btn-primary{background-color:#26a37c!important;border-color:#26a37c!important} \ No newline at end of file diff --git a/packages/Webkul/Velocity/publishable/assets/mix-manifest.json b/packages/Webkul/Velocity/publishable/assets/mix-manifest.json index e2f2c7fb1..e69de29bb 100644 --- a/packages/Webkul/Velocity/publishable/assets/mix-manifest.json +++ b/packages/Webkul/Velocity/publishable/assets/mix-manifest.json @@ -1,6 +0,0 @@ -{ - "/js/velocity.js": "/js/velocity.js?id=5b0e7e5d2810ad90cde3", - "/css/velocity-admin.css": "/css/velocity-admin.css?id=4322502d80a0e4a0affd", - "/css/velocity.css": "/css/velocity.css?id=15c96f5b4c7e02625f1e", - "/js/velocity-core.js": "/js/velocity-core.js?id=5c0fe2bf195ee94576fd" -} diff --git a/packages/Webkul/Velocity/src/Resources/assets/sass/app.scss b/packages/Webkul/Velocity/src/Resources/assets/sass/app.scss index 260eda8d9..cfa9f3a13 100755 --- a/packages/Webkul/Velocity/src/Resources/assets/sass/app.scss +++ b/packages/Webkul/Velocity/src/Resources/assets/sass/app.scss @@ -26,7 +26,9 @@ font-family: $font-family-pro; } -*, *:before, *:after { +*, +*:before, +*:after { box-sizing: inherit; } @@ -65,7 +67,11 @@ input[type=checkbox] { } } -button, input, optgroup, select, textarea { +button, +input, +optgroup, +select, +textarea { font-family: $font-family-pro; color: $font-color; } @@ -111,7 +117,8 @@ body { padding: 6px 5px; } -.btn-link:hover, .btn-link:focus { +.btn-link:hover, +.btn-link:focus { color: $font-color; text-decoration: none; } @@ -214,7 +221,7 @@ body { } } - + .account-modal { + +.account-modal { top: 40px; right: 10px; z-index: 101; @@ -253,11 +260,11 @@ body { } } - > div:last-child { + >div:last-child { height: 32px; } - > div { + >div { .default { padding: 5px; font-size: 14px; @@ -294,7 +301,7 @@ body { border-top: 3px solid $border-primary; border-radius: 0px; background: $white-color; - @include box-shadow(11px 10px 17px 0 rgba(0,0,0,0.21)); + @include box-shadow(11px 10px 17px 0 rgba(0, 0, 0, 0.21)); li { a { @@ -361,14 +368,17 @@ body { background: $button-primary-bg; border-color: $button-primary-bg; } + &:focus { background: $button-primary-bg; border-color: $button-primary-bg; } + &:active:hover { background: $button-primary-bg; border-color: $button-primary-bg; } + &:active:focus { background: $button-primary-bg; border-color: $button-primary-bg; @@ -384,14 +394,17 @@ body { background: $button-danger; border-color: $border-danger; } + &:focus { background: $button-danger; border-color: $border-danger; } + &:active:hover { background: $button-danger; border-color: $border-danger; } + &:active:focus { background: $button-danger; border-color: $border-danger; @@ -436,7 +449,7 @@ header { border-radius: 2px 0px 0px 2px; border: 1px solid $theme-color; border-right: 0; - font-family:"Source Sans Pro", sans-serif; + font-family: "Source Sans Pro", sans-serif; -webkit-appearance: none; -moz-appearance: none; @@ -505,7 +518,7 @@ header { display: inline-block; i { - + span.cart-text { + +span.cart-text { padding-left: 0px; vertical-align: text-bottom; } @@ -515,7 +528,7 @@ header { padding-left: 5px; } - + .down-arrow-container { + +.down-arrow-container { .rango-arrow-down { top: 8px; } @@ -527,7 +540,8 @@ header { .left-wrapper { float: right; - .compare-btn, .wishlist-btn { + .compare-btn, + .wishlist-btn { height: 50px; font-size: 18px; font-weight: 600; @@ -623,6 +637,7 @@ header { letter-spacing: 0; text-align: left; } + .item-price { font-weight: 600; font-size: 16px; @@ -634,6 +649,7 @@ header { } } } + .dropdown-header { padding: 10px 10px 5px; border-top: 1px solid $border-common; @@ -653,6 +669,7 @@ header { text-align: right; } } + .dropdown-footer { padding: 10px 10px 0px 10px; border-top: 1px solid $border-common; @@ -663,6 +680,7 @@ header { .cart-link { text-align: left; + a { vertical-align: middle; } @@ -685,7 +703,7 @@ header { margin: 0px; font-family: SourceSansPro-Semibold; font-size: 16px; - color: rgba(0,0,0,0.83); + color: rgba(0, 0, 0, 0.83); letter-spacing: 0; cursor: pointer; min-height: 40px; @@ -702,7 +720,7 @@ header { display: inline-block; padding: 5px 5px 5px 35px; - .material-icons{ + .material-icons { position: absolute; left: 0; top: 2px; @@ -730,7 +748,7 @@ header { position: relative; font-weight: 600; font-size: 14px; - color: rgba(0,0,0,0.83); + color: rgba(0, 0, 0, 0.83); letter-spacing: 0; font-weight: 600; display: block; @@ -917,7 +935,8 @@ i.within-circle { .center_div { margin: 0 auto; - width: 80%/* value of your choice which suits your alignment */ + width: 80% + /* value of your choice which suits your alignment */ } .form-style { @@ -984,7 +1003,10 @@ i.within-circle { margin: 0 auto; } -.row:before, .row:after {display: none !important;} +.row:before, +.row:after { + display: none !important; +} // image wrapper .image-wrapper { @@ -1018,7 +1040,7 @@ i.within-circle { } .remove-image { - background-image: linear-gradient(-180deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.24) 100%); + background-image: linear-gradient(-180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.24) 100%); @include border-radius(0 0 4px 4px); position: absolute; bottom: 0; @@ -1026,7 +1048,7 @@ i.within-circle { padding: 10px; text-align: center; color: $white-color; - text-shadow: 0 1px 2px rgba(0,0,0,0.24); + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.24); margin-right: 20px; cursor: pointer; } @@ -1045,3 +1067,36 @@ i.within-circle { background-color: #26A37C !important; border-color: #26A37C !important; } + +/* Category Filter UI Responsivenes */ +.category-page-wrapper .category-container .filters-container { + left: 0; + top: 30px; + padding: 0; + width: 96%; + z-index: 9; + position: unset; + margin-left: 7px; + padding-bottom: 7px; + background-color: #fff; + -webkit-box-shadow: none; + box-shadow: none; +} + +.filters-container .toolbar-wrapper>div select { + cursor: pointer; + padding: 6px 8px; + color: rgba(0, 0, 0, .83); + background-color: #fff +} + +.filters-container .toolbar-wrapper>div { + margin: 0 8px 0 0; +} + +@media (max-width:600px) { + .selective-div { + width: 97px; + -webkit-appearance: none + } +} \ No newline at end of file