diff --git a/app/Http/Middleware/CheckLocale.php b/app/Http/Middleware/CheckLocale.php index 3c525d172..d0dbcffaa 100644 --- a/app/Http/Middleware/CheckLocale.php +++ b/app/Http/Middleware/CheckLocale.php @@ -8,6 +8,12 @@ use \App\Helpers\Helper; class CheckLocale { + private function warn_legacy_locale($language, $source) + { + if ($language != Helper::mapLegacyLocale($language)) { + \Log::warning("$source $language and should be updated to be ".Helper::mapLegacyLocale($language)); + } + } /** * Handle the locale for the user, default to settings otherwise. * @@ -22,24 +28,23 @@ class CheckLocale // Default app settings from config $language = config('app.locale'); + $this->warn_legacy_locale($language, "APP_LOCALE in .env is set to"); if ($settings = Setting::getSettings()) { // User's preference if (($request->user()) && ($request->user()->locale)) { $language = $request->user()->locale; + $this->warn_legacy_locale($language, "username ".$request->user()->username." (".$request->user()->id.") has a language"); // App setting preference } elseif ($settings->locale != '') { $language = $settings->locale; + $this->warn_legacy_locale($language, "App Settings is set to"); } } - - if (config('app.locale') != Helper::mapLegacyLocale($language)) { - \Log::warning('Your current APP_LOCALE in your .env is set to "'.config('app.locale').'" and should be updated to be "'.Helper::mapLegacyLocale($language).'" in '.base_path().'/.env. Translations may display unexpectedly until this is updated.'); - } - + \App::setLocale(Helper::mapLegacyLocale($language)); return $next($request); } diff --git a/composer.json b/composer.json index 0ff2cd999..5fff16c1a 100644 --- a/composer.json +++ b/composer.json @@ -58,7 +58,6 @@ "league/flysystem-aws-s3-v3": "^1.0", "league/flysystem-cached-adapter": "^1.1", "livewire/livewire": "^2.4", - "mediconesystems/livewire-datatables": "^0.5.0", "neitanod/forceutf8": "^2.0", "nesbot/carbon": "^2.32", "nunomaduro/collision": "^5.4", diff --git a/composer.lock b/composer.lock index 9798d74e0..127254236 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "9cca85cd0074df9154765b1ab52f83fa", + "content-hash": "0536c48de3ba12fdeb01bac07fcd7172", "packages": [ { "name": "alek13/slack", @@ -2165,57 +2165,6 @@ }, "time": "2019-12-30T22:54:17+00:00" }, - { - "name": "ezyang/htmlpurifier", - "version": "v4.14.0", - "source": { - "type": "git", - "url": "https://github.com/ezyang/htmlpurifier.git", - "reference": "12ab42bd6e742c70c0a52f7b82477fcd44e64b75" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/12ab42bd6e742c70c0a52f7b82477fcd44e64b75", - "reference": "12ab42bd6e742c70c0a52f7b82477fcd44e64b75", - "shasum": "" - }, - "require": { - "php": ">=5.2" - }, - "type": "library", - "autoload": { - "files": [ - "library/HTMLPurifier.composer.php" - ], - "psr-0": { - "HTMLPurifier": "library/" - }, - "exclude-from-classmap": [ - "/library/HTMLPurifier/Language/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1-or-later" - ], - "authors": [ - { - "name": "Edward Z. Yang", - "email": "admin@htmlpurifier.org", - "homepage": "http://ezyang.com" - } - ], - "description": "Standards compliant HTML filter written in PHP", - "homepage": "http://htmlpurifier.org/", - "keywords": [ - "html" - ], - "support": { - "issues": "https://github.com/ezyang/htmlpurifier/issues", - "source": "https://github.com/ezyang/htmlpurifier/tree/v4.14.0" - }, - "time": "2021-12-25T01:21:49+00:00" - }, { "name": "facade/flare-client-php", "version": "1.9.1", @@ -5133,268 +5082,6 @@ ], "time": "2022-06-19T02:54:20+00:00" }, - { - "name": "maatwebsite/excel", - "version": "3.1.40", - "source": { - "type": "git", - "url": "https://github.com/SpartnerNL/Laravel-Excel.git", - "reference": "8a54972e3d616c74687c3cbff15765555761885c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/SpartnerNL/Laravel-Excel/zipball/8a54972e3d616c74687c3cbff15765555761885c", - "reference": "8a54972e3d616c74687c3cbff15765555761885c", - "shasum": "" - }, - "require": { - "ext-json": "*", - "illuminate/support": "5.8.*|^6.0|^7.0|^8.0|^9.0", - "php": "^7.0|^8.0", - "phpoffice/phpspreadsheet": "^1.18" - }, - "require-dev": { - "orchestra/testbench": "^6.0|^7.0", - "predis/predis": "^1.1" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Maatwebsite\\Excel\\ExcelServiceProvider" - ], - "aliases": { - "Excel": "Maatwebsite\\Excel\\Facades\\Excel" - } - } - }, - "autoload": { - "psr-4": { - "Maatwebsite\\Excel\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Patrick Brouwers", - "email": "patrick@spartner.nl" - } - ], - "description": "Supercharged Excel exports and imports in Laravel", - "keywords": [ - "PHPExcel", - "batch", - "csv", - "excel", - "export", - "import", - "laravel", - "php", - "phpspreadsheet" - ], - "support": { - "issues": "https://github.com/SpartnerNL/Laravel-Excel/issues", - "source": "https://github.com/SpartnerNL/Laravel-Excel/tree/3.1.40" - }, - "funding": [ - { - "url": "https://laravel-excel.com/commercial-support", - "type": "custom" - }, - { - "url": "https://github.com/patrickbrouwers", - "type": "github" - } - ], - "time": "2022-05-02T13:50:01+00:00" - }, - { - "name": "maennchen/zipstream-php", - "version": "2.2.1", - "source": { - "type": "git", - "url": "https://github.com/maennchen/ZipStream-PHP.git", - "reference": "211e9ba1530ea5260b45d90c9ea252f56ec52729" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/211e9ba1530ea5260b45d90c9ea252f56ec52729", - "reference": "211e9ba1530ea5260b45d90c9ea252f56ec52729", - "shasum": "" - }, - "require": { - "myclabs/php-enum": "^1.5", - "php": "^7.4 || ^8.0", - "psr/http-message": "^1.0", - "symfony/polyfill-mbstring": "^1.0" - }, - "require-dev": { - "ext-zip": "*", - "guzzlehttp/guzzle": "^6.5.3 || ^7.2.0", - "mikey179/vfsstream": "^1.6", - "php-coveralls/php-coveralls": "^2.4", - "phpunit/phpunit": "^8.5.8 || ^9.4.2", - "vimeo/psalm": "^4.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "ZipStream\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paul Duncan", - "email": "pabs@pablotron.org" - }, - { - "name": "Jonatan Männchen", - "email": "jonatan@maennchen.ch" - }, - { - "name": "Jesse Donat", - "email": "donatj@gmail.com" - }, - { - "name": "András Kolesár", - "email": "kolesar@kolesar.hu" - } - ], - "description": "ZipStream is a library for dynamically streaming dynamic zip files from PHP without writing to the disk at all on the server.", - "keywords": [ - "stream", - "zip" - ], - "support": { - "issues": "https://github.com/maennchen/ZipStream-PHP/issues", - "source": "https://github.com/maennchen/ZipStream-PHP/tree/2.2.1" - }, - "funding": [ - { - "url": "https://github.com/maennchen", - "type": "github" - }, - { - "url": "https://opencollective.com/zipstream", - "type": "open_collective" - } - ], - "time": "2022-05-18T15:52:06+00:00" - }, - { - "name": "markbaker/complex", - "version": "3.0.1", - "source": { - "type": "git", - "url": "https://github.com/MarkBaker/PHPComplex.git", - "reference": "ab8bc271e404909db09ff2d5ffa1e538085c0f22" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/MarkBaker/PHPComplex/zipball/ab8bc271e404909db09ff2d5ffa1e538085c0f22", - "reference": "ab8bc271e404909db09ff2d5ffa1e538085c0f22", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "phpcompatibility/php-compatibility": "^9.0", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.3", - "squizlabs/php_codesniffer": "^3.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Complex\\": "classes/src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mark Baker", - "email": "mark@lange.demon.co.uk" - } - ], - "description": "PHP Class for working with complex numbers", - "homepage": "https://github.com/MarkBaker/PHPComplex", - "keywords": [ - "complex", - "mathematics" - ], - "support": { - "issues": "https://github.com/MarkBaker/PHPComplex/issues", - "source": "https://github.com/MarkBaker/PHPComplex/tree/3.0.1" - }, - "time": "2021-06-29T15:32:53+00:00" - }, - { - "name": "markbaker/matrix", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/MarkBaker/PHPMatrix.git", - "reference": "c66aefcafb4f6c269510e9ac46b82619a904c576" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/MarkBaker/PHPMatrix/zipball/c66aefcafb4f6c269510e9ac46b82619a904c576", - "reference": "c66aefcafb4f6c269510e9ac46b82619a904c576", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "phpcompatibility/php-compatibility": "^9.0", - "phpdocumentor/phpdocumentor": "2.*", - "phploc/phploc": "^4.0", - "phpmd/phpmd": "2.*", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.3", - "sebastian/phpcpd": "^4.0", - "squizlabs/php_codesniffer": "^3.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Matrix\\": "classes/src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mark Baker", - "email": "mark@demon-angel.eu" - } - ], - "description": "PHP Class for working with matrices", - "homepage": "https://github.com/MarkBaker/PHPMatrix", - "keywords": [ - "mathematics", - "matrix", - "vector" - ], - "support": { - "issues": "https://github.com/MarkBaker/PHPMatrix/issues", - "source": "https://github.com/MarkBaker/PHPMatrix/tree/3.0.0" - }, - "time": "2021-07-01T19:01:15+00:00" - }, { "name": "masterminds/html5", "version": "2.8.1", @@ -5528,69 +5215,6 @@ }, "time": "2021-12-27T18:49:48+00:00" }, - { - "name": "mediconesystems/livewire-datatables", - "version": "v0.5.4", - "source": { - "type": "git", - "url": "https://github.com/MedicOneSystems/livewire-datatables.git", - "reference": "bf6f24d529208e6bdec58276e92792719c73c827" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/MedicOneSystems/livewire-datatables/zipball/bf6f24d529208e6bdec58276e92792719c73c827", - "reference": "bf6f24d529208e6bdec58276e92792719c73c827", - "shasum": "" - }, - "require": { - "illuminate/support": "^7.0|^8.0", - "livewire/livewire": "^1.2|^2.0", - "maatwebsite/excel": "^3.1", - "php": "^7.2.5|^8.0" - }, - "require-dev": { - "laravel/legacy-factories": "^1.0.4", - "orchestra/testbench": "^4.0|5.0|6.0", - "phpunit/phpunit": "^8.0|9.0" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Mediconesystems\\LivewireDatatables\\LivewireDatatablesServiceProvider" - ], - "aliases": { - "LivewireDatatables": "Mediconesystems\\LivewireDatatables\\LivewireDatatablesFacade" - } - } - }, - "autoload": { - "psr-4": { - "Mediconesystems\\LivewireDatatables\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mark Salmon", - "email": "mark.salmon@mediconesystems.com", - "role": "Developer" - } - ], - "homepage": "https://github.com/mediconesystems/livewire-datatables", - "keywords": [ - "livewire-datatables", - "mediconesystems" - ], - "support": { - "issues": "https://github.com/MedicOneSystems/livewire-datatables/issues", - "source": "https://github.com/MedicOneSystems/livewire-datatables/tree/v0.5.4" - }, - "time": "2021-08-09T20:37:55+00:00" - }, { "name": "monolog/monolog", "version": "2.7.0", @@ -5761,66 +5385,6 @@ }, "time": "2023-08-25T10:54:48+00:00" }, - { - "name": "myclabs/php-enum", - "version": "1.8.3", - "source": { - "type": "git", - "url": "https://github.com/myclabs/php-enum.git", - "reference": "b942d263c641ddb5190929ff840c68f78713e937" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/php-enum/zipball/b942d263c641ddb5190929ff840c68f78713e937", - "reference": "b942d263c641ddb5190929ff840c68f78713e937", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": "^7.3 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.5", - "squizlabs/php_codesniffer": "1.*", - "vimeo/psalm": "^4.6.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "MyCLabs\\Enum\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP Enum contributors", - "homepage": "https://github.com/myclabs/php-enum/graphs/contributors" - } - ], - "description": "PHP Enum implementation", - "homepage": "http://github.com/myclabs/php-enum", - "keywords": [ - "enum" - ], - "support": { - "issues": "https://github.com/myclabs/php-enum/issues", - "source": "https://github.com/myclabs/php-enum/tree/1.8.3" - }, - "funding": [ - { - "url": "https://github.com/mnapoli", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/myclabs/php-enum", - "type": "tidelift" - } - ], - "time": "2021-07-05T08:18:36+00:00" - }, { "name": "neitanod/forceutf8", "version": "v2.0.4", @@ -6960,110 +6524,6 @@ }, "time": "2022-03-15T21:29:03+00:00" }, - { - "name": "phpoffice/phpspreadsheet", - "version": "1.24.1", - "source": { - "type": "git", - "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", - "reference": "69991111e05fca3ff7398e1e7fca9ebed33efec6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/69991111e05fca3ff7398e1e7fca9ebed33efec6", - "reference": "69991111e05fca3ff7398e1e7fca9ebed33efec6", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-dom": "*", - "ext-fileinfo": "*", - "ext-gd": "*", - "ext-iconv": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-simplexml": "*", - "ext-xml": "*", - "ext-xmlreader": "*", - "ext-xmlwriter": "*", - "ext-zip": "*", - "ext-zlib": "*", - "ezyang/htmlpurifier": "^4.13", - "maennchen/zipstream-php": "^2.1", - "markbaker/complex": "^3.0", - "markbaker/matrix": "^3.0", - "php": "^7.3 || ^8.0", - "psr/http-client": "^1.0", - "psr/http-factory": "^1.0", - "psr/simple-cache": "^1.0 || ^2.0" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "dev-master", - "dompdf/dompdf": "^1.0 || ^2.0", - "friendsofphp/php-cs-fixer": "^3.2", - "jpgraph/jpgraph": "^4.0", - "mpdf/mpdf": "8.1.1", - "phpcompatibility/php-compatibility": "^9.3", - "phpstan/phpstan": "^1.1", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^8.5 || ^9.0", - "squizlabs/php_codesniffer": "^3.7", - "tecnickcom/tcpdf": "^6.4" - }, - "suggest": { - "dompdf/dompdf": "Option for rendering PDF with PDF Writer (doesn't yet support PHP8)", - "jpgraph/jpgraph": "Option for rendering charts, or including charts with PDF or HTML Writers", - "mpdf/mpdf": "Option for rendering PDF with PDF Writer", - "tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer (doesn't yet support PHP8)" - }, - "type": "library", - "autoload": { - "psr-4": { - "PhpOffice\\PhpSpreadsheet\\": "src/PhpSpreadsheet" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Maarten Balliauw", - "homepage": "https://blog.maartenballiauw.be" - }, - { - "name": "Mark Baker", - "homepage": "https://markbakeruk.net" - }, - { - "name": "Franck Lefevre", - "homepage": "https://rootslabs.net" - }, - { - "name": "Erik Tilt" - }, - { - "name": "Adrien Crivelli" - } - ], - "description": "PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine", - "homepage": "https://github.com/PHPOffice/PhpSpreadsheet", - "keywords": [ - "OpenXML", - "excel", - "gnumeric", - "ods", - "php", - "spreadsheet", - "xls", - "xlsx" - ], - "support": { - "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues", - "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.24.1" - }, - "time": "2022-07-18T19:50:48+00:00" - }, { "name": "phpoption/phpoption", "version": "1.8.1", diff --git a/public/css/build/app.css b/public/css/build/app.css index 394c114a5..847ea36e7 100644 --- a/public/css/build/app.css +++ b/public/css/build/app.css @@ -1 +1 @@ -@media (max-width:400px){.navbar-left{margin:2px}.nav:after{clear:none}}.skin-blue .main-header .logo{background-color:inherit!important}.btn-danger.btn-outline{color:#d9534f}.skin-blue .main-header .navbar .dropdown-menu li a{color:#333}.icon-med{font-size:20px}.left-navblock{max-width:500px}.skin-red .skin-purple .skin-blue .skin-black .skin-orange .skin-yellow .skin-green .skin-red-dark .skin-purple-dark .skin-blue-dark .skin-black-dark .skin-orange-dark .skin-yellow-dark .skin-green-dark .skin-contrast .main-header .logo{background-color:inherit}.main-header .logo{clear:both;display:block;text-align:left;white-space:nowrap;width:100%!important}.main-header .logo a:hover,.main-header .logo a:visited,.main-header .logoa:link{color:#fff}.huge{font-size:40px}.btn-file{overflow:hidden;position:relative}.dropdown-menu>li>a{color:#354044}#sort tr.cansort{background:#f4f4f4;border-left:2px solid #e6e7e8;border-radius:2px;color:#444;cursor:move;margin-bottom:3px;padding:10px}.user-image-inline{border-radius:50%;float:left;height:25px;margin-right:10px;width:25px}.input-group .input-group-addon{background-color:#f4f4f4}a.accordion-header{color:#333}.dynamic-form-row{margin:20px;padding:10px}.handle{padding-left:10px}.btn-file input[type=file]{background:#fff;cursor:inherit;display:block;filter:alpha(opacity=0);font-size:100px;min-height:100%;min-width:100%;opacity:0;outline:none;position:absolute;right:0;text-align:right;top:0}.main-footer{font-size:13px}.main-header{max-height:150px}.navbar-nav>.user-menu>.dropdown-menu{width:inherit}.main-header .logo{padding:0 5px 0 15px}.sidebar-toggle{background-color:inherit;margin-left:-48px;z-index:100}.sidebar-toggle-mobile{padding-top:10px;width:50px;z-index:100}.pull-text-right{text-align:right!important}.main-header .sidebar-toggle:before{content:"\f0c9";font-family:"Font Awesome\ 5 Free";font-weight:900}.direct-chat-contacts{height:150px;padding:10px}.select2-container{width:100%}.error input{border:2px solid #a94442!important;color:#a94442}.alert-msg,.error label{color:#a94442;display:block}.input-group[class*=col-]{padding-left:15px;padding-right:15px}.control-label.multiline{padding-top:10px}.btn-outline{background-color:transparent;color:inherit;transition:all .5s}.btn-primary.btn-outline{color:#428bca}.btn-success.btn-outline{color:#5cb85c}.btn-info.btn-outline{color:#5bc0de}.btn-warning{background-color:#f39c12!important}.btn-warning.btn-outline{color:#f0ad4e}.btn-danger.btn-outline,a.link-danger:hover,a.link-danger:link,a.link-danger:visited{color:#dd4b39}.btn-danger.btn-outline:hover,.btn-info.btn-outline:hover,.btn-primary.btn-outline:hover,.btn-success.btn-outline:hover,.btn-warning.btn-outline:hover{color:#fff}.slideout-menu{background:#333;color:#fff;height:100%;margin-top:100px;padding:10px;position:fixed;right:-250px;top:0;width:250px;z-index:100}.slideout-menu h3{border-bottom:4px solid #222;color:#fff;font-size:1.2em;font-weight:400;padding:5px;position:relative}.slideout-menu .slideout-menu-toggle{background:#222;color:#999;display:inline-block;font-family:Arial,sans-serif;font-weight:700;line-height:1;padding:6px 9px 5px;position:absolute;right:10px;text-decoration:none;top:12px;vertical-align:top}.slideout-menu .slideout-menu-toggle:hover{color:#fff}.slideout-menu ul{border-bottom:1px solid #454545;border-top:1px solid #151515;font-weight:300;list-style:none}.slideout-menu ul li{border-bottom:1px solid #151515;border-top:1px solid #454545}.slideout-menu ul li a{color:#999;display:block;padding:10px;position:relative;text-decoration:none}.slideout-menu ul li a:hover{background:#000;color:#fff}.slideout-menu ul li a i{opacity:.5;position:absolute;right:10px;top:15px}.btn-box-tool-lg{color:orange;font-size:16px}.bs-wizard{border-bottom:1px solid #e0e0e0;margin-top:20px;padding:0 0 10px}.bs-wizard>.bs-wizard-step{padding:0;position:relative}.bs-wizard>.bs-wizard-step .bs-wizard-stepnum{color:#595959;font-size:16px;margin-bottom:5px}.bs-wizard>.bs-wizard-step .bs-wizard-info{color:#999;font-size:14px}.bs-wizard>.bs-wizard-step>.bs-wizard-dot{background:#fbe8aa;border-radius:50%;display:block;height:30px;left:50%;margin-left:-15px;margin-top:-15px;position:absolute;top:45px;width:30px}.bs-wizard>.bs-wizard-step>.bs-wizard-dot:after{background:#fbbd19;border-radius:50px;content:" ";height:14px;left:8px;position:absolute;top:8px;width:14px}.bs-wizard>.bs-wizard-step>.progress{border-radius:0;box-shadow:none;height:8px;margin:20px 0;position:relative}.bs-wizard>.bs-wizard-step>.progress>.progress-bar{background:#fbe8aa;box-shadow:none;width:0}.bs-wizard>.bs-wizard-step.complete>.progress>.progress-bar{width:100%}.bs-wizard>.bs-wizard-step.active>.progress>.progress-bar{width:50%}.bs-wizard>.bs-wizard-step:first-child.active>.progress>.progress-bar{width:0}.bs-wizard>.bs-wizard-step:last-child.active>.progress>.progress-bar{width:100%}.bs-wizard>.bs-wizard-step.disabled>.bs-wizard-dot{background-color:#f5f5f5}.bs-wizard>.bs-wizard-step.disabled>.bs-wizard-dot:after{opacity:0}.bs-wizard>.bs-wizard-step:first-child>.progress{left:50%;width:50%}.bs-wizard>.bs-wizard-step:last-child>.progress{width:50%}.bs-wizard>.bs-wizard-step.disabled a.bs-wizard-dot{pointer-events:none}.left-navblock{color:#fff;display:inline-block;float:left;padding:0;text-align:left}.skin-red .skin-purple .skin-blue .skin-black .skin-orange .skin-yellow .skin-green .skin-red-dark .skin-purple-dark .skin-blue-dark .skin-black-dark .skin-orange-dark .skin-yellow-dark .skin-green-dark .skin-contrast .main-header .navbar .dropdown-menu li a{color:#333}a.logo.no-hover a:hover{background-color:transparent}.required{border-right:6px solid orange}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:13px}.sidebar-menu{font-size:14px;white-space:normal}@media print{a[href]:after{content:none}.tab-content>.tab-pane{display:block!important;opacity:1!important;visibility:visible!important}}.navbar-brand>img,img.navbar-brand-img{float:left;max-height:50px;padding:5px 5px 5px 0}.input-daterange{border-radius:0}.btn.bg-maroon,.btn.bg-purple{min-width:90px}[hidden]{display:none!important}#toolbar{margin-top:10px}#uploadPreview{border:1px solid grey}.icon-med{color:#889195;font-size:14px}#login-logo{max-width:200px;padding-bottom:10px;padding-top:20px}a.skip-main{height:1px;left:-999px;overflow:hidden;position:absolute;top:auto;width:1px;z-index:-999}a.skip-main:active,a.skip-main:focus{background-color:#000;border:4px solid #ff0;border-radius:15px;color:#fff;font-size:1.2em;height:auto;left:auto;margin:10px 35%;overflow:auto;padding:5px;text-align:center;top:auto;width:30%;z-index:999}h2{font-size:22px}h2.task_menu{font-size:14px}h2 small{font-size:85%}h3{font-size:20px}h4{font-size:16px}.row-striped{box-sizing:border-box;display:table;line-height:2.6;margin-left:20px;padding:0;vertical-align:top}.row-striped .row:nth-of-type(odd) div{background-color:#f9f9f9;border-top:1px solid #ddd;display:table-cell}.row-striped .row:nth-of-type(2n) div{background:#fff;border-top:1px solid #ddd;display:table-cell}.row-new-striped{display:table;line-height:2.6;margin-left:20px;padding:0 20px 0 0;vertical-align:top;width:100%}.row-new-striped>.row:nth-of-type(2n){background:#fff;border-top:1px solid #ddd;display:table-row}.row-new-striped>.row:nth-of-type(odd){background-color:#f8f8f8;border-top:1px solid #ddd;display:table-row}.row-new-striped div{border-top:1px solid #ddd;display:table-cell}.row-new-striped div[class^=col]:first-child{font-weight:700}@media only screen and (max-width:520px){h1.pagetitle{padding-bottom:15px;padding-top:15px}.firstnav{padding-top:120px!important}.product{width:400px}.product img{min-width:400px}}.card-view-title{line-height:3!important;min-width:40%!important;padding-right:20px}.card-view{display:table-row;flex-direction:column}th.css-accessory>.th-inner,th.css-barcode>.th-inner,th.css-consumable>.th-inner,th.css-envelope>.th-inner,th.css-license>.th-inner{text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:0;line-height:.75!important;text-align:left}th.css-accessory>.th-inner:before,th.css-barcode>.th-inner:before,th.css-consumable>.th-inner:before,th.css-envelope>.th-inner:before,th.css-license>.th-inner:before,th.css-padlock>.th-inner:before{display:inline-block;font-family:Font Awesome\ 5 Free;font-size:20px;font-weight:900}th.css-padlock>.th-inner:before{content:"\f023";font-family:Font Awesome\ 5 Free;font-size:12px;font-weight:900;padding-right:4px}th.css-barcode>.th-inner:before{content:"\f02a";font-family:Font Awesome\ 5 Free;font-weight:900}th.css-license>.th-inner:before{content:"\f0c7";font-family:Font Awesome\ 5 Free;font-weight:400}th.css-consumable>.th-inner:before{content:"\f043";font-family:Font Awesome\ 5 Free;font-weight:900}th.css-envelope>.th-inner:before{content:"\f0e0";font-family:Font Awesome\ 5 Free;font-weight:400}th.css-accessory>.th-inner:before{content:"\f11c";font-family:Font Awesome\ 5 Free;font-weight:400}.small-box .inner{color:#fff;padding-left:15px;padding-right:15px;padding-top:15px}.small-box>a:hover,.small-box>a:link,.small-box>a:visited{color:#fff}.select2-container--default .select2-selection--single,.select2-selection .select2-selection--single{border:1px solid #d2d6de;border-radius:0;height:34px;padding:6px 12px}.form-group.has-error label{color:#a94442}.select2-container--default .select2-selection--multiple{border-radius:0}@media screen and (max-width:511px){.tab-content .tab-pane .alert-block{margin-top:120px}.sidebar-menu{margin-top:160px}}@media screen and (max-width:912px) and (min-width:512px){.sidebar-menu{margin-top:100px}}@media screen and (max-width:1268px) and (min-width:912px){.sidebar-menu{margin-top:50px}}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}label.form-control{background-color:inherit;border:0;color:inherit;display:grid;font-size:inherit;font-weight:inherit;gap:.5em;grid-template-columns:1.8em auto;padding-left:0}label.form-control--disabled{color:#959495;cursor:not-allowed;pointer-events:none}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:.05em solid;border-radius:0;color:#959495;display:grid;font:inherit;height:1.8em;margin:0;place-content:center;transform:translateY(-.075em);width:1.8em}input[type=checkbox]:before{background-color:CanvasText;box-shadow:inset 1em 1em #d3d3d3;box-shadow:inset 1em 1em #428bca;-webkit-clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);content:"";height:1em;transform:scale(0);transform-origin:bottom left;transition:transform .12s ease-in-out;width:1em}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:disabled:before,input[type=radio]:disabled:before{box-shadow:inset 1em 1em #d3d3d3;content:"";height:1em;transform:scale(1);width:1em}input[type=checkbox]:disabled:not(:checked):before,input[type=radio]:disabled:not(:checked):before{content:"";cursor:not-allowed;pointer-events:none;transform:scale(0)}input[type=checkbox]:disabled,input[type=radio]:disabled{--form-control-color:#d3d3d3;color:#959495;cursor:not-allowed;pointer-events:none}input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:.05em solid;border-radius:50%;color:#959495;display:grid;font:inherit;height:1.8em;margin:0;place-content:center;transform:translateY(-.075em);width:1.8em}input[type=radio]:before{border-radius:50%;box-shadow:inset 1em 1em #428bca;content:"";height:1em;transform:scale(0);transition:transform .12s ease-in-out;width:1em}input[type=radio]:checked:before{transform:scale(1)}.dropdown-item-marker input[type=checkbox]{font-size:10px}.bootstrap-table .fixed-table-toolbar li.dropdown-item-marker label{display:grid;font-weight:400;gap:1.5em;grid-template-columns:.1em auto}.container.row-striped .col-md-6{overflow-wrap:anywhere}.nav-tabs-custom>.nav-tabs>li{z-index:1}.select2-container .select2-search--inline .select2-search__field{padding-left:15px}.separator{align-items:center;color:#959495;display:flex;padding-top:20px;text-align:center}.separator:after,.separator:before{border-bottom:1px solid #959495;content:"";flex:1}.separator:not(:empty):before{margin-right:.25em}.separator:not(:empty):after{margin-left:.25em} +@media (max-width:400px){.navbar-left{margin:2px}.nav:after{clear:none}}.skin-blue .main-header .logo{background-color:inherit!important}.btn-danger.btn-outline{color:#d9534f}.skin-blue .main-header .navbar .dropdown-menu li a{color:#333}.icon-med{font-size:20px}.left-navblock{max-width:500px}.skin-red .skin-purple .skin-blue .skin-black .skin-orange .skin-yellow .skin-green .skin-red-dark .skin-purple-dark .skin-blue-dark .skin-black-dark .skin-orange-dark .skin-yellow-dark .skin-green-dark .skin-contrast .main-header .logo{background-color:inherit}.main-header .logo{clear:both;display:block;text-align:left;white-space:nowrap;width:100%!important}.main-header .logo a:hover,.main-header .logo a:visited,.main-header .logoa:link{color:#fff}.huge{font-size:40px}.btn-file{overflow:hidden;position:relative}.dropdown-menu>li>a{color:#354044}#sort tr.cansort{background:#f4f4f4;border-left:2px solid #e6e7e8;border-radius:2px;color:#444;cursor:move;margin-bottom:3px;padding:10px}.user-image-inline{border-radius:50%;float:left;height:25px;margin-right:10px;width:25px}.input-group .input-group-addon{background-color:#f4f4f4}a.accordion-header{color:#333}.dynamic-form-row{margin:20px;padding:10px}.handle{padding-left:10px}.btn-file input[type=file]{background:#fff;cursor:inherit;display:block;filter:alpha(opacity=0);font-size:100px;min-height:100%;min-width:100%;opacity:0;outline:none;position:absolute;right:0;text-align:right;top:0}.main-footer{font-size:13px}.main-header{max-height:150px}.navbar-nav>.user-menu>.dropdown-menu{width:inherit}.main-header .logo{padding:0 5px 0 15px}.sidebar-toggle{background-color:inherit;margin-left:-48px;z-index:100}.sidebar-toggle-mobile{padding-top:10px;width:50px;z-index:100}.pull-text-right{text-align:right!important}.main-header .sidebar-toggle:before{content:"\f0c9";font-family:"Font Awesome\ 5 Free";font-weight:900}.direct-chat-contacts{height:150px;padding:10px}.select2-container{width:100%}.error input{border:2px solid #a94442!important;color:#a94442}.alert-msg,.error label{color:#a94442;display:block}.input-group[class*=col-]{padding-left:15px;padding-right:15px}.control-label.multiline{padding-top:10px}.btn-outline{background-color:transparent;color:inherit;transition:all .5s}.btn-primary.btn-outline{color:#428bca}.btn-success.btn-outline{color:#5cb85c}.btn-info.btn-outline{color:#5bc0de}.btn-warning{background-color:#f39c12!important}.btn-warning.btn-outline{color:#f0ad4e}.btn-danger.btn-outline,a.link-danger:hover,a.link-danger:link,a.link-danger:visited{color:#dd4b39}.btn-danger.btn-outline:hover,.btn-info.btn-outline:hover,.btn-primary.btn-outline:hover,.btn-success.btn-outline:hover,.btn-warning.btn-outline:hover{color:#fff}.slideout-menu{background:#333;color:#fff;height:100%;margin-top:100px;padding:10px;position:fixed;right:-250px;top:0;width:250px;z-index:100}.slideout-menu h3{border-bottom:4px solid #222;color:#fff;font-size:1.2em;font-weight:400;padding:5px;position:relative}.slideout-menu .slideout-menu-toggle{background:#222;color:#999;display:inline-block;font-family:Arial,sans-serif;font-weight:700;line-height:1;padding:6px 9px 5px;position:absolute;right:10px;text-decoration:none;top:12px;vertical-align:top}.slideout-menu .slideout-menu-toggle:hover{color:#fff}.slideout-menu ul{border-bottom:1px solid #454545;border-top:1px solid #151515;font-weight:300;list-style:none}.slideout-menu ul li{border-bottom:1px solid #151515;border-top:1px solid #454545}.slideout-menu ul li a{color:#999;display:block;padding:10px;position:relative;text-decoration:none}.slideout-menu ul li a:hover{background:#000;color:#fff}.slideout-menu ul li a i{opacity:.5;position:absolute;right:10px;top:15px}.btn-box-tool-lg{color:orange;font-size:16px}.bs-wizard{border-bottom:1px solid #e0e0e0;margin-top:20px;padding:0 0 10px}.bs-wizard>.bs-wizard-step{padding:0;position:relative}.bs-wizard>.bs-wizard-step .bs-wizard-stepnum{color:#595959;font-size:16px;margin-bottom:5px}.bs-wizard>.bs-wizard-step .bs-wizard-info{color:#999;font-size:14px}.bs-wizard>.bs-wizard-step>.bs-wizard-dot{background:#fbe8aa;border-radius:50%;display:block;height:30px;left:50%;margin-left:-15px;margin-top:-15px;position:absolute;top:45px;width:30px}.bs-wizard>.bs-wizard-step>.bs-wizard-dot:after{background:#fbbd19;border-radius:50px;content:" ";height:14px;left:8px;position:absolute;top:8px;width:14px}.bs-wizard>.bs-wizard-step>.progress{border-radius:0;box-shadow:none;height:8px;margin:20px 0;position:relative}.bs-wizard>.bs-wizard-step>.progress>.progress-bar{background:#fbe8aa;box-shadow:none;width:0}.bs-wizard>.bs-wizard-step.complete>.progress>.progress-bar{width:100%}.bs-wizard>.bs-wizard-step.active>.progress>.progress-bar{width:50%}.bs-wizard>.bs-wizard-step:first-child.active>.progress>.progress-bar{width:0}.bs-wizard>.bs-wizard-step:last-child.active>.progress>.progress-bar{width:100%}.bs-wizard>.bs-wizard-step.disabled>.bs-wizard-dot{background-color:#f5f5f5}.bs-wizard>.bs-wizard-step.disabled>.bs-wizard-dot:after{opacity:0}.bs-wizard>.bs-wizard-step:first-child>.progress{left:50%;width:50%}.bs-wizard>.bs-wizard-step:last-child>.progress{width:50%}.bs-wizard>.bs-wizard-step.disabled a.bs-wizard-dot{pointer-events:none}.left-navblock{color:#fff;display:inline-block;float:left;padding:0;text-align:left}.skin-red .skin-purple .skin-blue .skin-black .skin-orange .skin-yellow .skin-green .skin-red-dark .skin-purple-dark .skin-blue-dark .skin-black-dark .skin-orange-dark .skin-yellow-dark .skin-green-dark .skin-contrast .main-header .navbar .dropdown-menu li a{color:#333}a.logo.no-hover a:hover{background-color:transparent}.required{border-right:6px solid orange}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:13px}.sidebar-menu{font-size:14px;white-space:normal}@media print{a[href]:after{content:none}.tab-content>.tab-pane{display:block!important;opacity:1!important;visibility:visible!important}}.navbar-brand>img,img.navbar-brand-img{float:left;max-height:50px;padding:5px 5px 5px 0}.input-daterange{border-radius:0}.btn.bg-maroon,.btn.bg-purple{min-width:90px}[hidden]{display:none!important}#toolbar{margin-top:10px}#uploadPreview{border:1px solid grey}.icon-med{color:#889195;font-size:14px}#login-logo{max-width:200px;padding-bottom:10px;padding-top:20px}a.skip-main{height:1px;left:-999px;overflow:hidden;position:absolute;top:auto;width:1px;z-index:-999}a.skip-main:active,a.skip-main:focus{background-color:#000;border:4px solid #ff0;border-radius:15px;color:#fff;font-size:1.2em;height:auto;left:auto;margin:10px 35%;overflow:auto;padding:5px;text-align:center;top:auto;width:30%;z-index:999}h2{font-size:22px}h2.task_menu{font-size:14px}h2 small{font-size:85%}h3{font-size:20px}h4{font-size:16px}.row-striped{box-sizing:border-box;display:table;line-height:2.6;margin-left:20px;padding:0;vertical-align:top}.row-striped .row:nth-of-type(odd) div{background-color:#f9f9f9;border-top:1px solid #ddd;display:table-cell}.row-striped .row:nth-of-type(2n) div{background:#fff;border-top:1px solid #ddd;display:table-cell}.row-new-striped{display:table;line-height:2.6;margin-left:20px;padding:0 20px 0 0;vertical-align:top;width:100%}.row-new-striped>.row:nth-of-type(2n){background:#fff;border-top:1px solid #ddd;display:table-row}.row-new-striped>.row:nth-of-type(odd){background-color:#f8f8f8;border-top:1px solid #ddd;display:table-row}.row-new-striped div{border-top:1px solid #ddd;display:table-cell}.row-new-striped div[class^=col]:first-child{font-weight:700}@media only screen and (max-width:520px){h1.pagetitle{padding-bottom:15px;padding-top:15px}.firstnav{padding-top:120px!important}.product{width:400px}.product img{min-width:400px}}.card-view-title{line-height:3!important;min-width:40%!important;padding-right:20px}.card-view{display:table-row;flex-direction:column}th.css-accessory>.th-inner,th.css-barcode>.th-inner,th.css-consumable>.th-inner,th.css-envelope>.th-inner,th.css-license>.th-inner{text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:0;line-height:.75!important;text-align:left}th.css-accessory>.th-inner:before,th.css-barcode>.th-inner:before,th.css-consumable>.th-inner:before,th.css-envelope>.th-inner:before,th.css-license>.th-inner:before,th.css-padlock>.th-inner:before{display:inline-block;font-family:Font Awesome\ 5 Free;font-size:20px;font-weight:900}th.css-padlock>.th-inner:before{content:"\f023";font-family:Font Awesome\ 5 Free;font-size:12px;font-weight:900;padding-right:4px}th.css-barcode>.th-inner:before{content:"\f02a";font-family:Font Awesome\ 5 Free;font-weight:900}th.css-license>.th-inner:before{content:"\f0c7";font-family:Font Awesome\ 5 Free;font-weight:400}th.css-consumable>.th-inner:before{content:"\f043";font-family:Font Awesome\ 5 Free;font-weight:900}th.css-envelope>.th-inner:before{content:"\f0e0";font-family:Font Awesome\ 5 Free;font-weight:400}th.css-accessory>.th-inner:before{content:"\f11c";font-family:Font Awesome\ 5 Free;font-weight:400}.small-box .inner{color:#fff;padding-left:15px;padding-right:15px;padding-top:15px}.small-box>a:hover,.small-box>a:link,.small-box>a:visited{color:#fff}.select2-container--default .select2-selection--single,.select2-selection .select2-selection--single{border:1px solid #d2d6de;border-radius:0;height:34px;padding:6px 12px}.form-group.has-error label{color:#a94442}.select2-container--default .select2-selection--multiple{border-radius:0}@media screen and (max-width:511px){.tab-content .tab-pane .alert-block{margin-top:120px}.sidebar-menu{margin-top:160px}}@media screen and (max-width:912px) and (min-width:512px){.sidebar-menu{margin-top:100px}}@media screen and (max-width:1268px) and (min-width:912px){.sidebar-menu{margin-top:50px}}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}label.form-control{background-color:inherit;border:0;color:inherit;display:grid;font-size:inherit;font-weight:inherit;gap:.5em;grid-template-columns:1.8em auto;padding-left:0}label.form-control--disabled{color:#959495;cursor:not-allowed;pointer-events:none}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:.05em solid;border-radius:0;color:#959495;display:grid;font:inherit;height:1.8em;margin:0;place-content:center;transform:translateY(-.075em);width:1.8em}input[type=checkbox]:before{background-color:CanvasText;box-shadow:inset 1em 1em #d3d3d3;box-shadow:inset 1em 1em #428bca;-webkit-clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);content:"";height:1em;transform:scale(0);transform-origin:bottom left;transition:transform .12s ease-in-out;width:1em}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:disabled:before,input[type=radio]:disabled:before{box-shadow:inset 1em 1em #d3d3d3;content:"";height:1em;transform:scale(1);width:1em}input[type=checkbox]:disabled:not(:checked):before,input[type=radio]:disabled:not(:checked):before{content:"";cursor:not-allowed;pointer-events:none;transform:scale(0)}input[type=checkbox]:disabled,input[type=radio]:disabled{--form-control-color:#d3d3d3;color:#959495;cursor:not-allowed;pointer-events:none}input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:.05em solid;border-radius:50%;color:#959495;display:grid;font:inherit;height:1.8em;margin:0;place-content:center;transform:translateY(-.075em);width:1.8em}input[type=radio]:before{border-radius:50%;box-shadow:inset 1em 1em #428bca;content:"";height:1em;transform:scale(0);transition:transform .12s ease-in-out;width:1em}input[type=radio]:checked:before{transform:scale(1)}.dropdown-item-marker input[type=checkbox]{font-size:10px}.bootstrap-table .fixed-table-toolbar li.dropdown-item-marker label{display:grid;font-weight:400;gap:1.5em;grid-template-columns:.1em auto}.container.row-striped .col-md-6{overflow-wrap:anywhere}.nav-tabs-custom>.nav-tabs>li{z-index:1}.select2-container .select2-search--inline .select2-search__field{padding-left:15px}.separator{align-items:center;color:#959495;display:flex;padding-top:20px;text-align:center}.separator:after,.separator:before{border-bottom:1px solid #959495;content:"";flex:1}.separator:not(:empty):before{margin-right:.25em}.separator:not(:empty):after{margin-left:.25em}.datepicker.dropdown-menu{z-index:1030!important} diff --git a/public/css/build/overrides.css b/public/css/build/overrides.css index 9675f14e5..6ccba4e4c 100644 --- a/public/css/build/overrides.css +++ b/public/css/build/overrides.css @@ -1 +1 @@ -.skin-red .skin-purple .skin-blue .skin-black .skin-orange .skin-yellow .skin-green .skin-red-dark .skin-purple-dark .skin-blue-dark .skin-black-dark .skin-orange-dark .skin-yellow-dark .skin-green-dark .skin-contrast .main-header .logo{background-color:inherit}.main-header .logo{clear:both;display:block;text-align:left;white-space:nowrap;width:100%!important}.main-header .logo a:hover,.main-header .logo a:visited,.main-header .logoa:link{color:#fff}.huge{font-size:40px}.btn-file{overflow:hidden;position:relative}.dropdown-menu>li>a{color:#354044}#sort tr.cansort{background:#f4f4f4;border-left:2px solid #e6e7e8;border-radius:2px;color:#444;cursor:move;margin-bottom:3px;padding:10px}.user-image-inline{border-radius:50%;float:left;height:25px;margin-right:10px;width:25px}.input-group .input-group-addon{background-color:#f4f4f4}a.accordion-header{color:#333}.dynamic-form-row{margin:20px;padding:10px}.handle{padding-left:10px}.btn-file input[type=file]{background:#fff;cursor:inherit;display:block;filter:alpha(opacity=0);font-size:100px;min-height:100%;min-width:100%;opacity:0;outline:none;position:absolute;right:0;text-align:right;top:0}.main-footer{font-size:13px}.main-header{max-height:150px}.navbar-nav>.user-menu>.dropdown-menu{width:inherit}.main-header .logo{padding:0 5px 0 15px}.sidebar-toggle{background-color:inherit;margin-left:-48px;z-index:100}.sidebar-toggle-mobile{padding-top:10px;width:50px;z-index:100}.pull-text-right{text-align:right!important}.main-header .sidebar-toggle:before{content:"\f0c9";font-family:"Font Awesome\ 5 Free";font-weight:900}.direct-chat-contacts{height:150px;padding:10px}.select2-container{width:100%}.error input{border:2px solid #a94442!important;color:#a94442}.alert-msg,.error label{color:#a94442;display:block}.input-group[class*=col-]{padding-left:15px;padding-right:15px}.control-label.multiline{padding-top:10px}.btn-outline{background-color:transparent;color:inherit;transition:all .5s}.btn-primary.btn-outline{color:#428bca}.btn-success.btn-outline{color:#5cb85c}.btn-info.btn-outline{color:#5bc0de}.btn-warning{background-color:#f39c12!important}.btn-warning.btn-outline{color:#f0ad4e}.btn-danger.btn-outline,a.link-danger:hover,a.link-danger:link,a.link-danger:visited{color:#dd4b39}.btn-danger.btn-outline:hover,.btn-info.btn-outline:hover,.btn-primary.btn-outline:hover,.btn-success.btn-outline:hover,.btn-warning.btn-outline:hover{color:#fff}.slideout-menu{background:#333;color:#fff;height:100%;margin-top:100px;padding:10px;position:fixed;right:-250px;top:0;width:250px;z-index:100}.slideout-menu h3{border-bottom:4px solid #222;color:#fff;font-size:1.2em;font-weight:400;padding:5px;position:relative}.slideout-menu .slideout-menu-toggle{background:#222;color:#999;display:inline-block;font-family:Arial,sans-serif;font-weight:700;line-height:1;padding:6px 9px 5px;position:absolute;right:10px;text-decoration:none;top:12px;vertical-align:top}.slideout-menu .slideout-menu-toggle:hover{color:#fff}.slideout-menu ul{border-bottom:1px solid #454545;border-top:1px solid #151515;font-weight:300;list-style:none}.slideout-menu ul li{border-bottom:1px solid #151515;border-top:1px solid #454545}.slideout-menu ul li a{color:#999;display:block;padding:10px;position:relative;text-decoration:none}.slideout-menu ul li a:hover{background:#000;color:#fff}.slideout-menu ul li a i{opacity:.5;position:absolute;right:10px;top:15px}.btn-box-tool-lg{color:orange;font-size:16px}.bs-wizard{border-bottom:1px solid #e0e0e0;margin-top:20px;padding:0 0 10px}.bs-wizard>.bs-wizard-step{padding:0;position:relative}.bs-wizard>.bs-wizard-step .bs-wizard-stepnum{color:#595959;font-size:16px;margin-bottom:5px}.bs-wizard>.bs-wizard-step .bs-wizard-info{color:#999;font-size:14px}.bs-wizard>.bs-wizard-step>.bs-wizard-dot{background:#fbe8aa;border-radius:50%;display:block;height:30px;left:50%;margin-left:-15px;margin-top:-15px;position:absolute;top:45px;width:30px}.bs-wizard>.bs-wizard-step>.bs-wizard-dot:after{background:#fbbd19;border-radius:50px;content:" ";height:14px;left:8px;position:absolute;top:8px;width:14px}.bs-wizard>.bs-wizard-step>.progress{border-radius:0;box-shadow:none;height:8px;margin:20px 0;position:relative}.bs-wizard>.bs-wizard-step>.progress>.progress-bar{background:#fbe8aa;box-shadow:none;width:0}.bs-wizard>.bs-wizard-step.complete>.progress>.progress-bar{width:100%}.bs-wizard>.bs-wizard-step.active>.progress>.progress-bar{width:50%}.bs-wizard>.bs-wizard-step:first-child.active>.progress>.progress-bar{width:0}.bs-wizard>.bs-wizard-step:last-child.active>.progress>.progress-bar{width:100%}.bs-wizard>.bs-wizard-step.disabled>.bs-wizard-dot{background-color:#f5f5f5}.bs-wizard>.bs-wizard-step.disabled>.bs-wizard-dot:after{opacity:0}.bs-wizard>.bs-wizard-step:first-child>.progress{left:50%;width:50%}.bs-wizard>.bs-wizard-step:last-child>.progress{width:50%}.bs-wizard>.bs-wizard-step.disabled a.bs-wizard-dot{pointer-events:none}.left-navblock{color:#fff;display:inline-block;float:left;padding:0;text-align:left}.skin-red .skin-purple .skin-blue .skin-black .skin-orange .skin-yellow .skin-green .skin-red-dark .skin-purple-dark .skin-blue-dark .skin-black-dark .skin-orange-dark .skin-yellow-dark .skin-green-dark .skin-contrast .main-header .navbar .dropdown-menu li a{color:#333}a.logo.no-hover a:hover{background-color:transparent}.required{border-right:6px solid orange}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:13px}.sidebar-menu{font-size:14px;white-space:normal}@media print{a[href]:after{content:none}.tab-content>.tab-pane{display:block!important;opacity:1!important;visibility:visible!important}}.navbar-brand>img,img.navbar-brand-img{float:left;max-height:50px;padding:5px 5px 5px 0}.input-daterange{border-radius:0}.btn.bg-maroon,.btn.bg-purple{min-width:90px}[hidden]{display:none!important}#toolbar{margin-top:10px}#uploadPreview{border:1px solid grey}.icon-med{color:#889195;font-size:14px}#login-logo{max-width:200px;padding-bottom:10px;padding-top:20px}a.skip-main{height:1px;left:-999px;overflow:hidden;position:absolute;top:auto;width:1px;z-index:-999}a.skip-main:active,a.skip-main:focus{background-color:#000;border:4px solid #ff0;border-radius:15px;color:#fff;font-size:1.2em;height:auto;left:auto;margin:10px 35%;overflow:auto;padding:5px;text-align:center;top:auto;width:30%;z-index:999}h2{font-size:22px}h2.task_menu{font-size:14px}h2 small{font-size:85%}h3{font-size:20px}h4{font-size:16px}.row-striped{box-sizing:border-box;display:table;line-height:2.6;margin-left:20px;padding:0;vertical-align:top}.row-striped .row:nth-of-type(odd) div{background-color:#f9f9f9;border-top:1px solid #ddd;display:table-cell}.row-striped .row:nth-of-type(2n) div{background:#fff;border-top:1px solid #ddd;display:table-cell}.row-new-striped{display:table;line-height:2.6;margin-left:20px;padding:0 20px 0 0;vertical-align:top;width:100%}.row-new-striped>.row:nth-of-type(2n){background:#fff;border-top:1px solid #ddd;display:table-row}.row-new-striped>.row:nth-of-type(odd){background-color:#f8f8f8;border-top:1px solid #ddd;display:table-row}.row-new-striped div{border-top:1px solid #ddd;display:table-cell}.row-new-striped div[class^=col]:first-child{font-weight:700}@media only screen and (max-width:520px){h1.pagetitle{padding-bottom:15px;padding-top:15px}.firstnav{padding-top:120px!important}.product{width:400px}.product img{min-width:400px}}.card-view-title{line-height:3!important;min-width:40%!important;padding-right:20px}.card-view{display:table-row;flex-direction:column}th.css-accessory>.th-inner,th.css-barcode>.th-inner,th.css-consumable>.th-inner,th.css-envelope>.th-inner,th.css-license>.th-inner{text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:0;line-height:.75!important;text-align:left}th.css-accessory>.th-inner:before,th.css-barcode>.th-inner:before,th.css-consumable>.th-inner:before,th.css-envelope>.th-inner:before,th.css-license>.th-inner:before,th.css-padlock>.th-inner:before{display:inline-block;font-family:Font Awesome\ 5 Free;font-size:20px;font-weight:900}th.css-padlock>.th-inner:before{content:"\f023";font-family:Font Awesome\ 5 Free;font-size:12px;font-weight:900;padding-right:4px}th.css-barcode>.th-inner:before{content:"\f02a";font-family:Font Awesome\ 5 Free;font-weight:900}th.css-license>.th-inner:before{content:"\f0c7";font-family:Font Awesome\ 5 Free;font-weight:400}th.css-consumable>.th-inner:before{content:"\f043";font-family:Font Awesome\ 5 Free;font-weight:900}th.css-envelope>.th-inner:before{content:"\f0e0";font-family:Font Awesome\ 5 Free;font-weight:400}th.css-accessory>.th-inner:before{content:"\f11c";font-family:Font Awesome\ 5 Free;font-weight:400}.small-box .inner{color:#fff;padding-left:15px;padding-right:15px;padding-top:15px}.small-box>a:hover,.small-box>a:link,.small-box>a:visited{color:#fff}.select2-container--default .select2-selection--single,.select2-selection .select2-selection--single{border:1px solid #d2d6de;border-radius:0;height:34px;padding:6px 12px}.form-group.has-error label{color:#a94442}.select2-container--default .select2-selection--multiple{border-radius:0}@media screen and (max-width:511px){.tab-content .tab-pane .alert-block{margin-top:120px}.sidebar-menu{margin-top:160px}}@media screen and (max-width:912px) and (min-width:512px){.sidebar-menu{margin-top:100px}}@media screen and (max-width:1268px) and (min-width:912px){.sidebar-menu{margin-top:50px}}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}label.form-control{background-color:inherit;border:0;color:inherit;display:grid;font-size:inherit;font-weight:inherit;gap:.5em;grid-template-columns:1.8em auto;padding-left:0}label.form-control--disabled{color:#959495;cursor:not-allowed;pointer-events:none}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:.05em solid;border-radius:0;color:#959495;display:grid;font:inherit;height:1.8em;margin:0;place-content:center;transform:translateY(-.075em);width:1.8em}input[type=checkbox]:before{background-color:CanvasText;box-shadow:inset 1em 1em #d3d3d3;box-shadow:inset 1em 1em #428bca;-webkit-clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);content:"";height:1em;transform:scale(0);transform-origin:bottom left;transition:transform .12s ease-in-out;width:1em}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:disabled:before,input[type=radio]:disabled:before{box-shadow:inset 1em 1em #d3d3d3;content:"";height:1em;transform:scale(1);width:1em}input[type=checkbox]:disabled:not(:checked):before,input[type=radio]:disabled:not(:checked):before{content:"";cursor:not-allowed;pointer-events:none;transform:scale(0)}input[type=checkbox]:disabled,input[type=radio]:disabled{--form-control-color:#d3d3d3;color:#959495;cursor:not-allowed;pointer-events:none}input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:.05em solid;border-radius:50%;color:#959495;display:grid;font:inherit;height:1.8em;margin:0;place-content:center;transform:translateY(-.075em);width:1.8em}input[type=radio]:before{border-radius:50%;box-shadow:inset 1em 1em #428bca;content:"";height:1em;transform:scale(0);transition:transform .12s ease-in-out;width:1em}input[type=radio]:checked:before{transform:scale(1)}.dropdown-item-marker input[type=checkbox]{font-size:10px}.bootstrap-table .fixed-table-toolbar li.dropdown-item-marker label{display:grid;font-weight:400;gap:1.5em;grid-template-columns:.1em auto}.container.row-striped .col-md-6{overflow-wrap:anywhere}.nav-tabs-custom>.nav-tabs>li{z-index:1}.select2-container .select2-search--inline .select2-search__field{padding-left:15px}.separator{align-items:center;color:#959495;display:flex;padding-top:20px;text-align:center}.separator:after,.separator:before{border-bottom:1px solid #959495;content:"";flex:1}.separator:not(:empty):before{margin-right:.25em}.separator:not(:empty):after{margin-left:.25em} +.skin-red .skin-purple .skin-blue .skin-black .skin-orange .skin-yellow .skin-green .skin-red-dark .skin-purple-dark .skin-blue-dark .skin-black-dark .skin-orange-dark .skin-yellow-dark .skin-green-dark .skin-contrast .main-header .logo{background-color:inherit}.main-header .logo{clear:both;display:block;text-align:left;white-space:nowrap;width:100%!important}.main-header .logo a:hover,.main-header .logo a:visited,.main-header .logoa:link{color:#fff}.huge{font-size:40px}.btn-file{overflow:hidden;position:relative}.dropdown-menu>li>a{color:#354044}#sort tr.cansort{background:#f4f4f4;border-left:2px solid #e6e7e8;border-radius:2px;color:#444;cursor:move;margin-bottom:3px;padding:10px}.user-image-inline{border-radius:50%;float:left;height:25px;margin-right:10px;width:25px}.input-group .input-group-addon{background-color:#f4f4f4}a.accordion-header{color:#333}.dynamic-form-row{margin:20px;padding:10px}.handle{padding-left:10px}.btn-file input[type=file]{background:#fff;cursor:inherit;display:block;filter:alpha(opacity=0);font-size:100px;min-height:100%;min-width:100%;opacity:0;outline:none;position:absolute;right:0;text-align:right;top:0}.main-footer{font-size:13px}.main-header{max-height:150px}.navbar-nav>.user-menu>.dropdown-menu{width:inherit}.main-header .logo{padding:0 5px 0 15px}.sidebar-toggle{background-color:inherit;margin-left:-48px;z-index:100}.sidebar-toggle-mobile{padding-top:10px;width:50px;z-index:100}.pull-text-right{text-align:right!important}.main-header .sidebar-toggle:before{content:"\f0c9";font-family:"Font Awesome\ 5 Free";font-weight:900}.direct-chat-contacts{height:150px;padding:10px}.select2-container{width:100%}.error input{border:2px solid #a94442!important;color:#a94442}.alert-msg,.error label{color:#a94442;display:block}.input-group[class*=col-]{padding-left:15px;padding-right:15px}.control-label.multiline{padding-top:10px}.btn-outline{background-color:transparent;color:inherit;transition:all .5s}.btn-primary.btn-outline{color:#428bca}.btn-success.btn-outline{color:#5cb85c}.btn-info.btn-outline{color:#5bc0de}.btn-warning{background-color:#f39c12!important}.btn-warning.btn-outline{color:#f0ad4e}.btn-danger.btn-outline,a.link-danger:hover,a.link-danger:link,a.link-danger:visited{color:#dd4b39}.btn-danger.btn-outline:hover,.btn-info.btn-outline:hover,.btn-primary.btn-outline:hover,.btn-success.btn-outline:hover,.btn-warning.btn-outline:hover{color:#fff}.slideout-menu{background:#333;color:#fff;height:100%;margin-top:100px;padding:10px;position:fixed;right:-250px;top:0;width:250px;z-index:100}.slideout-menu h3{border-bottom:4px solid #222;color:#fff;font-size:1.2em;font-weight:400;padding:5px;position:relative}.slideout-menu .slideout-menu-toggle{background:#222;color:#999;display:inline-block;font-family:Arial,sans-serif;font-weight:700;line-height:1;padding:6px 9px 5px;position:absolute;right:10px;text-decoration:none;top:12px;vertical-align:top}.slideout-menu .slideout-menu-toggle:hover{color:#fff}.slideout-menu ul{border-bottom:1px solid #454545;border-top:1px solid #151515;font-weight:300;list-style:none}.slideout-menu ul li{border-bottom:1px solid #151515;border-top:1px solid #454545}.slideout-menu ul li a{color:#999;display:block;padding:10px;position:relative;text-decoration:none}.slideout-menu ul li a:hover{background:#000;color:#fff}.slideout-menu ul li a i{opacity:.5;position:absolute;right:10px;top:15px}.btn-box-tool-lg{color:orange;font-size:16px}.bs-wizard{border-bottom:1px solid #e0e0e0;margin-top:20px;padding:0 0 10px}.bs-wizard>.bs-wizard-step{padding:0;position:relative}.bs-wizard>.bs-wizard-step .bs-wizard-stepnum{color:#595959;font-size:16px;margin-bottom:5px}.bs-wizard>.bs-wizard-step .bs-wizard-info{color:#999;font-size:14px}.bs-wizard>.bs-wizard-step>.bs-wizard-dot{background:#fbe8aa;border-radius:50%;display:block;height:30px;left:50%;margin-left:-15px;margin-top:-15px;position:absolute;top:45px;width:30px}.bs-wizard>.bs-wizard-step>.bs-wizard-dot:after{background:#fbbd19;border-radius:50px;content:" ";height:14px;left:8px;position:absolute;top:8px;width:14px}.bs-wizard>.bs-wizard-step>.progress{border-radius:0;box-shadow:none;height:8px;margin:20px 0;position:relative}.bs-wizard>.bs-wizard-step>.progress>.progress-bar{background:#fbe8aa;box-shadow:none;width:0}.bs-wizard>.bs-wizard-step.complete>.progress>.progress-bar{width:100%}.bs-wizard>.bs-wizard-step.active>.progress>.progress-bar{width:50%}.bs-wizard>.bs-wizard-step:first-child.active>.progress>.progress-bar{width:0}.bs-wizard>.bs-wizard-step:last-child.active>.progress>.progress-bar{width:100%}.bs-wizard>.bs-wizard-step.disabled>.bs-wizard-dot{background-color:#f5f5f5}.bs-wizard>.bs-wizard-step.disabled>.bs-wizard-dot:after{opacity:0}.bs-wizard>.bs-wizard-step:first-child>.progress{left:50%;width:50%}.bs-wizard>.bs-wizard-step:last-child>.progress{width:50%}.bs-wizard>.bs-wizard-step.disabled a.bs-wizard-dot{pointer-events:none}.left-navblock{color:#fff;display:inline-block;float:left;padding:0;text-align:left}.skin-red .skin-purple .skin-blue .skin-black .skin-orange .skin-yellow .skin-green .skin-red-dark .skin-purple-dark .skin-blue-dark .skin-black-dark .skin-orange-dark .skin-yellow-dark .skin-green-dark .skin-contrast .main-header .navbar .dropdown-menu li a{color:#333}a.logo.no-hover a:hover{background-color:transparent}.required{border-right:6px solid orange}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:13px}.sidebar-menu{font-size:14px;white-space:normal}@media print{a[href]:after{content:none}.tab-content>.tab-pane{display:block!important;opacity:1!important;visibility:visible!important}}.navbar-brand>img,img.navbar-brand-img{float:left;max-height:50px;padding:5px 5px 5px 0}.input-daterange{border-radius:0}.btn.bg-maroon,.btn.bg-purple{min-width:90px}[hidden]{display:none!important}#toolbar{margin-top:10px}#uploadPreview{border:1px solid grey}.icon-med{color:#889195;font-size:14px}#login-logo{max-width:200px;padding-bottom:10px;padding-top:20px}a.skip-main{height:1px;left:-999px;overflow:hidden;position:absolute;top:auto;width:1px;z-index:-999}a.skip-main:active,a.skip-main:focus{background-color:#000;border:4px solid #ff0;border-radius:15px;color:#fff;font-size:1.2em;height:auto;left:auto;margin:10px 35%;overflow:auto;padding:5px;text-align:center;top:auto;width:30%;z-index:999}h2{font-size:22px}h2.task_menu{font-size:14px}h2 small{font-size:85%}h3{font-size:20px}h4{font-size:16px}.row-striped{box-sizing:border-box;display:table;line-height:2.6;margin-left:20px;padding:0;vertical-align:top}.row-striped .row:nth-of-type(odd) div{background-color:#f9f9f9;border-top:1px solid #ddd;display:table-cell}.row-striped .row:nth-of-type(2n) div{background:#fff;border-top:1px solid #ddd;display:table-cell}.row-new-striped{display:table;line-height:2.6;margin-left:20px;padding:0 20px 0 0;vertical-align:top;width:100%}.row-new-striped>.row:nth-of-type(2n){background:#fff;border-top:1px solid #ddd;display:table-row}.row-new-striped>.row:nth-of-type(odd){background-color:#f8f8f8;border-top:1px solid #ddd;display:table-row}.row-new-striped div{border-top:1px solid #ddd;display:table-cell}.row-new-striped div[class^=col]:first-child{font-weight:700}@media only screen and (max-width:520px){h1.pagetitle{padding-bottom:15px;padding-top:15px}.firstnav{padding-top:120px!important}.product{width:400px}.product img{min-width:400px}}.card-view-title{line-height:3!important;min-width:40%!important;padding-right:20px}.card-view{display:table-row;flex-direction:column}th.css-accessory>.th-inner,th.css-barcode>.th-inner,th.css-consumable>.th-inner,th.css-envelope>.th-inner,th.css-license>.th-inner{text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:0;line-height:.75!important;text-align:left}th.css-accessory>.th-inner:before,th.css-barcode>.th-inner:before,th.css-consumable>.th-inner:before,th.css-envelope>.th-inner:before,th.css-license>.th-inner:before,th.css-padlock>.th-inner:before{display:inline-block;font-family:Font Awesome\ 5 Free;font-size:20px;font-weight:900}th.css-padlock>.th-inner:before{content:"\f023";font-family:Font Awesome\ 5 Free;font-size:12px;font-weight:900;padding-right:4px}th.css-barcode>.th-inner:before{content:"\f02a";font-family:Font Awesome\ 5 Free;font-weight:900}th.css-license>.th-inner:before{content:"\f0c7";font-family:Font Awesome\ 5 Free;font-weight:400}th.css-consumable>.th-inner:before{content:"\f043";font-family:Font Awesome\ 5 Free;font-weight:900}th.css-envelope>.th-inner:before{content:"\f0e0";font-family:Font Awesome\ 5 Free;font-weight:400}th.css-accessory>.th-inner:before{content:"\f11c";font-family:Font Awesome\ 5 Free;font-weight:400}.small-box .inner{color:#fff;padding-left:15px;padding-right:15px;padding-top:15px}.small-box>a:hover,.small-box>a:link,.small-box>a:visited{color:#fff}.select2-container--default .select2-selection--single,.select2-selection .select2-selection--single{border:1px solid #d2d6de;border-radius:0;height:34px;padding:6px 12px}.form-group.has-error label{color:#a94442}.select2-container--default .select2-selection--multiple{border-radius:0}@media screen and (max-width:511px){.tab-content .tab-pane .alert-block{margin-top:120px}.sidebar-menu{margin-top:160px}}@media screen and (max-width:912px) and (min-width:512px){.sidebar-menu{margin-top:100px}}@media screen and (max-width:1268px) and (min-width:912px){.sidebar-menu{margin-top:50px}}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}label.form-control{background-color:inherit;border:0;color:inherit;display:grid;font-size:inherit;font-weight:inherit;gap:.5em;grid-template-columns:1.8em auto;padding-left:0}label.form-control--disabled{color:#959495;cursor:not-allowed;pointer-events:none}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:.05em solid;border-radius:0;color:#959495;display:grid;font:inherit;height:1.8em;margin:0;place-content:center;transform:translateY(-.075em);width:1.8em}input[type=checkbox]:before{background-color:CanvasText;box-shadow:inset 1em 1em #d3d3d3;box-shadow:inset 1em 1em #428bca;-webkit-clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);content:"";height:1em;transform:scale(0);transform-origin:bottom left;transition:transform .12s ease-in-out;width:1em}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:disabled:before,input[type=radio]:disabled:before{box-shadow:inset 1em 1em #d3d3d3;content:"";height:1em;transform:scale(1);width:1em}input[type=checkbox]:disabled:not(:checked):before,input[type=radio]:disabled:not(:checked):before{content:"";cursor:not-allowed;pointer-events:none;transform:scale(0)}input[type=checkbox]:disabled,input[type=radio]:disabled{--form-control-color:#d3d3d3;color:#959495;cursor:not-allowed;pointer-events:none}input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:.05em solid;border-radius:50%;color:#959495;display:grid;font:inherit;height:1.8em;margin:0;place-content:center;transform:translateY(-.075em);width:1.8em}input[type=radio]:before{border-radius:50%;box-shadow:inset 1em 1em #428bca;content:"";height:1em;transform:scale(0);transition:transform .12s ease-in-out;width:1em}input[type=radio]:checked:before{transform:scale(1)}.dropdown-item-marker input[type=checkbox]{font-size:10px}.bootstrap-table .fixed-table-toolbar li.dropdown-item-marker label{display:grid;font-weight:400;gap:1.5em;grid-template-columns:.1em auto}.container.row-striped .col-md-6{overflow-wrap:anywhere}.nav-tabs-custom>.nav-tabs>li{z-index:1}.select2-container .select2-search--inline .select2-search__field{padding-left:15px}.separator{align-items:center;color:#959495;display:flex;padding-top:20px;text-align:center}.separator:after,.separator:before{border-bottom:1px solid #959495;content:"";flex:1}.separator:not(:empty):before{margin-right:.25em}.separator:not(:empty):after{margin-left:.25em}.datepicker.dropdown-menu{z-index:1030!important} diff --git a/public/css/dist/all.css b/public/css/dist/all.css index 34826a963..3bd5318d3 100644 --- a/public/css/dist/all.css +++ b/public/css/dist/all.css @@ -25,4 +25,4 @@ * Licensed under the Apache License v2.0 * http://www.apache.org/licenses/LICENSE-2.0.txt * - */.colorpicker-saturation{width:100px;height:100px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAQAAADa613fAAAP9klEQVR4XnRWC47rNgwcKjlA0bv2VL1Qi/YELRav7203iS1ppqZoiXCAhuBHVLI74xFtG3/Hz2joIOjRGuR5eMYuRn9YA1fds859KX8ZvczLr9/pImiR3Rqky9/wlajRIdVE/1Rufeu/0No3/ASgBZAJUkwgi0iCaEatekJJoEqiTQncd67/gyOfRCZshTed0Nl8LbLj8D6qxtoq9/7kJz/aH/3Xfu8VwI5+AUH8DxE7gUyiIpZ5LwiGzUqE3CScJsCDQHAsvBnxWpkbC0QMHmBp6latWS0bnvrCN/x1+xPfce+Ij0GAyeAGGz15sOiax2UylPhKrFaMPnVWClwepKh07hdhkVDsK2uoyEIySergjdbY2VBtV8VLr8Mf9mF/4wMb7kR8FOhzFWZZe7HIZD9JRIbee28eJKBweTB6TwjYkAgWaUmtDveGw1Wx3zZ76YlPPfQd/+gTTUFkiGiJ+NQAszU1EPT/QJEgufolAMPkNU4CVOyUIBLg4xglEZHGQnTFOFV0VaulYddBhA986ge/7N/yQi/3flFgwfQq2ibLnTDBRl9TmUHyJASPV/eoN0UISIr+ICQKIFV4EpljSjV1uFVUq9hRtet5e9gXvuyHPW0zMhQxWaoBBa9Tg8vsCEhww23Smd0CKjIkmPIoxWrUBDgJqFCyESF43ctQxLUoHN7Q1KyVhqrNNm3cy2vMyQNPVKjc29Rh5SSU+giWdRJHkLnQG71FQEuNyNGBTDdBQQAKCuGiEUS/jcyGbkMPq931OIzb/dUPGuVlG7f+slqkO5NAAlzTMdcq0NkzmsEBmAQkbI+pSHbiqnuWIA6lijhvqwIxMyWxMGZiPU669XJE1tADDTs2HWpwKxuqdnTpOiOR42xlzLtm3pXGel3xd8/oTs8Xy0MV8GM1RlsC2Y3Wy3wut3M+2mEVux0Gt9fhzTWyLvGiiJYaqY5DWRFIwAiQ5r6gB9GpQihJw4I9j5Mkscj3BnzGjBhv8xna5P1Jo428o6IOPY5KFZtVOkEKqUjqQY9Gi+jrIOFwJUDzRtA9xyoIrGGmkNRmxVAnZoK+TkUIeUYni5wEzgOG5iZX5HCr2JyQNqdk++G0rgb1ochSIGutTj4P7F0PuRUAolmh5sCzAHn1BYyaADh6bgFeoBx6vst091CEvcSLWBBpqGq384jZ5llVHSwEShLx+D4d0mU3D5eEAJQ9KEhOZUYnDENV2qKgmIlQhWfdvcoXYaegPp/n1oKIOgYFqxrzQSciqNhv/5FqPpy6b0UcX2vf13DfWySRSEgkEYlEJJGQSyKJSEQSCYlEEpHexIVO3XOevffze2a+PfPv9x1rne1c3b3Mmlmz9mE++zuzngfnw/E+Dlc4LL4NwHdFy7u3KGPVmZ6/4eeMoDyre3i/KHADIHYO04w9zO0mAotuKnrc7XaPjvu66bNe5cDT7RlPepEnfS2X8dF1/utDvD+OwGDBxEgQywLCvIMYWBY+DShwAAORAdv9PswhDAqOUCi5+71AbFcDMR4xBDNfhySKXPXZ1+Vub+Q1Ltf5z7eC0AjVldHI26rIFdKIAyYBJCFVUhVDwttAnM52B3Ect1TFQXzJ0z33lOuib/QO8g+CuO0gKBRU80A8hkeJ0b1KRQWmFQVSh8mf3lpUpNaRulzN5NArrmKKGMijXgzk7w5ijdFVgT8f1IdFNjVWjDWicUYWEEMmSFDtILdzHW5XueHp7p+yuS54ep5/c5BE2Gw/gWPNYU4/PZaak2VGEsFjSbOf8irea6KQgojGCk0KxZY31tWWgzwayF8N5KYyo3VADVicWWrhwzr3ZqIOa5xW5zbqMPPMiyDURHDIHQTeWq7KFXcQPOqzPOL5Ov/iIDEDy7DHEwx0PTgjO8SS0fOEHcZNMt+XKEFMj8Q4QUSvPu6HPuvd4N9/x12RPwcIVRCAakSOUzHgsUSMFWYzDQ+PiOJqAOuYc9jh5TecnA+xHfFyOYhebeTH89P80wrCJzUjlsx7euIV0g4zQFUSiBPioIWBACFC7GgDj8P91ZSJOQmQP74MAnQo8H5RIe8kZ0kBcQCMAlEpRDiKROBxbR0ksdhWFq0gR9q9uQzkDzuIFQSPqAgRCAsCaVNF2ZAAhxvtzcqcnDk6tpXxSsayqXLIgSOb6zqeH+fvO0i9XEu5EVV+OZehRZJ6BGTeaRhCkTzVIZeAzaWGAFfErIPogQI5CuR3HQQx7DzBB16R3s7e0MBUPedjWutgG/JUTPqMeAQNEiytJRnJearWUgdwFNxN7rtBoECuj/O3BMHaTIxQ0a4GctireElTJHJvLTaalih5kvBCGMvkdESUMAdCFaI4yG8SpDfRWAptqkAJUwCG6B7lOREFSZBqKs57MEHqVJEBwHa2lp0OiKtiQ18gx9P89QrSXyc0vObBM4vPmBADqJZLAo/yzK7qPSZstCy+fDSZlhrm+Zkyjsf5q2otdC14zkLjHLf0me9wjNqQo0B1a6wBJRaIEgC2Qw9oby/cRHA+xHCQy/xlB1HVSV3Y/5yVhsc7dBi2UoIWCMcbELZWgxNCGUZ5y4ceBaLlE8dAfrEosrYT+z8ya3sxXndFBxuQivNGEHFCbLGBlBLKGYHZoeoQpcjtMn/uICPefcxecpuDOEemg9S/44cflZPIlWolyHkLrEpgbS9IQRlAgZgi0WDjsEiPh+PN/Fkogq4GdzPtarlRGW2tJwEK1RMTEvdVdmhAKHO1pdUuGQsVcX+rSfGzDbwGyE8NRPQc83HCaOkTZwPqABZBdFq8zAN1gue0FPO8wYUFBE1WkMwVzM1iQ4BItFh+H36Qy/yJg0DRQICmBl+tbKUC5cCj3yXI+SUFBS78ZAcBtHt+e9lBuiqpTNh9zTvIjzuIWxVYGQJpAZY+VWS3QKh84iSZbwuIdiDpc4KztQa/sjhMaDJEJDSZ8mZ+kCBdC0JpKVNQzZdKu+EsOeFCosrngVAkDS/uy6iGnW7UxmMpkB8FyFKo6iQW8z1HuBdMu1pdkZdB8jWTjlFtNaiJRYniIDcD+eECMqFLS9ED6DgxzCMKnRD3HYYA2uMCJUh70OK8G0EUnJV8lqe8nj84QdqLhdoJskNlEw1ivajM8LtPBhIeN99LESXI9xcQIHFQudHngZjUhXOQeGlUYmAddh5pxMhzV0M1vMAtMFIVmfp6fq+DgEWefjQVenstaqUy3bJQAiVlEihDghCDINFQg8oUhoQPkO8SBEM7SFQ72VYBwPuE7k8uYF5LNwg/TEd2zkuKjIIhTiJRlYrDfNS1QL7DYUcbcCyKJNwOwucVCVSwBBj/DwghXA2hQtACgCBBPprfXkAIFIYRXhONQARFU00Tsh6LEmmQUbkTImMi9me5qaHDIeBgHeRbdxAIqAJBCDSoCNVQglrciqX/ZCD9RRP6rgpBvhmKAFhg2ForBLXBYPtUjj7vCHPe8SXbYAY47gHB9mKeqjjIg/53fmMD0fR9Bug7SFcHI6EA1OC/E8QTL4NgBSGiCiyTChnI1zcQxmyfRZGM6w701KRybDvsIK3LWDx6mxGkcglEZQLkawnCdppZ6sgCh8trWWBUQaUWCEOlOs7HAenFE45QSu9RQQDAqchXNxDq4orQR44qRIFUQvM+mRJuB6GDEixgCbSBQGXghEEbdn1P/zO/QhAWCsWsmRhLa2VFkSZIgSVKmgEQhvk6K8YKMRZl7Dwg4amOUYvFBfLlE4RasOCB5S9PXKq0AqGDMiYIReXF0mYctITWBmqR5F38X5Y7yJfeCtKBzNbWYm5XpsMpf3dRZD3jPDesvdVCOs6KYQXIFw1E4fcE8dHWOepZBXpLJcACWUZVMRZbfvgXR4Ak8A7VVSKSVuu9p6/mFxyE7cOWavtLp952O8huK83+gmHzHaAsVXLgAvl8gPCvHzAFsM8GNXGKPH5cmN02sXTLa8QdKRXMzHv67/k5A9k1UIx36UH/VlWWtuKssNiRapB6BaLXl6MA+ayDcNS3v/sYXgCL620F1kk8QhKAEOvKu4DvajDO5zkHc4fBg76anyEIIcamBPex5EK8AoVHhMW7QAqWrYD1204CJB1hCfOAV/PTBPH0zBmJmsZZKCEaAmdqm4zMcYxYLN0JuHThIAjirAnp3px7TRgD+ZSD/K92M1CNIgbC8Ex7FkSEIlQEEUQEQQQBRBABEUQQEQTx3X0Evap9AhP39jL5OvuzAWuvbDaTTDIzX2aypUCJ0i7nAigoQAk9gUIUSxXEoCFyyVIuL9ZQcMZoArnwr4D0OLS8jGNGTgGnsZQWMYrcOARoIReAALBeWhf+RUCAIEsECFQHLkwR5zj4JW3t5WOUU5djvgQIawD53EDsctmYz8xGaZGPBUR3qNkiGwqDICUYIFpqBgRaayCfFiAWR2wWvoobmzxdF8N5kyxXmvap/sgGcLF/aoBosbG+lE395R8zCA4BqUYgOgYq+HtvBrT0LK15X8lZwx5f9klCX0rdgXzIIGbdhXMqZtHzJhuptEjmsFc4KzmN5IFPtfM7gWw2kPczSIqQSPUDYKYBMamsBCpKphW0iA5H8AbMDPJOQYjLZg1Vk4G49GlCYNYAkdOd0kwRQ8FCyAHydgLZ6Z2AqrVtjDUQ7hCEmrkEooDAsB2YnBCvkBpZ6yBvJpCd7Mn5zJ6C4QF2BUQPgHEIGUrGnHzQ8rlMekBeTyAzwDJksxwM4+w3BY02B8mIl0CmFRm+ZscxAuSnvwqQsECTIGSV6FEoJFTygVuzB5xAsKqBvAQE3+nkVoJDI1BJIaPBWik7ZSu5NIp5A3mRQaTFvLgkO9fVgEgMqqeVfb+p55tijWH+Kea71ubq4v8Sl8089sZKbKEZNq+VUfISJJF7j79WrbYgS994ZEf+nIz0pNFRWqapSmK6P45i3OQuItIiPDyg6RnxZ4D0g+CFPxAzluoRsWsaA6I6JOqVWCisDvJ0BgHTzMSRgMi0vmi8R+sR6tg/XUh7kCc7kMRqSNkTBDx0OkAUegFcMazciBXNpm798R6klXap/WZz49TQwBHqEcj4oCToUPjUuP9lfxcbyKMAwT6bTf1qqIIQDl3i5oCERNmVm0wgW4A8BGRxMX3hWh8bEV5Rvfp4DS5F3djWH2ztDNWKW7OBjgjIwsDWaKRknJjqMsh9QCa1p608lLovFkBE969DYtYelSzwSRcg535vAsFeNU9SzRCYZb4LDmxmFQKkwYGM+5y/G7b1uxMIylLdyE5yxIyYsoXWhQIpzQhYPi3JkJoKkB9+BxD0OMuyOEBe36DgyPSrxscmATldgKj8PxrkA/kA5PYMgkrocwIQ6GSRGmF0VaNqBKQZ5FYDEZSDzFTzq9mBQjAayE1A+ryDTzcQZe0Ibbxj7EwpAmTrJwEimZR9CCPtODhzxuNtY19Zd2Lf/fjCTnEiDAOg62j1utb/dv9mZ/aHCj4AyOHbsW3/As0BTzIgeJU7AAAAAElFTkSuQmCC");cursor:crosshair;float:left}.colorpicker-saturation i{display:block;height:5px;width:5px;border:1px solid #000;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;position:absolute;top:0;left:0;margin:-4px 0 0 -4px}.colorpicker-saturation i b{display:block;height:5px;width:5px;border:1px solid #fff;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.colorpicker-alpha,.colorpicker-hue{width:15px;height:100px;float:left;cursor:row-resize;margin-left:4px;margin-bottom:4px}.colorpicker-alpha i,.colorpicker-hue i{display:block;height:1px;background:#000;border-top:1px solid #fff;position:absolute;top:0;left:0;width:100%;margin-top:-1px}.colorpicker-hue{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAMAAABw8qpSAAABLFBMVEXqFBb/ABH/ACL/ADH/AEH/AFD/AGD/AG7/AH7/AI3/AJ3/AKz/ALz/AMr/ANv/AOr/APr2AP/mAP/XAP/HAP+4AP+oAP+aAP+JAP97AP9rAP9cAP9MAP8+AP8tAP8fAP8PAP8BAv8AEP8AH/8AL/8APv8ATv8AXP8Abf8Ae/8Ai/8Amv8Aqv8AuP8Ayf8A1/8A5/8A9/8A//gA/+kA/9kA/8oA/7oA/6wA/5sA/40A/30A/24A/14A/1AA/z8A/zEA/yEA/xEB/wMN/wAd/wAs/wA8/wBK/wBb/wBp/wB5/wCI/wCY/wCm/wC3/wDF/wDV/wDk/wD1/wD/+gD/7AD/3AD/zAD/vgD/rQD/nwD/jgD/gAD/cAD/YgD/UQD/QwD/MgD/JAD/FAD4Eg42qAedAAAAh0lEQVR4XgXAg3EDAAAAwI9to7Zt27a1/w49BASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTS1tHXo1KVbj159+g0YNGTYiFFjxk2YNGXajFlz5i1YtGTZilVr1m3YtGXbjl179h04dOTYiVNnzl24dOXajVt37j149OTZi1dv3n349OXbj19//wOxE1dQ8reGAAAAAElFTkSuQmCC")}.colorpicker-alpha{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAQAAAAVxWkcAAABr0lEQVR4Xo2VwU0DQQxF7dmRuNIFlzlSAR3QAaXQQdIBJVABFXDcOVAAd67cjJLR07dkhcSrkZKfb/t7bG88rFo3B5gZPMNycItu2xloGV7MWHzM9zuzFWCkmA0nK6AszCUJDW6+mG6R03ncw5v8EMTEvZ2O3AliYjpslblc0RF9LmZYWxURU6aKytWZYsoWCAe+xwOZp1GsEukGiIkYxcQCHck99+gRgB7JncyIB5SGEhP3Yh5P6JwX+u6AnYot104d8DJT7uH7M9JH6OZbimj0vfMVaYnJIZFJDBW9kHlerL2C6JV4mSt7uuo2N57RxnZ+usQjn0R1jwBJBrNO3evJpVYUWsJ/E3UiXRlv24/7YZ04xmEdWlzcKS+B/eapeyMvFd2k0+hRk/T0AmTW8h69s2sjYMsdPntECiILhAeIMZAeH4QvUwfn6ijC0tTV+fT9ky8jM9nK2g7Ly1VjSpKYq6IvsAm7MtNu1orEqa/K3KNvgMFdhfquPfJmp2dbh0/8Gzb6Y22ViaNr6n5410zXdngVhbu6XqdOtWOuin5hjABGp4a2uotZ71MVCfwDBt2/v37yo6AAAAAASUVORK5CYII=");display:none}.colorpicker-alpha,.colorpicker-hue,.colorpicker-saturation{background-size:contain}.colorpicker{padding:4px;min-width:130px;margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;z-index:2500}.colorpicker:after,.colorpicker:before{display:table;content:"";line-height:0}.colorpicker:after{clear:both}.colorpicker:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,.2);position:absolute;top:-7px;left:6px}.colorpicker:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;top:-6px;left:7px}.colorpicker div{position:relative}.colorpicker.colorpicker-with-alpha{min-width:140px}.colorpicker.colorpicker-with-alpha .colorpicker-alpha{display:block}.colorpicker-color{height:10px;margin-top:5px;clear:both;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAQAAAAVxWkcAAABr0lEQVR4Xo2VwU0DQQxF7dmRuNIFlzlSAR3QAaXQQdIBJVABFXDcOVAAd67cjJLR07dkhcSrkZKfb/t7bG88rFo3B5gZPMNycItu2xloGV7MWHzM9zuzFWCkmA0nK6AszCUJDW6+mG6R03ncw5v8EMTEvZ2O3AliYjpslblc0RF9LmZYWxURU6aKytWZYsoWCAe+xwOZp1GsEukGiIkYxcQCHck99+gRgB7JncyIB5SGEhP3Yh5P6JwX+u6AnYot104d8DJT7uH7M9JH6OZbimj0vfMVaYnJIZFJDBW9kHlerL2C6JV4mSt7uuo2N57RxnZ+usQjn0R1jwBJBrNO3evJpVYUWsJ/E3UiXRlv24/7YZ04xmEdWlzcKS+B/eapeyMvFd2k0+hRk/T0AmTW8h69s2sjYMsdPntECiILhAeIMZAeH4QvUwfn6ijC0tTV+fT9ky8jM9nK2g7Ly1VjSpKYq6IvsAm7MtNu1orEqa/K3KNvgMFdhfquPfJmp2dbh0/8Gzb6Y22ViaNr6n5410zXdngVhbu6XqdOtWOuin5hjABGp4a2uotZ71MVCfwDBt2/v37yo6AAAAAASUVORK5CYII=");background-position:0 100%}.colorpicker-color div{height:10px}.colorpicker-selectors{display:none;height:10px;margin-top:5px;clear:both}.colorpicker-selectors i{cursor:pointer;float:left;height:10px;width:10px}.colorpicker-selectors i+i{margin-left:3px}.colorpicker-element .add-on i,.colorpicker-element .input-group-addon i{display:inline-block;cursor:pointer;height:16px;vertical-align:text-top;width:16px}.colorpicker.colorpicker-inline{position:relative;display:inline-block;float:none;z-index:auto}.colorpicker.colorpicker-horizontal{width:110px;min-width:110px;height:auto}.colorpicker.colorpicker-horizontal .colorpicker-saturation{margin-bottom:4px}.colorpicker.colorpicker-horizontal .colorpicker-color{width:100px}.colorpicker.colorpicker-horizontal .colorpicker-alpha,.colorpicker.colorpicker-horizontal .colorpicker-hue{width:100px;height:15px;float:left;cursor:col-resize;margin-left:0;margin-bottom:4px}.colorpicker.colorpicker-horizontal .colorpicker-alpha i,.colorpicker.colorpicker-horizontal .colorpicker-hue i{display:block;height:15px;background:#fff;position:absolute;top:0;left:0;width:1px;border:none;margin-top:0}.colorpicker.colorpicker-horizontal .colorpicker-hue{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAABCAMAAAAfBfuPAAABLFBMVEXqFBb/ABH/ACL/ADH/AEH/AFD/AGD/AG7/AH7/AI3/AJ3/AKz/ALz/AMr/ANv/AOr/APr2AP/mAP/XAP/HAP+4AP+oAP+aAP+JAP97AP9rAP9cAP9MAP8+AP8tAP8fAP8PAP8BAv8AEP8AH/8AL/8APv8ATv8AXP8Abf8Ae/8Ai/8Amv8Aqv8AuP8Ayf8A1/8A5/8A9/8A//gA/+kA/9kA/8oA/7oA/6wA/5sA/40A/30A/24A/14A/1AA/z8A/zEA/yEA/xEB/wMN/wAd/wAs/wA8/wBK/wBb/wBp/wB5/wCI/wCY/wCm/wC3/wDF/wDV/wDk/wD1/wD/+gD/7AD/3AD/zAD/vgD/rQD/nwD/jgD/gAD/cAD/YgD/UQD/QwD/MgD/JAD/FAD4Eg42qAedAAAAbUlEQVR4XgXAghEDsbxtlrZt27ax/w49ACAYQTGcICmaYTleECVZUTXdMC1Wm93hdLk9Xp8/EAyFI9FYPJFMpTPZXL5QLJUr1Vq90Wy1O91efzAcjSfT2XyxXK03293+cDydL9fb/fF8vT/f3x+LfRNXARMbCAAAAABJRU5ErkJggg==")}.colorpicker.colorpicker-horizontal .colorpicker-alpha{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAKCAQAAADoFTP1AAAB9ElEQVR4XoWTQW4VMRBEu9qWEimL7DhEMp8NF+ASnJJLcAQgE1bcgBUSkYKUuHCrZ9pjeqSU5Yn9LPu7umJQBIIv+k7vIOrtK66L4lmr3pVOrOv3otp619KZ0/KjdNI79L52Uo09FBQWrU0vfe5trezU+hLsoUKd3Repovte+0vbq/7Lj5XbaHECKasR9G4MPlbp+gzZxd6koPEJCkAYC5SjcOTAIIOK90Dja1IfIZ8Z+zAY9jm3b5Ia+MT5sFcqRJrR2AYYA8Kua5BzYRrFPNmD4PQMegGJMOffJJUsWiI3nCHZZjInNdffLWOufzbc3JaboCAVxwmnRHbhLSPwRJ4wU0BRSc6HkECYYVw95nMKgJOcylxrJttE5Ibzf9Xq9GPvP+WX3MiV/MGHfRu/SentRQrfG1GzsIrytdNXucSRKxQNIGHM9YhGFQJcdjNcBZvfJayuYe4Sia1CzwW+19mWOhe37HsxJWKwbu/jluEU15QzAQjAqCEbhMJc78GYV2E0kooHDubUImWkTOhGpgv8PoT8DJG/bzxna4BZ0eOFSOaLADGeSpFsg5AzeaDZIDQQXjZ4y/8ryfzUXBwdELRjTjCNvOeT0rNlrJz90vwy6N9pXXQEluX0inElpPWokSdiLCfiNJJjMKQ8Qsh8GEKQKMo/eiHrNbI9UksAAAAASUVORK5CYII=")}.colorpicker-right:before{left:auto;right:6px}.colorpicker-right:after{left:auto;right:7px}.colorpicker-no-arrow:before{border-right:0;border-left:0}.colorpicker-no-arrow:after{border-right:0;border-left:0}.colorpicker-alpha.colorpicker-visible,.colorpicker-hue.colorpicker-visible,.colorpicker-saturation.colorpicker-visible,.colorpicker-selectors.colorpicker-visible,.colorpicker.colorpicker-visible{display:block}.colorpicker-alpha.colorpicker-hidden,.colorpicker-hue.colorpicker-hidden,.colorpicker-saturation.colorpicker-hidden,.colorpicker-selectors.colorpicker-hidden,.colorpicker.colorpicker-hidden{display:none}.colorpicker-inline.colorpicker-visible{display:inline-block}.fileinput-button{position:relative;overflow:hidden;display:inline-block}.fileinput-button input{position:absolute;top:0;right:0;margin:0;opacity:0;-ms-filter:'alpha(opacity=0)';font-size:200px!important;direction:ltr;cursor:pointer}@media screen\9{.fileinput-button input{font-size:100%;height:100%}}.fileupload-buttonbar .btn,.fileupload-buttonbar .toggle{margin-bottom:5px}.progress-animated .bar,.progress-animated .progress-bar{background:url("../img/progressbar.gif")!important;filter:none}.fileupload-process{float:right;display:none}.files .processing .preview,.fileupload-processing .fileupload-process{display:block;width:32px;height:32px;background:url("../img/loading.gif") center no-repeat;background-size:contain}.files audio,.files video{max-width:300px}@media (max-width:767px){.files .btn span,.files .toggle,.fileupload-buttonbar .toggle{display:none}.files .name{width:80px;word-wrap:break-word}.files audio,.files video{max-width:80px}.files canvas,.files img{max-width:100%}}.ekko-lightbox{display:-ms-flexbox!important;display:flex!important;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding-right:0!important}.ekko-lightbox-container{position:relative}.ekko-lightbox-container>div.ekko-lightbox-item{position:absolute;top:0;left:0;bottom:0;right:0;width:100%}.ekko-lightbox iframe{width:100%;height:100%}.ekko-lightbox-nav-overlay{z-index:1;position:absolute;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex}.ekko-lightbox-nav-overlay a{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0;transition:opacity .5s;color:#fff;font-size:30px;z-index:1}.ekko-lightbox-nav-overlay a>*{-ms-flex-positive:1;flex-grow:1}.ekko-lightbox-nav-overlay a>:focus{outline:0}.ekko-lightbox-nav-overlay a span{padding:0 30px}.ekko-lightbox-nav-overlay a:last-child span{text-align:right}.ekko-lightbox-nav-overlay a:hover{text-decoration:none}.ekko-lightbox-nav-overlay a:focus{outline:0}.ekko-lightbox-nav-overlay a.disabled{cursor:default;visibility:hidden}.ekko-lightbox a:hover{opacity:1;text-decoration:none}.ekko-lightbox .modal-dialog{display:none}.ekko-lightbox .modal-footer{text-align:left}.ekko-lightbox-loader{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.ekko-lightbox-loader>div{width:40px;height:40px;position:relative;text-align:center}.ekko-lightbox-loader>div>div{width:100%;height:100%;border-radius:50%;background-color:#fff;opacity:.6;position:absolute;top:0;left:0;animation:a 2s infinite ease-in-out}.ekko-lightbox-loader>div>div:last-child{animation-delay:-1s}.modal-dialog .ekko-lightbox-loader>div>div{background-color:#333}@keyframes a{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}.bootstrap-table .fixed-table-toolbar::after{content:"";display:block;clear:both}.bootstrap-table .fixed-table-toolbar .bs-bars,.bootstrap-table .fixed-table-toolbar .columns,.bootstrap-table .fixed-table-toolbar .search{position:relative;margin-top:10px;margin-bottom:10px}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group{display:inline-block;margin-left:-1px!important}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group>.btn{border-radius:0}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group:first-child>.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group:last-child>.btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.bootstrap-table .fixed-table-toolbar .columns .dropdown-menu{text-align:left;max-height:300px;overflow:auto;-ms-overflow-style:scrollbar;z-index:1001}.bootstrap-table .fixed-table-toolbar .columns label{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.4286}.bootstrap-table .fixed-table-toolbar .columns-left{margin-right:5px}.bootstrap-table .fixed-table-toolbar .columns-right{margin-left:5px}.bootstrap-table .fixed-table-toolbar .pull-right .dropdown-menu{right:0;left:auto}.bootstrap-table .fixed-table-container{position:relative;clear:both}.bootstrap-table .fixed-table-container .table{width:100%;margin-bottom:0!important}.bootstrap-table .fixed-table-container .table td,.bootstrap-table .fixed-table-container .table th{vertical-align:middle;box-sizing:border-box}.bootstrap-table .fixed-table-container .table thead th{vertical-align:bottom;padding:0;margin:0}.bootstrap-table .fixed-table-container .table thead th:focus{outline:0 solid transparent}.bootstrap-table .fixed-table-container .table thead th.detail{width:30px}.bootstrap-table .fixed-table-container .table thead th .th-inner{padding:.75rem;vertical-align:bottom;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bootstrap-table .fixed-table-container .table thead th .sortable{cursor:pointer;background-position:right;background-repeat:no-repeat;padding-right:30px!important}.bootstrap-table .fixed-table-container .table thead th .sortable.sortable-center{padding-left:20px!important;padding-right:20px!important}.bootstrap-table .fixed-table-container .table thead th .both{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC")}.bootstrap-table .fixed-table-container .table thead th .asc{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==")}.bootstrap-table .fixed-table-container .table thead th .desc{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII= ")}.bootstrap-table .fixed-table-container .table tbody tr.selected td{background-color:rgba(0,0,0,.075)}.bootstrap-table .fixed-table-container .table tbody tr.no-records-found td{text-align:center}.bootstrap-table .fixed-table-container .table tbody tr .card-view{display:flex}.bootstrap-table .fixed-table-container .table tbody tr .card-view .card-view-title{font-weight:700;display:inline-block;min-width:30%;width:auto!important;text-align:left!important}.bootstrap-table .fixed-table-container .table tbody tr .card-view .card-view-value{width:100%!important;text-align:left!important}.bootstrap-table .fixed-table-container .table .bs-checkbox{text-align:center}.bootstrap-table .fixed-table-container .table .bs-checkbox label{margin-bottom:0}.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type=checkbox],.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type=radio]{margin:0 auto!important}.bootstrap-table .fixed-table-container .table.table-sm .th-inner{padding:.3rem}.bootstrap-table .fixed-table-container.fixed-height:not(.has-footer){border-bottom:1px solid #dee2e6}.bootstrap-table .fixed-table-container.fixed-height.has-card-view{border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.bootstrap-table .fixed-table-container.fixed-height .fixed-table-border{border-left:1px solid #dee2e6;border-right:1px solid #dee2e6}.bootstrap-table .fixed-table-container.fixed-height .table thead th{border-bottom:1px solid #dee2e6}.bootstrap-table .fixed-table-container.fixed-height .table-dark thead th{border-bottom:1px solid #32383e}.bootstrap-table .fixed-table-container .fixed-table-header{overflow:hidden}.bootstrap-table .fixed-table-container .fixed-table-body{overflow:auto auto;height:100%}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading{align-items:center;background:#fff;display:flex;justify-content:center;position:absolute;bottom:0;width:100%;max-width:100%;z-index:1000;transition:visibility 0s,opacity .15s ease-in-out;opacity:0;visibility:hidden}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.open{visibility:visible;opacity:1}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap{align-items:baseline;display:flex;justify-content:center}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .loading-text{margin-right:6px}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap{align-items:center;display:flex;justify-content:center}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::before{content:"";animation-duration:1.5s;animation-iteration-count:infinite;animation-name:loading;background:#212529;border-radius:50%;display:block;height:5px;margin:0 4px;opacity:0;width:5px}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot{animation-delay:.3s}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after{animation-delay:.6s}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark{background:#212529}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-dot,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::after,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::before{background:#fff}.bootstrap-table .fixed-table-container .fixed-table-footer{overflow:hidden}.bootstrap-table .fixed-table-pagination::after{content:"";display:block;clear:both}.bootstrap-table .fixed-table-pagination>.pagination,.bootstrap-table .fixed-table-pagination>.pagination-detail{margin-top:10px;margin-bottom:10px}.bootstrap-table .fixed-table-pagination>.pagination-detail .pagination-info{line-height:34px;margin-right:5px}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list{display:inline-block}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list .btn-group{position:relative;display:inline-block;vertical-align:middle}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list .btn-group .dropdown-menu{margin-bottom:0}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination{margin:0}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a{color:#c8c8c8}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a::before{content:"\2B05"}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a::after{content:"\27A1"}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.disabled a{pointer-events:none;cursor:default}.bootstrap-table.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%!important;background:#fff;height:calc(100vh);overflow-y:scroll}.bootstrap-table.bootstrap4 .pagination-lg .page-link,.bootstrap-table.bootstrap5 .pagination-lg .page-link{padding:.5rem 1rem}.bootstrap-table.bootstrap5 .float-left{float:left}.bootstrap-table.bootstrap5 .float-right{float:right}div.fixed-table-scroll-inner{width:100%;height:200px}div.fixed-table-scroll-outer{top:0;left:0;visibility:hidden;width:200px;height:150px;overflow:hidden}@keyframes loading{0%{opacity:0}50%{opacity:1}100%{opacity:0}}@media (max-width:400px){.navbar-left{margin:2px}.nav:after{clear:none}}.skin-blue .main-header .logo{background-color:inherit!important}.btn-danger.btn-outline{color:#d9534f}.skin-blue .main-header .navbar .dropdown-menu li a{color:#333}.icon-med{font-size:20px}.left-navblock{max-width:500px}.skin-red .skin-purple .skin-blue .skin-black .skin-orange .skin-yellow .skin-green .skin-red-dark .skin-purple-dark .skin-blue-dark .skin-black-dark .skin-orange-dark .skin-yellow-dark .skin-green-dark .skin-contrast .main-header .logo{background-color:inherit}.main-header .logo{clear:both;display:block;text-align:left;white-space:nowrap;width:100%!important}.main-header .logo a:hover,.main-header .logo a:visited,.main-header .logoa:link{color:#fff}.huge{font-size:40px}.btn-file{overflow:hidden;position:relative}.dropdown-menu>li>a{color:#354044}#sort tr.cansort{background:#f4f4f4;border-left:2px solid #e6e7e8;border-radius:2px;color:#444;cursor:move;margin-bottom:3px;padding:10px}.user-image-inline{border-radius:50%;float:left;height:25px;margin-right:10px;width:25px}.input-group .input-group-addon{background-color:#f4f4f4}a.accordion-header{color:#333}.dynamic-form-row{margin:20px;padding:10px}.handle{padding-left:10px}.btn-file input[type=file]{background:#fff;cursor:inherit;display:block;font-size:100px;min-height:100%;min-width:100%;opacity:0;outline:0;position:absolute;right:0;text-align:right;top:0}.main-footer{font-size:13px}.main-header{max-height:150px}.navbar-nav>.user-menu>.dropdown-menu{width:inherit}.main-header .logo{padding:0 5px 0 15px}.sidebar-toggle{background-color:inherit;margin-left:-48px;z-index:100}.sidebar-toggle-mobile{padding-top:10px;width:50px;z-index:100}.pull-text-right{text-align:right!important}.main-header .sidebar-toggle:before{content:"\f0c9";font-family:"Font Awesome\ 5 Free";font-weight:900}.direct-chat-contacts{height:150px;padding:10px}.select2-container{width:100%}.error input{border:2px solid #a94442!important;color:#a94442}.alert-msg,.error label{color:#a94442;display:block}.input-group[class*=col-]{padding-left:15px;padding-right:15px}.control-label.multiline{padding-top:10px}.btn-outline{background-color:transparent;color:inherit;transition:all .5s}.btn-primary.btn-outline{color:#428bca}.btn-success.btn-outline{color:#5cb85c}.btn-info.btn-outline{color:#5bc0de}.btn-warning{background-color:#f39c12!important}.btn-warning.btn-outline{color:#f0ad4e}.btn-danger.btn-outline,a.link-danger:hover,a.link-danger:link,a.link-danger:visited{color:#dd4b39}.btn-danger.btn-outline:hover,.btn-info.btn-outline:hover,.btn-primary.btn-outline:hover,.btn-success.btn-outline:hover,.btn-warning.btn-outline:hover{color:#fff}.slideout-menu{background:#333;color:#fff;height:100%;margin-top:100px;padding:10px;position:fixed;right:-250px;top:0;width:250px;z-index:100}.slideout-menu h3{border-bottom:4px solid #222;color:#fff;font-size:1.2em;font-weight:400;padding:5px;position:relative}.slideout-menu .slideout-menu-toggle{background:#222;color:#999;display:inline-block;font-family:Arial,sans-serif;font-weight:700;line-height:1;padding:6px 9px 5px;position:absolute;right:10px;text-decoration:none;top:12px;vertical-align:top}.slideout-menu .slideout-menu-toggle:hover{color:#fff}.slideout-menu ul{border-bottom:1px solid #454545;border-top:1px solid #151515;font-weight:300;list-style:none}.slideout-menu ul li{border-bottom:1px solid #151515;border-top:1px solid #454545}.slideout-menu ul li a{color:#999;display:block;padding:10px;position:relative;text-decoration:none}.slideout-menu ul li a:hover{background:#000;color:#fff}.slideout-menu ul li a i{opacity:.5;position:absolute;right:10px;top:15px}.btn-box-tool-lg{color:orange;font-size:16px}.bs-wizard{border-bottom:1px solid #e0e0e0;margin-top:20px;padding:0 0 10px}.bs-wizard>.bs-wizard-step{padding:0;position:relative}.bs-wizard>.bs-wizard-step .bs-wizard-stepnum{color:#595959;font-size:16px;margin-bottom:5px}.bs-wizard>.bs-wizard-step .bs-wizard-info{color:#999;font-size:14px}.bs-wizard>.bs-wizard-step>.bs-wizard-dot{background:#fbe8aa;border-radius:50%;display:block;height:30px;left:50%;margin-left:-15px;margin-top:-15px;position:absolute;top:45px;width:30px}.bs-wizard>.bs-wizard-step>.bs-wizard-dot:after{background:#fbbd19;border-radius:50px;content:" ";height:14px;left:8px;position:absolute;top:8px;width:14px}.bs-wizard>.bs-wizard-step>.progress{border-radius:0;box-shadow:none;height:8px;margin:20px 0;position:relative}.bs-wizard>.bs-wizard-step>.progress>.progress-bar{background:#fbe8aa;box-shadow:none;width:0}.bs-wizard>.bs-wizard-step.complete>.progress>.progress-bar{width:100%}.bs-wizard>.bs-wizard-step.active>.progress>.progress-bar{width:50%}.bs-wizard>.bs-wizard-step:first-child.active>.progress>.progress-bar{width:0}.bs-wizard>.bs-wizard-step:last-child.active>.progress>.progress-bar{width:100%}.bs-wizard>.bs-wizard-step.disabled>.bs-wizard-dot{background-color:#f5f5f5}.bs-wizard>.bs-wizard-step.disabled>.bs-wizard-dot:after{opacity:0}.bs-wizard>.bs-wizard-step:first-child>.progress{left:50%;width:50%}.bs-wizard>.bs-wizard-step:last-child>.progress{width:50%}.bs-wizard>.bs-wizard-step.disabled a.bs-wizard-dot{pointer-events:none}.left-navblock{color:#fff;display:inline-block;float:left;padding:0;text-align:left}.skin-red .skin-purple .skin-blue .skin-black .skin-orange .skin-yellow .skin-green .skin-red-dark .skin-purple-dark .skin-blue-dark .skin-black-dark .skin-orange-dark .skin-yellow-dark .skin-green-dark .skin-contrast .main-header .navbar .dropdown-menu li a{color:#333}a.logo.no-hover a:hover{background-color:transparent}.required{border-right:6px solid orange}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:13px}.sidebar-menu{font-size:14px;white-space:normal}@media print{a[href]:after{content:none}.tab-content>.tab-pane{display:block!important;opacity:1!important;visibility:visible!important}}.navbar-brand>img,img.navbar-brand-img{float:left;max-height:50px;padding:5px 5px 5px 0}.input-daterange{border-radius:0}.btn.bg-maroon,.btn.bg-purple{min-width:90px}[hidden]{display:none!important}#toolbar{margin-top:10px}#uploadPreview{border:1px solid grey}.icon-med{color:#889195;font-size:14px}#login-logo{max-width:200px;padding-bottom:10px;padding-top:20px}a.skip-main{height:1px;left:-999px;overflow:hidden;position:absolute;top:auto;width:1px;z-index:-999}a.skip-main:active,a.skip-main:focus{background-color:#000;border:4px solid #ff0;border-radius:15px;color:#fff;font-size:1.2em;height:auto;left:auto;margin:10px 35%;overflow:auto;padding:5px;text-align:center;top:auto;width:30%;z-index:999}h2{font-size:22px}h2.task_menu{font-size:14px}h2 small{font-size:85%}h3{font-size:20px}h4{font-size:16px}.row-striped{box-sizing:border-box;display:table;line-height:2.6;margin-left:20px;padding:0;vertical-align:top}.row-striped .row:nth-of-type(odd) div{background-color:#f9f9f9;border-top:1px solid #ddd;display:table-cell}.row-striped .row:nth-of-type(2n) div{background:#fff;border-top:1px solid #ddd;display:table-cell}.row-new-striped{display:table;line-height:2.6;margin-left:20px;padding:0 20px 0 0;vertical-align:top;width:100%}.row-new-striped>.row:nth-of-type(2n){background:#fff;border-top:1px solid #ddd;display:table-row}.row-new-striped>.row:nth-of-type(odd){background-color:#f8f8f8;border-top:1px solid #ddd;display:table-row}.row-new-striped div{border-top:1px solid #ddd;display:table-cell}.row-new-striped div[class^=col]:first-child{font-weight:700}@media only screen and (max-width:520px){h1.pagetitle{padding-bottom:15px;padding-top:15px}.firstnav{padding-top:120px!important}.product{width:400px}.product img{min-width:400px}}.card-view-title{line-height:3!important;min-width:40%!important;padding-right:20px}.card-view{display:table-row;flex-direction:column}th.css-accessory>.th-inner,th.css-barcode>.th-inner,th.css-consumable>.th-inner,th.css-envelope>.th-inner,th.css-license>.th-inner{text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:0;line-height:.75!important;text-align:left}th.css-accessory>.th-inner:before,th.css-barcode>.th-inner:before,th.css-consumable>.th-inner:before,th.css-envelope>.th-inner:before,th.css-license>.th-inner:before,th.css-padlock>.th-inner:before{display:inline-block;font-family:Font Awesome\ 5 Free;font-size:20px;font-weight:900}th.css-padlock>.th-inner:before{content:"\f023";font-family:Font Awesome\ 5 Free;font-size:12px;font-weight:900;padding-right:4px}th.css-barcode>.th-inner:before{content:"\f02a";font-family:Font Awesome\ 5 Free;font-weight:900}th.css-license>.th-inner:before{content:"\f0c7";font-family:Font Awesome\ 5 Free;font-weight:400}th.css-consumable>.th-inner:before{content:"\f043";font-family:Font Awesome\ 5 Free;font-weight:900}th.css-envelope>.th-inner:before{content:"\f0e0";font-family:Font Awesome\ 5 Free;font-weight:400}th.css-accessory>.th-inner:before{content:"\f11c";font-family:Font Awesome\ 5 Free;font-weight:400}.small-box .inner{color:#fff;padding-left:15px;padding-right:15px;padding-top:15px}.small-box>a:hover,.small-box>a:link,.small-box>a:visited{color:#fff}.select2-container--default .select2-selection--single,.select2-selection .select2-selection--single{border:1px solid #d2d6de;border-radius:0;height:34px;padding:6px 12px}.form-group.has-error label{color:#a94442}.select2-container--default .select2-selection--multiple{border-radius:0}@media screen and (max-width:511px){.tab-content .tab-pane .alert-block{margin-top:120px}.sidebar-menu{margin-top:160px}}@media screen and (max-width:912px) and (min-width:512px){.sidebar-menu{margin-top:100px}}@media screen and (max-width:1268px) and (min-width:912px){.sidebar-menu{margin-top:50px}}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}label.form-control{background-color:inherit;border:0;color:inherit;display:grid;font-size:inherit;font-weight:inherit;gap:.5em;grid-template-columns:1.8em auto;padding-left:0}label.form-control--disabled{color:#959495;cursor:not-allowed;pointer-events:none}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:.05em solid;border-radius:0;color:#959495;display:grid;font:inherit;height:1.8em;margin:0;place-content:center;transform:translateY(-.075em);width:1.8em}input[type=checkbox]:before{background-color:CanvasText;box-shadow:inset 1em 1em #d3d3d3;box-shadow:inset 1em 1em #428bca;-webkit-clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);content:"";height:1em;transform:scale(0);transform-origin:bottom left;transition:transform .12s ease-in-out;width:1em}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:disabled:before,input[type=radio]:disabled:before{box-shadow:inset 1em 1em #d3d3d3;content:"";height:1em;transform:scale(1);width:1em}input[type=checkbox]:disabled:not(:checked):before,input[type=radio]:disabled:not(:checked):before{content:"";cursor:not-allowed;pointer-events:none;transform:scale(0)}input[type=checkbox]:disabled,input[type=radio]:disabled{--form-control-color:#d3d3d3;color:#959495;cursor:not-allowed;pointer-events:none}input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:.05em solid;border-radius:50%;color:#959495;display:grid;font:inherit;height:1.8em;margin:0;place-content:center;transform:translateY(-.075em);width:1.8em}input[type=radio]:before{border-radius:50%;box-shadow:inset 1em 1em #428bca;content:"";height:1em;transform:scale(0);transition:transform .12s ease-in-out;width:1em}input[type=radio]:checked:before{transform:scale(1)}.dropdown-item-marker input[type=checkbox]{font-size:10px}.bootstrap-table .fixed-table-toolbar li.dropdown-item-marker label{display:grid;font-weight:400;gap:1.5em;grid-template-columns:.1em auto}.container.row-striped .col-md-6{overflow-wrap:anywhere}.nav-tabs-custom>.nav-tabs>li{z-index:1}.select2-container .select2-search--inline .select2-search__field{padding-left:15px}.separator{align-items:center;color:#959495;display:flex;padding-top:20px;text-align:center}.separator:after,.separator:before{border-bottom:1px solid #959495;content:"";flex:1}.separator:not(:empty):before{margin-right:.25em}.separator:not(:empty):after{margin-left:.25em}.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid #000 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top,#fff 50%,#eee 100%);background-image:-o-linear-gradient(top,#fff 50%,#eee 100%);background-image:linear-gradient(to bottom,#fff 50%,#eee 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top,#eee 50%,#ccc 100%);background-image:-o-linear-gradient(top,#eee 50%,#ccc 100%);background-image:linear-gradient(to bottom,#eee 50%,#ccc 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:0 0;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top,#fff 0,#eee 50%);background-image:-o-linear-gradient(top,#fff 0,#eee 50%);background-image:linear-gradient(to bottom,#fff 0,#eee 50%);background-repeat:repeat-x}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top,#eee 50%,#fff 100%);background-image:-o-linear-gradient(top,#eee 50%,#fff 100%);background-image:linear-gradient(to bottom,#eee 50%,#fff 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}.skin-red .skin-purple .skin-blue .skin-black .skin-orange .skin-yellow .skin-green .skin-red-dark .skin-purple-dark .skin-blue-dark .skin-black-dark .skin-orange-dark .skin-yellow-dark .skin-green-dark .skin-contrast .main-header .logo{background-color:inherit}.main-header .logo{clear:both;display:block;text-align:left;white-space:nowrap;width:100%!important}.main-header .logo a:hover,.main-header .logo a:visited,.main-header .logoa:link{color:#fff}.huge{font-size:40px}.btn-file{overflow:hidden;position:relative}.dropdown-menu>li>a{color:#354044}#sort tr.cansort{background:#f4f4f4;border-left:2px solid #e6e7e8;border-radius:2px;color:#444;cursor:move;margin-bottom:3px;padding:10px}.user-image-inline{border-radius:50%;float:left;height:25px;margin-right:10px;width:25px}.input-group .input-group-addon{background-color:#f4f4f4}a.accordion-header{color:#333}.dynamic-form-row{margin:20px;padding:10px}.handle{padding-left:10px}.btn-file input[type=file]{background:#fff;cursor:inherit;display:block;font-size:100px;min-height:100%;min-width:100%;opacity:0;outline:0;position:absolute;right:0;text-align:right;top:0}.main-footer{font-size:13px}.main-header{max-height:150px}.navbar-nav>.user-menu>.dropdown-menu{width:inherit}.main-header .logo{padding:0 5px 0 15px}.sidebar-toggle{background-color:inherit;margin-left:-48px;z-index:100}.sidebar-toggle-mobile{padding-top:10px;width:50px;z-index:100}.pull-text-right{text-align:right!important}.main-header .sidebar-toggle:before{content:"\f0c9";font-family:"Font Awesome\ 5 Free";font-weight:900}.direct-chat-contacts{height:150px;padding:10px}.select2-container{width:100%}.error input{border:2px solid #a94442!important;color:#a94442}.alert-msg,.error label{color:#a94442;display:block}.input-group[class*=col-]{padding-left:15px;padding-right:15px}.control-label.multiline{padding-top:10px}.btn-outline{background-color:transparent;color:inherit;transition:all .5s}.btn-primary.btn-outline{color:#428bca}.btn-success.btn-outline{color:#5cb85c}.btn-info.btn-outline{color:#5bc0de}.btn-warning{background-color:#f39c12!important}.btn-warning.btn-outline{color:#f0ad4e}.btn-danger.btn-outline,a.link-danger:hover,a.link-danger:link,a.link-danger:visited{color:#dd4b39}.btn-danger.btn-outline:hover,.btn-info.btn-outline:hover,.btn-primary.btn-outline:hover,.btn-success.btn-outline:hover,.btn-warning.btn-outline:hover{color:#fff}.slideout-menu{background:#333;color:#fff;height:100%;margin-top:100px;padding:10px;position:fixed;right:-250px;top:0;width:250px;z-index:100}.slideout-menu h3{border-bottom:4px solid #222;color:#fff;font-size:1.2em;font-weight:400;padding:5px;position:relative}.slideout-menu .slideout-menu-toggle{background:#222;color:#999;display:inline-block;font-family:Arial,sans-serif;font-weight:700;line-height:1;padding:6px 9px 5px;position:absolute;right:10px;text-decoration:none;top:12px;vertical-align:top}.slideout-menu .slideout-menu-toggle:hover{color:#fff}.slideout-menu ul{border-bottom:1px solid #454545;border-top:1px solid #151515;font-weight:300;list-style:none}.slideout-menu ul li{border-bottom:1px solid #151515;border-top:1px solid #454545}.slideout-menu ul li a{color:#999;display:block;padding:10px;position:relative;text-decoration:none}.slideout-menu ul li a:hover{background:#000;color:#fff}.slideout-menu ul li a i{opacity:.5;position:absolute;right:10px;top:15px}.btn-box-tool-lg{color:orange;font-size:16px}.bs-wizard{border-bottom:1px solid #e0e0e0;margin-top:20px;padding:0 0 10px}.bs-wizard>.bs-wizard-step{padding:0;position:relative}.bs-wizard>.bs-wizard-step .bs-wizard-stepnum{color:#595959;font-size:16px;margin-bottom:5px}.bs-wizard>.bs-wizard-step .bs-wizard-info{color:#999;font-size:14px}.bs-wizard>.bs-wizard-step>.bs-wizard-dot{background:#fbe8aa;border-radius:50%;display:block;height:30px;left:50%;margin-left:-15px;margin-top:-15px;position:absolute;top:45px;width:30px}.bs-wizard>.bs-wizard-step>.bs-wizard-dot:after{background:#fbbd19;border-radius:50px;content:" ";height:14px;left:8px;position:absolute;top:8px;width:14px}.bs-wizard>.bs-wizard-step>.progress{border-radius:0;box-shadow:none;height:8px;margin:20px 0;position:relative}.bs-wizard>.bs-wizard-step>.progress>.progress-bar{background:#fbe8aa;box-shadow:none;width:0}.bs-wizard>.bs-wizard-step.complete>.progress>.progress-bar{width:100%}.bs-wizard>.bs-wizard-step.active>.progress>.progress-bar{width:50%}.bs-wizard>.bs-wizard-step:first-child.active>.progress>.progress-bar{width:0}.bs-wizard>.bs-wizard-step:last-child.active>.progress>.progress-bar{width:100%}.bs-wizard>.bs-wizard-step.disabled>.bs-wizard-dot{background-color:#f5f5f5}.bs-wizard>.bs-wizard-step.disabled>.bs-wizard-dot:after{opacity:0}.bs-wizard>.bs-wizard-step:first-child>.progress{left:50%;width:50%}.bs-wizard>.bs-wizard-step:last-child>.progress{width:50%}.bs-wizard>.bs-wizard-step.disabled a.bs-wizard-dot{pointer-events:none}.left-navblock{color:#fff;display:inline-block;float:left;padding:0;text-align:left}.skin-red .skin-purple .skin-blue .skin-black .skin-orange .skin-yellow .skin-green .skin-red-dark .skin-purple-dark .skin-blue-dark .skin-black-dark .skin-orange-dark .skin-yellow-dark .skin-green-dark .skin-contrast .main-header .navbar .dropdown-menu li a{color:#333}a.logo.no-hover a:hover{background-color:transparent}.required{border-right:6px solid orange}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:13px}.sidebar-menu{font-size:14px;white-space:normal}@media print{a[href]:after{content:none}.tab-content>.tab-pane{display:block!important;opacity:1!important;visibility:visible!important}}.navbar-brand>img,img.navbar-brand-img{float:left;max-height:50px;padding:5px 5px 5px 0}.input-daterange{border-radius:0}.btn.bg-maroon,.btn.bg-purple{min-width:90px}[hidden]{display:none!important}#toolbar{margin-top:10px}#uploadPreview{border:1px solid grey}.icon-med{color:#889195;font-size:14px}#login-logo{max-width:200px;padding-bottom:10px;padding-top:20px}a.skip-main{height:1px;left:-999px;overflow:hidden;position:absolute;top:auto;width:1px;z-index:-999}a.skip-main:active,a.skip-main:focus{background-color:#000;border:4px solid #ff0;border-radius:15px;color:#fff;font-size:1.2em;height:auto;left:auto;margin:10px 35%;overflow:auto;padding:5px;text-align:center;top:auto;width:30%;z-index:999}h2{font-size:22px}h2.task_menu{font-size:14px}h2 small{font-size:85%}h3{font-size:20px}h4{font-size:16px}.row-striped{box-sizing:border-box;display:table;line-height:2.6;margin-left:20px;padding:0;vertical-align:top}.row-striped .row:nth-of-type(odd) div{background-color:#f9f9f9;border-top:1px solid #ddd;display:table-cell}.row-striped .row:nth-of-type(2n) div{background:#fff;border-top:1px solid #ddd;display:table-cell}.row-new-striped{display:table;line-height:2.6;margin-left:20px;padding:0 20px 0 0;vertical-align:top;width:100%}.row-new-striped>.row:nth-of-type(2n){background:#fff;border-top:1px solid #ddd;display:table-row}.row-new-striped>.row:nth-of-type(odd){background-color:#f8f8f8;border-top:1px solid #ddd;display:table-row}.row-new-striped div{border-top:1px solid #ddd;display:table-cell}.row-new-striped div[class^=col]:first-child{font-weight:700}@media only screen and (max-width:520px){h1.pagetitle{padding-bottom:15px;padding-top:15px}.firstnav{padding-top:120px!important}.product{width:400px}.product img{min-width:400px}}.card-view-title{line-height:3!important;min-width:40%!important;padding-right:20px}.card-view{display:table-row;flex-direction:column}th.css-accessory>.th-inner,th.css-barcode>.th-inner,th.css-consumable>.th-inner,th.css-envelope>.th-inner,th.css-license>.th-inner{text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:0;line-height:.75!important;text-align:left}th.css-accessory>.th-inner:before,th.css-barcode>.th-inner:before,th.css-consumable>.th-inner:before,th.css-envelope>.th-inner:before,th.css-license>.th-inner:before,th.css-padlock>.th-inner:before{display:inline-block;font-family:Font Awesome\ 5 Free;font-size:20px;font-weight:900}th.css-padlock>.th-inner:before{content:"\f023";font-family:Font Awesome\ 5 Free;font-size:12px;font-weight:900;padding-right:4px}th.css-barcode>.th-inner:before{content:"\f02a";font-family:Font Awesome\ 5 Free;font-weight:900}th.css-license>.th-inner:before{content:"\f0c7";font-family:Font Awesome\ 5 Free;font-weight:400}th.css-consumable>.th-inner:before{content:"\f043";font-family:Font Awesome\ 5 Free;font-weight:900}th.css-envelope>.th-inner:before{content:"\f0e0";font-family:Font Awesome\ 5 Free;font-weight:400}th.css-accessory>.th-inner:before{content:"\f11c";font-family:Font Awesome\ 5 Free;font-weight:400}.small-box .inner{color:#fff;padding-left:15px;padding-right:15px;padding-top:15px}.small-box>a:hover,.small-box>a:link,.small-box>a:visited{color:#fff}.select2-container--default .select2-selection--single,.select2-selection .select2-selection--single{border:1px solid #d2d6de;border-radius:0;height:34px;padding:6px 12px}.form-group.has-error label{color:#a94442}.select2-container--default .select2-selection--multiple{border-radius:0}@media screen and (max-width:511px){.tab-content .tab-pane .alert-block{margin-top:120px}.sidebar-menu{margin-top:160px}}@media screen and (max-width:912px) and (min-width:512px){.sidebar-menu{margin-top:100px}}@media screen and (max-width:1268px) and (min-width:912px){.sidebar-menu{margin-top:50px}}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}label.form-control{background-color:inherit;border:0;color:inherit;display:grid;font-size:inherit;font-weight:inherit;gap:.5em;grid-template-columns:1.8em auto;padding-left:0}label.form-control--disabled{color:#959495;cursor:not-allowed;pointer-events:none}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:.05em solid;border-radius:0;color:#959495;display:grid;font:inherit;height:1.8em;margin:0;place-content:center;transform:translateY(-.075em);width:1.8em}input[type=checkbox]:before{background-color:CanvasText;box-shadow:inset 1em 1em #d3d3d3;box-shadow:inset 1em 1em #428bca;-webkit-clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);content:"";height:1em;transform:scale(0);transform-origin:bottom left;transition:transform .12s ease-in-out;width:1em}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:disabled:before,input[type=radio]:disabled:before{box-shadow:inset 1em 1em #d3d3d3;content:"";height:1em;transform:scale(1);width:1em}input[type=checkbox]:disabled:not(:checked):before,input[type=radio]:disabled:not(:checked):before{content:"";cursor:not-allowed;pointer-events:none;transform:scale(0)}input[type=checkbox]:disabled,input[type=radio]:disabled{--form-control-color:#d3d3d3;color:#959495;cursor:not-allowed;pointer-events:none}input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:.05em solid;border-radius:50%;color:#959495;display:grid;font:inherit;height:1.8em;margin:0;place-content:center;transform:translateY(-.075em);width:1.8em}input[type=radio]:before{border-radius:50%;box-shadow:inset 1em 1em #428bca;content:"";height:1em;transform:scale(0);transition:transform .12s ease-in-out;width:1em}input[type=radio]:checked:before{transform:scale(1)}.dropdown-item-marker input[type=checkbox]{font-size:10px}.bootstrap-table .fixed-table-toolbar li.dropdown-item-marker label{display:grid;font-weight:400;gap:1.5em;grid-template-columns:.1em auto}.container.row-striped .col-md-6{overflow-wrap:anywhere}.nav-tabs-custom>.nav-tabs>li{z-index:1}.select2-container .select2-search--inline .select2-search__field{padding-left:15px}.separator{align-items:center;color:#959495;display:flex;padding-top:20px;text-align:center}.separator:after,.separator:before{border-bottom:1px solid #959495;content:"";flex:1}.separator:not(:empty):before{margin-right:.25em}.separator:not(:empty):after{margin-left:.25em} + */.colorpicker-saturation{width:100px;height:100px;background-image:url("data:image/png;base64,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");cursor:crosshair;float:left}.colorpicker-saturation i{display:block;height:5px;width:5px;border:1px solid #000;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;position:absolute;top:0;left:0;margin:-4px 0 0 -4px}.colorpicker-saturation i b{display:block;height:5px;width:5px;border:1px solid #fff;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.colorpicker-alpha,.colorpicker-hue{width:15px;height:100px;float:left;cursor:row-resize;margin-left:4px;margin-bottom:4px}.colorpicker-alpha i,.colorpicker-hue i{display:block;height:1px;background:#000;border-top:1px solid #fff;position:absolute;top:0;left:0;width:100%;margin-top:-1px}.colorpicker-hue{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAMAAABw8qpSAAABLFBMVEXqFBb/ABH/ACL/ADH/AEH/AFD/AGD/AG7/AH7/AI3/AJ3/AKz/ALz/AMr/ANv/AOr/APr2AP/mAP/XAP/HAP+4AP+oAP+aAP+JAP97AP9rAP9cAP9MAP8+AP8tAP8fAP8PAP8BAv8AEP8AH/8AL/8APv8ATv8AXP8Abf8Ae/8Ai/8Amv8Aqv8AuP8Ayf8A1/8A5/8A9/8A//gA/+kA/9kA/8oA/7oA/6wA/5sA/40A/30A/24A/14A/1AA/z8A/zEA/yEA/xEB/wMN/wAd/wAs/wA8/wBK/wBb/wBp/wB5/wCI/wCY/wCm/wC3/wDF/wDV/wDk/wD1/wD/+gD/7AD/3AD/zAD/vgD/rQD/nwD/jgD/gAD/cAD/YgD/UQD/QwD/MgD/JAD/FAD4Eg42qAedAAAAh0lEQVR4XgXAg3EDAAAAwI9to7Zt27a1/w49BASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTS1tHXo1KVbj159+g0YNGTYiFFjxk2YNGXajFlz5i1YtGTZilVr1m3YtGXbjl179h04dOTYiVNnzl24dOXajVt37j149OTZi1dv3n349OXbj19//wOxE1dQ8reGAAAAAElFTkSuQmCC")}.colorpicker-alpha{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAQAAAAVxWkcAAABr0lEQVR4Xo2VwU0DQQxF7dmRuNIFlzlSAR3QAaXQQdIBJVABFXDcOVAAd67cjJLR07dkhcSrkZKfb/t7bG88rFo3B5gZPMNycItu2xloGV7MWHzM9zuzFWCkmA0nK6AszCUJDW6+mG6R03ncw5v8EMTEvZ2O3AliYjpslblc0RF9LmZYWxURU6aKytWZYsoWCAe+xwOZp1GsEukGiIkYxcQCHck99+gRgB7JncyIB5SGEhP3Yh5P6JwX+u6AnYot104d8DJT7uH7M9JH6OZbimj0vfMVaYnJIZFJDBW9kHlerL2C6JV4mSt7uuo2N57RxnZ+usQjn0R1jwBJBrNO3evJpVYUWsJ/E3UiXRlv24/7YZ04xmEdWlzcKS+B/eapeyMvFd2k0+hRk/T0AmTW8h69s2sjYMsdPntECiILhAeIMZAeH4QvUwfn6ijC0tTV+fT9ky8jM9nK2g7Ly1VjSpKYq6IvsAm7MtNu1orEqa/K3KNvgMFdhfquPfJmp2dbh0/8Gzb6Y22ViaNr6n5410zXdngVhbu6XqdOtWOuin5hjABGp4a2uotZ71MVCfwDBt2/v37yo6AAAAAASUVORK5CYII=");display:none}.colorpicker-alpha,.colorpicker-hue,.colorpicker-saturation{background-size:contain}.colorpicker{padding:4px;min-width:130px;margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;z-index:2500}.colorpicker:after,.colorpicker:before{display:table;content:"";line-height:0}.colorpicker:after{clear:both}.colorpicker:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,.2);position:absolute;top:-7px;left:6px}.colorpicker:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;top:-6px;left:7px}.colorpicker div{position:relative}.colorpicker.colorpicker-with-alpha{min-width:140px}.colorpicker.colorpicker-with-alpha .colorpicker-alpha{display:block}.colorpicker-color{height:10px;margin-top:5px;clear:both;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAQAAAAVxWkcAAABr0lEQVR4Xo2VwU0DQQxF7dmRuNIFlzlSAR3QAaXQQdIBJVABFXDcOVAAd67cjJLR07dkhcSrkZKfb/t7bG88rFo3B5gZPMNycItu2xloGV7MWHzM9zuzFWCkmA0nK6AszCUJDW6+mG6R03ncw5v8EMTEvZ2O3AliYjpslblc0RF9LmZYWxURU6aKytWZYsoWCAe+xwOZp1GsEukGiIkYxcQCHck99+gRgB7JncyIB5SGEhP3Yh5P6JwX+u6AnYot104d8DJT7uH7M9JH6OZbimj0vfMVaYnJIZFJDBW9kHlerL2C6JV4mSt7uuo2N57RxnZ+usQjn0R1jwBJBrNO3evJpVYUWsJ/E3UiXRlv24/7YZ04xmEdWlzcKS+B/eapeyMvFd2k0+hRk/T0AmTW8h69s2sjYMsdPntECiILhAeIMZAeH4QvUwfn6ijC0tTV+fT9ky8jM9nK2g7Ly1VjSpKYq6IvsAm7MtNu1orEqa/K3KNvgMFdhfquPfJmp2dbh0/8Gzb6Y22ViaNr6n5410zXdngVhbu6XqdOtWOuin5hjABGp4a2uotZ71MVCfwDBt2/v37yo6AAAAAASUVORK5CYII=");background-position:0 100%}.colorpicker-color div{height:10px}.colorpicker-selectors{display:none;height:10px;margin-top:5px;clear:both}.colorpicker-selectors i{cursor:pointer;float:left;height:10px;width:10px}.colorpicker-selectors i+i{margin-left:3px}.colorpicker-element .add-on i,.colorpicker-element .input-group-addon i{display:inline-block;cursor:pointer;height:16px;vertical-align:text-top;width:16px}.colorpicker.colorpicker-inline{position:relative;display:inline-block;float:none;z-index:auto}.colorpicker.colorpicker-horizontal{width:110px;min-width:110px;height:auto}.colorpicker.colorpicker-horizontal .colorpicker-saturation{margin-bottom:4px}.colorpicker.colorpicker-horizontal .colorpicker-color{width:100px}.colorpicker.colorpicker-horizontal .colorpicker-alpha,.colorpicker.colorpicker-horizontal .colorpicker-hue{width:100px;height:15px;float:left;cursor:col-resize;margin-left:0;margin-bottom:4px}.colorpicker.colorpicker-horizontal .colorpicker-alpha i,.colorpicker.colorpicker-horizontal .colorpicker-hue i{display:block;height:15px;background:#fff;position:absolute;top:0;left:0;width:1px;border:none;margin-top:0}.colorpicker.colorpicker-horizontal .colorpicker-hue{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAABCAMAAAAfBfuPAAABLFBMVEXqFBb/ABH/ACL/ADH/AEH/AFD/AGD/AG7/AH7/AI3/AJ3/AKz/ALz/AMr/ANv/AOr/APr2AP/mAP/XAP/HAP+4AP+oAP+aAP+JAP97AP9rAP9cAP9MAP8+AP8tAP8fAP8PAP8BAv8AEP8AH/8AL/8APv8ATv8AXP8Abf8Ae/8Ai/8Amv8Aqv8AuP8Ayf8A1/8A5/8A9/8A//gA/+kA/9kA/8oA/7oA/6wA/5sA/40A/30A/24A/14A/1AA/z8A/zEA/yEA/xEB/wMN/wAd/wAs/wA8/wBK/wBb/wBp/wB5/wCI/wCY/wCm/wC3/wDF/wDV/wDk/wD1/wD/+gD/7AD/3AD/zAD/vgD/rQD/nwD/jgD/gAD/cAD/YgD/UQD/QwD/MgD/JAD/FAD4Eg42qAedAAAAbUlEQVR4XgXAghEDsbxtlrZt27ax/w49ACAYQTGcICmaYTleECVZUTXdMC1Wm93hdLk9Xp8/EAyFI9FYPJFMpTPZXL5QLJUr1Vq90Wy1O91efzAcjSfT2XyxXK03293+cDydL9fb/fF8vT/f3x+LfRNXARMbCAAAAABJRU5ErkJggg==")}.colorpicker.colorpicker-horizontal .colorpicker-alpha{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAKCAQAAADoFTP1AAAB9ElEQVR4XoWTQW4VMRBEu9qWEimL7DhEMp8NF+ASnJJLcAQgE1bcgBUSkYKUuHCrZ9pjeqSU5Yn9LPu7umJQBIIv+k7vIOrtK66L4lmr3pVOrOv3otp619KZ0/KjdNI79L52Uo09FBQWrU0vfe5trezU+hLsoUKd3Repovte+0vbq/7Lj5XbaHECKasR9G4MPlbp+gzZxd6koPEJCkAYC5SjcOTAIIOK90Dja1IfIZ8Z+zAY9jm3b5Ia+MT5sFcqRJrR2AYYA8Kua5BzYRrFPNmD4PQMegGJMOffJJUsWiI3nCHZZjInNdffLWOufzbc3JaboCAVxwmnRHbhLSPwRJ4wU0BRSc6HkECYYVw95nMKgJOcylxrJttE5Ibzf9Xq9GPvP+WX3MiV/MGHfRu/SentRQrfG1GzsIrytdNXucSRKxQNIGHM9YhGFQJcdjNcBZvfJayuYe4Sia1CzwW+19mWOhe37HsxJWKwbu/jluEU15QzAQjAqCEbhMJc78GYV2E0kooHDubUImWkTOhGpgv8PoT8DJG/bzxna4BZ0eOFSOaLADGeSpFsg5AzeaDZIDQQXjZ4y/8ryfzUXBwdELRjTjCNvOeT0rNlrJz90vwy6N9pXXQEluX0inElpPWokSdiLCfiNJJjMKQ8Qsh8GEKQKMo/eiHrNbI9UksAAAAASUVORK5CYII=")}.colorpicker-right:before{left:auto;right:6px}.colorpicker-right:after{left:auto;right:7px}.colorpicker-no-arrow:before{border-right:0;border-left:0}.colorpicker-no-arrow:after{border-right:0;border-left:0}.colorpicker-alpha.colorpicker-visible,.colorpicker-hue.colorpicker-visible,.colorpicker-saturation.colorpicker-visible,.colorpicker-selectors.colorpicker-visible,.colorpicker.colorpicker-visible{display:block}.colorpicker-alpha.colorpicker-hidden,.colorpicker-hue.colorpicker-hidden,.colorpicker-saturation.colorpicker-hidden,.colorpicker-selectors.colorpicker-hidden,.colorpicker.colorpicker-hidden{display:none}.colorpicker-inline.colorpicker-visible{display:inline-block}.fileinput-button{position:relative;overflow:hidden;display:inline-block}.fileinput-button input{position:absolute;top:0;right:0;margin:0;opacity:0;-ms-filter:'alpha(opacity=0)';font-size:200px!important;direction:ltr;cursor:pointer}@media screen\9{.fileinput-button input{font-size:100%;height:100%}}.fileupload-buttonbar .btn,.fileupload-buttonbar .toggle{margin-bottom:5px}.progress-animated .bar,.progress-animated .progress-bar{background:url("../img/progressbar.gif")!important;filter:none}.fileupload-process{float:right;display:none}.files .processing .preview,.fileupload-processing .fileupload-process{display:block;width:32px;height:32px;background:url("../img/loading.gif") center no-repeat;background-size:contain}.files audio,.files video{max-width:300px}@media (max-width:767px){.files .btn span,.files .toggle,.fileupload-buttonbar .toggle{display:none}.files .name{width:80px;word-wrap:break-word}.files audio,.files video{max-width:80px}.files canvas,.files img{max-width:100%}}.ekko-lightbox{display:-ms-flexbox!important;display:flex!important;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding-right:0!important}.ekko-lightbox-container{position:relative}.ekko-lightbox-container>div.ekko-lightbox-item{position:absolute;top:0;left:0;bottom:0;right:0;width:100%}.ekko-lightbox iframe{width:100%;height:100%}.ekko-lightbox-nav-overlay{z-index:1;position:absolute;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex}.ekko-lightbox-nav-overlay a{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0;transition:opacity .5s;color:#fff;font-size:30px;z-index:1}.ekko-lightbox-nav-overlay a>*{-ms-flex-positive:1;flex-grow:1}.ekko-lightbox-nav-overlay a>:focus{outline:0}.ekko-lightbox-nav-overlay a span{padding:0 30px}.ekko-lightbox-nav-overlay a:last-child span{text-align:right}.ekko-lightbox-nav-overlay a:hover{text-decoration:none}.ekko-lightbox-nav-overlay a:focus{outline:0}.ekko-lightbox-nav-overlay a.disabled{cursor:default;visibility:hidden}.ekko-lightbox a:hover{opacity:1;text-decoration:none}.ekko-lightbox .modal-dialog{display:none}.ekko-lightbox .modal-footer{text-align:left}.ekko-lightbox-loader{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.ekko-lightbox-loader>div{width:40px;height:40px;position:relative;text-align:center}.ekko-lightbox-loader>div>div{width:100%;height:100%;border-radius:50%;background-color:#fff;opacity:.6;position:absolute;top:0;left:0;animation:a 2s infinite ease-in-out}.ekko-lightbox-loader>div>div:last-child{animation-delay:-1s}.modal-dialog .ekko-lightbox-loader>div>div{background-color:#333}@keyframes a{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}.bootstrap-table .fixed-table-toolbar::after{content:"";display:block;clear:both}.bootstrap-table .fixed-table-toolbar .bs-bars,.bootstrap-table .fixed-table-toolbar .columns,.bootstrap-table .fixed-table-toolbar .search{position:relative;margin-top:10px;margin-bottom:10px}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group{display:inline-block;margin-left:-1px!important}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group>.btn{border-radius:0}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group:first-child>.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.bootstrap-table .fixed-table-toolbar .columns .btn-group>.btn-group:last-child>.btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.bootstrap-table .fixed-table-toolbar .columns .dropdown-menu{text-align:left;max-height:300px;overflow:auto;-ms-overflow-style:scrollbar;z-index:1001}.bootstrap-table .fixed-table-toolbar .columns label{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.4286}.bootstrap-table .fixed-table-toolbar .columns-left{margin-right:5px}.bootstrap-table .fixed-table-toolbar .columns-right{margin-left:5px}.bootstrap-table .fixed-table-toolbar .pull-right .dropdown-menu{right:0;left:auto}.bootstrap-table .fixed-table-container{position:relative;clear:both}.bootstrap-table .fixed-table-container .table{width:100%;margin-bottom:0!important}.bootstrap-table .fixed-table-container .table td,.bootstrap-table .fixed-table-container .table th{vertical-align:middle;box-sizing:border-box}.bootstrap-table .fixed-table-container .table thead th{vertical-align:bottom;padding:0;margin:0}.bootstrap-table .fixed-table-container .table thead th:focus{outline:0 solid transparent}.bootstrap-table .fixed-table-container .table thead th.detail{width:30px}.bootstrap-table .fixed-table-container .table thead th .th-inner{padding:.75rem;vertical-align:bottom;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bootstrap-table .fixed-table-container .table thead th .sortable{cursor:pointer;background-position:right;background-repeat:no-repeat;padding-right:30px!important}.bootstrap-table .fixed-table-container .table thead th .sortable.sortable-center{padding-left:20px!important;padding-right:20px!important}.bootstrap-table .fixed-table-container .table thead th .both{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC")}.bootstrap-table .fixed-table-container .table thead th .asc{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==")}.bootstrap-table .fixed-table-container .table thead th .desc{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII= ")}.bootstrap-table .fixed-table-container .table tbody tr.selected td{background-color:rgba(0,0,0,.075)}.bootstrap-table .fixed-table-container .table tbody tr.no-records-found td{text-align:center}.bootstrap-table .fixed-table-container .table tbody tr .card-view{display:flex}.bootstrap-table .fixed-table-container .table tbody tr .card-view .card-view-title{font-weight:700;display:inline-block;min-width:30%;width:auto!important;text-align:left!important}.bootstrap-table .fixed-table-container .table tbody tr .card-view .card-view-value{width:100%!important;text-align:left!important}.bootstrap-table .fixed-table-container .table .bs-checkbox{text-align:center}.bootstrap-table .fixed-table-container .table .bs-checkbox label{margin-bottom:0}.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type=checkbox],.bootstrap-table .fixed-table-container .table .bs-checkbox label input[type=radio]{margin:0 auto!important}.bootstrap-table .fixed-table-container .table.table-sm .th-inner{padding:.3rem}.bootstrap-table .fixed-table-container.fixed-height:not(.has-footer){border-bottom:1px solid #dee2e6}.bootstrap-table .fixed-table-container.fixed-height.has-card-view{border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.bootstrap-table .fixed-table-container.fixed-height .fixed-table-border{border-left:1px solid #dee2e6;border-right:1px solid #dee2e6}.bootstrap-table .fixed-table-container.fixed-height .table thead th{border-bottom:1px solid #dee2e6}.bootstrap-table .fixed-table-container.fixed-height .table-dark thead th{border-bottom:1px solid #32383e}.bootstrap-table .fixed-table-container .fixed-table-header{overflow:hidden}.bootstrap-table .fixed-table-container .fixed-table-body{overflow:auto auto;height:100%}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading{align-items:center;background:#fff;display:flex;justify-content:center;position:absolute;bottom:0;width:100%;max-width:100%;z-index:1000;transition:visibility 0s,opacity .15s ease-in-out;opacity:0;visibility:hidden}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.open{visibility:visible;opacity:1}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap{align-items:baseline;display:flex;justify-content:center}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .loading-text{margin-right:6px}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap{align-items:center;display:flex;justify-content:center}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::before{content:"";animation-duration:1.5s;animation-iteration-count:infinite;animation-name:loading;background:#212529;border-radius:50%;display:block;height:5px;margin:0 4px;opacity:0;width:5px}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot{animation-delay:.3s}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after{animation-delay:.6s}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark{background:#212529}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-dot,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::after,.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::before{background:#fff}.bootstrap-table .fixed-table-container .fixed-table-footer{overflow:hidden}.bootstrap-table .fixed-table-pagination::after{content:"";display:block;clear:both}.bootstrap-table .fixed-table-pagination>.pagination,.bootstrap-table .fixed-table-pagination>.pagination-detail{margin-top:10px;margin-bottom:10px}.bootstrap-table .fixed-table-pagination>.pagination-detail .pagination-info{line-height:34px;margin-right:5px}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list{display:inline-block}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list .btn-group{position:relative;display:inline-block;vertical-align:middle}.bootstrap-table .fixed-table-pagination>.pagination-detail .page-list .btn-group .dropdown-menu{margin-bottom:0}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination{margin:0}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a{color:#c8c8c8}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a::before{content:"\2B05"}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.page-intermediate a::after{content:"\27A1"}.bootstrap-table .fixed-table-pagination>.pagination ul.pagination li.disabled a{pointer-events:none;cursor:default}.bootstrap-table.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%!important;background:#fff;height:calc(100vh);overflow-y:scroll}.bootstrap-table.bootstrap4 .pagination-lg .page-link,.bootstrap-table.bootstrap5 .pagination-lg .page-link{padding:.5rem 1rem}.bootstrap-table.bootstrap5 .float-left{float:left}.bootstrap-table.bootstrap5 .float-right{float:right}div.fixed-table-scroll-inner{width:100%;height:200px}div.fixed-table-scroll-outer{top:0;left:0;visibility:hidden;width:200px;height:150px;overflow:hidden}@keyframes loading{0%{opacity:0}50%{opacity:1}100%{opacity:0}}@media (max-width:400px){.navbar-left{margin:2px}.nav:after{clear:none}}.skin-blue .main-header .logo{background-color:inherit!important}.btn-danger.btn-outline{color:#d9534f}.skin-blue .main-header .navbar .dropdown-menu li a{color:#333}.icon-med{font-size:20px}.left-navblock{max-width:500px}.skin-red .skin-purple .skin-blue .skin-black .skin-orange .skin-yellow .skin-green .skin-red-dark .skin-purple-dark .skin-blue-dark .skin-black-dark .skin-orange-dark .skin-yellow-dark .skin-green-dark .skin-contrast .main-header .logo{background-color:inherit}.main-header .logo{clear:both;display:block;text-align:left;white-space:nowrap;width:100%!important}.main-header .logo a:hover,.main-header .logo a:visited,.main-header .logoa:link{color:#fff}.huge{font-size:40px}.btn-file{overflow:hidden;position:relative}.dropdown-menu>li>a{color:#354044}#sort tr.cansort{background:#f4f4f4;border-left:2px solid #e6e7e8;border-radius:2px;color:#444;cursor:move;margin-bottom:3px;padding:10px}.user-image-inline{border-radius:50%;float:left;height:25px;margin-right:10px;width:25px}.input-group .input-group-addon{background-color:#f4f4f4}a.accordion-header{color:#333}.dynamic-form-row{margin:20px;padding:10px}.handle{padding-left:10px}.btn-file input[type=file]{background:#fff;cursor:inherit;display:block;font-size:100px;min-height:100%;min-width:100%;opacity:0;outline:0;position:absolute;right:0;text-align:right;top:0}.main-footer{font-size:13px}.main-header{max-height:150px}.navbar-nav>.user-menu>.dropdown-menu{width:inherit}.main-header .logo{padding:0 5px 0 15px}.sidebar-toggle{background-color:inherit;margin-left:-48px;z-index:100}.sidebar-toggle-mobile{padding-top:10px;width:50px;z-index:100}.pull-text-right{text-align:right!important}.main-header .sidebar-toggle:before{content:"\f0c9";font-family:"Font Awesome\ 5 Free";font-weight:900}.direct-chat-contacts{height:150px;padding:10px}.select2-container{width:100%}.error input{border:2px solid #a94442!important;color:#a94442}.alert-msg,.error label{color:#a94442;display:block}.input-group[class*=col-]{padding-left:15px;padding-right:15px}.control-label.multiline{padding-top:10px}.btn-outline{background-color:transparent;color:inherit;transition:all .5s}.btn-primary.btn-outline{color:#428bca}.btn-success.btn-outline{color:#5cb85c}.btn-info.btn-outline{color:#5bc0de}.btn-warning{background-color:#f39c12!important}.btn-warning.btn-outline{color:#f0ad4e}.btn-danger.btn-outline,a.link-danger:hover,a.link-danger:link,a.link-danger:visited{color:#dd4b39}.btn-danger.btn-outline:hover,.btn-info.btn-outline:hover,.btn-primary.btn-outline:hover,.btn-success.btn-outline:hover,.btn-warning.btn-outline:hover{color:#fff}.slideout-menu{background:#333;color:#fff;height:100%;margin-top:100px;padding:10px;position:fixed;right:-250px;top:0;width:250px;z-index:100}.slideout-menu h3{border-bottom:4px solid #222;color:#fff;font-size:1.2em;font-weight:400;padding:5px;position:relative}.slideout-menu .slideout-menu-toggle{background:#222;color:#999;display:inline-block;font-family:Arial,sans-serif;font-weight:700;line-height:1;padding:6px 9px 5px;position:absolute;right:10px;text-decoration:none;top:12px;vertical-align:top}.slideout-menu .slideout-menu-toggle:hover{color:#fff}.slideout-menu ul{border-bottom:1px solid #454545;border-top:1px solid #151515;font-weight:300;list-style:none}.slideout-menu ul li{border-bottom:1px solid #151515;border-top:1px solid #454545}.slideout-menu ul li a{color:#999;display:block;padding:10px;position:relative;text-decoration:none}.slideout-menu ul li a:hover{background:#000;color:#fff}.slideout-menu ul li a i{opacity:.5;position:absolute;right:10px;top:15px}.btn-box-tool-lg{color:orange;font-size:16px}.bs-wizard{border-bottom:1px solid #e0e0e0;margin-top:20px;padding:0 0 10px}.bs-wizard>.bs-wizard-step{padding:0;position:relative}.bs-wizard>.bs-wizard-step .bs-wizard-stepnum{color:#595959;font-size:16px;margin-bottom:5px}.bs-wizard>.bs-wizard-step .bs-wizard-info{color:#999;font-size:14px}.bs-wizard>.bs-wizard-step>.bs-wizard-dot{background:#fbe8aa;border-radius:50%;display:block;height:30px;left:50%;margin-left:-15px;margin-top:-15px;position:absolute;top:45px;width:30px}.bs-wizard>.bs-wizard-step>.bs-wizard-dot:after{background:#fbbd19;border-radius:50px;content:" ";height:14px;left:8px;position:absolute;top:8px;width:14px}.bs-wizard>.bs-wizard-step>.progress{border-radius:0;box-shadow:none;height:8px;margin:20px 0;position:relative}.bs-wizard>.bs-wizard-step>.progress>.progress-bar{background:#fbe8aa;box-shadow:none;width:0}.bs-wizard>.bs-wizard-step.complete>.progress>.progress-bar{width:100%}.bs-wizard>.bs-wizard-step.active>.progress>.progress-bar{width:50%}.bs-wizard>.bs-wizard-step:first-child.active>.progress>.progress-bar{width:0}.bs-wizard>.bs-wizard-step:last-child.active>.progress>.progress-bar{width:100%}.bs-wizard>.bs-wizard-step.disabled>.bs-wizard-dot{background-color:#f5f5f5}.bs-wizard>.bs-wizard-step.disabled>.bs-wizard-dot:after{opacity:0}.bs-wizard>.bs-wizard-step:first-child>.progress{left:50%;width:50%}.bs-wizard>.bs-wizard-step:last-child>.progress{width:50%}.bs-wizard>.bs-wizard-step.disabled a.bs-wizard-dot{pointer-events:none}.left-navblock{color:#fff;display:inline-block;float:left;padding:0;text-align:left}.skin-red .skin-purple .skin-blue .skin-black .skin-orange .skin-yellow .skin-green .skin-red-dark .skin-purple-dark .skin-blue-dark .skin-black-dark .skin-orange-dark .skin-yellow-dark .skin-green-dark .skin-contrast .main-header .navbar .dropdown-menu li a{color:#333}a.logo.no-hover a:hover{background-color:transparent}.required{border-right:6px solid orange}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:13px}.sidebar-menu{font-size:14px;white-space:normal}@media print{a[href]:after{content:none}.tab-content>.tab-pane{display:block!important;opacity:1!important;visibility:visible!important}}.navbar-brand>img,img.navbar-brand-img{float:left;max-height:50px;padding:5px 5px 5px 0}.input-daterange{border-radius:0}.btn.bg-maroon,.btn.bg-purple{min-width:90px}[hidden]{display:none!important}#toolbar{margin-top:10px}#uploadPreview{border:1px solid grey}.icon-med{color:#889195;font-size:14px}#login-logo{max-width:200px;padding-bottom:10px;padding-top:20px}a.skip-main{height:1px;left:-999px;overflow:hidden;position:absolute;top:auto;width:1px;z-index:-999}a.skip-main:active,a.skip-main:focus{background-color:#000;border:4px solid #ff0;border-radius:15px;color:#fff;font-size:1.2em;height:auto;left:auto;margin:10px 35%;overflow:auto;padding:5px;text-align:center;top:auto;width:30%;z-index:999}h2{font-size:22px}h2.task_menu{font-size:14px}h2 small{font-size:85%}h3{font-size:20px}h4{font-size:16px}.row-striped{box-sizing:border-box;display:table;line-height:2.6;margin-left:20px;padding:0;vertical-align:top}.row-striped .row:nth-of-type(odd) div{background-color:#f9f9f9;border-top:1px solid #ddd;display:table-cell}.row-striped .row:nth-of-type(2n) div{background:#fff;border-top:1px solid #ddd;display:table-cell}.row-new-striped{display:table;line-height:2.6;margin-left:20px;padding:0 20px 0 0;vertical-align:top;width:100%}.row-new-striped>.row:nth-of-type(2n){background:#fff;border-top:1px solid #ddd;display:table-row}.row-new-striped>.row:nth-of-type(odd){background-color:#f8f8f8;border-top:1px solid #ddd;display:table-row}.row-new-striped div{border-top:1px solid #ddd;display:table-cell}.row-new-striped div[class^=col]:first-child{font-weight:700}@media only screen and (max-width:520px){h1.pagetitle{padding-bottom:15px;padding-top:15px}.firstnav{padding-top:120px!important}.product{width:400px}.product img{min-width:400px}}.card-view-title{line-height:3!important;min-width:40%!important;padding-right:20px}.card-view{display:table-row;flex-direction:column}th.css-accessory>.th-inner,th.css-barcode>.th-inner,th.css-consumable>.th-inner,th.css-envelope>.th-inner,th.css-license>.th-inner{text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:0;line-height:.75!important;text-align:left}th.css-accessory>.th-inner:before,th.css-barcode>.th-inner:before,th.css-consumable>.th-inner:before,th.css-envelope>.th-inner:before,th.css-license>.th-inner:before,th.css-padlock>.th-inner:before{display:inline-block;font-family:Font Awesome\ 5 Free;font-size:20px;font-weight:900}th.css-padlock>.th-inner:before{content:"\f023";font-family:Font Awesome\ 5 Free;font-size:12px;font-weight:900;padding-right:4px}th.css-barcode>.th-inner:before{content:"\f02a";font-family:Font Awesome\ 5 Free;font-weight:900}th.css-license>.th-inner:before{content:"\f0c7";font-family:Font Awesome\ 5 Free;font-weight:400}th.css-consumable>.th-inner:before{content:"\f043";font-family:Font Awesome\ 5 Free;font-weight:900}th.css-envelope>.th-inner:before{content:"\f0e0";font-family:Font Awesome\ 5 Free;font-weight:400}th.css-accessory>.th-inner:before{content:"\f11c";font-family:Font Awesome\ 5 Free;font-weight:400}.small-box .inner{color:#fff;padding-left:15px;padding-right:15px;padding-top:15px}.small-box>a:hover,.small-box>a:link,.small-box>a:visited{color:#fff}.select2-container--default .select2-selection--single,.select2-selection .select2-selection--single{border:1px solid #d2d6de;border-radius:0;height:34px;padding:6px 12px}.form-group.has-error label{color:#a94442}.select2-container--default .select2-selection--multiple{border-radius:0}@media screen and (max-width:511px){.tab-content .tab-pane .alert-block{margin-top:120px}.sidebar-menu{margin-top:160px}}@media screen and (max-width:912px) and (min-width:512px){.sidebar-menu{margin-top:100px}}@media screen and (max-width:1268px) and (min-width:912px){.sidebar-menu{margin-top:50px}}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}label.form-control{background-color:inherit;border:0;color:inherit;display:grid;font-size:inherit;font-weight:inherit;gap:.5em;grid-template-columns:1.8em auto;padding-left:0}label.form-control--disabled{color:#959495;cursor:not-allowed;pointer-events:none}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:.05em solid;border-radius:0;color:#959495;display:grid;font:inherit;height:1.8em;margin:0;place-content:center;transform:translateY(-.075em);width:1.8em}input[type=checkbox]:before{background-color:CanvasText;box-shadow:inset 1em 1em #d3d3d3;box-shadow:inset 1em 1em #428bca;-webkit-clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);content:"";height:1em;transform:scale(0);transform-origin:bottom left;transition:transform .12s ease-in-out;width:1em}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:disabled:before,input[type=radio]:disabled:before{box-shadow:inset 1em 1em #d3d3d3;content:"";height:1em;transform:scale(1);width:1em}input[type=checkbox]:disabled:not(:checked):before,input[type=radio]:disabled:not(:checked):before{content:"";cursor:not-allowed;pointer-events:none;transform:scale(0)}input[type=checkbox]:disabled,input[type=radio]:disabled{--form-control-color:#d3d3d3;color:#959495;cursor:not-allowed;pointer-events:none}input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:.05em solid;border-radius:50%;color:#959495;display:grid;font:inherit;height:1.8em;margin:0;place-content:center;transform:translateY(-.075em);width:1.8em}input[type=radio]:before{border-radius:50%;box-shadow:inset 1em 1em #428bca;content:"";height:1em;transform:scale(0);transition:transform .12s ease-in-out;width:1em}input[type=radio]:checked:before{transform:scale(1)}.dropdown-item-marker input[type=checkbox]{font-size:10px}.bootstrap-table .fixed-table-toolbar li.dropdown-item-marker label{display:grid;font-weight:400;gap:1.5em;grid-template-columns:.1em auto}.container.row-striped .col-md-6{overflow-wrap:anywhere}.nav-tabs-custom>.nav-tabs>li{z-index:1}.select2-container .select2-search--inline .select2-search__field{padding-left:15px}.separator{align-items:center;color:#959495;display:flex;padding-top:20px;text-align:center}.separator:after,.separator:before{border-bottom:1px solid #959495;content:"";flex:1}.separator:not(:empty):before{margin-right:.25em}.separator:not(:empty):after{margin-left:.25em}.datepicker.dropdown-menu{z-index:1030!important}.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid #000 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top,#fff 50%,#eee 100%);background-image:-o-linear-gradient(top,#fff 50%,#eee 100%);background-image:linear-gradient(to bottom,#fff 50%,#eee 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top,#eee 50%,#ccc 100%);background-image:-o-linear-gradient(top,#eee 50%,#ccc 100%);background-image:linear-gradient(to bottom,#eee 50%,#ccc 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:0 0;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top,#fff 0,#eee 50%);background-image:-o-linear-gradient(top,#fff 0,#eee 50%);background-image:linear-gradient(to bottom,#fff 0,#eee 50%);background-repeat:repeat-x}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top,#eee 50%,#fff 100%);background-image:-o-linear-gradient(top,#eee 50%,#fff 100%);background-image:linear-gradient(to bottom,#eee 50%,#fff 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}.skin-red .skin-purple .skin-blue .skin-black .skin-orange .skin-yellow .skin-green .skin-red-dark .skin-purple-dark .skin-blue-dark .skin-black-dark .skin-orange-dark .skin-yellow-dark .skin-green-dark .skin-contrast .main-header .logo{background-color:inherit}.main-header .logo{clear:both;display:block;text-align:left;white-space:nowrap;width:100%!important}.main-header .logo a:hover,.main-header .logo a:visited,.main-header .logoa:link{color:#fff}.huge{font-size:40px}.btn-file{overflow:hidden;position:relative}.dropdown-menu>li>a{color:#354044}#sort tr.cansort{background:#f4f4f4;border-left:2px solid #e6e7e8;border-radius:2px;color:#444;cursor:move;margin-bottom:3px;padding:10px}.user-image-inline{border-radius:50%;float:left;height:25px;margin-right:10px;width:25px}.input-group .input-group-addon{background-color:#f4f4f4}a.accordion-header{color:#333}.dynamic-form-row{margin:20px;padding:10px}.handle{padding-left:10px}.btn-file input[type=file]{background:#fff;cursor:inherit;display:block;font-size:100px;min-height:100%;min-width:100%;opacity:0;outline:0;position:absolute;right:0;text-align:right;top:0}.main-footer{font-size:13px}.main-header{max-height:150px}.navbar-nav>.user-menu>.dropdown-menu{width:inherit}.main-header .logo{padding:0 5px 0 15px}.sidebar-toggle{background-color:inherit;margin-left:-48px;z-index:100}.sidebar-toggle-mobile{padding-top:10px;width:50px;z-index:100}.pull-text-right{text-align:right!important}.main-header .sidebar-toggle:before{content:"\f0c9";font-family:"Font Awesome\ 5 Free";font-weight:900}.direct-chat-contacts{height:150px;padding:10px}.select2-container{width:100%}.error input{border:2px solid #a94442!important;color:#a94442}.alert-msg,.error label{color:#a94442;display:block}.input-group[class*=col-]{padding-left:15px;padding-right:15px}.control-label.multiline{padding-top:10px}.btn-outline{background-color:transparent;color:inherit;transition:all .5s}.btn-primary.btn-outline{color:#428bca}.btn-success.btn-outline{color:#5cb85c}.btn-info.btn-outline{color:#5bc0de}.btn-warning{background-color:#f39c12!important}.btn-warning.btn-outline{color:#f0ad4e}.btn-danger.btn-outline,a.link-danger:hover,a.link-danger:link,a.link-danger:visited{color:#dd4b39}.btn-danger.btn-outline:hover,.btn-info.btn-outline:hover,.btn-primary.btn-outline:hover,.btn-success.btn-outline:hover,.btn-warning.btn-outline:hover{color:#fff}.slideout-menu{background:#333;color:#fff;height:100%;margin-top:100px;padding:10px;position:fixed;right:-250px;top:0;width:250px;z-index:100}.slideout-menu h3{border-bottom:4px solid #222;color:#fff;font-size:1.2em;font-weight:400;padding:5px;position:relative}.slideout-menu .slideout-menu-toggle{background:#222;color:#999;display:inline-block;font-family:Arial,sans-serif;font-weight:700;line-height:1;padding:6px 9px 5px;position:absolute;right:10px;text-decoration:none;top:12px;vertical-align:top}.slideout-menu .slideout-menu-toggle:hover{color:#fff}.slideout-menu ul{border-bottom:1px solid #454545;border-top:1px solid #151515;font-weight:300;list-style:none}.slideout-menu ul li{border-bottom:1px solid #151515;border-top:1px solid #454545}.slideout-menu ul li a{color:#999;display:block;padding:10px;position:relative;text-decoration:none}.slideout-menu ul li a:hover{background:#000;color:#fff}.slideout-menu ul li a i{opacity:.5;position:absolute;right:10px;top:15px}.btn-box-tool-lg{color:orange;font-size:16px}.bs-wizard{border-bottom:1px solid #e0e0e0;margin-top:20px;padding:0 0 10px}.bs-wizard>.bs-wizard-step{padding:0;position:relative}.bs-wizard>.bs-wizard-step .bs-wizard-stepnum{color:#595959;font-size:16px;margin-bottom:5px}.bs-wizard>.bs-wizard-step .bs-wizard-info{color:#999;font-size:14px}.bs-wizard>.bs-wizard-step>.bs-wizard-dot{background:#fbe8aa;border-radius:50%;display:block;height:30px;left:50%;margin-left:-15px;margin-top:-15px;position:absolute;top:45px;width:30px}.bs-wizard>.bs-wizard-step>.bs-wizard-dot:after{background:#fbbd19;border-radius:50px;content:" ";height:14px;left:8px;position:absolute;top:8px;width:14px}.bs-wizard>.bs-wizard-step>.progress{border-radius:0;box-shadow:none;height:8px;margin:20px 0;position:relative}.bs-wizard>.bs-wizard-step>.progress>.progress-bar{background:#fbe8aa;box-shadow:none;width:0}.bs-wizard>.bs-wizard-step.complete>.progress>.progress-bar{width:100%}.bs-wizard>.bs-wizard-step.active>.progress>.progress-bar{width:50%}.bs-wizard>.bs-wizard-step:first-child.active>.progress>.progress-bar{width:0}.bs-wizard>.bs-wizard-step:last-child.active>.progress>.progress-bar{width:100%}.bs-wizard>.bs-wizard-step.disabled>.bs-wizard-dot{background-color:#f5f5f5}.bs-wizard>.bs-wizard-step.disabled>.bs-wizard-dot:after{opacity:0}.bs-wizard>.bs-wizard-step:first-child>.progress{left:50%;width:50%}.bs-wizard>.bs-wizard-step:last-child>.progress{width:50%}.bs-wizard>.bs-wizard-step.disabled a.bs-wizard-dot{pointer-events:none}.left-navblock{color:#fff;display:inline-block;float:left;padding:0;text-align:left}.skin-red .skin-purple .skin-blue .skin-black .skin-orange .skin-yellow .skin-green .skin-red-dark .skin-purple-dark .skin-blue-dark .skin-black-dark .skin-orange-dark .skin-yellow-dark .skin-green-dark .skin-contrast .main-header .navbar .dropdown-menu li a{color:#333}a.logo.no-hover a:hover{background-color:transparent}.required{border-right:6px solid orange}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:13px}.sidebar-menu{font-size:14px;white-space:normal}@media print{a[href]:after{content:none}.tab-content>.tab-pane{display:block!important;opacity:1!important;visibility:visible!important}}.navbar-brand>img,img.navbar-brand-img{float:left;max-height:50px;padding:5px 5px 5px 0}.input-daterange{border-radius:0}.btn.bg-maroon,.btn.bg-purple{min-width:90px}[hidden]{display:none!important}#toolbar{margin-top:10px}#uploadPreview{border:1px solid grey}.icon-med{color:#889195;font-size:14px}#login-logo{max-width:200px;padding-bottom:10px;padding-top:20px}a.skip-main{height:1px;left:-999px;overflow:hidden;position:absolute;top:auto;width:1px;z-index:-999}a.skip-main:active,a.skip-main:focus{background-color:#000;border:4px solid #ff0;border-radius:15px;color:#fff;font-size:1.2em;height:auto;left:auto;margin:10px 35%;overflow:auto;padding:5px;text-align:center;top:auto;width:30%;z-index:999}h2{font-size:22px}h2.task_menu{font-size:14px}h2 small{font-size:85%}h3{font-size:20px}h4{font-size:16px}.row-striped{box-sizing:border-box;display:table;line-height:2.6;margin-left:20px;padding:0;vertical-align:top}.row-striped .row:nth-of-type(odd) div{background-color:#f9f9f9;border-top:1px solid #ddd;display:table-cell}.row-striped .row:nth-of-type(2n) div{background:#fff;border-top:1px solid #ddd;display:table-cell}.row-new-striped{display:table;line-height:2.6;margin-left:20px;padding:0 20px 0 0;vertical-align:top;width:100%}.row-new-striped>.row:nth-of-type(2n){background:#fff;border-top:1px solid #ddd;display:table-row}.row-new-striped>.row:nth-of-type(odd){background-color:#f8f8f8;border-top:1px solid #ddd;display:table-row}.row-new-striped div{border-top:1px solid #ddd;display:table-cell}.row-new-striped div[class^=col]:first-child{font-weight:700}@media only screen and (max-width:520px){h1.pagetitle{padding-bottom:15px;padding-top:15px}.firstnav{padding-top:120px!important}.product{width:400px}.product img{min-width:400px}}.card-view-title{line-height:3!important;min-width:40%!important;padding-right:20px}.card-view{display:table-row;flex-direction:column}th.css-accessory>.th-inner,th.css-barcode>.th-inner,th.css-consumable>.th-inner,th.css-envelope>.th-inner,th.css-license>.th-inner{text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:0;line-height:.75!important;text-align:left}th.css-accessory>.th-inner:before,th.css-barcode>.th-inner:before,th.css-consumable>.th-inner:before,th.css-envelope>.th-inner:before,th.css-license>.th-inner:before,th.css-padlock>.th-inner:before{display:inline-block;font-family:Font Awesome\ 5 Free;font-size:20px;font-weight:900}th.css-padlock>.th-inner:before{content:"\f023";font-family:Font Awesome\ 5 Free;font-size:12px;font-weight:900;padding-right:4px}th.css-barcode>.th-inner:before{content:"\f02a";font-family:Font Awesome\ 5 Free;font-weight:900}th.css-license>.th-inner:before{content:"\f0c7";font-family:Font Awesome\ 5 Free;font-weight:400}th.css-consumable>.th-inner:before{content:"\f043";font-family:Font Awesome\ 5 Free;font-weight:900}th.css-envelope>.th-inner:before{content:"\f0e0";font-family:Font Awesome\ 5 Free;font-weight:400}th.css-accessory>.th-inner:before{content:"\f11c";font-family:Font Awesome\ 5 Free;font-weight:400}.small-box .inner{color:#fff;padding-left:15px;padding-right:15px;padding-top:15px}.small-box>a:hover,.small-box>a:link,.small-box>a:visited{color:#fff}.select2-container--default .select2-selection--single,.select2-selection .select2-selection--single{border:1px solid #d2d6de;border-radius:0;height:34px;padding:6px 12px}.form-group.has-error label{color:#a94442}.select2-container--default .select2-selection--multiple{border-radius:0}@media screen and (max-width:511px){.tab-content .tab-pane .alert-block{margin-top:120px}.sidebar-menu{margin-top:160px}}@media screen and (max-width:912px) and (min-width:512px){.sidebar-menu{margin-top:100px}}@media screen and (max-width:1268px) and (min-width:912px){.sidebar-menu{margin-top:50px}}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}label.form-control{background-color:inherit;border:0;color:inherit;display:grid;font-size:inherit;font-weight:inherit;gap:.5em;grid-template-columns:1.8em auto;padding-left:0}label.form-control--disabled{color:#959495;cursor:not-allowed;pointer-events:none}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:.05em solid;border-radius:0;color:#959495;display:grid;font:inherit;height:1.8em;margin:0;place-content:center;transform:translateY(-.075em);width:1.8em}input[type=checkbox]:before{background-color:CanvasText;box-shadow:inset 1em 1em #d3d3d3;box-shadow:inset 1em 1em #428bca;-webkit-clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);content:"";height:1em;transform:scale(0);transform-origin:bottom left;transition:transform .12s ease-in-out;width:1em}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:disabled:before,input[type=radio]:disabled:before{box-shadow:inset 1em 1em #d3d3d3;content:"";height:1em;transform:scale(1);width:1em}input[type=checkbox]:disabled:not(:checked):before,input[type=radio]:disabled:not(:checked):before{content:"";cursor:not-allowed;pointer-events:none;transform:scale(0)}input[type=checkbox]:disabled,input[type=radio]:disabled{--form-control-color:#d3d3d3;color:#959495;cursor:not-allowed;pointer-events:none}input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:.05em solid;border-radius:50%;color:#959495;display:grid;font:inherit;height:1.8em;margin:0;place-content:center;transform:translateY(-.075em);width:1.8em}input[type=radio]:before{border-radius:50%;box-shadow:inset 1em 1em #428bca;content:"";height:1em;transform:scale(0);transition:transform .12s ease-in-out;width:1em}input[type=radio]:checked:before{transform:scale(1)}.dropdown-item-marker input[type=checkbox]{font-size:10px}.bootstrap-table .fixed-table-toolbar li.dropdown-item-marker label{display:grid;font-weight:400;gap:1.5em;grid-template-columns:.1em auto}.container.row-striped .col-md-6{overflow-wrap:anywhere}.nav-tabs-custom>.nav-tabs>li{z-index:1}.select2-container .select2-search--inline .select2-search__field{padding-left:15px}.separator{align-items:center;color:#959495;display:flex;padding-top:20px;text-align:center}.separator:after,.separator:before{border-bottom:1px solid #959495;content:"";flex:1}.separator:not(:empty):before{margin-right:.25em}.separator:not(:empty):after{margin-left:.25em}.datepicker.dropdown-menu{z-index:1030!important} diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 203d58041..b6ad88cc6 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,8 +1,8 @@ { "/js/build/app.js": "/js/build/app.js?id=6bbc4dd6b643fefe492261fdfe6fae5a", "/css/dist/skins/skin-blue.css": "/css/dist/skins/skin-blue.css?id=392cc93cfc0be0349bab9697669dd091", - "/css/build/overrides.css": "/css/build/overrides.css?id=6a7f37afafaaf9ccea99a7391cdf02b2", - "/css/build/app.css": "/css/build/app.css?id=ea3875faceb1d09c162d00fbf5b4df57", + "/css/build/overrides.css": "/css/build/overrides.css?id=87c4587df4ab5c64e0e3ee920310ba2a", + "/css/build/app.css": "/css/build/app.css?id=28a7726dc9fa61365d36ed7067461490", "/css/build/AdminLTE.css": "/css/build/AdminLTE.css?id=f25c77ed07053646a42e9c19923d24fa", "/css/dist/skins/skin-orange.css": "/css/dist/skins/skin-orange.css?id=268041e902b019730c23ee3875838005", "/css/dist/skins/skin-orange-dark.css": "/css/dist/skins/skin-orange-dark.css?id=d409d9b1a3b69247df8b98941ba06e33", @@ -18,7 +18,7 @@ "/css/dist/skins/skin-green.css": "/css/dist/skins/skin-green.css?id=b48f4d8af0e1ca5621c161e93951109f", "/css/dist/skins/skin-contrast.css": "/css/dist/skins/skin-contrast.css?id=f0fbbb0ac729ea092578fb05ca615460", "/css/dist/skins/skin-red.css": "/css/dist/skins/skin-red.css?id=b9a74ec0cd68f83e7480d5ae39919beb", - "/css/dist/all.css": "/css/dist/all.css?id=2ef1965d45a0a72336dd8e9b93f82d80", + "/css/dist/all.css": "/css/dist/all.css?id=532efb2074799739e7924d4d15cbeb48", "/css/dist/signature-pad.css": "/css/dist/signature-pad.css?id=6a89d3cd901305e66ced1cf5f13147f7", "/css/dist/signature-pad.min.css": "/css/dist/signature-pad.min.css?id=6a89d3cd901305e66ced1cf5f13147f7", "/css/webfonts/fa-brands-400.ttf": "/css/webfonts/fa-brands-400.ttf?id=69e5d8e4e818f05fd882cceb758d1eba", diff --git a/resources/assets/less/overrides.less b/resources/assets/less/overrides.less index 5e1695342..f651826dd 100644 --- a/resources/assets/less/overrides.less +++ b/resources/assets/less/overrides.less @@ -887,4 +887,7 @@ input[type="radio"]:checked::before { .separator:not(:empty)::after { margin-left: .25em; +} +.datepicker.dropdown-menu { + z-index: 1030 !important; } \ No newline at end of file diff --git a/resources/views/account/view-assets.blade.php b/resources/views/account/view-assets.blade.php index e8d068576..48c94f683 100755 --- a/resources/views/account/view-assets.blade.php +++ b/resources/views/account/view-assets.blade.php @@ -521,7 +521,7 @@ @else ------------ @endcan - {{ $license->category->name }} + {{ ($license->category) ? $license->category->name : trans('general.deleted') }} @endforeach diff --git a/resources/views/hardware/view.blade.php b/resources/views/hardware/view.blade.php index 72a260394..a32503d7e 100755 --- a/resources/views/hardware/view.blade.php +++ b/resources/views/hardware/view.blade.php @@ -410,12 +410,13 @@
@if (($field->field_encrypted=='1') && ($asset->{$field->db_column_name()}!='')) - + @endif @if ($field->isFieldDecryptable($asset->{$field->db_column_name()} )) @can('assets.view.encrypted_custom_fields') - + ******** + @if (($field->format=='URL') && ($asset->{$field->db_column_name()}!='')) {{ Helper::gracefulDecrypt($field, $asset->{$field->db_column_name()}) }} @elseif (($field->format=='DATE') && ($asset->{$field->db_column_name()}!='')) @@ -427,7 +428,7 @@ - @else + @else {{ strtoupper(trans('admin/custom_fields/general.encrypted')) }} @endcan diff --git a/resources/views/layouts/default.blade.php b/resources/views/layouts/default.blade.php index 95a82ce41..216632ccf 100644 --- a/resources/views/layouts/default.blade.php +++ b/resources/views/layouts/default.blade.php @@ -964,8 +964,7 @@ var clickedElement = $(e.trigger); // Get the target element selector from data attribute var targetSelector = clickedElement.data('data-clipboard-target'); - // Find the target element - var targetEl = $(targetSelector); + // Show the alert that the content was copied clickedElement.tooltip('hide').attr('data-original-title', '{{ trans('general.copied') }}').tooltip('show'); }); @@ -979,6 +978,23 @@ }); + function showHideEncValue(e) { + // Use element id to find the text element to hide / show + var targetElement = e.id+"-to-show"; + var hiddenElement = e.id+"-to-hide"; + if($(e).hasClass('fa-lock')) { + $(e).removeClass('fa-lock').addClass('fa-unlock'); + // Show the encrypted custom value and hide the element with asterisks + document.getElementById(targetElement).style.fontSize = "100%"; + document.getElementById(hiddenElement).style.display = "none"; + } else { + $(e).removeClass('fa-unlock').addClass('fa-lock'); + // ClipboardJS can't copy display:none elements so use a trick to hide the value + document.getElementById(targetElement).style.fontSize = "0px"; + document.getElementById(hiddenElement).style.display = ""; + } + } + $(function () { // Invoke Bootstrap 3's tooltip diff --git a/tests/Feature/Api/Users/UpdateUserApiTest.php b/tests/Feature/Api/Users/UpdateUserApiTest.php index 81c115464..0786b171e 100644 --- a/tests/Feature/Api/Users/UpdateUserApiTest.php +++ b/tests/Feature/Api/Users/UpdateUserApiTest.php @@ -5,13 +5,10 @@ namespace Tests\Feature\Api\Users; use App\Models\User; use Tests\Support\InteractsWithSettings; use Tests\TestCase; -use Tests\Support\InteractsWithAuthentication; - class UpdateUserApiTest extends TestCase { use InteractsWithSettings; - use InteractsWithAuthentication; public function testApiUsersCanBeActivatedWithNumber() { @@ -64,5 +61,4 @@ class UpdateUserApiTest extends TestCase $this->assertEquals(0, $user->refresh()->activated); } - } diff --git a/tests/Feature/Notifications/AccessoryWebhookTest.php b/tests/Feature/Notifications/AccessoryWebhookTest.php deleted file mode 100644 index 2e3ef999b..000000000 --- a/tests/Feature/Notifications/AccessoryWebhookTest.php +++ /dev/null @@ -1,96 +0,0 @@ -settings->enableSlackWebhook(); - - event(new CheckoutableCheckedOut( - Accessory::factory()->appleBtKeyboard()->create(), - User::factory()->create(), - User::factory()->superuser()->create(), - '' - )); - - Notification::assertSentTo( - new AnonymousNotifiable, - CheckoutAccessoryNotification::class, - function ($notification, $channels, $notifiable) { - return $notifiable->routes['slack'] === Setting::getSettings()->webhook_endpoint; - } - ); - } - - public function testAccessoryCheckoutDoesNotSendWebhookNotificationWhenSettingDisabled() - { - Notification::fake(); - - $this->settings->disableWebhook(); - - event(new CheckoutableCheckedOut( - Accessory::factory()->appleBtKeyboard()->create(), - User::factory()->create(), - User::factory()->superuser()->create(), - '' - )); - - Notification::assertNotSentTo(new AnonymousNotifiable, CheckoutAccessoryNotification::class); - } - - public function testAccessoryCheckinSendsWebhookNotificationWhenSettingEnabled() - { - Notification::fake(); - - $this->settings->enableSlackWebhook(); - - event(new CheckoutableCheckedIn( - Accessory::factory()->appleBtKeyboard()->create(), - User::factory()->create(), - User::factory()->superuser()->create(), - '' - )); - - Notification::assertSentTo( - new AnonymousNotifiable, - CheckinAccessoryNotification::class, - function ($notification, $channels, $notifiable) { - return $notifiable->routes['slack'] === Setting::getSettings()->webhook_endpoint; - } - ); - } - - public function testAccessoryCheckinDoesNotSendWebhookNotificationWhenSettingDisabled() - { - Notification::fake(); - - $this->settings->disableWebhook(); - - event(new CheckoutableCheckedIn( - Accessory::factory()->appleBtKeyboard()->create(), - User::factory()->create(), - User::factory()->superuser()->create(), - '' - )); - - Notification::assertNotSentTo(new AnonymousNotifiable, CheckinAccessoryNotification::class); - } -} diff --git a/tests/Feature/Notifications/AssetWebhookTest.php b/tests/Feature/Notifications/AssetWebhookTest.php deleted file mode 100644 index 95218f98e..000000000 --- a/tests/Feature/Notifications/AssetWebhookTest.php +++ /dev/null @@ -1,163 +0,0 @@ - [fn() => User::factory()->create()], - 'Asset checked out to asset' => [fn() => $this->createAsset()], - 'Asset checked out to location' => [fn() => Location::factory()->create()], - ]; - } - - /** @dataProvider targets */ - public function testAssetCheckoutSendsWebhookNotificationWhenSettingEnabled($checkoutTarget) - { - Notification::fake(); - - $this->settings->enableSlackWebhook(); - - event(new CheckoutableCheckedOut( - $this->createAsset(), - $checkoutTarget(), - User::factory()->superuser()->create(), - '' - )); - - Notification::assertSentTo( - new AnonymousNotifiable, - CheckoutAssetNotification::class, - function ($notification, $channels, $notifiable) { - return $notifiable->routes['slack'] === Setting::getSettings()->webhook_endpoint; - } - ); - } - - /** @dataProvider targets */ - public function testAssetCheckoutDoesNotSendWebhookNotificationWhenSettingDisabled($checkoutTarget) - { - Notification::fake(); - - $this->settings->disableWebhook(); - - event(new CheckoutableCheckedOut( - $this->createAsset(), - $checkoutTarget(), - User::factory()->superuser()->create(), - '' - )); - - Notification::assertNotSentTo(new AnonymousNotifiable, CheckoutAssetNotification::class); - } - - /** @dataProvider targets */ - public function testAssetCheckinSendsWebhookNotificationWhenSettingEnabled($checkoutTarget) - { - Notification::fake(); - - $this->settings->enableSlackWebhook(); - - event(new CheckoutableCheckedIn( - $this->createAsset(), - $checkoutTarget(), - User::factory()->superuser()->create(), - '' - )); - - Notification::assertSentTo( - new AnonymousNotifiable, - CheckinAssetNotification::class, - function ($notification, $channels, $notifiable) { - return $notifiable->routes['slack'] === Setting::getSettings()->webhook_endpoint; - } - ); - } - - /** @dataProvider targets */ - public function testAssetCheckinDoesNotSendWebhookNotificationWhenSettingDisabled($checkoutTarget) - { - Notification::fake(); - - $this->settings->disableWebhook(); - - event(new CheckoutableCheckedIn( - $this->createAsset(), - $checkoutTarget(), - User::factory()->superuser()->create(), - '' - )); - - Notification::assertNotSentTo(new AnonymousNotifiable, CheckinAssetNotification::class); - } - - public function testCheckInEmailSentToUserIfSettingEnabled() - { - Notification::fake(); - - $user = User::factory()->create(); - $asset = Asset::factory()->assignedToUser($user)->create(); - - $asset->model->category->update(['checkin_email' => true]); - - event(new CheckoutableCheckedIn( - $asset, - $user, - User::factory()->checkinAssets()->create(), - '' - )); - - Notification::assertSentTo( - [$user], - function (CheckinAssetNotification $notification, $channels) { - return in_array('mail', $channels); - }, - ); - } - - public function testCheckInEmailNotSentToUserIfSettingDisabled() - { - Notification::fake(); - - $user = User::factory()->create(); - $asset = Asset::factory()->assignedToUser($user)->create(); - - $asset->model->category->update(['checkin_email' => false]); - - event(new CheckoutableCheckedIn( - $asset, - $user, - User::factory()->checkinAssets()->create(), - '' - )); - - Notification::assertNotSentTo( - [$user], - function (CheckinAssetNotification $notification, $channels) { - return in_array('mail', $channels); - } - ); - } - - private function createAsset() - { - return Asset::factory()->laptopMbp()->create(); - } -} diff --git a/tests/Feature/Notifications/ComponentWebhookTest.php b/tests/Feature/Notifications/ComponentWebhookTest.php deleted file mode 100644 index 2e2a53521..000000000 --- a/tests/Feature/Notifications/ComponentWebhookTest.php +++ /dev/null @@ -1,50 +0,0 @@ -settings->enableSlackWebhook(); - - event(new CheckoutableCheckedOut( - Component::factory()->ramCrucial8()->create(), - Asset::factory()->laptopMbp()->create(), - User::factory()->superuser()->create(), - '' - )); - - Notification::assertNothingSent(); - } - - public function testComponentCheckinDoesNotSendWebhookNotification() - { - Notification::fake(); - - $this->settings->enableSlackWebhook(); - - event(new CheckoutableCheckedIn( - Component::factory()->ramCrucial8()->create(), - Asset::factory()->laptopMbp()->create(), - User::factory()->superuser()->create(), - '' - )); - - Notification::assertNothingSent(); - } -} diff --git a/tests/Feature/Notifications/ConsumableWebhookTest.php b/tests/Feature/Notifications/ConsumableWebhookTest.php deleted file mode 100644 index 2815731bd..000000000 --- a/tests/Feature/Notifications/ConsumableWebhookTest.php +++ /dev/null @@ -1,56 +0,0 @@ -settings->enableSlackWebhook(); - - event(new CheckoutableCheckedOut( - Consumable::factory()->cardstock()->create(), - User::factory()->create(), - User::factory()->superuser()->create(), - '' - )); - - Notification::assertSentTo( - new AnonymousNotifiable, - CheckoutConsumableNotification::class, - function ($notification, $channels, $notifiable) { - return $notifiable->routes['slack'] === Setting::getSettings()->webhook_endpoint; - } - ); - } - - public function testConsumableCheckoutDoesNotSendWebhookNotificationWhenSettingDisabled() - { - Notification::fake(); - - $this->settings->disableWebhook(); - - event(new CheckoutableCheckedOut( - Consumable::factory()->cardstock()->create(), - User::factory()->create(), - User::factory()->superuser()->create(), - '' - )); - - Notification::assertNotSentTo(new AnonymousNotifiable, CheckoutConsumableNotification::class); - } -} diff --git a/tests/Feature/Notifications/Email/EmailNotificationsUponCheckinTest.php b/tests/Feature/Notifications/Email/EmailNotificationsUponCheckinTest.php new file mode 100644 index 000000000..dbe79c572 --- /dev/null +++ b/tests/Feature/Notifications/Email/EmailNotificationsUponCheckinTest.php @@ -0,0 +1,70 @@ +create(); + $asset = Asset::factory()->assignedToUser($user)->create(); + + $asset->model->category->update(['checkin_email' => true]); + + $this->fireCheckInEvent($asset, $user); + + Notification::assertSentTo( + $user, + function (CheckinAssetNotification $notification, $channels) { + return in_array('mail', $channels); + }, + ); + } + + public function testCheckInEmailNotSentToUserIfSettingDisabled() + { + $user = User::factory()->create(); + $asset = Asset::factory()->assignedToUser($user)->create(); + + $asset->model->category->update(['checkin_email' => false]); + + $this->fireCheckInEvent($asset, $user); + + Notification::assertNotSentTo( + $user, + function (CheckinAssetNotification $notification, $channels) { + return in_array('mail', $channels); + } + ); + } + + private function fireCheckInEvent($asset, $user): void + { + event(new CheckoutableCheckedIn( + $asset, + $user, + User::factory()->checkinAssets()->create(), + '' + )); + } +} diff --git a/tests/Feature/Notifications/LicenseWebhookTest.php b/tests/Feature/Notifications/LicenseWebhookTest.php deleted file mode 100644 index 24ec53a75..000000000 --- a/tests/Feature/Notifications/LicenseWebhookTest.php +++ /dev/null @@ -1,109 +0,0 @@ - [fn() => User::factory()->create()], - 'License checked out to asset' => [fn() => Asset::factory()->laptopMbp()->create()], - ]; - } - - /** @dataProvider targets */ - public function testLicenseCheckoutSendsWebhookNotificationWhenSettingEnabled($checkoutTarget) - { - Notification::fake(); - - $this->settings->enableSlackWebhook(); - - event(new CheckoutableCheckedOut( - LicenseSeat::factory()->create(), - $checkoutTarget(), - User::factory()->superuser()->create(), - '' - )); - - Notification::assertSentTo( - new AnonymousNotifiable, - CheckoutLicenseSeatNotification::class, - function ($notification, $channels, $notifiable) { - return $notifiable->routes['slack'] === Setting::getSettings()->webhook_endpoint; - } - ); - } - - /** @dataProvider targets */ - public function testLicenseCheckoutDoesNotSendWebhookNotificationWhenSettingDisabled($checkoutTarget) - { - Notification::fake(); - - $this->settings->disableWebhook(); - - event(new CheckoutableCheckedOut( - LicenseSeat::factory()->create(), - $checkoutTarget(), - User::factory()->superuser()->create(), - '' - )); - - Notification::assertNotSentTo(new AnonymousNotifiable, CheckoutLicenseSeatNotification::class); - } - - /** @dataProvider targets */ - public function testLicenseCheckinSendsWebhookNotificationWhenSettingEnabled($checkoutTarget) - { - Notification::fake(); - - $this->settings->enableSlackWebhook(); - - event(new CheckoutableCheckedIn( - LicenseSeat::factory()->create(), - $checkoutTarget(), - User::factory()->superuser()->create(), - '' - )); - - Notification::assertSentTo( - new AnonymousNotifiable, - CheckinLicenseSeatNotification::class, - function ($notification, $channels, $notifiable) { - return $notifiable->routes['slack'] === Setting::getSettings()->webhook_endpoint; - } - ); - } - - /** @dataProvider targets */ - public function testLicenseCheckinDoesNotSendWebhookNotificationWhenSettingDisabled($checkoutTarget) - { - Notification::fake(); - - $this->settings->disableWebhook(); - - event(new CheckoutableCheckedIn( - LicenseSeat::factory()->create(), - $checkoutTarget(), - User::factory()->superuser()->create(), - '' - )); - - Notification::assertNotSentTo(new AnonymousNotifiable, CheckinLicenseSeatNotification::class); - } -} diff --git a/tests/Feature/Notifications/Webhooks/SlackNotificationsUponCheckinTest.php b/tests/Feature/Notifications/Webhooks/SlackNotificationsUponCheckinTest.php new file mode 100644 index 000000000..b6bb7801a --- /dev/null +++ b/tests/Feature/Notifications/Webhooks/SlackNotificationsUponCheckinTest.php @@ -0,0 +1,148 @@ + [fn() => User::factory()->create()], + 'Asset checked out to asset' => [fn() => Asset::factory()->laptopMbp()->create()], + 'Asset checked out to location' => [fn() => Location::factory()->create()], + ]; + } + + public function licenseCheckInTargets(): array + { + return [ + 'License checked out to user' => [fn() => User::factory()->create()], + 'License checked out to asset' => [fn() => Asset::factory()->laptopMbp()->create()], + ]; + } + + public function testAccessoryCheckinSendsSlackNotificationWhenSettingEnabled() + { + $this->settings->enableSlackWebhook(); + + $this->fireCheckInEvent( + Accessory::factory()->create(), + User::factory()->create(), + ); + + $this->assertSlackNotificationSent(CheckinAccessoryNotification::class); + } + + public function testAccessoryCheckinDoesNotSendSlackNotificationWhenSettingDisabled() + { + $this->settings->disableSlackWebhook(); + + $this->fireCheckInEvent( + Accessory::factory()->create(), + User::factory()->create(), + ); + + $this->assertNoSlackNotificationSent(CheckinAccessoryNotification::class); + } + + /** @dataProvider assetCheckInTargets */ + public function testAssetCheckinSendsSlackNotificationWhenSettingEnabled($checkoutTarget) + { + $this->settings->enableSlackWebhook(); + + $this->fireCheckInEvent( + Asset::factory()->create(), + $checkoutTarget(), + ); + + $this->assertSlackNotificationSent(CheckinAssetNotification::class); + } + + /** @dataProvider assetCheckInTargets */ + public function testAssetCheckinDoesNotSendSlackNotificationWhenSettingDisabled($checkoutTarget) + { + $this->settings->disableSlackWebhook(); + + $this->fireCheckInEvent( + Asset::factory()->create(), + $checkoutTarget(), + ); + + $this->assertNoSlackNotificationSent(CheckinAssetNotification::class); + } + + public function testComponentCheckinDoesNotSendSlackNotification() + { + $this->settings->enableSlackWebhook(); + + $this->fireCheckInEvent( + Component::factory()->create(), + Asset::factory()->laptopMbp()->create(), + ); + + Notification::assertNothingSent(); + } + + /** @dataProvider licenseCheckInTargets */ + public function testLicenseCheckinSendsSlackNotificationWhenSettingEnabled($checkoutTarget) + { + $this->settings->enableSlackWebhook(); + + $this->fireCheckInEvent( + LicenseSeat::factory()->create(), + $checkoutTarget(), + ); + + $this->assertSlackNotificationSent(CheckinLicenseSeatNotification::class); + } + + /** @dataProvider licenseCheckInTargets */ + public function testLicenseCheckinDoesNotSendSlackNotificationWhenSettingDisabled($checkoutTarget) + { + $this->settings->disableSlackWebhook(); + + $this->fireCheckInEvent( + LicenseSeat::factory()->create(), + $checkoutTarget(), + ); + + $this->assertNoSlackNotificationSent(CheckinLicenseSeatNotification::class); + } + + private function fireCheckInEvent(Model $checkoutable, Model $target) + { + event(new CheckoutableCheckedIn( + $checkoutable, + $target, + User::factory()->superuser()->create(), + '' + )); + } +} diff --git a/tests/Feature/Notifications/Webhooks/SlackNotificationsUponCheckoutTest.php b/tests/Feature/Notifications/Webhooks/SlackNotificationsUponCheckoutTest.php new file mode 100644 index 000000000..550f7c5b1 --- /dev/null +++ b/tests/Feature/Notifications/Webhooks/SlackNotificationsUponCheckoutTest.php @@ -0,0 +1,174 @@ + [fn() => User::factory()->create()], + 'Asset checked out to asset' => [fn() => Asset::factory()->laptopMbp()->create()], + 'Asset checked out to location' => [fn() => Location::factory()->create()], + ]; + } + + public function licenseCheckoutTargets(): array + { + return [ + 'License checked out to user' => [fn() => User::factory()->create()], + 'License checked out to asset' => [fn() => Asset::factory()->laptopMbp()->create()], + ]; + } + + public function testAccessoryCheckoutSendsSlackNotificationWhenSettingEnabled() + { + $this->settings->enableSlackWebhook(); + + $this->fireCheckOutEvent( + Accessory::factory()->create(), + User::factory()->create(), + ); + + $this->assertSlackNotificationSent(CheckoutAccessoryNotification::class); + } + + public function testAccessoryCheckoutDoesNotSendSlackNotificationWhenSettingDisabled() + { + $this->settings->disableSlackWebhook(); + + $this->fireCheckOutEvent( + Accessory::factory()->create(), + User::factory()->create(), + ); + + $this->assertNoSlackNotificationSent(CheckoutAccessoryNotification::class); + } + + /** @dataProvider assetCheckoutTargets */ + public function testAssetCheckoutSendsSlackNotificationWhenSettingEnabled($checkoutTarget) + { + $this->settings->enableSlackWebhook(); + + $this->fireCheckOutEvent( + Asset::factory()->create(), + $checkoutTarget(), + ); + + $this->assertSlackNotificationSent(CheckoutAssetNotification::class); + } + + /** @dataProvider assetCheckoutTargets */ + public function testAssetCheckoutDoesNotSendSlackNotificationWhenSettingDisabled($checkoutTarget) + { + $this->settings->disableSlackWebhook(); + + $this->fireCheckOutEvent( + Asset::factory()->create(), + $checkoutTarget(), + ); + + $this->assertNoSlackNotificationSent(CheckoutAssetNotification::class); + } + + public function testComponentCheckoutDoesNotSendSlackNotification() + { + $this->settings->enableSlackWebhook(); + + $this->fireCheckOutEvent( + Component::factory()->create(), + Asset::factory()->laptopMbp()->create(), + ); + + Notification::assertNothingSent(); + } + + public function testConsumableCheckoutSendsSlackNotificationWhenSettingEnabled() + { + $this->settings->enableSlackWebhook(); + + $this->fireCheckOutEvent( + Consumable::factory()->create(), + User::factory()->create(), + ); + + $this->assertSlackNotificationSent(CheckoutConsumableNotification::class); + } + + public function testConsumableCheckoutDoesNotSendSlackNotificationWhenSettingDisabled() + { + $this->settings->disableSlackWebhook(); + + $this->fireCheckOutEvent( + Consumable::factory()->create(), + User::factory()->create(), + ); + + $this->assertNoSlackNotificationSent(CheckoutConsumableNotification::class); + } + + /** @dataProvider licenseCheckoutTargets */ + public function testLicenseCheckoutSendsSlackNotificationWhenSettingEnabled($checkoutTarget) + { + $this->settings->enableSlackWebhook(); + + $this->fireCheckOutEvent( + LicenseSeat::factory()->create(), + $checkoutTarget(), + ); + + $this->assertSlackNotificationSent(CheckoutLicenseSeatNotification::class); + } + + /** @dataProvider licenseCheckoutTargets */ + public function testLicenseCheckoutDoesNotSendSlackNotificationWhenSettingDisabled($checkoutTarget) + { + $this->settings->disableSlackWebhook(); + + $this->fireCheckOutEvent( + LicenseSeat::factory()->create(), + $checkoutTarget(), + ); + + $this->assertNoSlackNotificationSent(CheckoutLicenseSeatNotification::class); + } + + private function fireCheckOutEvent(Model $checkoutable, Model $target) + { + event(new CheckoutableCheckedOut( + $checkoutable, + $target, + User::factory()->superuser()->create(), + '', + )); + } +} diff --git a/tests/Support/AssertsAgainstSlackNotifications.php b/tests/Support/AssertsAgainstSlackNotifications.php new file mode 100644 index 000000000..11e6beea2 --- /dev/null +++ b/tests/Support/AssertsAgainstSlackNotifications.php @@ -0,0 +1,26 @@ +routes['slack'] === Setting::getSettings()->webhook_endpoint; + } + ); + } + + public function assertNoSlackNotificationSent(string $notificationClass) + { + Notification::assertNotSentTo(new AnonymousNotifiable, $notificationClass); + } +} diff --git a/tests/Support/Settings.php b/tests/Support/Settings.php index 310485115..2d499838c 100644 --- a/tests/Support/Settings.php +++ b/tests/Support/Settings.php @@ -49,7 +49,7 @@ class Settings ]); } - public function disableWebhook(): Settings + public function disableSlackWebhook(): Settings { return $this->update([ 'webhook_selected' => '', diff --git a/tests/TestCase.php b/tests/TestCase.php index 03f273ad6..535f9a3e2 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -6,12 +6,14 @@ use App\Http\Middleware\SecurityHeaders; use Illuminate\Foundation\Testing\LazilyRefreshDatabase; use Illuminate\Foundation\Testing\TestCase as BaseTestCase; use RuntimeException; +use Tests\Support\AssertsAgainstSlackNotifications; use Tests\Support\CustomTestMacros; use Tests\Support\InteractsWithAuthentication; use Tests\Support\InteractsWithSettings; abstract class TestCase extends BaseTestCase { + use AssertsAgainstSlackNotifications; use CreatesApplication; use CustomTestMacros; use InteractsWithAuthentication; diff --git a/tests/Unit/AssetTest.php b/tests/Unit/AssetTest.php index 7670d1075..d3d9a9011 100644 --- a/tests/Unit/AssetTest.php +++ b/tests/Unit/AssetTest.php @@ -23,6 +23,7 @@ class AssetTest extends TestCase $this->assertModelExists($b); } + public function testAutoIncrementCollision() { $this->settings->enableAutoIncrement(); diff --git a/tests/Unit/CategoryTest.php b/tests/Unit/CategoryTest.php index c74597b1b..e5c98a67a 100644 --- a/tests/Unit/CategoryTest.php +++ b/tests/Unit/CategoryTest.php @@ -60,34 +60,4 @@ class CategoryTest extends TestCase $this->assertCount(5, $category->models); $this->assertEquals(10, $category->itemCount()); } - - - // public function testACategoryCanHaveAccessories() - // { - // $category = Category::factory()->assetDesktopCategory()->create(); - // Accessory::factory()->count(5)->appleBtKeyboard()->create( - // [ - // 'category_id' => $category->id - // ] - // ); - - // $this->assertCount(5, $category->accessories); - // $this->assertEquals(5, $category->itemCount()); - // } - - // public function testACategoryCanHaveConsumables() - // { - // $category = $this->createValidCategory('consumable-paper-category'); - // \App\Models\Consumable::factory()->count(5)->cardstock()->create(['category_id' => $category->id]); - // $this->assertCount(5, $category->consumables); - // $this->assertEquals(5, $category->itemCount()); - // } - - // public function testACategoryCanHaveComponents() - // { - // $category = $this->createValidCategory('component-ram-category'); - // \App\Models\Component::factory()->count(5)->ramCrucial4()->create(['category_id' => $category->id]); - // $this->assertCount(5, $category->components); - // $this->assertEquals(5, $category->itemCount()); - // } } diff --git a/tests/Unit/ImporterTest.php b/tests/Unit/ImporterTest.php deleted file mode 100644 index b3d5da8b3..000000000 --- a/tests/Unit/ImporterTest.php +++ /dev/null @@ -1,739 +0,0 @@ -signIn(); -// $csv = <<<'EOT' -// Full Name,Email,Username,item Name,Category,Model name,Manufacturer,Model Number,Serial,Asset Tag,Location,Notes,Purchase Date,Purchase Cost,Company,Status,Warranty,Supplier,Weight -// Bonnie Nelson,bnelson0@cdbaby.com,bnelson0,eget nunc donec quis,quam,massa id,Linkbridge,6377018600094472,27aa8378-b0f4-4289-84a4-405da95c6147,970882174-8,Daping,"Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est.",2016-04-05,133289.59,Alpha,Undeployable,14,Blogspan,35 -// EOT; - -// $this->initializeCustomFields(); -// $this->import(new AssetImporter($csv)); - -// $this->tester->seeRecord('users', [ -// 'first_name' => 'Bonnie', -// 'last_name' => 'Nelson', -// 'email' => 'bnelson0@cdbaby.com', -// ]); -// $this->tester->seeRecord('categories', [ -// 'name' => 'quam', -// ]); - -// $this->tester->seeRecord('models', [ -// 'name' => 'massa id', -// 'model_number' => 6377018600094472, -// ]); - -// $this->tester->seeRecord('manufacturers', [ -// 'name' => 'Linkbridge', -// ]); - -// $this->tester->seeRecord('locations', [ -// 'name' => 'Daping', -// ]); - -// $this->tester->seeRecord('companies', [ -// 'name' => 'Alpha', -// ]); - -// $this->tester->seeRecord('status_labels', [ -// 'name' => 'Undeployable', -// ]); - -// $this->tester->seeRecord('suppliers', [ -// 'name' => 'Blogspan', -// ]); - -// $this->tester->seeRecord('assets', [ -// 'name' => 'eget nunc donec quis', -// 'serial' => '27aa8378-b0f4-4289-84a4-405da95c6147', -// 'asset_tag' => '970882174-8', -// 'notes' => 'Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est.', -// 'purchase_date' => '2016-04-05 00:00:01', -// 'purchase_cost' => 133289.59, 'warranty_months' => 14, -// '_snipeit_weight_2' => 35, -// ]); -// } - -// public function testImportCheckoutToLocation() -// { -// $this->signIn(); - -// // Testing in order: -// // * Asset to user, no checkout type defined (default to user). -// // * Asset to user, explicit user checkout type (Checkout to user) -// // * Asset to location, location does not exist to begin with -// // * Asset to preexisting location. -// $csv = <<<'EOT' -// Full Name,Email,Username,Checkout Location,Checkout Type,item Name,Category,Model name,Manufacturer,Model Number,Serial,Asset Tag,Location,Notes,Purchase Date,Purchase Cost,Company,Status,Warranty,Supplier,Weight -// Bonnie Nelson,bnelson0@cdbaby.com,bnelson0,,,eget nunc donec quis,quam,massa id,Linkbridge,6377018600094472,27aa8378-b0f4-4289-84a4-405da95c6147,970882174-8,Daping,"Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est.",2016-04-05,133289.59,Alpha,Undeployable,14,Blogspan,35 -// Mildred Gibson,mgibson2@wiley.com,mgibson2,,user,morbi quis tortor id,nunc nisl duis,convallis tortor risus,Lajo,374622546776765,2837ab20-8f0d-4935-8a52-226392f2b1b0,710141467-2,Shekou,In congue. Etiam justo. Etiam pretium iaculis justo.,2015-08-09,233.57,Konklab,Lost,,, -// ,,,Planet Earth,location,dictumst maecenas ut,sem praesent,accumsan felis,Layo,30052522651756,4751495c-cee0-4961-b788-94a545b5643e,998233705-X,Dante Delgado,,2016-04-16,261.79,,Archived,15,Ntag, -// ,,,Daping,location,viverra diam vitae,semper sapien,dapibus dolor vel,Flashset,3559785746335392,e287bb64-ff4f-434c-88ab-210ad433c77b,927820758-6,Achiaman,,2016-03-05,675.3,,Archived,22,Meevee, -// EOT; - -// $this->import(new AssetImporter($csv)); - -// $user = User::where('username', 'bnelson0')->firstOrFail(); - -// $this->tester->seeRecord('assets', [ -// 'asset_tag' => '970882174-8', -// 'assigned_type' => User::class, -// 'assigned_to' => $user->id, -// ]); - -// $user = User::where('username', 'mgibson2')->firstOrFail(); -// $this->tester->seeRecord('assets', [ -// 'asset_tag' => '710141467-2', -// 'assigned_type' => User::class, -// 'assigned_to' => $user->id, -// ]); - -// $location = Location::where('name', 'Planet Earth')->firstOrFail(); -// $this->tester->seeRecord('assets', [ -// 'asset_tag' => '998233705-X', -// 'assigned_type' => Location::class, -// 'assigned_to' => $location->id, -// ]); - -// $location = Location::where('name', 'Daping')->firstOrFail(); -// $this->tester->seeRecord('assets', [ -// 'asset_tag' => '927820758-6', -// 'assigned_type' => Location::class, -// 'assigned_to' => $location->id, -// ]); -// } - -// public function testUpdateAssetIncludingCustomFields() -// { -// $this->signIn(); -// $csv = <<<'EOT' -// Name,Email,Username,item Name,Category,Model name,Manufacturer,Model Number,Serial,Asset Tag,Location,Notes,Purchase Date,Purchase Cost,Company,Status,Warranty,Supplier,weight -// Bonnie Nelson,bnelson0@cdbaby.com,bnelson0,eget nunc donec quis,quam,massa id,Linkbridge,6377018600094472,27aa8378-b0f4-4289-84a4-405da95c6147,970882174-8,Daping,"Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est.",2016-04-05,133289.59,Alpha,Undeployable,14,Blogspan,95 -// EOT; - -// $this->initializeCustomFields(); -// $this->import(new AssetImporter($csv)); - -// $updatedCSV = <<<'EOT' -// item Name,Category,Model name,Manufacturer,Model Number,Serial,Asset Tag,Location,Notes,Purchase Date,Purchase Cost,Company,Status,Warranty,Supplier -// A new name,some other category,Another Model,Linkbridge 32,356,67433477,970882174-8,New Location,I have no notes,2018-04-05,25.59,Another Company,Ready To Go,18,Not Creative -// EOT; -// $importer = new AssetImporter($updatedCSV); -// $importer->setUserId(1) -// ->setUpdating(true) -// ->setUsernameFormat('firstname.lastname') -// ->import(); - -// $this->tester->seeRecord('categories', [ -// 'name' => 'some other category', -// ]); - -// $this->tester->seeRecord('models', [ -// 'name' => 'Another Model', -// 'model_number' => 356, -// ]); - -// $this->tester->seeRecord('manufacturers', [ -// 'name' => 'Linkbridge 32', -// ]); - -// $this->tester->seeRecord('locations', [ -// 'name' => 'New Location', -// ]); - -// $this->tester->seeRecord('companies', [ -// 'name' => 'Another Company', -// ]); - -// $this->tester->seeRecord('status_labels', [ -// 'name' => 'Ready To Go', -// ]); - -// $this->tester->seeRecord('suppliers', [ -// 'name' => 'Not Creative', -// ]); - -// $this->tester->seeRecord('assets', [ -// 'name' => 'A new name', -// 'serial' => '67433477', -// 'asset_tag' => '970882174-8', -// 'notes' => 'I have no notes', -// 'purchase_date' => '2018-04-05 00:00:01', -// 'purchase_cost' => 25.59, -// 'warranty_months' => 18, -// '_snipeit_weight_2' => 95, -// ]); -// } - -// public function testAssetModelNumber4359() -// { -// // As per bug #4359 -// // 1) Create model with blank model # and custom field. -// // 2 ) Update custom fields with a csv not including model # -// // 3 ) Not updated. NULL vs. empty issue. -// $this->signIn(); -// $csv = <<<'EOT' -// Name,Email,Username,item Name,Category,Model name,Manufacturer,Serial,Asset Tag,Location,Notes,Purchase Date,Purchase Cost,Company,Status,Warranty,Supplier -// Bonnie Nelson,bnelson0@cdbaby.com,bnelson0,eget nunc donec quis,quam,massa id,Linkbridge,27aa8378-b0f4-4289-84a4-405da95c6147,970882174-8,Daping,"Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est.",2016-04-05,133289.59,Alpha,Undeployable,14,Blogspan -// EOT; - -// // Need to do this manually... -// $customField = \App\Models\CustomField::factory()->create(['name' => 'Weight']); -// $customFieldSet = \App\Models\CustomFieldset::factory()->create(['name' => 'Default']); -// $customFieldSet->fields()->attach($customField, [ -// 'required' => false, -// 'order' => 'asc', ]); - -// \App\Models\Category::factory()->assetLaptopCategory()->create([ -// 'name' => 'quam', -// ]); - -// \App\Models\Manufacturer::factory()->apple()->create([ -// 'name' => 'Linkbridge', -// ]); - -// $am = \App\Models\AssetModel::factory()->create([ -// 'name' => 'massa id', -// 'fieldset_id' => $customFieldSet->id, -// 'category_id' => 1, -// 'manufacturer_id' => 1, -// 'model_number' => null, -// ]); - -// $this->import(new AssetImporter($csv)); -// $updatedCSV = <<<'EOT' -// Serial,Asset Tag,weight -// 67433477,970882174-8,115 -// EOT; -// $importer = new AssetImporter($updatedCSV); -// $importer->setUserId(1) -// ->setUpdating(true) -// ->setUsernameFormat('firstname.lastname') -// ->import(); - -// $this->tester->seeRecord('assets', [ -// 'asset_tag' => '970882174-8', -// '_snipeit_weight_2' => 115, -// ]); -// } - -// public function initializeCustomFields() -// { -// $customField = \App\Models\CustomField::factory()->create(['name' => 'Weight']); -// $customFieldSet = \App\Models\CustomFieldset::factory()->create(['name' => 'Default']); -// $customFieldSet->fields()->attach($customField, [ -// 'required' => false, -// 'order' => 'asc', ]); - -// $am = \App\Models\AssetModel::factory()->create([ -// 'name' => 'massa id', -// 'fieldset_id' => $customFieldSet->id, -// ]); -// } - -// public function testCustomMappingImport() -// { -// $this->signIn(); -// $csv = <<<'EOT' -// Full Name,Email,Username,object name,Cat,Model name,Manufacturer,Model Number,Serial,Asset,Loc,Some Notes,Purchase Date,Purchase Cost,comp,Status,Warranty,Supplier -// Bonnie Nelson,bnelson0@cdbaby.com,bnelson0,eget nunc donec quis,quam,massa id,Linkbridge,6377018600094472,27aa8378-b0f4-4289-84a4-405da95c6147,970882174-8,Daping,"Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est.",2016-04-05,133289.59,Alpha,Undeployable,14,Blogspan -// EOT; - -// $customFieldMap = [ -// 'asset_tag' => 'Asset', -// 'category' => 'Cat', -// 'company' => 'comp', -// 'item_name' => 'object name', -// 'expiration_date' => 'expiration date', -// 'location' => 'loc', -// 'notes' => 'Some Notes', -// 'asset_model' => 'model name', -// ]; - -// $this->import(new AssetImporter($csv), $customFieldMap); -// // Did we create a user? -// $this->tester->seeRecord('users', [ -// 'first_name' => 'Bonnie', -// 'last_name' => 'Nelson', -// 'email' => 'bnelson0@cdbaby.com', -// ]); -// // Grab the user record for use in asserting assigned_to -// $createdUser = $this->tester->grabRecord('users', [ -// 'first_name' => 'Bonnie', -// 'last_name' => 'Nelson', -// 'email' => 'bnelson0@cdbaby.com', -// ]); - -// $this->tester->seeRecord('categories', [ -// 'name' => 'quam', -// ]); - -// $this->tester->seeRecord('models', [ -// 'name' => 'massa id', -// 'model_number' => 6377018600094472, -// ]); - -// $this->tester->seeRecord('manufacturers', [ -// 'name' => 'Linkbridge', -// ]); - -// $this->tester->seeRecord('locations', [ -// 'name' => 'Daping', -// ]); - -// $this->tester->seeRecord('companies', [ -// 'name' => 'Alpha', -// ]); - -// $this->tester->seeRecord('status_labels', [ -// 'name' => 'Undeployable', -// ]); - -// $this->tester->seeRecord('suppliers', [ -// 'name' => 'Blogspan', -// ]); - -// $this->tester->seeRecord('assets', [ -// 'name' => 'eget nunc donec quis', -// 'serial' => '27aa8378-b0f4-4289-84a4-405da95c6147', -// 'asset_tag' => '970882174-8', -// 'notes' => 'Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est.', -// 'purchase_date' => '2016-04-05 00:00:01', -// 'purchase_cost' => 133289.59, -// 'warranty_months' => 14, -// 'assigned_to' => $createdUser['id'], -// 'assigned_type' => User::class, -// ]); -// } - -// public function testDefaultAccessoryImport() -// { -// $csv = <<<'EOT' -// Item Name,Purchase Date,Purchase Cost,Location,Company,Order Number,Category,Requestable,Quantity -// Walter Carter,09/01/2006,,metus. Vivamus,Macromedia,J935H60W,Customers,False,278 -// EOT; -// $this->import(new AccessoryImporter($csv)); -// $this->tester->seeRecord('accessories', [ -// 'name' => 'Walter Carter', -// 'purchase_date' => '2006-09-01 00:00:01', -// 'order_number' => 'J935H60W', -// 'requestable' => 0, -// 'qty' => 278, -// ]); - -// $this->tester->seeRecord('locations', [ -// 'name' => 'metus. Vivamus', -// ]); - -// $this->tester->seeRecord('companies', [ -// 'name' => 'Macromedia', -// ]); - -// $this->tester->seeRecord('categories', [ -// 'name' => 'Customers', -// ]); -// } - -// public function testDefaultAccessoryUpdate() -// { -// $csv = <<<'EOT' -// Item Name,Purchase Date,Purchase Cost,Location,Company,Order Number,Category,Requestable,Quantity -// Walter Carter,09/01/2006,,metus. Vivamus,Macromedia,J935H60W,Customers,False,278 -// EOT; -// $this->import(new AccessoryImporter($csv)); -// $this->tester->seeNumRecords(1, 'accessories'); - -// $updatedCSV = <<<'EOT' -// Item Name,Purchase Date,Purchase Cost,Location,Company,Order Number,Category,Requestable,Quantity -// Walter Carter,09/01/2015,350,metus. Vivamus,Macromedia,35GGH,Customers,True,12 -// EOT; -// $importer = new AccessoryImporter($updatedCSV); -// $importer->setUserId(1) -// ->setUpdating(true) -// ->import(); -// // At this point we should still only have one record. -// $this->tester->seeNumRecords(1, 'accessories'); -// // But instead these. -// $this->tester->seeRecord('accessories', [ -// 'name' => 'Walter Carter', -// 'purchase_date' => '2015-09-01 00:00:01', -// 'order_number' => '35GGH', -// 'requestable' => 1, -// 'qty' => 12, -// ]); -// } - -// public function testCustomAccessoryImport() -// { -// $csv = <<<'EOT' -// Name,Pur Date,Cost,Loc,Comp,Order Num,Cat,Request,Quan -// Walter Carter,09/01/2006,,metus. Vivamus,Macromedia,J935H60W,Customers,False,278 -// EOT; - -// $customFieldMap = [ -// 'category' => 'Cat', -// 'company' => 'Comp', -// 'item_name' => 'Name', -// 'location' => 'Loc', -// 'purchase_date' => 'Pur Date', -// 'purchase_cost' => 'Cost', -// 'order_number' => 'Order Num', -// 'requestable' => 'Request', -// 'quantity' => 'Quan', -// ]; -// $this->import(new AccessoryImporter($csv), $customFieldMap); -// // dd($this->tester->grabRecord('accessories')); -// $this->tester->seeRecord('accessories', [ -// 'name' => 'Walter Carter', -// 'purchase_date' => '2006-09-01 00:00:01', -// 'order_number' => 'J935H60W', -// 'requestable' => 0, -// 'qty' => 278, -// ]); - -// $this->tester->seeRecord('locations', [ -// 'name' => 'metus. Vivamus', -// ]); - -// $this->tester->seeRecord('companies', [ -// 'name' => 'Macromedia', -// ]); - -// $this->tester->seeRecord('categories', [ -// 'name' => 'Customers', -// ]); -// } - -// public function testDefaultConsumableImport() -// { -// $csv = <<<'EOT' -// Item Name,Purchase Date,Purchase Cost,Location,Company,Order Number,Category,Requestable,Quantity,Item Number,Model Number -// eget,01/03/2011,$85.91,mauris blandit mattis.,Lycos,T295T06V,Triamterene/Hydrochlorothiazide,No,322,3305,30123 -// EOT; -// $this->import(new ConsumableImporter($csv)); -// $this->tester->seeRecord('consumables', [ -// 'name' => 'eget', -// 'purchase_date' => '2011-01-03 00:00:01', -// 'purchase_cost' => 85.91, -// 'order_number' => 'T295T06V', -// 'requestable' => 0, -// 'qty' => 322, -// 'item_no' => 3305, -// 'model_number' => 30123, -// ]); - -// $this->tester->seeRecord('locations', [ -// 'name' => 'mauris blandit mattis.', -// ]); - -// $this->tester->seeRecord('companies', [ -// 'name' => 'Lycos', -// ]); - -// $this->tester->seeRecord('categories', [ -// 'name' => 'Triamterene/Hydrochlorothiazide', -// ]); -// } - -// public function testDefaultConsumableUpdate() -// { -// $csv = <<<'EOT' -// Item Name,Purchase Date,Purchase Cost,Location,Company,Order Number,Category,Requestable,Quantity -// eget,01/03/2011,85.91,mauris blandit mattis.,Lycos,T295T06V,Triamterene/Hydrochlorothiazide,No,322 -// EOT; -// $this->import(new ConsumableImporter($csv)); -// $this->tester->seeNumRecords(1, 'consumables'); - -// $updatedCSV = <<<'EOT' -// Item Name,Purchase Date,Purchase Cost,Location,Company,Order Number,Category,Requestable,Quantity -// eget,12/05/2016,35.45,mauris blandit mattis.,Lycos,3666FF,New Cat,Yes,15 -// EOT; -// $importer = new ConsumableImporter($updatedCSV); -// $importer->setUserId(1) -// ->setUpdating(true) -// ->import(); -// // At this point we should still only have one record. -// $this->tester->seeNumRecords(1, 'consumables'); -// // But instead these. -// $this->tester->seeRecord('consumables', [ -// 'name' => 'eget', -// 'purchase_date' => '2016-12-05 00:00:01', -// 'purchase_cost' => 35.45, -// 'order_number' => '3666FF', -// 'requestable' => 1, -// 'qty' => 15, -// ]); -// } - -// public function testCustomConsumableImport() -// { -// $csv = <<<'EOT' -// Name,pur Date,Pur Cost,Loc,Comp,Order Num,Kat,Request,Quan -// eget,01/03/2011,85.91,mauris blandit mattis.,Lycos,T295T06V,Triamterene/Hydrochlorothiazide,No,322 -// EOT; - -// $customFieldMap = [ -// 'category' => 'Kat', -// 'company' => 'Comp', -// 'item_name' => 'Name', -// 'location' => 'Loc', -// 'purchase_date' => 'Pur date', -// 'purchase_cost' => 'Pur Cost', -// 'order_number' => 'Order Num', -// 'requestable' => 'Request', -// 'quantity' => 'Quan', -// ]; -// $this->import(new ConsumableImporter($csv), $customFieldMap); -// $this->tester->seeRecord('consumables', [ -// 'name' => 'eget', -// 'purchase_date' => '2011-01-03 00:00:01', -// 'purchase_cost' => 85.91, -// 'order_number' => 'T295T06V', -// 'requestable' => 0, -// 'qty' => 322, -// ]); - -// $this->tester->seeRecord('locations', [ -// 'name' => 'mauris blandit mattis.', -// ]); - -// $this->tester->seeRecord('companies', [ -// 'name' => 'Lycos', -// ]); - -// $this->tester->seeRecord('categories', [ -// 'name' => 'Triamterene/Hydrochlorothiazide', -// ]); -// } - -// public function testDefaultLicenseImport() -// { -// $this->signIn(); -// $csv = <<<'EOT' -// Full Name,Email,Username,Item name,serial,manufacturer,purchase date,purchase cost,purchase order,order number,Licensed To Name,Licensed to Email,expiration date,maintained,reassignable,seats,company,supplier,category,notes,asset tag -// Helen Anderson,cspencer0@privacy.gov.au,cspencer0,Argentum Malachite Athletes Foot Relief,1aa5b0eb-79c5-40b2-8943-5472a6893c3c,"Beer, Leannon and Lubowitz",07/13/2012,$79.66,53008,386436062-5,Cynthia Spencer,cspencer0@gov.uk,01/27/2016,false,no,80,"Haag, Schmidt and Farrell","Hegmann, Mohr and Cremin",Graphics Software,Sed ante. Vivamus tortor. Duis mattis egestas metus.,test 1 -// EOT; - -// // Force create an asset to match the checkout -// $testAsset = $this->createValidAsset(['asset_tag' => 'test 1']); -// $this->import(new LicenseImporter($csv)); -// // dd($this->tester->grabRecord('licenses')); - -// // Did we create a user? -// $this->tester->seeRecord('users', [ -// 'first_name' => 'Helen', -// 'last_name' => 'Anderson', -// 'email' => 'cspencer0@privacy.gov.au', -// ]); -// // Grab the user record for use in asserting assigned_to -// $createdUser = $this->tester->grabRecord('users', [ -// 'first_name' => 'Helen', -// 'last_name' => 'Anderson', -// 'email' => 'cspencer0@privacy.gov.au', -// ]); -// $this->tester->seeRecord('licenses', [ -// 'name' => 'Argentum Malachite Athletes Foot Relief', -// 'purchase_date' => '2012-07-13 00:00:01', -// 'seats' => 80, -// 'license_email' => 'cspencer0@gov.uk', -// 'order_number' => '386436062-5', -// 'license_name' => 'Cynthia Spencer', -// 'expiration_date' => '2016-01-27', -// 'maintained' => 0, -// 'notes' => 'Sed ante. Vivamus tortor. Duis mattis egestas metus.', -// 'purchase_cost' => 79.66, -// 'purchase_order' => '53008', -// 'reassignable' => 0, -// 'serial' => '1aa5b0eb-79c5-40b2-8943-5472a6893c3c', -// ]); -// $this->tester->seeRecord('manufacturers', [ -// 'name' => 'Beer, Leannon and Lubowitz', -// ]); - -// $this->tester->seeRecord('suppliers', [ -// 'name' => 'Hegmann, Mohr and Cremin', -// ]); - -// $this->tester->seeRecord('companies', [ -// 'name' => 'Haag, Schmidt and Farrell', -// ]); - -// $this->tester->seeRecord('categories', [ -// 'name' => 'Graphics Software', -// ]); - -// $this->tester->seeNumRecords(80, 'license_seats'); -// $this->tester->seeRecord('license_seats', [ -// 'assigned_to' => $createdUser['id'], -// 'license_id' => \App\Models\License::where('serial', '1aa5b0eb-79c5-40b2-8943-5472a6893c3c')->first()->id, -// 'asset_id' => $testAsset->id, -// ]); -// } - -// public function testDefaultLicenseUpdate() -// { -// $csv = <<<'EOT' -// Name,Email,Username,Item name,serial,manufacturer,purchase date,purchase cost,purchase order,order number,Licensed To Name,Licensed to Email,expiration date,maintained,reassignable,seats,company,supplier,category,notes -// Helen Anderson,cspencer0@privacy.gov.au,cspencer0,Argentum Malachite Athletes Foot Relief,1aa5b0eb-79c5-40b2-8943-5472a6893c3c,"Beer, Leannon and Lubowitz",07/13/2012,$79.66,53008,386436062-5,Cynthia Spencer,cspencer0@gov.uk,01/27/2016,false,no,80,"Haag, Schmidt and Farrell","Hegmann, Mohr and Cremin",Graphics Software,Sed ante. Vivamus tortor. Duis mattis egestas metus. -// EOT; -// $this->import(new LicenseImporter($csv)); -// $this->tester->seeNumRecords(1, 'licenses'); - -// $updatedCSV = <<<'EOT' -// Item name,serial,manufacturer,purchase date,purchase cost,purchase order,order number,Licensed To Name,Licensed to Email,expiration date,maintained,reassignable,seats,company,supplier,category,notes -// Argentum Malachite Athletes Foot Relief,1aa5b0eb-79c5-40b2-8943-5472a6893c3c,"Beer, Leannon and Lubowitz",05/15/2019,$1865.34,63 ar,18334,A Legend,Legendary@gov.uk,04/27/2016,yes,true,64,"Haag, Schmidt and Farrell","Hegmann, Mohr and Cremin",Graphics Software,Sed ante. Vivamus tortor. Duis mattis egestas metus. -// EOT; -// $importer = new LicenseImporter($updatedCSV); -// $importer->setUserId(1) -// ->setUpdating(true) -// ->import(); -// // At this point we should still only have one record. -// $this->tester->seeNumRecords(1, 'licenses'); -// // But instead these. - -// \Log::debug($this->tester->grabRecord('licenses')); -// $this->tester->seeRecord('licenses', [ -// 'name' => 'Argentum Malachite Athletes Foot Relief', -// 'purchase_date' => '2019-05-15 00:00:01', -// 'seats' => 64, -// 'license_email' => 'Legendary@gov.uk', -// 'order_number' => '18334', -// 'license_name' => 'A Legend', -// 'expiration_date' => '2016-04-27', -// 'maintained' => 1, -// 'notes' => 'Sed ante. Vivamus tortor. Duis mattis egestas metus.', -// 'purchase_cost' => 1865.34, -// 'purchase_order' => '63 ar', -// 'reassignable' => 1, -// 'serial' => '1aa5b0eb-79c5-40b2-8943-5472a6893c3c', -// ]); -// // License seats are soft deleted -// $this->tester->seeNumRecords(64, 'license_seats', ['deleted_at' => null]); -// } - -// public function testCustomLicenseImport() -// { -// $csv = <<<'EOT' -// Name,Email,Username,Object name,serial num,manuf,pur date,pur cost,purc order,order num,Licensed To,Licensed Email,expire date,maint,reass,seat,comp,supplier,category,note -// Helen Anderson,cspencer0@privacy.gov.au,cspencer0,Argentum Malachite Athletes Foot Relief,1aa5b0eb-79c5-40b2-8943-5472a6893c3c,"Beer, Leannon and Lubowitz",07/13/2012,$79.66,53008,386436062-5,Cynthia Spencer,cspencer0@gov.uk,01/27/2016,false,no,80,"Haag, Schmidt and Farrell","Hegmann, Mohr and Cremin",Custom Graphics Software,Sed ante. Vivamus tortor. Duis mattis egestas metus. -// EOT; - -// $customFieldMap = [ -// 'company' => 'Comp', -// 'expiration_date' => 'expire date', -// 'item_name' => 'Object Name', -// 'license_email' => 'licensed email', -// 'license_name' => 'licensed to', -// 'maintained' => 'maint', -// 'manufacturer' => 'manuf', -// 'notes' => 'note', -// 'order_number' => 'Order Num', -// 'purchase_cost' => 'Pur Cost', -// 'purchase_date' => 'Pur date', -// 'purchase_order' => 'Purc Order', -// 'quantity' => 'Quan', -// 'reassignable' => 'reass', -// 'requestable' => 'Request', -// 'seats' => 'seat', -// 'serial' => 'serial num', -// 'category' => 'category', -// ]; -// $this->import(new LicenseImporter($csv), $customFieldMap); -// $this->tester->seeRecord('licenses', [ -// 'name' => 'Argentum Malachite Athletes Foot Relief', -// 'purchase_date' => '2012-07-13 00:00:01', -// 'seats' => 80, -// 'license_email' => 'cspencer0@gov.uk', -// 'order_number' => '386436062-5', -// 'license_name' => 'Cynthia Spencer', -// 'expiration_date' => '2016-01-27', -// 'maintained' => 0, -// 'notes' => 'Sed ante. Vivamus tortor. Duis mattis egestas metus.', -// 'purchase_cost' => 79.66, -// 'purchase_order' => '53008', -// 'reassignable' => 0, -// 'serial' => '1aa5b0eb-79c5-40b2-8943-5472a6893c3c', -// ]); - -// $this->tester->seeRecord('manufacturers', [ -// 'name' => 'Beer, Leannon and Lubowitz', -// ]); - -// $this->tester->seeRecord('suppliers', [ -// 'name' => 'Hegmann, Mohr and Cremin', -// ]); - -// $this->tester->seeRecord('companies', [ -// 'name' => 'Haag, Schmidt and Farrell', -// ]); - -// $this->tester->seeNumRecords(80, 'license_seats'); -// } - -// public function testDefaultUserImport() -// { -// Notification::fake(); -// $this->signIn(); -// $csv = <<<'EOT' -// First Name,Last Name,email,Username,Location,Phone Number,Job Title,Employee Number,Company,Department,activated -// Blanche,O'Collopy,bocollopy0@livejournal.com,bocollopy0,Hinapalanan,63-(199)661-2186,Clinical Specialist,7080919053,Morar-Ward,Management,1 -// Jessie,Primo,,jprimo1,Korenovsk,7-(885)578-0266,Paralegal,6284292031,Jast-Stiedemann,1 - -// EOT; -// $user_importer = new UserImporter($csv); -// $user_importer->sendWelcome(); -// $this->import($user_importer); - -// $this->tester->seeRecord('users', [ -// 'first_name' => 'Blanche', -// 'last_name' => "O'Collopy", -// 'email' => 'bocollopy0@livejournal.com', -// 'username' => 'bocollopy0', -// 'phone' => '63-(199)661-2186', -// 'jobtitle' => 'Clinical Specialist', -// 'employee_num' => '7080919053', -// ]); - -// $this->tester->seeRecord('companies', [ -// 'name' => 'Morar-Ward', -// ]); - -// $this->tester->seeRecord('departments', [ -// 'name' => 'Management', -// ]); - -// Notification::assertSentTo(User::find(2), \App\Notifications\WelcomeNotification::class); -// Notification::assertNotSentTo(User::find(3), \App\Notifications\WelcomeNotification::class); -// } - -// private function import($importer, $mappings = null) -// { -// if ($mappings) { -// $importer->setFieldMappings($mappings); -// } -// $importer->setUserId(1) -// ->setUpdating(false) -// ->setUsernameFormat('firstname.lastname') -// ->import(); -// } -} diff --git a/tests/Unit/PermissionsTest.php b/tests/Unit/PermissionsTest.php deleted file mode 100644 index e788585dd..000000000 --- a/tests/Unit/PermissionsTest.php +++ /dev/null @@ -1,510 +0,0 @@ -noHardware = [ - // 'assets.view' => false, - // 'assets.create' => false, - // 'assets.edit' => false, - // 'assets.delete' => false, - // ]; - - // $this->noLicenses = [ - // 'licenses.view' => false, - // 'licenses.create' => false, - // 'licenses.edit' => false, - // 'licenses.delete' => false, - // ]; - - // $this->noAccessories = [ - // 'accessories.view' => false, - // 'accessories.create' => false, - // 'accessories.edit' => false, - // 'accessories.delete' => false, - // ]; - - // $this->noConsumables = [ - // 'consumables.view' => false, - // 'consumables.create' => false, - // 'consumables.edit' => false, - // 'consumables.delete' => false, - // ]; - - // $this->noComponents = [ - // 'components.view' => false, - // 'components.create' => false, - // 'components.edit' => false, - // 'components.delete' => false, - // ]; - - // $this->noUsers = [ - // 'users.view' => false, - // 'users.create' => false, - // 'users.edit' => false, - // 'users.delete' => false, - // ]; - // } - - // private $noHardware; - // private $noLicenses; - // private $noAccessories; - // private $noConsumables; - // private $noComponents; - // private $noUsers; - - // // tests - - // /** - // * @test - // */ - // public function a_user_with_no_permissions_sees_nothing() - // { - // $u = \App\Models\User::factory()->create(); - // $permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers; - // // $permissions = $this->noHardware; - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_view_asset_permissions_can_view_assets() - // { - // $u = \App\Models\User::factory()->viewAssets()->create(); - // $permissions = $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers; - - // $permissions = array_merge($permissions, [ - // 'assets.view' => true, - // 'assets.create' => false, - // 'assets.edit' => false, - // 'assets.delete' => false, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_create_asset_permissions_can_create_assets() - // { - // $u = \App\Models\User::factory()->createAssets()->create(); - // $permissions = $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers; - - // $permissions = array_merge($permissions, [ - // 'assets.view' => false, - // 'assets.create' => true, - // 'assets.edit' => false, - // 'assets.delete' => false, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_edit_assets_permissions_can_edit_assets() - // { - // $u = \App\Models\User::factory()->editAssets()->create(); - - // $permissions = $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers; - - // $permissions = array_merge($permissions, [ - // 'assets.view' => false, - // 'assets.create' => false, - // 'assets.edit' => true, - // 'assets.delete' => false, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_delete_assets_permissions_can_delete_assets() - // { - // $u = \App\Models\User::factory()->deleteAssets()->create(); - // $permissions = $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers; - // $permissions = array_merge($permissions, [ - // 'assets.view' => false, - // 'assets.create' => false, - // 'assets.edit' => false, - // 'assets.delete' => true, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_view_licenses_permissions_can_view_licenses() - // { - // $u = \App\Models\User::factory()->viewLicenses()->create(); - // $permissions = $this->noHardware + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers; - - // $permissions = array_merge($permissions, [ - // 'licenses.view' => true, - // 'licenses.create' => false, - // 'licenses.edit' => false, - // 'licenses.delete' => false, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_create_licenses_permissions_can_create_licenses() - // { - // $u = \App\Models\User::factory()->createLicenses()->create(); - // $permissions = $this->noHardware + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers; - - // $permissions = array_merge($permissions, [ - // 'licenses.view' => false, - // 'licenses.create' => true, - // 'licenses.edit' => false, - // 'licenses.delete' => false, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_edit_licenses_permissions_can_edit_licenses() - // { - // $u = \App\Models\User::factory()->editLicenses()->create(); - // $permissions = $this->noHardware + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers; - - // $permissions = array_merge($permissions, [ - // 'licenses.view' => false, - // 'licenses.create' => false, - // 'licenses.edit' => true, - // 'licenses.delete' => false, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_delete_licenses_permissions_can_delete_licenses() - // { - // $u = \App\Models\User::factory()->deleteLicenses()->create(); - // $permissions = $this->noHardware + $this->noAccessories + $this->noConsumables + $this->noComponents + $this->noUsers; - - // $permissions = array_merge($permissions, [ - // 'licenses.view' => false, - // 'licenses.create' => false, - // 'licenses.edit' => false, - // 'licenses.delete' => true, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_view_accessories_permissions_can_view_accessories() - // { - // $u = \App\Models\User::factory()->viewAccessories()->create(); - - // $permissions = $this->noHardware + $this->noLicenses + $this->noConsumables + $this->noComponents + $this->noUsers; - - // $permissions = array_merge($permissions, [ - // 'accessories.view' => true, - // 'accessories.create' => false, - // 'accessories.edit' => false, - // 'accessories.delete' => false, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_create_accessories_permissions_can_create_accessories() - // { - // $u = \App\Models\User::factory()->createAccessories()->create(); - - // $permissions = $this->noHardware + $this->noLicenses + $this->noConsumables + $this->noComponents + $this->noUsers; - - // $permissions = array_merge($permissions, [ - // 'accessories.view' => false, - // 'accessories.create' => true, - // 'accessories.edit' => false, - // 'accessories.delete' => false, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_edit_accessories_permissions_can_edit_accessories() - // { - // $u = \App\Models\User::factory()->editAccessories()->create(); - - // $permissions = $this->noHardware + $this->noLicenses + $this->noConsumables + $this->noComponents + $this->noUsers; - - // $permissions = array_merge($permissions, [ - // 'accessories.view' => false, - // 'accessories.create' => false, - // 'accessories.edit' => true, - // 'accessories.delete' => false, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_delete_accessories_permissions_can_delete_accessories() - // { - // $u = \App\Models\User::factory()->deleteAccessories()->create(); - - // $permissions = $this->noHardware + $this->noLicenses + $this->noConsumables + $this->noComponents + $this->noUsers; - - // $permissions = array_merge($permissions, [ - // 'accessories.view' => false, - // 'accessories.create' => false, - // 'accessories.edit' => false, - // 'accessories.delete' => true, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_view_consumables_permissions_can_view_consumables() - // { - // $u = \App\Models\User::factory()->viewConsumables()->create(); - - // $permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noComponents + $this->noUsers; - - // $permissions = array_merge($permissions, [ - // 'consumables.view' => true, - // 'consumables.create' => false, - // 'consumables.edit' => false, - // 'consumables.delete' => false, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_create_consumables_permissions_can_create_consumables() - // { - // $u = \App\Models\User::factory()->createConsumables()->create(); - - // $permissions = $this->noHardware + $this->noLicenses + $this->noConsumables + $this->noComponents + $this->noUsers; - - // $permissions = array_merge($permissions, [ - // 'consumables.view' => false, - // 'consumables.create' => true, - // 'consumables.edit' => false, - // 'consumables.delete' => false, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_edit_consumables_permissions_can_edit_consumables() - // { - // $u = \App\Models\User::factory()->editConsumables()->create(); - - // $permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noComponents + $this->noUsers; - - // $permissions = array_merge($permissions, [ - // 'consumables.view' => false, - // 'consumables.create' => false, - // 'consumables.edit' => true, - // 'consumables.delete' => false, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_delete_consumables_permissions_can_delete_consumables() - // { - // $u = \App\Models\User::factory()->deleteConsumables()->create(); - - // $permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noComponents + $this->noUsers; - - // $permissions = array_merge($permissions, [ - // 'consumables.view' => false, - // 'consumables.create' => false, - // 'consumables.edit' => false, - // 'consumables.delete' => true, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_view_users_permissions_can_view_users() - // { - // $u = \App\Models\User::factory()->viewUsers()->create(); - - // $permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noComponents; - - // $permissions = array_merge($permissions, [ - // 'users.view' => true, - // 'users.create' => false, - // 'users.edit' => false, - // 'users.delete' => false, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_create_users_permissions_can_create_users() - // { - // $u = \App\Models\User::factory()->createUsers()->create(); - - // $permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noComponents; - - // $permissions = array_merge($permissions, [ - // 'users.view' => false, - // 'users.create' => true, - // 'users.edit' => false, - // 'users.delete' => false, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_edit_users_permissions_can_edit_users() - // { - // $u = \App\Models\User::factory()->editUsers()->create(); - - // $permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noComponents; - - // $permissions = array_merge($permissions, [ - // 'users.view' => false, - // 'users.create' => false, - // 'users.edit' => true, - // 'users.delete' => false, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_delete_users_permissions_can_delete_users() - // { - // $u = \App\Models\User::factory()->deleteUsers()->create(); - - // $permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noComponents; - - // $permissions = array_merge($permissions, [ - // 'users.view' => false, - // 'users.create' => false, - // 'users.edit' => false, - // 'users.delete' => true, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_view_components_permissions_can_view_components() - // { - // $u = \App\Models\User::factory()->viewComponents()->create(); - - // $permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noUsers; - - // $permissions = array_merge($permissions, [ - // 'components.view' => true, - // 'components.create' => false, - // 'components.edit' => false, - // 'components.delete' => false, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_create_components_permissions_can_create_components() - // { - // $u = \App\Models\User::factory()->createComponents()->create(); - // $permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noUsers; - - // $permissions = array_merge($permissions, [ - // 'components.view' => false, - // 'components.create' => true, - // 'components.edit' => false, - // 'components.delete' => false, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_edit_components_permissions_can_edit_components() - // { - // $u = \App\Models\User::factory()->editComponents()->create(); - - // $permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noUsers; - - // $permissions = array_merge($permissions, [ - // 'components.view' => false, - // 'components.create' => false, - // 'components.edit' => true, - // 'components.delete' => false, - // ]); - // $this->hitRoutes($permissions, $u); - // } - - // /** - // * @test - // */ - // public function a_user_with_delete_components_permissions_can_delete_components() - // { - // $u = \App\Models\User::factory()->deleteComponents()->create(); - - // $permissions = $this->noHardware + $this->noLicenses + $this->noAccessories + $this->noConsumables + $this->noUsers; - - // $permissions = array_merge($permissions, [ - // 'components.view' => false, - // 'components.create' => false, - // 'components.edit' => false, - // 'components.delete' => true, - // ]); - // // dd($u); - // $this->hitRoutes($permissions, $u); - // } - - // private function hitRoutes(array $routes, User $user) - // { - // foreach ($routes as $route => $expectation) { - // $this->assertEquals($user->hasAccess($route), $expectation); - // } - // } -}