diff --git a/app/Http/Controllers/Api/LocationsController.php b/app/Http/Controllers/Api/LocationsController.php index b5c911a6ca..3038cfcf0b 100644 --- a/app/Http/Controllers/Api/LocationsController.php +++ b/app/Http/Controllers/Api/LocationsController.php @@ -37,10 +37,14 @@ class LocationsController extends Controller 'address', 'address2', 'assets_count', - 'assets_count', + 'assigned_assets_count', + 'rtd_assets_count', + 'accessories_count', 'assigned_accessories_count', - 'assigned_assets_count', - 'assigned_assets_count', + 'components_count', + 'consumables_count', + 'users_count', + 'children_count', 'city', 'country', 'created_at', @@ -54,7 +58,6 @@ class LocationsController extends Controller 'rtd_assets_count', 'state', 'updated_at', - 'users_count', 'zip', 'notes', ]; @@ -79,8 +82,9 @@ class LocationsController extends Controller 'locations.currency', 'locations.company_id', 'locations.notes', + 'locations.created_by', + 'locations.deleted_at', ]) - ->withCount('assignedAssets as assigned_assets_count') ->withCount('assignedAssets as assigned_assets_count') ->withCount('assets as assets_count') ->withCount('assignedAccessories as assigned_accessories_count') @@ -88,6 +92,8 @@ class LocationsController extends Controller ->withCount('rtd_assets as rtd_assets_count') ->withCount('children as children_count') ->withCount('users as users_count') + ->withCount('consumables as consumables_count') + ->withCount('components as components_count') ->with('adminuser'); // Only scope locations if the setting is enabled @@ -131,6 +137,14 @@ class LocationsController extends Controller $locations->where('locations.company_id', '=', $request->input('company_id')); } + if ($request->filled('parent_id')) { + $locations->where('locations.parent_id', '=', $request->input('parent_id')); + } + + if ($request->input('status') == 'deleted') { + $locations->onlyTrashed(); + } + // Make sure the offset and limit are actually integers and do not exceed system limits $offset = ($request->input('offset') > $locations->count()) ? $locations->count() : app('api_offset_value'); $limit = app('api_limit_value'); @@ -224,8 +238,13 @@ class LocationsController extends Controller ]) ->withCount('assignedAssets as assigned_assets_count') ->withCount('assets as assets_count') + ->withCount('assignedAccessories as assigned_accessories_count') + ->withCount('accessories as accessories_count') ->withCount('rtd_assets as rtd_assets_count') + ->withCount('children as children_count') ->withCount('users as users_count') + ->withCount('consumables as consumables_count') + ->withCount('components as components_count') ->findOrFail($id); return (new LocationsTransformer)->transformLocation($location); @@ -320,11 +339,15 @@ class LocationsController extends Controller { $this->authorize('delete', Location::class); $location = Location::withCount('assignedAssets as assigned_assets_count') + ->withCount('assignedAssets as assigned_assets_count') ->withCount('assets as assets_count') + ->withCount('assignedAccessories as assigned_accessories_count') + ->withCount('accessories as accessories_count') ->withCount('rtd_assets as rtd_assets_count') ->withCount('children as children_count') ->withCount('users as users_count') - ->withCount('accessories as accessories_count') + ->withCount('consumables as consumables_count') + ->withCount('components as components_count') ->findOrFail($id); if (! $location->isDeletable()) { diff --git a/app/Http/Controllers/LocationsController.php b/app/Http/Controllers/LocationsController.php index 46eff73df7..3457e115f9 100755 --- a/app/Http/Controllers/LocationsController.php +++ b/app/Http/Controllers/LocationsController.php @@ -189,30 +189,36 @@ class LocationsController extends Controller { $this->authorize('delete', Location::class); - if (is_null($location = Location::find($locationId))) { + $location = Location::withCount('assignedAssets as assigned_assets_count') + ->withCount('assets as assets_count') + ->withCount('assignedAccessories as assigned_accessories_count') + ->withCount('accessories as accessories_count') + ->withCount('rtd_assets as rtd_assets_count') + ->withCount('children as children_count') + ->withCount('users as users_count') + ->withCount('consumables as consumables_count') + ->withCount('components as components_count') + ->find($locationId); + + if (!$location) { return redirect()->to(route('locations.index'))->with('error', trans('admin/locations/message.does_not_exist')); } - if ($location->users()->count() > 0) { - return redirect()->to(route('locations.index'))->with('error', trans('admin/locations/message.assoc_users')); - } elseif ($location->children()->count() > 0) { - return redirect()->to(route('locations.index'))->with('error', trans('admin/locations/message.assoc_child_loc')); - } elseif ($location->assets()->count() > 0) { - return redirect()->to(route('locations.index'))->with('error', trans('admin/locations/message.assoc_assets')); - } elseif ($location->assignedassets()->count() > 0) { - return redirect()->to(route('locations.index'))->with('error', trans('admin/locations/message.assoc_assets')); - } + if ($location->isDeletable()) { - if ($location->image) { - try { - Storage::disk('public')->delete('locations/'.$location->image); - } catch (\Exception $e) { - Log::error($e); + if ($location->image) { + try { + Storage::disk('public')->delete('locations/'.$location->image); + } catch (\Exception $e) { + Log::error($e); + } } + $location->delete(); + return redirect()->to(route('locations.index'))->with('success', trans('admin/locations/message.delete.success')); + } else { + return redirect()->to(route('locations.index'))->with('error', trans('admin/locations/message.assoc_users')); } - $location->delete(); - return redirect()->to(route('locations.index'))->with('success', trans('admin/locations/message.delete.success')); } /** @@ -247,23 +253,41 @@ class LocationsController extends Controller $this->authorize('view', Location::class); if ($location = Location::where('id', $id)->first()) { - $parent = Location::where('id', $location->parent_id)->first(); - $manager = User::where('id', $location->manager_id)->first(); - $company = Company::where('id', $location->company_id)->first(); - $users = User::where('location_id', $id)->with('company', 'department', 'location')->get(); - $assets = Asset::where('assigned_to', $id)->where('assigned_type', Location::class)->with('model', 'model.category')->get(); return view('locations/print') - ->with('assets', $assets) - ->with('users',$users) + ->with('assigned', false) + ->with('assets', $location->assets) + ->with('assignedAssets', $location->assignedAssets) + ->with('accessories', $location->accessories) + ->with('assignedAccessories', $location->assignedAccessories) + ->with('users',$location->users) ->with('location', $location) - ->with('parent', $parent) - ->with('manager', $manager) - ->with('company', $company); + ->with('consumables', $location->consumables) + ->with('components', $location->components) + ->with('children', $location->children); } return redirect()->route('locations.index')->with('error', trans('admin/locations/message.does_not_exist')); } + public function print_all_assigned($id) : View | RedirectResponse + { + $this->authorize('view', Location::class); + if ($location = Location::where('id', $id)->first()) { + return view('locations/print') + ->with('assigned', true) + ->with('assets', $location->assets) + ->with('assignedAssets', $location->assignedAssets) + ->with('accessories', $location->accessories) + ->with('assignedAccessories', $location->assignedAccessories) + ->with('users',$location->users) + ->with('location', $location) + ->with('consumables', $location->consumables) + ->with('components', $location->components) + ->with('children', $location->children); + } + return redirect()->route('locations.index')->with('error', trans('admin/locations/message.does_not_exist')); + } + /** * Returns a view that presents a form to clone a location. @@ -321,33 +345,12 @@ class LocationsController extends Controller return redirect()->route('locations.index')->with('success', trans('admin/locations/message.restore.success')); } - // Check validation return redirect()->back()->with('error', trans('general.could_not_restore', ['item_type' => trans('general.location'), 'error' => $location->getErrors()->first()])); } return redirect()->back()->with('error', trans('admin/models/message.does_not_exist')); } - public function print_all_assigned($id) : View | RedirectResponse - { - $this->authorize('view', Location::class); - if ($location = Location::where('id', $id)->first()) { - $parent = Location::where('id', $location->parent_id)->first(); - $manager = User::where('id', $location->manager_id)->first(); - $company = Company::where('id', $location->company_id)->first(); - $users = User::where('location_id', $id)->with('company', 'department', 'location')->get(); - $assets = Asset::where('location_id', $id)->with('model', 'model.category')->get(); - return view('locations/print') - ->with('assets', $assets) - ->with('users',$users) - ->with('location', $location) - ->with('parent', $parent) - ->with('manager', $manager) - ->with('company', $company); - } - return redirect()->route('locations.index')->with('error', trans('admin/locations/message.does_not_exist')); - } - /** * Returns a view that allows the user to bulk delete locations @@ -366,8 +369,12 @@ class LocationsController extends Controller $locations = Location::whereIn('id', $locations_raw_array) ->withCount('assignedAssets as assigned_assets_count') ->withCount('assets as assets_count') + ->withCount('assignedAccessories as assigned_accessories_count') + ->withCount('accessories as accessories_count') ->withCount('rtd_assets as rtd_assets_count') ->withCount('children as children_count') + ->withCount('consumables as consumables_count') + ->withCount('components as components_count') ->withCount('users as users_count')->get(); $valid_count = 0; @@ -400,9 +407,13 @@ class LocationsController extends Controller $locations = Location::whereIn('id', $locations_raw_array) ->withCount('assignedAssets as assigned_assets_count') ->withCount('assets as assets_count') + ->withCount('assignedAccessories as assigned_accessories_count') + ->withCount('accessories as accessories_count') ->withCount('rtd_assets as rtd_assets_count') ->withCount('children as children_count') - ->withCount('users as users_count')->get(); + ->withCount('users as users_count') + ->withCount('consumables as consumables_count') + ->withCount('components as components_count')->get(); $success_count = 0; $error_count = 0; diff --git a/app/Http/Transformers/LocationsTransformer.php b/app/Http/Transformers/LocationsTransformer.php index 4965ff99d5..538f7e54c3 100644 --- a/app/Http/Transformers/LocationsTransformer.php +++ b/app/Http/Transformers/LocationsTransformer.php @@ -53,6 +53,9 @@ class LocationsTransformer 'assets_count' => (int) $location->assets_count, 'rtd_assets_count' => (int) $location->rtd_assets_count, 'users_count' => (int) $location->users_count, + 'consumables_count' => (int) $location->consumables_count, + 'components_count' => (int) $location->components_count, + 'children_count' => (int) $location->children_count, 'currency' => ($location->currency) ? e($location->currency) : null, 'ldap_ou' => ($location->ldap_ou) ? e($location->ldap_ou) : null, 'notes' => Helper::parseEscapedMarkedownInline($location->notes), @@ -76,12 +79,13 @@ class LocationsTransformer ]; $permissions_array['available_actions'] = [ - 'update' => Gate::allows('update', Location::class) ? true : false, + 'update' => (Gate::allows('update', Location::class) && ($location->deleted_at == '')), 'delete' => $location->isDeletable(), 'bulk_selectable' => [ 'delete' => $location->isDeletable() ], 'clone' => (Gate::allows('create', Location::class) && ($location->deleted_at == '')), + 'restore' => (Gate::allows('create', Location::class) && ($location->deleted_at != '')), ]; $array += $permissions_array; diff --git a/app/Models/Location.php b/app/Models/Location.php index 352ffd1201..8d7bee0cbd 100755 --- a/app/Models/Location.php +++ b/app/Models/Location.php @@ -43,6 +43,7 @@ class Location extends SnipeModel 'company_id' => 'integer', ]; + /** * Whether the model should inject its identifier to the unique * validation rules before attempting validation. If this property @@ -113,13 +114,19 @@ class Location extends SnipeModel { return Gate::allows('delete', $this) - && ($this->assets_count == 0) - && ($this->assigned_assets_count == 0) - && ($this->children_count == 0) - && ($this->accessories_count == 0) - && ($this->users_count == 0); + && ($this->deleted_at == '') + && (($this->assets_count ?? $this->assets()->count()) === 0) + && (($this->assigned_assets_count ?? $this->assignedAssets()->count()) === 0) + && (($this->accessories_count ?? $this->accessories()->count()) === 0) + && (($this->assigned_accessories_count ?? $this->assignedAccessories()->count()) === 0) + && (($this->children_count ?? $this->children()->count()) === 0) + && (($this->components_count ?? $this->components()->count()) === 0) + && (($this->consumables_count ?? $this->consumables()->count()) === 0) + && (($this->rtd_assets_count ?? $this->rtd_assets()->count()) === 0) + && (($this->users_count ?? $this->users()->count()) === 0); } + /** * Establishes the user -> location relationship * diff --git a/app/Presenters/LocationPresenter.php b/app/Presenters/LocationPresenter.php index 31d2f05f77..30225460dc 100644 --- a/app/Presenters/LocationPresenter.php +++ b/app/Presenters/LocationPresenter.php @@ -61,6 +61,15 @@ class LocationPresenter extends Presenter 'title' => trans('admin/locations/table.parent'), 'visible' => true, 'formatter' => 'locationsLinkObjFormatter', + ], [ + 'field' => 'users_count', + 'searchable' => false, + 'sortable' => true, + 'switchable' => true, + 'title' => trans('general.people'), + 'titleTooltip' => trans('general.people'), + 'visible' => true, + 'class' => 'css-house-user', ], [ 'field' => 'assets_count', 'searchable' => false, @@ -98,7 +107,7 @@ class LocationPresenter extends Presenter 'titleTooltip' => trans('general.accessories'), 'visible' => true, 'class' => 'css-accessory', - ], [ + ],[ 'field' => 'assigned_accessories_count', 'searchable' => false, 'sortable' => true, @@ -108,14 +117,34 @@ class LocationPresenter extends Presenter 'visible' => true, 'class' => 'css-accessory-alt', ], [ - 'field' => 'users_count', + 'field' => 'components_count', 'searchable' => false, 'sortable' => true, 'switchable' => true, - 'title' => trans('general.people'), - 'titleTooltip' => trans('general.people'), + 'title' => trans('general.components'), + 'titleTooltip' => trans('general.components'), 'visible' => true, - 'class' => 'css-house-user', + 'class' => 'css-component', + ], + [ + 'field' => 'consumables_count', + 'searchable' => false, + 'sortable' => true, + 'switchable' => true, + 'title' => trans('general.consumables'), + 'titleTooltip' => trans('general.consumables'), + 'visible' => true, + 'class' => 'css-consumable', + ], + [ + 'field' => 'children_count', + 'searchable' => false, + 'sortable' => true, + 'switchable' => true, + 'title' => trans('general.child_locations'), + 'titleTooltip' => trans('general.child_locations'), + 'visible' => true, + 'class' => 'css-child-locations', ], [ 'field' => 'currency', 'searchable' => true, diff --git a/app/Presenters/UserPresenter.php b/app/Presenters/UserPresenter.php index 296fafe568..b02a6e4fcd 100644 --- a/app/Presenters/UserPresenter.php +++ b/app/Presenters/UserPresenter.php @@ -60,18 +60,14 @@ class UserPresenter extends Presenter 'title' => trans('admin/users/table.name'), 'visible' => true, 'formatter' => 'usersLinkFormatter', - ], - - [ + ], [ 'field' => 'first_name', 'searchable' => true, 'sortable' => true, 'title' => trans('general.first_name'), 'visible' => false, 'formatter' => 'usersLinkFormatter', - ], - - [ + ], [ 'field' => 'last_name', 'searchable' => true, 'sortable' => true, @@ -85,7 +81,23 @@ class UserPresenter extends Presenter 'sortable' => true, 'switchable' => false, 'title' => trans('admin/users/table.display_name'), + 'visible' => false, + ], [ + 'field' => 'username', + 'searchable' => true, + 'sortable' => true, + 'switchable' => false, + 'title' => trans('admin/users/table.username'), 'visible' => true, + 'formatter' => 'usernameRoleLinkFormatter', + ], + [ + 'field' => 'employee_num', + 'searchable' => true, + 'sortable' => true, + 'switchable' => true, + 'title' => trans('general.employee_number'), + 'visible' => false, ], [ 'field' => 'jobtitle', @@ -129,7 +141,7 @@ class UserPresenter extends Presenter 'sortable' => true, 'switchable' => true, 'title' => trans('admin/users/table.phone'), - 'visible' => true, + 'visible' => false, 'formatter' => 'phoneFormatter', ], [ @@ -190,24 +202,7 @@ class UserPresenter extends Presenter 'title' => trans('general.zip'), 'visible' => false, ], - [ - 'field' => 'username', - 'searchable' => true, - 'sortable' => true, - 'switchable' => false, - 'title' => trans('admin/users/table.username'), - 'visible' => true, - 'formatter' => 'usernameRoleLinkFormatter', - ], - [ - 'field' => 'employee_num', - 'searchable' => true, - 'sortable' => true, - 'switchable' => true, - 'title' => trans('general.employee_number'), - 'visible' => false, - ], [ 'field' => 'locale', 'searchable' => true, @@ -231,7 +226,7 @@ class UserPresenter extends Presenter 'sortable' => true, 'switchable' => true, 'title' => trans('admin/users/general.department_manager'), - 'visible' => true, + 'visible' => false, 'formatter' => 'usersLinkObjFormatter', ], [ @@ -248,7 +243,7 @@ class UserPresenter extends Presenter 'searchable' => true, 'sortable' => true, 'title' => trans('admin/users/table.manager'), - 'visible' => true, + 'visible' => false, 'formatter' => 'usersLinkObjFormatter', ], [ diff --git a/public/css/build/app.css b/public/css/build/app.css index fab5f7fbe5..542c2e035e 100644 --- a/public/css/build/app.css +++ b/public/css/build/app.css @@ -1049,6 +1049,7 @@ th.css-license > .th-inner, th.css-location > .th-inner, th.css-users > .th-inner, th.css-currency > .th-inner, +th.css-child-locations > .th-inner, th.css-history > .th-inner { font-size: 0px; line-height: 0.75 !important; @@ -1071,6 +1072,7 @@ th.css-license > .th-inner::before, th.css-location > .th-inner::before, th.css-users > .th-inner::before, th.css-currency > .th-inner::before, +th.css-child-locations > .th-inner::before, th.css-history > .th-inner::before { display: inline-block; font-size: 20px; @@ -1152,6 +1154,12 @@ th.css-accessory-alt > .th-inner::before { font-size: 19px; margin-bottom: 0px; } +th.css-child-locations > .th-inner::before { + content: "\f64f"; + font-family: "Font Awesome 5 Free"; + font-size: 19px; + margin-bottom: 0px; +} th.css-currency > .th-inner::before { content: "\24"; font-family: "Font Awesome 5 Free"; diff --git a/public/css/build/app.css.map b/public/css/build/app.css.map index cb6c3b39de..3d856a04b4 100644 --- a/public/css/build/app.css.map +++ b/public/css/build/app.css.map @@ -1 +1 @@ -{"version":3,"file":"css/build/app.css","mappings":"AACA;EACE;EAGA;AAFF;AAKA;EACE;IACE;EAHF;EAMA;IACE;EAJF;AACF;AAOA;EACE;AALF;AAOA;EACE;EACA;EACA;EACA;EACA;AALF;AASA;EACE;AAPF;AAUA;EACE;EACA;AARF;AAWA;EACE;AATF;AAYA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AAVF;AAaA;EACE;EACA;EACA;EACA;EACA;AAXF;AAcA;EACE;AAZF;AAeA;EACE;AAbF;AAgBA;EACE;EACA;AAdF;AAiBA;EACE;AAfF;AAkBA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAhBF;AAmBA;EACE;AAjBF;AAoBA;EACE;AAlBF;AAqBA;EACE;AAnBF;AAsBA;EACE;AApBF;AAuBA;EACE;EACA;EACA;AArBF;AAwBA;EACE;EACA;EACA;AAtBF;AA6BA;EACE;AA3BF;AA8BA;EACE;EACA;AA5BF;AA+BA;EACE;AA7BF;AA+BA;EACE;EACA;AA7BF;AAgCA;;EAEE;EACA;AA9BF;AAiCA;EACE;EACA;AA/BF;AAiCA;EACE;AA/BF;AAkCA;EACE;EACA;EACA;AAhCF;AAmCA;EACE;AAjCF;AAoCA;EACE;AAlCF;AAqCA;EACE;AAnCF;AAsCA;EACE;AApCF;AAuCA;EACE;AArCF;AAwCA;;;;;EAKE;AAtCF;AAyCA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAvCF;AA0CA;EACE;EACA;EACA;EACA;EACA;EACA;AAxCF;AA2CA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAzCF;AA4CA;EACE;AA1CF;AA6CA;EACE;EACA;EACA;EACA;AA3CF;AA8CA;EACE;EACA;AA5CF;AA+CA;EACE;EACA;EACA;EACA;EACA;AA7CF;AAgDA;EACE;EACA;AA9CF;AAiDA;EACE;EACA;EACA;EACA;AA/CF;AAkDA;EACE;EACA;AAhDF;AACA,cAAc;AAmDd;EACE;EACA;EACA;AAjDF;AAmDA;EACE;EACA;AAjDF;AAsDA;EACE;EACA;EACA;AApDF;AAuDA;EACE;EACA;AArDF;AAwDA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAtDF;AAyDA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAvDF;AA0DA;EACE;EACA;EACA;EACA;EACA;AAxDF;AA2DA;EACE;EACA;EACA;AAzDF;AA4DA;EACE;AA1DF;AA6DA;EACE;AA3DF;AA8DA;EACE;AA5DF;AA+DA;EACE;AA7DF;AAgEA;EACE;AA9DF;AAiEA;EACE;AA/DF;AAkEA;EACE;EACA;AAhEF;AAmEA;EACE;AAjEF;AAoEA;EACE;AAlEF;AACA,kBAAkB;AAqElB;EACE;EAEA;EACA;EACA;EApEA,gCAAgC;AAClC;AAuEA;EACE;AArEF;AAwEA;EACE;EACA;EACA;AAtEF;AAwEA;EACE;EACA;EACA;AAtEF;AAyEA;;;EACE;AArEF;AAwEA;EACE;EACA;AAtEF;AAyEA;EACE;IACE;EAvEF;EA0EA;IACE;IACA;IACA;EAxEF;AACF;AA2EA;;EAEE;EACA;EACA;AAzEF;AA4EA;EACE;AA1EF;AA6EA;;EAEE;AA3EF;AA8EA;EACE;AA5EF;AA+EA;EACE;AA7EF;AAgFA;EACE;EACA;EACA;AA9EF;AAiFA;EACE;EACA;AA/EF;AAkFA;EACE;EACA;EACA;AAhFF;AAmFA;EACE;AAjFF;ACvXA;EAkBE;ADwWF;ACtWA;EACE;EACA;EACA;EACA;EACA;ADwWF;ACvWE;;;EACE;AD2WJ;ACxWA;EACE;AD0WF;ACvWA;EACE;EACA;ADyWF;ACtWA;EACE;ADwWF;ACpWA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;ADsWF;ACnWA;EACE;EACA;EACA;EACA;EACA;ADqWF;AClWA;EACE;ADoWF;ACjWA;EACE;ADmWF;AChWA;EACE;EACA;ADkWF;AC9VA;EACE;ADgWF;AC7VA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AD+VF;AC7VA;EACE;AD+VF;AC7VA;EACE;AD+VF;AC3VA;EACE;AD6VF;AC3VA;EACE;AD6VF;ACzVA;EACE;EACA;EACA;AD2VF;ACxVA;EACE;EACA;EACA;AD0VF;ACnUA;EACE;ADqUF;AClUA;EACE;EACA;EACA;ADoUF;ACjUA;EACE;EACA;ADmUF;AChUA;EACE;ADkUF;AC/TA;EACE;EACA;ADiUF;AC9TA;;EACE;EACA;ADiUF;AC9TA;EACE;EACA;ADgUF;AC9TA;EACE;ADgUF;AC7TA;EACE;EACA;EACA;AD+TF;AC5TA;EACE;AD8TF;AC3TA;EACE;AD6TF;AC1TA;EACE;AD4TF;AC1TA;EACE;AD4TF;ACzTA;EACE;AD2TF;ACxTA;;;;EACE;AD6TF;AC1TA;;;;;EACE;ADgUF;AC7TA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AD+TF;AC7TA;EACE;EACA;EACA;EACA;EACA;EACA;AD+TF;AC7TA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AD+TF;AC7TA;EACE;AD+TF;AC7TA;EACE;EACA;EACA;EACA;AD+TF;AC7TA;EACE;EACA;AD+TF;AC7TA;EACE;EACA;EACA;EACA;EACA;AD+TF;AC7TA;EACE;EACA;AD+TF;AC7TA;EACE;EACA;EACA;EACA;AD+TF;AC5TA;EACE;EACA;AD8TF;ACzTA;EAAY;AD4TZ;AACA,cAAc;AC1Td;EAAY;EAAkC;AD8T9C;AC7TA;EAA8B;EAAY;ADiU1C;AC/TA;EAAiD;EAAgB;EAAiB;ADoUlF;ACnUA;EAA8C;EAAa;ADuU3D;ACtUA;EAA+C;EAAoB;EAAa;EAAc;EAAgB;EAAqB;EAAW;EAAW;EAAmB;EAAoB;ADkVhM;ACjVA;EAAqD;EAAc;EAAa;EAAc;EAAqB;EAAqB;EAAoB;EAAU;AD2VtK;AC1VA;EAA0C;EAAoB;EAAoB;EAAa;EAAkB;ADiWjH;AChWA;EAA0D;EAAW;EAAkB;ADqWvF;ACpWA;EAAmE;ADuWnE;ACtWA;EAAiE;ADyWjE;ACxWA;EAA6E;AD2W7E;AC1WA;EAA4E;AD6W5E;AC5WA;EAAwD;AD+WxD;AC9WA;EAA8D;ADiX9D;AChXA;EAAuD;EAAW;ADoXlE;ACnXA;EAAsD;ADsXtD;ACrXA;EAAuD;ADwXvD;AACA,kBAAkB;ACtXlB;EACE;EACA;EACA;EACA;EACA;EDwXA,gCAAgC;AAClC;ACrXA;EAkBE;ADsWF;ACnWA;EACE;ADqWF;ACjWA;;EACE;ADoWF;AClWA;;EACE;ADqWF;AClWA;EACE;EAIA;ADiWF;AC9VA;EACE;EACA;ADgWF;AC7VA;EACE;AD+VF;AC5VA;EACE;AD8VF;AC3VA;EAEE;IACE;IACA;ED4VF;ECzVA;IACE;IACA;IACA;ED2VF;ECxVA;IACE;ED0VF;ECvVA;;IACE;ED0VF;ECvVA;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EDyVF;EACA,+CAA+C;ECtV/C;IACE;EDwVF;ECrVA;IACE;EDuVF;ECpVA;IACE;EDsVF;ECnVA;IACE;EDqVF;EACA,qCAAqC;EClVrC;;IACE;EDqVF;EACA,QAAQ;EClVR;;IACE;IACA;IACA;EDqVF;EClVA;IACE;EDoVF;ECjVA;IACE;EDmVF;EChVA;IACE;IACA;IACA;EDkVF;EC/UA;IACE;IACA;EDiVF;EC9UA;;IACE;EDiVF;EC/UA;;;;;;;;;;;;IACE;ED4VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;AACF;ACtVA;EACE;ADwVF;ACrVA;EACI;EACA;ADuVJ;ACpVA;EACE;ADsVF;ACnVA;EACE;EACA;EACA;ADqVF;AChVA;EACE;EACA;OAAA;EACA;EACA;ADkVF;AC/UA;;EACE;EACA;EACA;ADkVF;AC/UA;;;EACE;ADmVF;AChVA;;EACE;ADmVF;AChVA;EACE;ADkVF;AC/UA;EACE;ADiVF;AC9UA;EACE;EACA;EACA;ADgVF;AC7UA;EACE;EACA;AD+UF;AC5UA;EACE;EACA;EACA;AD8UF;AC1UA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AD4UF;AC1UA;;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AD6UF;AC1UA;EACE;AD4UF;ACzUA;EACE;AD2UF;ACxUA;EACE;AD0UF;ACvUA;EACE;ADyUF;ACtUA;EACE;ADwUF;ACpUA;EACE;EACA;EACA;EACA;EACA;EAGA;ADoUF;ACjUA;EACE;EACA;EACA;EACA;ADmUF;AChUA;EACE;EACA;EACA;EACA;ADkUF;AC9TA;EACE;EACA;EACA;EACA;EACA;EACA;ADgUF;AACA;;;;EAIE;AC7TF;EACE;EACA;EACA;EACA;AD+TF;AC5TA;EACE;EACA;EACA;EACA;EACA;AD8TF;AC3TA;EACE;EACA;EACA;AD6TF;AC1TA;EACE;EACA;EACA;AD4TF;ACxTA;EACE;AD0TF;AACA;;EAEE;ACrTF;EACE;IACE;IACA;EDuTF;ECpTA;IACE;EDsTF;ECnTA;IACE;EDqTF;EClTA;IACE;EDoTF;AACF;ACjTA;EACE;EACA;EACA;ADmTF;AChTA;EACE;EACA;ADkTF;AACA;;;;;;;;;;;EAWE;AC7SF;;;;;;;;;;;;;;EAeE;EACA;EACA;EACA;EACA;EACA;AD8SF;AC1SA;;;;;;;;;;;;;;;EAgBE;EACA;EACA;EACA;AD2SF;AACA;;;EAGE;ACxSF;EAEE;EAAkB;EAAoC;AD2SxD;ACxSA;EAEE;EAAkB;EAAoC;AD2SxD;ACxSA;EAEE;EAAkB;EAAoC;AD2SxD;ACxSA;EAEE;EAAkB;EAAoC;AD2SxD;ACxSA;EAEE;EAAkB;EAAoC;AD2SxD;ACxSA;EACE;EAAkB;EAAoC;AD4SxD;ACzSA;EACE;EAAkB;EAAoC;EAAiB;AD8SzE;AC3SA;EAEE;EAAkB;EAAoC;AD8SxD;AC3SA;EAEE;EAAkB;EAClB;EACA;AD6SF;AC1SA;EACE;EACA;EACA;EACA;AD4SF;AC1SA;EACE;EACA;EACA;EACA;AD4SF;AC1SA;EACE;EACA;EACA;EACA;AD4SF;AC1SA;EACE;EACA;EACA;EACA;AD4SF;ACzSA;EACE;EACA;EACA;EACA;AD2SF;ACxSA;EACE;EACA;EACA;EACA;AD0SF;ACtSA;EACE;EACA;EACA;EACA;ADwSF;ACpSA;;;EACE;ADwSF;ACrSA;;EACE;EACA;EACA;EACA;ADwSF;ACrSA;;EACE;ADwSF;ACrSA;EACE;ADuSF;ACpSA;EACE;IACE;EDsSF;ECpSA;IACE;EDsSF;AACF;ACpSA;EACE;IACE;EDsSF;ECpSA;IACE;EDsSF;ECpSA;IACE;EDsSF;AACF;ACnSA;EACE;IACE;EDqSF;AACF;ACnSA;EACE;IACE;EDqSF;ECnSA;IACE;IACA;EDqSF;ECnSA;IACE;IACA;EDqSF;ECnSA;IACE;IACA;EDqSF;AACF;ACnSA;EACE;IACE;EDqSF;AACF;AClSA;EACE;IACE;EDoSF;AACF;AClSA;EACE;IACE;IACA;IACA;IACA;IACA;EDoSF;AACF;AACA,oDAAoD;AChSpD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ADkSF;AC/RA;EACE;EACA;ADiSF;AACA,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AC7R9C;ED+RE,kCAAkC;EC7RlC;EACA;OAAA;ED+RA,+CAA+C;EC7R/C;ED+RA,+BAA+B;EC7R/B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ED+RA,6BAA6B;AAC/B;AACA,yFAAyF;AC3RzF;ED6RE,2EAA2E;ECrR3E;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EDsRA,+BAA+B;ECpR/B;ADsRF;AACA,wEAAwE;ACnRxE;EACE;ADqRF;AACA,wEAAwE;AClRxE;;EACE;EACA;EACA;EACA;EACA;ADqRF;AACA,6EAA6E;AClR7E;;EACE;EACA;EACA;EACA;ADqRF;AACA,+EAA+E;AClR/E;;EACE;EACA;EACA;EACA;ADqRF;AACA,qCAAqC;AChRrC;EACE;KAAA;UAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ADkRF;AC/QA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;ADiRF;AC9QA;EACE;ADgRF;AACA;;;;EAIE;AC5QF;EACE;AD8QF;AC3QA;EACE;EACA;EACA;EACA;AD6QF;AC1QA;EACE;AD4QF;ACzQA;EACE;AD2QF;ACxQA;EACE;AD0QF;ACvQA;EACE;ADyQF;AACA,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AAC9C;;;EAGE;ACpQF;EACE;EACA;EACA;EACA;EACA;ADsQF;ACnQA;;EAEE;EACA;EACA;ADqQF;AClQA;EACE;ADoQF;ACjQA;EACE;ADmQF;ACjQA;EACE;ADmQF;AChQA;EACE;EACA;EACA;ADkQF;AACA,kEAAkE;AC/PlE;EACE;ADiQF;AC9PA;EACE;ADgQF;AC5PA;EACE;EACA;AD8PF;AC3PA;EACE;EACA;AD6PF;AC1PA;EACE;EACA;EACA;EACA;EACA;EACA;AD4PF;ACzPA;;EACE;AD4PF;ACzPA;EACE;EAQA;EACA;EACA;ADoPF;ACjPA;EACE;EACA;ADmPF;AChPA;EACE;ADkPF;AC/OA;EACE;EACA;ADiPF;AC7OA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AD+OF;AC7OA;;;;;EAKE;AD+OF;AC5OA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AD8OF","sources":["webpack:///./resources/assets/less/app.less","webpack:///./resources/assets/less/overrides.less"],"sourcesContent":["\nbody {\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\",\n \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n font-size: 13px;\n}\n// Moved from default.blade.php\n@media (max-width: 400px) {\n .navbar-left {\n margin: 2px;\n }\n\n .nav::after {\n clear: none;\n }\n}\n\n.skin-blue .main-header .logo {\n background-color: inherit !important;\n}\n.main-header .logo {\n width: 100% !important;\n white-space: nowrap;\n text-align: left;\n display: block;\n clear: both;\n //text-overflow: hidden;\n}\n\n.huge {\n font-size: 40px;\n}\n\n.btn-file {\n position: relative;\n overflow: hidden;\n}\n\n.dropdown-menu > li > a {\n color: #354044;\n}\n\n#sort tr.cansort {\n border-radius: 2px;\n padding: 10px;\n background: #f4f4f4;\n margin-bottom: 3px;\n border-left: 2px solid #e6e7e8;\n color: #444;\n cursor: move;\n}\n\n.user-image-inline {\n float: left;\n width: 25px;\n height: 25px;\n border-radius: 50%;\n margin-right: 10px;\n}\n\n.input-group .input-group-addon {\n background-color: #f4f4f4;\n}\n\na.accordion-header {\n color: #333;\n}\n\n.dynamic-form-row {\n padding: 10px;\n margin: 20px;\n}\n\n.handle {\n padding-left: 10px;\n}\n\n.btn-file input[type=\"file\"] {\n position: absolute;\n top: 0;\n right: 0;\n min-width: 100%;\n min-height: 100%;\n font-size: 100px;\n text-align: right;\n filter: alpha(opacity=0);\n opacity: 0;\n outline: none;\n background: white;\n cursor: inherit;\n display: block;\n}\n\n.main-footer {\n font-size: 13px;\n}\n\n.main-header {\n max-height: 150px;\n}\n\n.navbar-nav > .user-menu > .dropdown-menu {\n width: inherit;\n}\n\n.main-header .logo {\n padding: 0px 5px 0px 15px;\n}\n\n.sidebar-toggle {\n margin-left: -48px;\n z-index: 100;\n background-color: inherit;\n}\n\n.sidebar-toggle-mobile {\n z-index: 100;\n width: 50px;\n padding-top: 10px;\n}\n\n// .skin-blue .main-header .navbar .dropdown-menu li a {\n// //color: inherit;\n// }\n\n.main-header .sidebar-toggle:before {\n content: \"\\f0c9\";\n}\n\n.direct-chat-contacts {\n padding: 10px;\n height: 150px;\n}\n\n.select2-container {\n width: 100%;\n}\n.error input {\n color: #a94442;\n border: 2px solid #a94442 !important;\n}\n\n.error label,\n.alert-msg {\n color: #a94442;\n display: block;\n}\n\n.input-group[class*=\"col-\"] {\n padding-right: 15px;\n padding-left: 15px;\n}\n.control-label.multiline {\n padding-top: 10px;\n}\n\n.btn-outline {\n color: inherit;\n background-color: transparent;\n transition: all 0.5s;\n}\n\n.btn-primary.btn-outline {\n color: #428bca;\n}\n\n.btn-success.btn-outline {\n color: #5cb85c;\n}\n\n.btn-info.btn-outline {\n color: #5bc0de;\n}\n\n.btn-warning.btn-outline {\n color: #f0ad4e;\n}\n\n.btn-danger.btn-outline {\n color: #d9534f;\n}\n\n.btn-primary.btn-outline:hover,\n.btn-success.btn-outline:hover,\n.btn-info.btn-outline:hover,\n.btn-warning.btn-outline:hover,\n.btn-danger.btn-outline:hover {\n color: #fff;\n}\n\n.slideout-menu {\n position: fixed;\n top: 0;\n right: -250px;\n width: 250px;\n height: 100%;\n background: #333;\n z-index: 100;\n margin-top: 100px;\n color: white;\n padding: 10px;\n}\n\n.slideout-menu h3 {\n position: relative;\n padding: 5px 5px;\n color: #fff;\n font-size: 1.2em;\n font-weight: 400;\n border-bottom: 4px solid #222;\n}\n\n.slideout-menu .slideout-menu-toggle {\n position: absolute;\n top: 12px;\n right: 10px;\n display: inline-block;\n padding: 6px 9px 5px;\n font-family: Arial, sans-serif;\n font-weight: bold;\n line-height: 1;\n background: #222;\n color: #999;\n text-decoration: none;\n vertical-align: top;\n}\n\n.slideout-menu .slideout-menu-toggle:hover {\n color: #fff;\n}\n\n.slideout-menu ul {\n list-style: none;\n font-weight: 300;\n border-top: 1px solid #151515;\n border-bottom: 1px solid #454545;\n}\n\n.slideout-menu ul li {\n border-top: 1px solid #454545;\n border-bottom: 1px solid #151515;\n}\n\n.slideout-menu ul li a {\n position: relative;\n display: block;\n padding: 10px;\n color: #999;\n text-decoration: none;\n}\n\n.slideout-menu ul li a:hover {\n background: #000;\n color: #fff;\n}\n\n.slideout-menu ul li a i {\n position: absolute;\n top: 15px;\n right: 10px;\n opacity: 0.5;\n}\n\n.btn-box-tool-lg {\n font-size: 16px;\n color: orange;\n}\n\n/*Form Wizard*/\n.bs-wizard {\n margin-top: 20px;\n border-bottom: solid 1px #e0e0e0;\n padding: 0 0 10px 0;\n}\n.bs-wizard > .bs-wizard-step {\n padding: 0;\n position: relative;\n}\n\n// .bs-wizard > .bs-wizard-step + .bs-wizard-step {}\n\n.bs-wizard > .bs-wizard-step .bs-wizard-stepnum {\n color: #595959;\n font-size: 16px;\n margin-bottom: 5px;\n}\n\n.bs-wizard > .bs-wizard-step .bs-wizard-info {\n color: #999;\n font-size: 14px;\n}\n\n.bs-wizard > .bs-wizard-step > .bs-wizard-dot {\n position: absolute;\n width: 30px;\n height: 30px;\n display: block;\n background: #fbe8aa;\n top: 45px;\n left: 50%;\n margin-top: -15px;\n margin-left: -15px;\n border-radius: 50%;\n}\n\n.bs-wizard > .bs-wizard-step > .bs-wizard-dot:after {\n content: \" \";\n width: 14px;\n height: 14px;\n background: #fbbd19;\n border-radius: 50px;\n position: absolute;\n top: 8px;\n left: 8px;\n}\n\n.bs-wizard > .bs-wizard-step > .progress {\n position: relative;\n border-radius: 0px;\n height: 8px;\n box-shadow: none;\n margin: 20px 0;\n}\n\n.bs-wizard > .bs-wizard-step > .progress > .progress-bar {\n width: 0px;\n box-shadow: none;\n background: #fbe8aa;\n}\n\n.bs-wizard > .bs-wizard-step.complete > .progress > .progress-bar {\n width: 100%;\n}\n\n.bs-wizard > .bs-wizard-step.active > .progress > .progress-bar {\n width: 50%;\n}\n\n.bs-wizard > .bs-wizard-step:first-child.active > .progress > .progress-bar {\n width: 0%;\n}\n\n.bs-wizard > .bs-wizard-step:last-child.active > .progress > .progress-bar {\n width: 100%;\n}\n\n.bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot {\n background-color: #f5f5f5;\n}\n\n.bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot:after {\n opacity: 0;\n}\n\n.bs-wizard > .bs-wizard-step:first-child > .progress {\n left: 50%;\n width: 50%;\n}\n\n.bs-wizard > .bs-wizard-step:last-child > .progress {\n width: 50%;\n}\n\n.bs-wizard > .bs-wizard-step.disabled a.bs-wizard-dot {\n pointer-events: none;\n}\n/*END Form Wizard*/\n\n.left-navblock {\n display: inline-block;\n // float: left;\n text-align: left;\n color: white;\n padding: 0px;\n /* adjust based on your layout */\n}\n\na.logo.no-hover a:hover {\n background-color: transparent;\n}\n\n.index-block {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.index-block:hover{\n overflow: visible;\n white-space: normal;\n height:auto;\n}\n\ninput:required, select:required, textarea:required {\n border-right: 6px solid orange;\n}\n\n.sidebar-menu {\n font-size: 14px;\n white-space: normal;\n}\n\n@media print {\n a[href]:after {\n content: none;\n }\n\n .tab-content > .tab-pane {\n display: block !important;\n opacity: 1 !important;\n visibility: visible !important;\n }\n}\n\nimg.navbar-brand-img,\n.navbar-brand > img {\n float: left;\n padding: 5px 5px 5px 0;\n max-height: 50px;\n}\n\n.input-daterange {\n border-radius: 0px;\n}\n\n.btn.bg-maroon,\n.btn.bg-purple {\n min-width: 90px;\n}\n\n[hidden] {\n display: none !important;\n}\n\n#toolbar {\n margin-top: 10px;\n}\n\n#uploadPreview {\n border-color: grey;\n border-width: 1px;\n border-style: solid;\n}\n\n.icon-med {\n font-size: 20px;\n color: #889195;\n}\n\n#login-logo {\n padding-top: 20px;\n padding-bottom: 10px;\n max-width: 200px;\n}\n\n.left-navblock {\n max-width: 500px;\n}\n\n@import \"overrides.less\";",".skin-red\n.skin-purple\n.skin-blue\n.skin-black\n.skin-orange\n.skin-yellow\n.skin-green\n.skin-red-dark\n.skin-purple-dark\n.skin-blue-dark\n.skin-black-dark\n.skin-orange-dark\n.skin-yellow-dark\n.skin-green-dark\n.skin-contrast\n.main-header\n\n.logo {\n background-color: inherit;\n}\n.main-header .logo {\n width: 100% !important;\n white-space: nowrap;\n text-align: left;\n display: block;\n clear: both;\n &a:link, a:hover, a:visited {\n color: #fff\n }\n}\n.huge {\n font-size: 40px;\n}\n\n.btn-file {\n position: relative;\n overflow: hidden;\n}\n\n.dropdown-menu>li>a {\n color: #354044;\n}\n\n\n#sort tr.cansort {\n border-radius: 2px;\n padding: 10px;\n background: #f4f4f4;\n margin-bottom: 3px;\n border-inline: 2px solid #e6e7e8;\n color: #444;\n cursor: move;\n}\n\n.user-image-inline {\n float: left;\n width: 25px;\n height: 25px;\n border-radius: 50%;\n margin-right: 10px;\n}\n\n.input-group .input-group-addon {\n background-color: #f4f4f4;\n}\n\na.accordion-header {\n color: #333;\n}\n\n.dynamic-form-row {\n padding: 10px;\n margin: 20px;\n}\n\n\n.handle {\n padding-left: 10px;\n}\n\n.btn-file input[type=file] {\n position: absolute;\n top: 0;\n right: 0;\n min-width: 100%;\n min-height: 100%;\n font-size: 100px;\n text-align: right;\n filter: alpha(opacity=0);\n opacity: 0;\n outline: none;\n background: white;\n cursor: inherit;\n display: block;\n}\n.main-footer {\n font-size: 13px;\n}\n.main-header {\n max-height: 150px;\n}\n\n\n.navbar-nav>.user-menu>.dropdown-menu {\n width: inherit;\n}\n.main-header .logo {\n padding: 0px 5px 0px 15px;\n}\n\n\n.sidebar-toggle {\n margin-left: -48px;\n z-index: 100;\n background-color: inherit;\n}\n\n.sidebar-toggle-mobile {\n z-index: 100;\n width: 50px;\n padding-top: 10px;\n}\n\n.skin-red\n.skin-purple\n.skin-blue\n.skin-black\n.skin-orange\n.skin-yellow\n.skin-green\n.skin-red-dark\n.skin-purple-dark\n.skin-blue-dark\n.skin-black-dark\n.skin-orange-dark\n.skin-yellow-dark\n.skin-green-dark\n.skin-contrast\n.main-header\n.navbar\n.dropdown-menu li a {\n //color: inherit;\n}\n.pull-text-right{\n text-align: right !important;\n}\n\n.main-header .sidebar-toggle:before {\n content: \"\\f0c9\";\n font-weight: 900;\n font-family: 'Font Awesome\\ 5 Free';\n}\n\n.direct-chat-contacts {\n padding: 10px;\n height: 150px;\n}\n\n.select2-container {\n width: 100%;\n}\n\n.error input {\n color: #a94442;\n border: 2px solid #a94442 !important;\n}\n\n.error label, .alert-msg {\n color: #a94442;\n display: block;\n}\n\n.input-group[class*=\"col-\"] {\n padding-right: 15px;\n padding-left: 15px;\n}\n.control-label.multiline {\n padding-top: 10px;\n}\n\n.btn-outline {\n color: inherit;\n background-color: transparent;\n transition: all .5s;\n}\n\n.btn-primary.btn-outline {\n color: #428bca;\n}\n\n.btn-success.btn-outline {\n color: #5cb85c;\n}\n\n.btn-info.btn-outline {\n color: #5bc0de;\n}\n.btn-warning{\n background-color:#f39c12 !important;\n}\n\n.btn-warning.btn-outline {\n color: #f0ad4e;\n}\n\n.btn-danger.btn-outline, a.link-danger:link, a.link-danger:visited, a.link-danger:hover {\n color: #dd4b39;\n}\n\n.btn-primary.btn-outline:hover, .btn-success.btn-outline:hover, .btn-info.btn-outline:hover, .btn-warning.btn-outline:hover, .btn-danger.btn-outline:hover {\n color: #fff;\n}\n\n.slideout-menu {\n position: fixed;\n top: 0;\n right: -250px;\n width: 250px;\n height: 100%;\n background: #333;\n z-index: 100;\n margin-top: 100px;\n color: white;\n padding: 10px;\n}\n.slideout-menu h3 {\n position: relative;\n padding: 5px 5px;\n color: #fff;\n font-size: 1.2em;\n font-weight: 400;\n border-bottom: 4px solid #222;\n}\n.slideout-menu .slideout-menu-toggle {\n position: absolute;\n top: 12px;\n right: 10px;\n display: inline-block;\n padding: 6px 9px 5px;\n font-family: Arial, sans-serif;\n font-weight: bold;\n line-height: 1;\n background: #222;\n color: #999;\n text-decoration: none;\n vertical-align: top;\n}\n.slideout-menu .slideout-menu-toggle:hover {\n color: #fff;\n}\n.slideout-menu ul {\n list-style: none;\n font-weight: 300;\n border-top: 1px solid #151515;\n border-bottom: 1px solid #454545;\n}\n.slideout-menu ul li {\n border-top: 1px solid #454545;\n border-bottom: 1px solid #151515;\n}\n.slideout-menu ul li a {\n position: relative;\n display: block;\n padding: 10px;\n color: #999;\n text-decoration: none;\n}\n.slideout-menu ul li a:hover {\n background: #000;\n color: #fff;\n}\n.slideout-menu ul li a i {\n position: absolute;\n top: 15px;\n right: 10px;\n opacity: .5;\n}\n\n.btn-box-tool-lg {\n font-size: 16px;\n color: orange;\n}\n\n\n\n.bs-wizard {margin-top: 20px;}\n\n/*Form Wizard*/\n.bs-wizard {border-bottom: solid 1px #e0e0e0; padding: 0 0 10px 0;}\n.bs-wizard > .bs-wizard-step {padding: 0; position: relative;}\n.bs-wizard > .bs-wizard-step + .bs-wizard-step {}\n.bs-wizard > .bs-wizard-step .bs-wizard-stepnum {color: #595959; font-size: 16px; margin-bottom: 5px;}\n.bs-wizard > .bs-wizard-step .bs-wizard-info {color: #999; font-size: 14px;}\n.bs-wizard > .bs-wizard-step > .bs-wizard-dot {position: absolute; width: 30px; height: 30px; display: block; background: #fbe8aa; top: 45px; left: 50%; margin-top: -15px; margin-left: -15px; border-radius: 50%;}\n.bs-wizard > .bs-wizard-step > .bs-wizard-dot:after {content: ' '; width: 14px; height: 14px; background: #fbbd19; border-radius: 50px; position: absolute; top: 8px; left: 8px; }\n.bs-wizard > .bs-wizard-step > .progress {position: relative; border-radius: 0px; height: 8px; box-shadow: none; margin: 20px 0;}\n.bs-wizard > .bs-wizard-step > .progress > .progress-bar {width:0px; box-shadow: none; background: #fbe8aa;}\n.bs-wizard > .bs-wizard-step.complete > .progress > .progress-bar {width:100%;}\n.bs-wizard > .bs-wizard-step.active > .progress > .progress-bar {width:50%;}\n.bs-wizard > .bs-wizard-step:first-child.active > .progress > .progress-bar {width:0%;}\n.bs-wizard > .bs-wizard-step:last-child.active > .progress > .progress-bar {width: 100%;}\n.bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot {background-color: #f5f5f5;}\n.bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot:after {opacity: 0;}\n.bs-wizard > .bs-wizard-step:first-child > .progress {left: 50%; width: 50%;}\n.bs-wizard > .bs-wizard-step:last-child > .progress {width: 50%;}\n.bs-wizard > .bs-wizard-step.disabled a.bs-wizard-dot{ pointer-events: none; }\n/*END Form Wizard*/\n\n.left-navblock {\n display: inline-block;\n float: left;\n text-align: left;\n color: white;\n padding: 0px;\n /* adjust based on your layout */\n\n}\n.skin-red\n.skin-purple\n.skin-blue\n.skin-black\n.skin-orange\n.skin-yellow\n.skin-green\n.skin-red-dark\n.skin-purple-dark\n.skin-blue-dark\n.skin-black-dark\n.skin-orange-dark\n.skin-yellow-dark\n.skin-green-dark\n.skin-contrast\n.main-header\n.navbar\n.dropdown-menu li a {\n color: #333;\n}\n\na.logo.no-hover a:hover {\n background-color: transparent;\n}\n\n\ninput:required, select:required {\n border-right: 5px solid orange;\n}\nselect:required + .select2-container .select2-selection, select:required + .select2-container .select2-selection .select2-selection--multiple {\n border-right: 5px solid orange !important;\n}\n\nbody {\n font-family: -apple-system, BlinkMacSystemFont,\n \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\",\n \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n font-size: 13px;\n}\n\n.sidebar-menu {\n font-size: 14px;\n white-space: normal;\n}\n\n.modal-warning .modal-help {\n color: #fff8af;\n}\n\n.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading {\n z-index: 0 !important;\n}\n\n@media print {\n\n @page {\n size: A4;\n margin: 0mm;\n }\n\n .tab-content > .tab-pane {\n display: block !important;\n opacity: 1 !important;\n visibility: visible !important;\n }\n\n .img-responsive {\n width: 200px;\n }\n\n html, body {\n width: 1024px;\n }\n\n body {\n margin: 0 auto;\n line-height: 1em;\n word-spacing:1px;\n letter-spacing:0.2px;\n font: 15px \"Times New Roman\", Times, serif;\n background:white;\n color:black;\n width: 100%;\n float: none;\n }\n\n /* avoid page-breaks inside a listingContainer*/\n .listingContainer {\n page-break-inside: avoid;\n }\n\n h1 {\n font: 28px \"Times New Roman\", Times, serif;\n }\n\n h2 {\n font: 24px \"Times New Roman\", Times, serif;\n }\n\n h3 {\n font: 20px \"Times New Roman\", Times, serif;\n }\n\n /* Improve colour contrast of links */\n a:link, a:visited {\n color: #781351\n }\n\n /* URL */\n a:link, a:visited {\n background: transparent;\n color:#333;\n text-decoration:none;\n }\n\n a[href]:after {\n content: \"\" !important;\n }\n\n a[href^=\"http://\"] {\n color:#000;\n }\n\n #header {\n height:75px;\n font-size: 24pt;\n color:black\n }\n\n div.row-new-striped {\n margin: 0px;\n padding: 0px;\n }\n\n .pagination-detail, .fixed-table-toolbar {\n visibility: hidden;\n }\n .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 .col-sm-pull-3 .col-sm-push-9 {\n float: left;\n }\n\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666666666666%;\n }\n .col-sm-10 {\n width: 83.33333333333334%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666666666666%;\n }\n .col-sm-7 {\n width: 58.333333333333336%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666666666667%;\n }\n .col-sm-4 {\n width: 33.33333333333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.666666666666664%;\n }\n .col-sm-1 {\n width: 8.333333333333332%;\n }\n\n}\n\n\n.select2-selection__choice__remove {\n color: white !important;\n}\n\n.select2-selection--multiple {\n border-color: #d2d6de !important;\n overflow-y: auto;\n}\n\n.select2-selection__choice {\n border-radius: 0px !important;\n}\n\n.select2-search select2-search--inline {\n height: 35px !important;\n float: left;\n margin: 0;\n}\n\n\n\n.select2-results__option {\n padding: 5px;\n user-select: none;\n -webkit-user-select: none;\n margin: 0px;\n}\n\nimg.navbar-brand-img, .navbar-brand>img {\n float: left;\n padding: 5px 5px 5px 0;\n max-height: 50px;\n}\n\n.input-daterange, .input-daterange input:first-child, .input-daterange input:last-child {\n border-radius: 0px !important;\n}\n\n.btn.bg-maroon, .btn.bg-purple{\n min-width:90px;\n}\n\n[hidden] {\n display: none !important;\n}\n\n#toolbar {\n margin-top: 10px;\n}\n\n#uploadPreview {\n border-color: grey;\n border-width: 1px;\n border-style: solid\n}\n\n.icon-med {\n font-size: 14px;\n color: #889195;\n}\n\n#login-logo {\n padding-top: 20px;\n padding-bottom: 10px;\n max-width: 200px\n}\n\n// accessibility skip link\na.skip-main {\n left:-999px;\n position:absolute;\n top:auto;\n width:1px;\n height:1px;\n overflow:hidden;\n z-index:-999;\n}\na.skip-main:focus, a.skip-main:active {\n color: #fff;\n background-color:#000;\n left: auto;\n top: auto;\n width: 30%;\n height: auto;\n overflow:auto;\n margin: 10px 35%;\n padding:5px;\n border-radius: 15px;\n border:4px solid yellow;\n text-align:center;\n font-size:1.2em;\n z-index:999;\n}\n\nh2 {\n font-size: 22px;\n}\n\nh2.task_menu {\n font-size: 14px;\n}\n\nh2 small {\n font-size: 85%;\n}\n\nh3 {\n font-size: 20px;\n}\n\nh4 {\n font-size: 16px;\n}\n\n\n.row-striped {\n vertical-align: top;\n line-height: 2.6;\n padding: 0px;\n margin-left: 20px;\n box-sizing: border-box;\n //border-left: 1px solid #dddddd;\n //border-right: 1px solid #dddddd;\n display: table;\n}\n\n.row-striped .row:nth-of-type(odd) div {\n background-color: #f9f9f9;\n border-top: 1px solid #dddddd;\n display: table-cell;\n word-wrap: break-word;\n}\n\n.row-striped .row:nth-of-type(even) div {\n background: #FFFFFF;\n border-top: 1px solid #dddddd;\n display: table-cell;\n word-wrap: break-word;\n}\n\n\n.row-new-striped {\n vertical-align: top;\n padding: 3px;\n display: table;\n width: 100%;\n word-wrap: break-word;\n table-layout:fixed;\n}\n\n/**\n* NEW STRIPING\n* This section is for the new row striping for nicer \n* display for non-table data as of v6\n**/\n.row-new-striped > .row:nth-of-type(even) {\n background: #FFFFFF;\n border-top: 1px solid #dddddd;\n line-height: 1.9;\n display: table-row;\n}\n\n.row-new-striped > .row:nth-of-type(odd) {\n background-color: #F8F8F8;\n border-top: 1px solid #dddddd;\n display: table-row;\n line-height: 1.9;\n padding: 2px;\n}\n\n.row-new-striped div {\n display: table-cell;\n border-top: 1px solid #dddddd;\n padding: 6px;\n}\n\n.row-new-striped div {\n display: table-cell;\n border-top: 1px solid #dddddd;\n padding: 6px;\n}\n\n\n.row-new-striped div[class^=\"col\"]:first-child {\n font-weight: bold;\n}\n\n\n\n/**\n* This just adds a little extra padding on mobile\n**/\n@media only screen and (max-width: 520px) {\n h1.pagetitle {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n\n .firstnav {\n padding-top: 120px !important;\n }\n\n .product {\n width: 400px;\n }\n\n .product img {\n min-width: 400px;\n }\n}\n\n.card-view-title {\n min-width: 40% !important;\n line-height: 3.0!important;\n padding-right: 20px;\n}\n\n.card-view {\n display: table-row;\n flex-direction: column;\n}\n\n// ---------------\n\n/**\n\n COLUMN SELECTOR ICONS\n -----------------------------\n This is kind of weird, but it is necessary to prevent the column-selector code from barfing, since\n any HTML used in the UserPresenter \"title\" attribute breaks the column selector HTML.\n\n Instead, we use CSS to add the icon into the table header, which leaves the column selector\n \"title\" text as-is and hides the icon.\n\n See https://github.com/grokability/snipe-it/issues/7989\n */\nth.css-accessory > .th-inner,\nth.css-accessory-alt > .th-inner,\nth.css-barcode > .th-inner,\nth.css-component > .th-inner,\nth.css-consumable > .th-inner,\nth.css-envelope > .th-inner,\nth.css-house-flag > .th-inner,\nth.css-house-laptop > .th-inner,\nth.css-house-user > .th-inner,\nth.css-license > .th-inner,\nth.css-location > .th-inner,\nth.css-users > .th-inner,\nth.css-currency > .th-inner,\nth.css-history > .th-inner\n{\n font-size: 0px;\n line-height: 0.75 !important;\n text-align: left;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n\nth.css-location > .th-inner::before,\nth.css-accessory > .th-inner::before,\nth.css-accessory-alt > .th-inner::before,\nth.css-barcode > .th-inner::before,\nth.css-component > .th-inner::before,\nth.css-consumable > .th-inner::before,\nth.css-envelope > .th-inner::before,\nth.css-house-flag > .th-inner::before,\nth.css-house-laptop > .th-inner::before,\nth.css-house-user > .th-inner::before,\nth.css-license > .th-inner::before,\nth.css-location > .th-inner::before,\nth.css-users > .th-inner::before,\nth.css-currency > .th-inner::before,\nth.css-history > .th-inner::before\n{\n display: inline-block;\n font-size: 20px;\n font-family: \"Font Awesome 5 Free\";\n font-weight: 900;\n}\n\n/**\nBEGIN ICON TABLE HEADERS\nSet the font-weight css property as 900 (For Solid), 400 (Regular or Brands), 300 (Light for pro icons).\n**/\nth.css-barcode > .th-inner::before\n{\n content: \"\\f02a\"; font-family: \"Font Awesome 5 Free\"; font-weight: 900;\n}\n\nth.css-license > .th-inner::before\n{\n content: \"\\f0c7\"; font-family: \"Font Awesome 5 Free\"; font-weight: 400;\n}\n\nth.css-consumable > .th-inner::before\n{\n content: \"\\f043\"; font-family: \"Font Awesome 5 Free\"; font-weight: 900;\n}\n\nth.css-envelope > .th-inner::before\n{\n content: \"\\f0e0\"; font-family: \"Font Awesome 5 Free\"; font-weight: 400;\n}\n\nth.css-accessory > .th-inner::before\n{\n content: \"\\f11c\"; font-family: \"Font Awesome 5 Free\"; font-weight: 400;\n}\n\nth.css-users > .th-inner::before {\n content: \"\\f0c0\"; font-family: \"Font Awesome 5 Free\"; font-size: 15px;\n}\n\nth.css-location > .th-inner::before {\n content: \"\\f3c5\"; font-family: \"Font Awesome 5 Free\"; font-size: 19px; margin-bottom: 0px;\n}\n\nth.css-component > .th-inner::before\n{\n content: \"\\f0a0\"; font-family: \"Font Awesome 5 Free\"; font-weight: 500;\n}\n\nth.css-padlock > .th-inner::before\n{\n content: \"\\f023\"; font-family: \"Font Awesome 5 Free\";\n font-weight: 800;\n padding-right: 3px;\n}\n\nth.css-house-user > .th-inner::before {\n content: \"\\e1b0\";\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\nth.css-house-flag > .th-inner::before {\n content: \"\\e50d\";\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\nth.css-house-laptop > .th-inner::before {\n content: \"\\e066\";\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\nth.css-accessory-alt > .th-inner::before {\n content: \"\\f11c\";\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\n\nth.css-currency > .th-inner::before {\n content: \"\\24\"; // change this to f51e for coins\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\n\nth.css-history > .th-inner::before {\n content: \"\\f1da\"; // change this to f51e for coins\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\n\n\n.small-box .inner {\n padding-left: 15px;\n padding-right: 15px;\n padding-top: 15px;\n color: #fff;\n}\n\n\n.small-box > a:link, .small-box > a:visited, .small-box > a:hover {\n color: #fff;\n}\n\n.select2-container--default .select2-selection--single, .select2-selection .select2-selection--single {\n border: 1px solid #d2d6de;\n border-radius: 0;\n padding: 6px 12px;\n height: 34px;\n}\n\n.form-group.has-error label, .form-group.has-error .help-block {\n color: #a94442;\n}\n\n.select2-container--default .select2-selection--multiple {\n border-radius: 0px;\n}\n\n@media screen and (max-width: 511px){\n .tab-content .tab-pane .alert-block {\n margin-top: 120px\n }\n .sidebar-menu{\n margin-top:160px;\n }\n}\n@media screen and (max-width: 912px) and (min-width: 512px){\n .sidebar-menu {\n margin-top:100px\n }\n .navbar-custom-menu > .navbar-nav > li.dropdown.user.user-menu {\n float:right;\n }\n .navbar-custom-menu > .navbar-nav > li > .dropdown-menu {\n margin-right:-39px;\n }\n}\n\n@media screen and (max-width: 1268px) and (min-width: 912px){\n .sidebar-menu {\n margin-top:50px\n }\n}\n@media screen and (max-width: 992px){\n .info-stack-container {\n flex-direction: column;\n }\n .col-md-3.col-xs-12.col-sm-push-9.info-stack{\n left:auto;\n order:1;\n }\n .col-md-9.col-xs-12.col-sm-pull-3.info-stack{\n right:auto;\n order:2;\n }\n .info-stack-container > .col-md-9.col-xs-12.col-sm-pull-3.info-stack > .row-new-striped > .row > .col-sm-2{\n width:auto;\n float:none;\n }\n}\n@media screen and (max-width: 992px){\n .row-new-striped div{\n width:100%;\n }\n}\n\n@media screen and (max-width: 1318px) and (min-width: 1200px){\n .admin.box{\n height:170px;\n }\n}\n@media screen and (max-width: 1494px) and (min-width: 1200px){\n .dashboard.small-box{\n white-space: nowrap;\n text-overflow: ellipsis;\n max-width: 188px;\n display: block;\n overflow: hidden;\n }\n}\n\n/** Form-stuff overrides for checkboxes and stuff **/\n\nlabel.form-control {\n display: grid;\n grid-template-columns: 1.8em auto;\n gap: 0.5em;\n border: 0px;\n padding-left: 0px;\n background-color: inherit;\n color: inherit;\n font-size: inherit;\n font-weight: inherit;\n}\n\nlabel.form-control--disabled {\n color: #959495;\n cursor: not-allowed;\n}\n\n\n/** --------------------------------------- **/\n/** Start checkbox styles to replace iCheck **/\n/** --------------------------------------- **/\ninput[type=\"checkbox\"] {\n /* Add if not using autoprefixer */\n -webkit-appearance: none;\n appearance: none;\n /* For iOS < 15 to remove gradient background */\n background-color: #fff;\n /* Not removed via appearance */\n margin: 0;\n font: inherit;\n color: #959495;\n width: 1.8em;\n height: 1.8em;\n border: 0.05em solid;\n border-radius: 0em;\n transform: translateY(-0.075em);\n display: grid;\n place-content: center;\n /*Windows High Contrast Mode*/\n}\n\n/** This sets the display of a checkbox, and what the \"fill\" checkmark should look like */\n\ninput[type=\"checkbox\"]::before {\n\n /** If you want to use the non-checkbox, filled square, use this instead **/\n content: \"\";\n width: 1em;\n height: 1em;\n transform: scale(0);\n transition: 120ms transform ease-in-out;\n box-shadow: inset 1em 1em rgb(211, 211, 211);\n\n content: \"\";\n width: 1em;\n height: 1em;\n clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);\n transform: scale(0);\n transform-origin: bottom left;\n transition: 120ms transform ease-in-out;\n box-shadow: inset 1em 1em #428bca;\n /* Windows High Contrast Mode */\n background-color: CanvasText;\n}\n\n/** This sets the size of the scale up for the shape we defined above **/\ninput[type=\"checkbox\"]:checked::before {\n transform: scale(1);\n}\n\n/** This sets the scale and color of the DISABLED but CHECKED checkbox */\ninput[type=checkbox]:disabled::before, input[type=radio]:disabled::before {\n content: \"\";\n width: 1em;\n height: 1em;\n transform: scale(1);\n box-shadow: inset 1em 1em rgb(211, 211, 211);\n}\n\n/* This sets the scale and style of a DISABLED checkbox that is NOT checked */\ninput[type=checkbox]:disabled:not(:checked)::before, input[type=radio]:disabled:not(:checked)::before {\n content: \"\";\n transform: scale(0);\n cursor: not-allowed;\n pointer-events:none;\n}\n\n/** this is the color of the checkbox and content on a disabled, checked box **/\ninput[type=checkbox]:disabled, input[type=radio]:disabled {\n --form-control-color: rgb(211, 211, 211);\n color: #959495;\n cursor: not-allowed;\n pointer-events:none;\n}\n\n\n/** Radio styles to replace iCheck **/\n\ninput[type=\"radio\"] {\n appearance: none;\n background-color: #fff;\n margin: 0;\n font: inherit;\n color: #959495;\n width: 1.8em;\n height: 1.8em;\n border: 0.05em solid;\n border-radius: 50%;\n transform: translateY(-0.075em);\n display: grid;\n place-content: center;\n}\n\ninput[type=\"radio\"]::before {\n content: \"\";\n width: 1em;\n height: 1em;\n border-radius: 50%;\n transform: scale(0);\n transition: 120ms transform ease-in-out;\n box-shadow: inset 1em 1em #428bca;\n}\n\ninput[type=\"radio\"]:checked::before {\n transform: scale(1);\n}\n\n\n/**\n* This addresses the column selector in bootstrap-table. Without these two lines, the\n* checkbox and the with the label text that BS tables generates will\n* end up on two different lines and it looks assy.\n */\n.dropdown-item-marker input[type=checkbox] {\n font-size: 10px;\n}\n\n.bootstrap-table .fixed-table-toolbar li.dropdown-item-marker label {\n font-weight: normal;\n display: grid;\n grid-template-columns: .1em auto;\n gap: 1.5em;\n}\n\n.container.row-striped .col-md-6 {\n overflow-wrap:anywhere;\n}\n\n.nav-tabs-custom > .nav-tabs > li {\n z-index: 1;\n}\n\n.select2-container .select2-search--inline .select2-search__field{\n padding-left:15px;\n}\n\n.nav-tabs-custom > .nav-tabs > li.active {\n font-weight: bold;\n}\n\n/** --------------------------------------- **/\n/** End checkbox styles to replace iCheck **/\n/** --------------------------------------- **/\n\n/**\n/** Separator styles with text in the middle. Currently only used by the login page but\n/** could be used elsewhere.\n */\n\n.separator {\n display: flex;\n align-items: center;\n text-align: center;\n padding-top: 20px;\n color: #959495;\n}\n\n.separator::before,\n.separator::after {\n content: '';\n flex: 1;\n border-bottom: 1px solid #959495;\n}\n\n.separator:not(:empty)::before {\n margin-right: .25em;\n}\n\n.separator:not(:empty)::after {\n margin-left: .25em;\n}\n.datepicker.dropdown-menu {\n z-index: 1030 !important;\n}\n\n.sidebar-menu > li .badge {\n margin-top: 0px;\n filter: brightness(70%);\n font-size: 70%;\n}\n\n/** this is needed to override ekko-lightboxes card view styles **/\n.bootstrap-table .fixed-table-container .table tbody tr .card-view {\n display: table-row !important;\n}\n\n.form-control-static {\n padding-top: 0px;\n}\n\n\ntd.text-right.text-padding-number-cell {\n padding-right: 30px !important;\n white-space: nowrap;\n}\n\nth.text-right.text-padding-number-footer-cell {\n padding-right: 20px !important;\n white-space: nowrap;\n}\n\ncode.single-line {\n white-space: pre-wrap;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n overflow: hidden;\n max-width: 400px;\n}\n\np.monospace, span.monospace {\n font-family: monospace, monospace;\n}\n\nlegend.highlight {\n background: repeating-linear-gradient(\n 45deg,\n #222d32,\n #222d32 10px,\n #444 10px,\n #444 11px\n );\n\n color: #fff;\n font-size: 18px;\n padding: 6px 6px 6px 10px;\n}\n\nlegend.highlight a {\n color: #fff;\n cursor: pointer;\n}\n\nfieldset.bottom-padded {\n padding-bottom: 20px;\n}\n\ncaption.tableCaption {\n font-size: 18px;\n padding-left: 8px;\n}\n\n// via https://github.com/grokability/snipe-it/issues/11754\n.sidebar-toggle.btn {\n border-radius: 3px;\n box-shadow: none;\n border-top: 0px solid transparent;\n border-bottom: 0px solid transparent;\n padding-left: 15px;\n padding-right: 15px;\n padding-top: 12px;\n padding-bottom: 12px;\n margin-left: -47px;\n margin-top: 2px;\n}\n.popover.help-popover,\n.popover.help-popover .popover-content,\n.popover.help-popover .popover-body,\n.popover.help-popover .popover-title,\n.popover.help-popover .popover-header {\n color: #000;\n}\n\n.visually-hidden {\n width: 1px;\n height: 1px;\n margin: -1px;\n overflow: hidden;\n clip: rect(0,0,0,0);\n white-space: preserve;\n display: inline-block;\n}"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"css/build/app.css","mappings":"AACA;EACE;EAGA;AAFF;AAKA;EACE;IACE;EAHF;EAMA;IACE;EAJF;AACF;AAOA;EACE;AALF;AAOA;EACE;EACA;EACA;EACA;EACA;AALF;AASA;EACE;AAPF;AAUA;EACE;EACA;AARF;AAWA;EACE;AATF;AAYA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AAVF;AAaA;EACE;EACA;EACA;EACA;EACA;AAXF;AAcA;EACE;AAZF;AAeA;EACE;AAbF;AAgBA;EACE;EACA;AAdF;AAiBA;EACE;AAfF;AAkBA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAhBF;AAmBA;EACE;AAjBF;AAoBA;EACE;AAlBF;AAqBA;EACE;AAnBF;AAsBA;EACE;AApBF;AAuBA;EACE;EACA;EACA;AArBF;AAwBA;EACE;EACA;EACA;AAtBF;AA6BA;EACE;AA3BF;AA8BA;EACE;EACA;AA5BF;AA+BA;EACE;AA7BF;AA+BA;EACE;EACA;AA7BF;AAgCA;;EAEE;EACA;AA9BF;AAiCA;EACE;EACA;AA/BF;AAiCA;EACE;AA/BF;AAkCA;EACE;EACA;EACA;AAhCF;AAmCA;EACE;AAjCF;AAoCA;EACE;AAlCF;AAqCA;EACE;AAnCF;AAsCA;EACE;AApCF;AAuCA;EACE;AArCF;AAwCA;;;;;EAKE;AAtCF;AAyCA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAvCF;AA0CA;EACE;EACA;EACA;EACA;EACA;EACA;AAxCF;AA2CA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAzCF;AA4CA;EACE;AA1CF;AA6CA;EACE;EACA;EACA;EACA;AA3CF;AA8CA;EACE;EACA;AA5CF;AA+CA;EACE;EACA;EACA;EACA;EACA;AA7CF;AAgDA;EACE;EACA;AA9CF;AAiDA;EACE;EACA;EACA;EACA;AA/CF;AAkDA;EACE;EACA;AAhDF;AACA,cAAc;AAmDd;EACE;EACA;EACA;AAjDF;AAmDA;EACE;EACA;AAjDF;AAsDA;EACE;EACA;EACA;AApDF;AAuDA;EACE;EACA;AArDF;AAwDA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAtDF;AAyDA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAvDF;AA0DA;EACE;EACA;EACA;EACA;EACA;AAxDF;AA2DA;EACE;EACA;EACA;AAzDF;AA4DA;EACE;AA1DF;AA6DA;EACE;AA3DF;AA8DA;EACE;AA5DF;AA+DA;EACE;AA7DF;AAgEA;EACE;AA9DF;AAiEA;EACE;AA/DF;AAkEA;EACE;EACA;AAhEF;AAmEA;EACE;AAjEF;AAoEA;EACE;AAlEF;AACA,kBAAkB;AAqElB;EACE;EAEA;EACA;EACA;EApEA,gCAAgC;AAClC;AAuEA;EACE;AArEF;AAwEA;EACE;EACA;EACA;AAtEF;AAwEA;EACE;EACA;EACA;AAtEF;AAyEA;;;EACE;AArEF;AAwEA;EACE;EACA;AAtEF;AAyEA;EACE;IACE;EAvEF;EA0EA;IACE;IACA;IACA;EAxEF;AACF;AA2EA;;EAEE;EACA;EACA;AAzEF;AA4EA;EACE;AA1EF;AA6EA;;EAEE;AA3EF;AA8EA;EACE;AA5EF;AA+EA;EACE;AA7EF;AAgFA;EACE;EACA;EACA;AA9EF;AAiFA;EACE;EACA;AA/EF;AAkFA;EACE;EACA;EACA;AAhFF;AAmFA;EACE;AAjFF;ACvXA;EAkBE;ADwWF;ACtWA;EACE;EACA;EACA;EACA;EACA;ADwWF;ACvWE;;;EACE;AD2WJ;ACxWA;EACE;AD0WF;ACvWA;EACE;EACA;ADyWF;ACtWA;EACE;ADwWF;ACpWA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;ADsWF;ACnWA;EACE;EACA;EACA;EACA;EACA;ADqWF;AClWA;EACE;ADoWF;ACjWA;EACE;ADmWF;AChWA;EACE;EACA;ADkWF;AC9VA;EACE;ADgWF;AC7VA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AD+VF;AC7VA;EACE;AD+VF;AC7VA;EACE;AD+VF;AC3VA;EACE;AD6VF;AC3VA;EACE;AD6VF;ACzVA;EACE;EACA;EACA;AD2VF;ACxVA;EACE;EACA;EACA;AD0VF;ACnUA;EACE;ADqUF;AClUA;EACE;EACA;EACA;ADoUF;ACjUA;EACE;EACA;ADmUF;AChUA;EACE;ADkUF;AC/TA;EACE;EACA;ADiUF;AC9TA;;EACE;EACA;ADiUF;AC9TA;EACE;EACA;ADgUF;AC9TA;EACE;ADgUF;AC7TA;EACE;EACA;EACA;AD+TF;AC5TA;EACE;AD8TF;AC3TA;EACE;AD6TF;AC1TA;EACE;AD4TF;AC1TA;EACE;AD4TF;ACzTA;EACE;AD2TF;ACxTA;;;;EACE;AD6TF;AC1TA;;;;;EACE;ADgUF;AC7TA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AD+TF;AC7TA;EACE;EACA;EACA;EACA;EACA;EACA;AD+TF;AC7TA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AD+TF;AC7TA;EACE;AD+TF;AC7TA;EACE;EACA;EACA;EACA;AD+TF;AC7TA;EACE;EACA;AD+TF;AC7TA;EACE;EACA;EACA;EACA;EACA;AD+TF;AC7TA;EACE;EACA;AD+TF;AC7TA;EACE;EACA;EACA;EACA;AD+TF;AC5TA;EACE;EACA;AD8TF;ACzTA;EAAY;AD4TZ;AACA,cAAc;AC1Td;EAAY;EAAkC;AD8T9C;AC7TA;EAA8B;EAAY;ADiU1C;AC/TA;EAAiD;EAAgB;EAAiB;ADoUlF;ACnUA;EAA8C;EAAa;ADuU3D;ACtUA;EAA+C;EAAoB;EAAa;EAAc;EAAgB;EAAqB;EAAW;EAAW;EAAmB;EAAoB;ADkVhM;ACjVA;EAAqD;EAAc;EAAa;EAAc;EAAqB;EAAqB;EAAoB;EAAU;AD2VtK;AC1VA;EAA0C;EAAoB;EAAoB;EAAa;EAAkB;ADiWjH;AChWA;EAA0D;EAAW;EAAkB;ADqWvF;ACpWA;EAAmE;ADuWnE;ACtWA;EAAiE;ADyWjE;ACxWA;EAA6E;AD2W7E;AC1WA;EAA4E;AD6W5E;AC5WA;EAAwD;AD+WxD;AC9WA;EAA8D;ADiX9D;AChXA;EAAuD;EAAW;ADoXlE;ACnXA;EAAsD;ADsXtD;ACrXA;EAAuD;ADwXvD;AACA,kBAAkB;ACtXlB;EACE;EACA;EACA;EACA;EACA;EDwXA,gCAAgC;AAClC;ACrXA;EAkBE;ADsWF;ACnWA;EACE;ADqWF;ACjWA;;EACE;ADoWF;AClWA;;EACE;ADqWF;AClWA;EACE;EAIA;ADiWF;AC9VA;EACE;EACA;ADgWF;AC7VA;EACE;AD+VF;AC5VA;EACE;AD8VF;AC3VA;EAEE;IACE;IACA;ED4VF;ECzVA;IACE;IACA;IACA;ED2VF;ECxVA;IACE;ED0VF;ECvVA;;IACE;ED0VF;ECvVA;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EDyVF;EACA,+CAA+C;ECtV/C;IACE;EDwVF;ECrVA;IACE;EDuVF;ECpVA;IACE;EDsVF;ECnVA;IACE;EDqVF;EACA,qCAAqC;EClVrC;;IACE;EDqVF;EACA,QAAQ;EClVR;;IACE;IACA;IACA;EDqVF;EClVA;IACE;EDoVF;ECjVA;IACE;EDmVF;EChVA;IACE;IACA;IACA;EDkVF;EC/UA;IACE;IACA;EDiVF;EC9UA;;IACE;EDiVF;EC/UA;;;;;;;;;;;;IACE;ED4VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;ECzVA;IACE;ED2VF;AACF;ACtVA;EACE;ADwVF;ACrVA;EACI;EACA;ADuVJ;ACpVA;EACE;ADsVF;ACnVA;EACE;EACA;EACA;ADqVF;AChVA;EACE;EACA;OAAA;EACA;EACA;ADkVF;AC/UA;;EACE;EACA;EACA;ADkVF;AC/UA;;;EACE;ADmVF;AChVA;;EACE;ADmVF;AChVA;EACE;ADkVF;AC/UA;EACE;ADiVF;AC9UA;EACE;EACA;EACA;ADgVF;AC7UA;EACE;EACA;AD+UF;AC5UA;EACE;EACA;EACA;AD8UF;AC1UA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AD4UF;AC1UA;;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AD6UF;AC1UA;EACE;AD4UF;ACzUA;EACE;AD2UF;ACxUA;EACE;AD0UF;ACvUA;EACE;ADyUF;ACtUA;EACE;ADwUF;ACpUA;EACE;EACA;EACA;EACA;EACA;EAGA;ADoUF;ACjUA;EACE;EACA;EACA;EACA;ADmUF;AChUA;EACE;EACA;EACA;EACA;ADkUF;AC9TA;EACE;EACA;EACA;EACA;EACA;EACA;ADgUF;AACA;;;;EAIE;AC7TF;EACE;EACA;EACA;EACA;AD+TF;AC5TA;EACE;EACA;EACA;EACA;EACA;AD8TF;AC3TA;EACE;EACA;EACA;AD6TF;AC1TA;EACE;EACA;EACA;AD4TF;ACxTA;EACE;AD0TF;AACA;;EAEE;ACrTF;EACE;IACE;IACA;EDuTF;ECpTA;IACE;EDsTF;ECnTA;IACE;EDqTF;EClTA;IACE;EDoTF;AACF;ACjTA;EACE;EACA;EACA;ADmTF;AChTA;EACE;EACA;ADkTF;AACA;;;;;;;;;;;EAWE;AC7SF;;;;;;;;;;;;;;;EAgBE;EACA;EACA;EACA;EACA;EACA;AD8SF;AC1SA;;;;;;;;;;;;;;;;EAiBE;EACA;EACA;EACA;AD2SF;AACA;;;EAGE;ACxSF;EAEE;EAAkB;EAAoC;AD2SxD;ACxSA;EAEE;EAAkB;EAAoC;AD2SxD;ACxSA;EAEE;EAAkB;EAAoC;AD2SxD;ACxSA;EAEE;EAAkB;EAAoC;AD2SxD;ACxSA;EAEE;EAAkB;EAAoC;AD2SxD;ACxSA;EACE;EAAkB;EAAoC;AD4SxD;ACzSA;EACE;EAAkB;EAAoC;EAAiB;AD8SzE;AC3SA;EAEE;EAAkB;EAAoC;AD8SxD;AC3SA;EAEE;EAAkB;EAClB;EACA;AD6SF;AC1SA;EACE;EACA;EACA;EACA;AD4SF;AC1SA;EACE;EACA;EACA;EACA;AD4SF;AC1SA;EACE;EACA;EACA;EACA;AD4SF;AC1SA;EACE;EACA;EACA;EACA;AD4SF;ACzSA;EACE;EACA;EACA;EACA;AD2SF;ACxSA;EACE;EACA;EACA;EACA;AD0SF;ACvSA;EACE;EACA;EACA;EACA;ADySF;ACrSA;EACE;EACA;EACA;EACA;ADuSF;ACnSA;;;EACE;ADuSF;ACpSA;;EACE;EACA;EACA;EACA;ADuSF;ACpSA;;EACE;ADuSF;ACpSA;EACE;ADsSF;ACnSA;EACE;IACE;EDqSF;ECnSA;IACE;EDqSF;AACF;ACnSA;EACE;IACE;EDqSF;ECnSA;IACE;EDqSF;ECnSA;IACE;EDqSF;AACF;AClSA;EACE;IACE;EDoSF;AACF;AClSA;EACE;IACE;EDoSF;EClSA;IACE;IACA;EDoSF;EClSA;IACE;IACA;EDoSF;EClSA;IACE;IACA;EDoSF;AACF;AClSA;EACE;IACE;EDoSF;AACF;ACjSA;EACE;IACE;EDmSF;AACF;ACjSA;EACE;IACE;IACA;IACA;IACA;IACA;EDmSF;AACF;AACA,oDAAoD;AC/RpD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ADiSF;AC9RA;EACE;EACA;ADgSF;AACA,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AC5R9C;ED8RE,kCAAkC;EC5RlC;EACA;OAAA;ED8RA,+CAA+C;EC5R/C;ED8RA,+BAA+B;EC5R/B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ED8RA,6BAA6B;AAC/B;AACA,yFAAyF;AC1RzF;ED4RE,2EAA2E;ECpR3E;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EDqRA,+BAA+B;ECnR/B;ADqRF;AACA,wEAAwE;AClRxE;EACE;ADoRF;AACA,wEAAwE;ACjRxE;;EACE;EACA;EACA;EACA;EACA;ADoRF;AACA,6EAA6E;ACjR7E;;EACE;EACA;EACA;EACA;ADoRF;AACA,+EAA+E;ACjR/E;;EACE;EACA;EACA;EACA;ADoRF;AACA,qCAAqC;AC/QrC;EACE;KAAA;UAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ADiRF;AC9QA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;ADgRF;AC7QA;EACE;AD+QF;AACA;;;;EAIE;AC3QF;EACE;AD6QF;AC1QA;EACE;EACA;EACA;EACA;AD4QF;ACzQA;EACE;AD2QF;ACxQA;EACE;AD0QF;ACvQA;EACE;ADyQF;ACtQA;EACE;ADwQF;AACA,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AAC9C;;;EAGE;ACnQF;EACE;EACA;EACA;EACA;EACA;ADqQF;AClQA;;EAEE;EACA;EACA;ADoQF;ACjQA;EACE;ADmQF;AChQA;EACE;ADkQF;AChQA;EACE;ADkQF;AC/PA;EACE;EACA;EACA;ADiQF;AACA,kEAAkE;AC9PlE;EACE;ADgQF;AC7PA;EACE;AD+PF;AC3PA;EACE;EACA;AD6PF;AC1PA;EACE;EACA;AD4PF;ACzPA;EACE;EACA;EACA;EACA;EACA;EACA;AD2PF;ACxPA;;EACE;AD2PF;ACxPA;EACE;EAQA;EACA;EACA;ADmPF;AChPA;EACE;EACA;ADkPF;AC/OA;EACE;ADiPF;AC9OA;EACE;EACA;ADgPF;AC5OA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AD8OF;AC5OA;;;;;EAKE;AD8OF;AC3OA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AD6OF","sources":["webpack:///./resources/assets/less/app.less","webpack:///./resources/assets/less/overrides.less"],"sourcesContent":["\nbody {\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\",\n \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n font-size: 13px;\n}\n// Moved from default.blade.php\n@media (max-width: 400px) {\n .navbar-left {\n margin: 2px;\n }\n\n .nav::after {\n clear: none;\n }\n}\n\n.skin-blue .main-header .logo {\n background-color: inherit !important;\n}\n.main-header .logo {\n width: 100% !important;\n white-space: nowrap;\n text-align: left;\n display: block;\n clear: both;\n //text-overflow: hidden;\n}\n\n.huge {\n font-size: 40px;\n}\n\n.btn-file {\n position: relative;\n overflow: hidden;\n}\n\n.dropdown-menu > li > a {\n color: #354044;\n}\n\n#sort tr.cansort {\n border-radius: 2px;\n padding: 10px;\n background: #f4f4f4;\n margin-bottom: 3px;\n border-left: 2px solid #e6e7e8;\n color: #444;\n cursor: move;\n}\n\n.user-image-inline {\n float: left;\n width: 25px;\n height: 25px;\n border-radius: 50%;\n margin-right: 10px;\n}\n\n.input-group .input-group-addon {\n background-color: #f4f4f4;\n}\n\na.accordion-header {\n color: #333;\n}\n\n.dynamic-form-row {\n padding: 10px;\n margin: 20px;\n}\n\n.handle {\n padding-left: 10px;\n}\n\n.btn-file input[type=\"file\"] {\n position: absolute;\n top: 0;\n right: 0;\n min-width: 100%;\n min-height: 100%;\n font-size: 100px;\n text-align: right;\n filter: alpha(opacity=0);\n opacity: 0;\n outline: none;\n background: white;\n cursor: inherit;\n display: block;\n}\n\n.main-footer {\n font-size: 13px;\n}\n\n.main-header {\n max-height: 150px;\n}\n\n.navbar-nav > .user-menu > .dropdown-menu {\n width: inherit;\n}\n\n.main-header .logo {\n padding: 0px 5px 0px 15px;\n}\n\n.sidebar-toggle {\n margin-left: -48px;\n z-index: 100;\n background-color: inherit;\n}\n\n.sidebar-toggle-mobile {\n z-index: 100;\n width: 50px;\n padding-top: 10px;\n}\n\n// .skin-blue .main-header .navbar .dropdown-menu li a {\n// //color: inherit;\n// }\n\n.main-header .sidebar-toggle:before {\n content: \"\\f0c9\";\n}\n\n.direct-chat-contacts {\n padding: 10px;\n height: 150px;\n}\n\n.select2-container {\n width: 100%;\n}\n.error input {\n color: #a94442;\n border: 2px solid #a94442 !important;\n}\n\n.error label,\n.alert-msg {\n color: #a94442;\n display: block;\n}\n\n.input-group[class*=\"col-\"] {\n padding-right: 15px;\n padding-left: 15px;\n}\n.control-label.multiline {\n padding-top: 10px;\n}\n\n.btn-outline {\n color: inherit;\n background-color: transparent;\n transition: all 0.5s;\n}\n\n.btn-primary.btn-outline {\n color: #428bca;\n}\n\n.btn-success.btn-outline {\n color: #5cb85c;\n}\n\n.btn-info.btn-outline {\n color: #5bc0de;\n}\n\n.btn-warning.btn-outline {\n color: #f0ad4e;\n}\n\n.btn-danger.btn-outline {\n color: #d9534f;\n}\n\n.btn-primary.btn-outline:hover,\n.btn-success.btn-outline:hover,\n.btn-info.btn-outline:hover,\n.btn-warning.btn-outline:hover,\n.btn-danger.btn-outline:hover {\n color: #fff;\n}\n\n.slideout-menu {\n position: fixed;\n top: 0;\n right: -250px;\n width: 250px;\n height: 100%;\n background: #333;\n z-index: 100;\n margin-top: 100px;\n color: white;\n padding: 10px;\n}\n\n.slideout-menu h3 {\n position: relative;\n padding: 5px 5px;\n color: #fff;\n font-size: 1.2em;\n font-weight: 400;\n border-bottom: 4px solid #222;\n}\n\n.slideout-menu .slideout-menu-toggle {\n position: absolute;\n top: 12px;\n right: 10px;\n display: inline-block;\n padding: 6px 9px 5px;\n font-family: Arial, sans-serif;\n font-weight: bold;\n line-height: 1;\n background: #222;\n color: #999;\n text-decoration: none;\n vertical-align: top;\n}\n\n.slideout-menu .slideout-menu-toggle:hover {\n color: #fff;\n}\n\n.slideout-menu ul {\n list-style: none;\n font-weight: 300;\n border-top: 1px solid #151515;\n border-bottom: 1px solid #454545;\n}\n\n.slideout-menu ul li {\n border-top: 1px solid #454545;\n border-bottom: 1px solid #151515;\n}\n\n.slideout-menu ul li a {\n position: relative;\n display: block;\n padding: 10px;\n color: #999;\n text-decoration: none;\n}\n\n.slideout-menu ul li a:hover {\n background: #000;\n color: #fff;\n}\n\n.slideout-menu ul li a i {\n position: absolute;\n top: 15px;\n right: 10px;\n opacity: 0.5;\n}\n\n.btn-box-tool-lg {\n font-size: 16px;\n color: orange;\n}\n\n/*Form Wizard*/\n.bs-wizard {\n margin-top: 20px;\n border-bottom: solid 1px #e0e0e0;\n padding: 0 0 10px 0;\n}\n.bs-wizard > .bs-wizard-step {\n padding: 0;\n position: relative;\n}\n\n// .bs-wizard > .bs-wizard-step + .bs-wizard-step {}\n\n.bs-wizard > .bs-wizard-step .bs-wizard-stepnum {\n color: #595959;\n font-size: 16px;\n margin-bottom: 5px;\n}\n\n.bs-wizard > .bs-wizard-step .bs-wizard-info {\n color: #999;\n font-size: 14px;\n}\n\n.bs-wizard > .bs-wizard-step > .bs-wizard-dot {\n position: absolute;\n width: 30px;\n height: 30px;\n display: block;\n background: #fbe8aa;\n top: 45px;\n left: 50%;\n margin-top: -15px;\n margin-left: -15px;\n border-radius: 50%;\n}\n\n.bs-wizard > .bs-wizard-step > .bs-wizard-dot:after {\n content: \" \";\n width: 14px;\n height: 14px;\n background: #fbbd19;\n border-radius: 50px;\n position: absolute;\n top: 8px;\n left: 8px;\n}\n\n.bs-wizard > .bs-wizard-step > .progress {\n position: relative;\n border-radius: 0px;\n height: 8px;\n box-shadow: none;\n margin: 20px 0;\n}\n\n.bs-wizard > .bs-wizard-step > .progress > .progress-bar {\n width: 0px;\n box-shadow: none;\n background: #fbe8aa;\n}\n\n.bs-wizard > .bs-wizard-step.complete > .progress > .progress-bar {\n width: 100%;\n}\n\n.bs-wizard > .bs-wizard-step.active > .progress > .progress-bar {\n width: 50%;\n}\n\n.bs-wizard > .bs-wizard-step:first-child.active > .progress > .progress-bar {\n width: 0%;\n}\n\n.bs-wizard > .bs-wizard-step:last-child.active > .progress > .progress-bar {\n width: 100%;\n}\n\n.bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot {\n background-color: #f5f5f5;\n}\n\n.bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot:after {\n opacity: 0;\n}\n\n.bs-wizard > .bs-wizard-step:first-child > .progress {\n left: 50%;\n width: 50%;\n}\n\n.bs-wizard > .bs-wizard-step:last-child > .progress {\n width: 50%;\n}\n\n.bs-wizard > .bs-wizard-step.disabled a.bs-wizard-dot {\n pointer-events: none;\n}\n/*END Form Wizard*/\n\n.left-navblock {\n display: inline-block;\n // float: left;\n text-align: left;\n color: white;\n padding: 0px;\n /* adjust based on your layout */\n}\n\na.logo.no-hover a:hover {\n background-color: transparent;\n}\n\n.index-block {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.index-block:hover{\n overflow: visible;\n white-space: normal;\n height:auto;\n}\n\ninput:required, select:required, textarea:required {\n border-right: 6px solid orange;\n}\n\n.sidebar-menu {\n font-size: 14px;\n white-space: normal;\n}\n\n@media print {\n a[href]:after {\n content: none;\n }\n\n .tab-content > .tab-pane {\n display: block !important;\n opacity: 1 !important;\n visibility: visible !important;\n }\n}\n\nimg.navbar-brand-img,\n.navbar-brand > img {\n float: left;\n padding: 5px 5px 5px 0;\n max-height: 50px;\n}\n\n.input-daterange {\n border-radius: 0px;\n}\n\n.btn.bg-maroon,\n.btn.bg-purple {\n min-width: 90px;\n}\n\n[hidden] {\n display: none !important;\n}\n\n#toolbar {\n margin-top: 10px;\n}\n\n#uploadPreview {\n border-color: grey;\n border-width: 1px;\n border-style: solid;\n}\n\n.icon-med {\n font-size: 20px;\n color: #889195;\n}\n\n#login-logo {\n padding-top: 20px;\n padding-bottom: 10px;\n max-width: 200px;\n}\n\n.left-navblock {\n max-width: 500px;\n}\n\n@import \"overrides.less\";",".skin-red\n.skin-purple\n.skin-blue\n.skin-black\n.skin-orange\n.skin-yellow\n.skin-green\n.skin-red-dark\n.skin-purple-dark\n.skin-blue-dark\n.skin-black-dark\n.skin-orange-dark\n.skin-yellow-dark\n.skin-green-dark\n.skin-contrast\n.main-header\n\n.logo {\n background-color: inherit;\n}\n.main-header .logo {\n width: 100% !important;\n white-space: nowrap;\n text-align: left;\n display: block;\n clear: both;\n &a:link, a:hover, a:visited {\n color: #fff\n }\n}\n.huge {\n font-size: 40px;\n}\n\n.btn-file {\n position: relative;\n overflow: hidden;\n}\n\n.dropdown-menu>li>a {\n color: #354044;\n}\n\n\n#sort tr.cansort {\n border-radius: 2px;\n padding: 10px;\n background: #f4f4f4;\n margin-bottom: 3px;\n border-inline: 2px solid #e6e7e8;\n color: #444;\n cursor: move;\n}\n\n.user-image-inline {\n float: left;\n width: 25px;\n height: 25px;\n border-radius: 50%;\n margin-right: 10px;\n}\n\n.input-group .input-group-addon {\n background-color: #f4f4f4;\n}\n\na.accordion-header {\n color: #333;\n}\n\n.dynamic-form-row {\n padding: 10px;\n margin: 20px;\n}\n\n\n.handle {\n padding-left: 10px;\n}\n\n.btn-file input[type=file] {\n position: absolute;\n top: 0;\n right: 0;\n min-width: 100%;\n min-height: 100%;\n font-size: 100px;\n text-align: right;\n filter: alpha(opacity=0);\n opacity: 0;\n outline: none;\n background: white;\n cursor: inherit;\n display: block;\n}\n.main-footer {\n font-size: 13px;\n}\n.main-header {\n max-height: 150px;\n}\n\n\n.navbar-nav>.user-menu>.dropdown-menu {\n width: inherit;\n}\n.main-header .logo {\n padding: 0px 5px 0px 15px;\n}\n\n\n.sidebar-toggle {\n margin-left: -48px;\n z-index: 100;\n background-color: inherit;\n}\n\n.sidebar-toggle-mobile {\n z-index: 100;\n width: 50px;\n padding-top: 10px;\n}\n\n.skin-red\n.skin-purple\n.skin-blue\n.skin-black\n.skin-orange\n.skin-yellow\n.skin-green\n.skin-red-dark\n.skin-purple-dark\n.skin-blue-dark\n.skin-black-dark\n.skin-orange-dark\n.skin-yellow-dark\n.skin-green-dark\n.skin-contrast\n.main-header\n.navbar\n.dropdown-menu li a {\n //color: inherit;\n}\n.pull-text-right{\n text-align: right !important;\n}\n\n.main-header .sidebar-toggle:before {\n content: \"\\f0c9\";\n font-weight: 900;\n font-family: 'Font Awesome\\ 5 Free';\n}\n\n.direct-chat-contacts {\n padding: 10px;\n height: 150px;\n}\n\n.select2-container {\n width: 100%;\n}\n\n.error input {\n color: #a94442;\n border: 2px solid #a94442 !important;\n}\n\n.error label, .alert-msg {\n color: #a94442;\n display: block;\n}\n\n.input-group[class*=\"col-\"] {\n padding-right: 15px;\n padding-left: 15px;\n}\n.control-label.multiline {\n padding-top: 10px;\n}\n\n.btn-outline {\n color: inherit;\n background-color: transparent;\n transition: all .5s;\n}\n\n.btn-primary.btn-outline {\n color: #428bca;\n}\n\n.btn-success.btn-outline {\n color: #5cb85c;\n}\n\n.btn-info.btn-outline {\n color: #5bc0de;\n}\n.btn-warning{\n background-color:#f39c12 !important;\n}\n\n.btn-warning.btn-outline {\n color: #f0ad4e;\n}\n\n.btn-danger.btn-outline, a.link-danger:link, a.link-danger:visited, a.link-danger:hover {\n color: #dd4b39;\n}\n\n.btn-primary.btn-outline:hover, .btn-success.btn-outline:hover, .btn-info.btn-outline:hover, .btn-warning.btn-outline:hover, .btn-danger.btn-outline:hover {\n color: #fff;\n}\n\n.slideout-menu {\n position: fixed;\n top: 0;\n right: -250px;\n width: 250px;\n height: 100%;\n background: #333;\n z-index: 100;\n margin-top: 100px;\n color: white;\n padding: 10px;\n}\n.slideout-menu h3 {\n position: relative;\n padding: 5px 5px;\n color: #fff;\n font-size: 1.2em;\n font-weight: 400;\n border-bottom: 4px solid #222;\n}\n.slideout-menu .slideout-menu-toggle {\n position: absolute;\n top: 12px;\n right: 10px;\n display: inline-block;\n padding: 6px 9px 5px;\n font-family: Arial, sans-serif;\n font-weight: bold;\n line-height: 1;\n background: #222;\n color: #999;\n text-decoration: none;\n vertical-align: top;\n}\n.slideout-menu .slideout-menu-toggle:hover {\n color: #fff;\n}\n.slideout-menu ul {\n list-style: none;\n font-weight: 300;\n border-top: 1px solid #151515;\n border-bottom: 1px solid #454545;\n}\n.slideout-menu ul li {\n border-top: 1px solid #454545;\n border-bottom: 1px solid #151515;\n}\n.slideout-menu ul li a {\n position: relative;\n display: block;\n padding: 10px;\n color: #999;\n text-decoration: none;\n}\n.slideout-menu ul li a:hover {\n background: #000;\n color: #fff;\n}\n.slideout-menu ul li a i {\n position: absolute;\n top: 15px;\n right: 10px;\n opacity: .5;\n}\n\n.btn-box-tool-lg {\n font-size: 16px;\n color: orange;\n}\n\n\n\n.bs-wizard {margin-top: 20px;}\n\n/*Form Wizard*/\n.bs-wizard {border-bottom: solid 1px #e0e0e0; padding: 0 0 10px 0;}\n.bs-wizard > .bs-wizard-step {padding: 0; position: relative;}\n.bs-wizard > .bs-wizard-step + .bs-wizard-step {}\n.bs-wizard > .bs-wizard-step .bs-wizard-stepnum {color: #595959; font-size: 16px; margin-bottom: 5px;}\n.bs-wizard > .bs-wizard-step .bs-wizard-info {color: #999; font-size: 14px;}\n.bs-wizard > .bs-wizard-step > .bs-wizard-dot {position: absolute; width: 30px; height: 30px; display: block; background: #fbe8aa; top: 45px; left: 50%; margin-top: -15px; margin-left: -15px; border-radius: 50%;}\n.bs-wizard > .bs-wizard-step > .bs-wizard-dot:after {content: ' '; width: 14px; height: 14px; background: #fbbd19; border-radius: 50px; position: absolute; top: 8px; left: 8px; }\n.bs-wizard > .bs-wizard-step > .progress {position: relative; border-radius: 0px; height: 8px; box-shadow: none; margin: 20px 0;}\n.bs-wizard > .bs-wizard-step > .progress > .progress-bar {width:0px; box-shadow: none; background: #fbe8aa;}\n.bs-wizard > .bs-wizard-step.complete > .progress > .progress-bar {width:100%;}\n.bs-wizard > .bs-wizard-step.active > .progress > .progress-bar {width:50%;}\n.bs-wizard > .bs-wizard-step:first-child.active > .progress > .progress-bar {width:0%;}\n.bs-wizard > .bs-wizard-step:last-child.active > .progress > .progress-bar {width: 100%;}\n.bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot {background-color: #f5f5f5;}\n.bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot:after {opacity: 0;}\n.bs-wizard > .bs-wizard-step:first-child > .progress {left: 50%; width: 50%;}\n.bs-wizard > .bs-wizard-step:last-child > .progress {width: 50%;}\n.bs-wizard > .bs-wizard-step.disabled a.bs-wizard-dot{ pointer-events: none; }\n/*END Form Wizard*/\n\n.left-navblock {\n display: inline-block;\n float: left;\n text-align: left;\n color: white;\n padding: 0px;\n /* adjust based on your layout */\n\n}\n.skin-red\n.skin-purple\n.skin-blue\n.skin-black\n.skin-orange\n.skin-yellow\n.skin-green\n.skin-red-dark\n.skin-purple-dark\n.skin-blue-dark\n.skin-black-dark\n.skin-orange-dark\n.skin-yellow-dark\n.skin-green-dark\n.skin-contrast\n.main-header\n.navbar\n.dropdown-menu li a {\n color: #333;\n}\n\na.logo.no-hover a:hover {\n background-color: transparent;\n}\n\n\ninput:required, select:required {\n border-right: 5px solid orange;\n}\nselect:required + .select2-container .select2-selection, select:required + .select2-container .select2-selection .select2-selection--multiple {\n border-right: 5px solid orange !important;\n}\n\nbody {\n font-family: -apple-system, BlinkMacSystemFont,\n \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\",\n \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n font-size: 13px;\n}\n\n.sidebar-menu {\n font-size: 14px;\n white-space: normal;\n}\n\n.modal-warning .modal-help {\n color: #fff8af;\n}\n\n.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading {\n z-index: 0 !important;\n}\n\n@media print {\n\n @page {\n size: A4;\n margin: 0mm;\n }\n\n .tab-content > .tab-pane {\n display: block !important;\n opacity: 1 !important;\n visibility: visible !important;\n }\n\n .img-responsive {\n width: 200px;\n }\n\n html, body {\n width: 1024px;\n }\n\n body {\n margin: 0 auto;\n line-height: 1em;\n word-spacing:1px;\n letter-spacing:0.2px;\n font: 15px \"Times New Roman\", Times, serif;\n background:white;\n color:black;\n width: 100%;\n float: none;\n }\n\n /* avoid page-breaks inside a listingContainer*/\n .listingContainer {\n page-break-inside: avoid;\n }\n\n h1 {\n font: 28px \"Times New Roman\", Times, serif;\n }\n\n h2 {\n font: 24px \"Times New Roman\", Times, serif;\n }\n\n h3 {\n font: 20px \"Times New Roman\", Times, serif;\n }\n\n /* Improve colour contrast of links */\n a:link, a:visited {\n color: #781351\n }\n\n /* URL */\n a:link, a:visited {\n background: transparent;\n color:#333;\n text-decoration:none;\n }\n\n a[href]:after {\n content: \"\" !important;\n }\n\n a[href^=\"http://\"] {\n color:#000;\n }\n\n #header {\n height:75px;\n font-size: 24pt;\n color:black\n }\n\n div.row-new-striped {\n margin: 0px;\n padding: 0px;\n }\n\n .pagination-detail, .fixed-table-toolbar {\n visibility: hidden;\n }\n .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 .col-sm-pull-3 .col-sm-push-9 {\n float: left;\n }\n\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666666666666%;\n }\n .col-sm-10 {\n width: 83.33333333333334%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666666666666%;\n }\n .col-sm-7 {\n width: 58.333333333333336%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666666666667%;\n }\n .col-sm-4 {\n width: 33.33333333333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.666666666666664%;\n }\n .col-sm-1 {\n width: 8.333333333333332%;\n }\n\n}\n\n\n.select2-selection__choice__remove {\n color: white !important;\n}\n\n.select2-selection--multiple {\n border-color: #d2d6de !important;\n overflow-y: auto;\n}\n\n.select2-selection__choice {\n border-radius: 0px !important;\n}\n\n.select2-search select2-search--inline {\n height: 35px !important;\n float: left;\n margin: 0;\n}\n\n\n\n.select2-results__option {\n padding: 5px;\n user-select: none;\n -webkit-user-select: none;\n margin: 0px;\n}\n\nimg.navbar-brand-img, .navbar-brand>img {\n float: left;\n padding: 5px 5px 5px 0;\n max-height: 50px;\n}\n\n.input-daterange, .input-daterange input:first-child, .input-daterange input:last-child {\n border-radius: 0px !important;\n}\n\n.btn.bg-maroon, .btn.bg-purple{\n min-width:90px;\n}\n\n[hidden] {\n display: none !important;\n}\n\n#toolbar {\n margin-top: 10px;\n}\n\n#uploadPreview {\n border-color: grey;\n border-width: 1px;\n border-style: solid\n}\n\n.icon-med {\n font-size: 14px;\n color: #889195;\n}\n\n#login-logo {\n padding-top: 20px;\n padding-bottom: 10px;\n max-width: 200px\n}\n\n// accessibility skip link\na.skip-main {\n left:-999px;\n position:absolute;\n top:auto;\n width:1px;\n height:1px;\n overflow:hidden;\n z-index:-999;\n}\na.skip-main:focus, a.skip-main:active {\n color: #fff;\n background-color:#000;\n left: auto;\n top: auto;\n width: 30%;\n height: auto;\n overflow:auto;\n margin: 10px 35%;\n padding:5px;\n border-radius: 15px;\n border:4px solid yellow;\n text-align:center;\n font-size:1.2em;\n z-index:999;\n}\n\nh2 {\n font-size: 22px;\n}\n\nh2.task_menu {\n font-size: 14px;\n}\n\nh2 small {\n font-size: 85%;\n}\n\nh3 {\n font-size: 20px;\n}\n\nh4 {\n font-size: 16px;\n}\n\n\n.row-striped {\n vertical-align: top;\n line-height: 2.6;\n padding: 0px;\n margin-left: 20px;\n box-sizing: border-box;\n //border-left: 1px solid #dddddd;\n //border-right: 1px solid #dddddd;\n display: table;\n}\n\n.row-striped .row:nth-of-type(odd) div {\n background-color: #f9f9f9;\n border-top: 1px solid #dddddd;\n display: table-cell;\n word-wrap: break-word;\n}\n\n.row-striped .row:nth-of-type(even) div {\n background: #FFFFFF;\n border-top: 1px solid #dddddd;\n display: table-cell;\n word-wrap: break-word;\n}\n\n\n.row-new-striped {\n vertical-align: top;\n padding: 3px;\n display: table;\n width: 100%;\n word-wrap: break-word;\n table-layout:fixed;\n}\n\n/**\n* NEW STRIPING\n* This section is for the new row striping for nicer \n* display for non-table data as of v6\n**/\n.row-new-striped > .row:nth-of-type(even) {\n background: #FFFFFF;\n border-top: 1px solid #dddddd;\n line-height: 1.9;\n display: table-row;\n}\n\n.row-new-striped > .row:nth-of-type(odd) {\n background-color: #F8F8F8;\n border-top: 1px solid #dddddd;\n display: table-row;\n line-height: 1.9;\n padding: 2px;\n}\n\n.row-new-striped div {\n display: table-cell;\n border-top: 1px solid #dddddd;\n padding: 6px;\n}\n\n.row-new-striped div {\n display: table-cell;\n border-top: 1px solid #dddddd;\n padding: 6px;\n}\n\n\n.row-new-striped div[class^=\"col\"]:first-child {\n font-weight: bold;\n}\n\n\n\n/**\n* This just adds a little extra padding on mobile\n**/\n@media only screen and (max-width: 520px) {\n h1.pagetitle {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n\n .firstnav {\n padding-top: 120px !important;\n }\n\n .product {\n width: 400px;\n }\n\n .product img {\n min-width: 400px;\n }\n}\n\n.card-view-title {\n min-width: 40% !important;\n line-height: 3.0!important;\n padding-right: 20px;\n}\n\n.card-view {\n display: table-row;\n flex-direction: column;\n}\n\n// ---------------\n\n/**\n\n COLUMN SELECTOR ICONS\n -----------------------------\n This is kind of weird, but it is necessary to prevent the column-selector code from barfing, since\n any HTML used in the UserPresenter \"title\" attribute breaks the column selector HTML.\n\n Instead, we use CSS to add the icon into the table header, which leaves the column selector\n \"title\" text as-is and hides the icon.\n\n See https://github.com/grokability/snipe-it/issues/7989\n */\nth.css-accessory > .th-inner,\nth.css-accessory-alt > .th-inner,\nth.css-barcode > .th-inner,\nth.css-component > .th-inner,\nth.css-consumable > .th-inner,\nth.css-envelope > .th-inner,\nth.css-house-flag > .th-inner,\nth.css-house-laptop > .th-inner,\nth.css-house-user > .th-inner,\nth.css-license > .th-inner,\nth.css-location > .th-inner,\nth.css-users > .th-inner,\nth.css-currency > .th-inner,\nth.css-child-locations > .th-inner,\nth.css-history > .th-inner\n{\n font-size: 0px;\n line-height: 0.75 !important;\n text-align: left;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n\nth.css-location > .th-inner::before,\nth.css-accessory > .th-inner::before,\nth.css-accessory-alt > .th-inner::before,\nth.css-barcode > .th-inner::before,\nth.css-component > .th-inner::before,\nth.css-consumable > .th-inner::before,\nth.css-envelope > .th-inner::before,\nth.css-house-flag > .th-inner::before,\nth.css-house-laptop > .th-inner::before,\nth.css-house-user > .th-inner::before,\nth.css-license > .th-inner::before,\nth.css-location > .th-inner::before,\nth.css-users > .th-inner::before,\nth.css-currency > .th-inner::before,\nth.css-child-locations > .th-inner::before,\nth.css-history > .th-inner::before\n{\n display: inline-block;\n font-size: 20px;\n font-family: \"Font Awesome 5 Free\";\n font-weight: 900;\n}\n\n/**\nBEGIN ICON TABLE HEADERS\nSet the font-weight css property as 900 (For Solid), 400 (Regular or Brands), 300 (Light for pro icons).\n**/\nth.css-barcode > .th-inner::before\n{\n content: \"\\f02a\"; font-family: \"Font Awesome 5 Free\"; font-weight: 900;\n}\n\nth.css-license > .th-inner::before\n{\n content: \"\\f0c7\"; font-family: \"Font Awesome 5 Free\"; font-weight: 400;\n}\n\nth.css-consumable > .th-inner::before\n{\n content: \"\\f043\"; font-family: \"Font Awesome 5 Free\"; font-weight: 900;\n}\n\nth.css-envelope > .th-inner::before\n{\n content: \"\\f0e0\"; font-family: \"Font Awesome 5 Free\"; font-weight: 400;\n}\n\nth.css-accessory > .th-inner::before\n{\n content: \"\\f11c\"; font-family: \"Font Awesome 5 Free\"; font-weight: 400;\n}\n\nth.css-users > .th-inner::before {\n content: \"\\f0c0\"; font-family: \"Font Awesome 5 Free\"; font-size: 15px;\n}\n\nth.css-location > .th-inner::before {\n content: \"\\f3c5\"; font-family: \"Font Awesome 5 Free\"; font-size: 19px; margin-bottom: 0px;\n}\n\nth.css-component > .th-inner::before\n{\n content: \"\\f0a0\"; font-family: \"Font Awesome 5 Free\"; font-weight: 500;\n}\n\nth.css-padlock > .th-inner::before\n{\n content: \"\\f023\"; font-family: \"Font Awesome 5 Free\";\n font-weight: 800;\n padding-right: 3px;\n}\n\nth.css-house-user > .th-inner::before {\n content: \"\\e1b0\";\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\nth.css-house-flag > .th-inner::before {\n content: \"\\e50d\";\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\nth.css-house-laptop > .th-inner::before {\n content: \"\\e066\";\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\nth.css-accessory-alt > .th-inner::before {\n content: \"\\f11c\";\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\n\nth.css-child-locations > .th-inner::before {\n content: \"\\f64f\"; // change this to f51e for coins\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\n\nth.css-currency > .th-inner::before {\n content: \"\\24\"; // change this to f51e for coins\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\n\nth.css-history > .th-inner::before {\n content: \"\\f1da\"; // change this to f51e for coins\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\n\n\n.small-box .inner {\n padding-left: 15px;\n padding-right: 15px;\n padding-top: 15px;\n color: #fff;\n}\n\n\n.small-box > a:link, .small-box > a:visited, .small-box > a:hover {\n color: #fff;\n}\n\n.select2-container--default .select2-selection--single, .select2-selection .select2-selection--single {\n border: 1px solid #d2d6de;\n border-radius: 0;\n padding: 6px 12px;\n height: 34px;\n}\n\n.form-group.has-error label, .form-group.has-error .help-block {\n color: #a94442;\n}\n\n.select2-container--default .select2-selection--multiple {\n border-radius: 0px;\n}\n\n@media screen and (max-width: 511px){\n .tab-content .tab-pane .alert-block {\n margin-top: 120px\n }\n .sidebar-menu{\n margin-top:160px;\n }\n}\n@media screen and (max-width: 912px) and (min-width: 512px){\n .sidebar-menu {\n margin-top:100px\n }\n .navbar-custom-menu > .navbar-nav > li.dropdown.user.user-menu {\n float:right;\n }\n .navbar-custom-menu > .navbar-nav > li > .dropdown-menu {\n margin-right:-39px;\n }\n}\n\n@media screen and (max-width: 1268px) and (min-width: 912px){\n .sidebar-menu {\n margin-top:50px\n }\n}\n@media screen and (max-width: 992px){\n .info-stack-container {\n flex-direction: column;\n }\n .col-md-3.col-xs-12.col-sm-push-9.info-stack{\n left:auto;\n order:1;\n }\n .col-md-9.col-xs-12.col-sm-pull-3.info-stack{\n right:auto;\n order:2;\n }\n .info-stack-container > .col-md-9.col-xs-12.col-sm-pull-3.info-stack > .row-new-striped > .row > .col-sm-2{\n width:auto;\n float:none;\n }\n}\n@media screen and (max-width: 992px){\n .row-new-striped div{\n width:100%;\n }\n}\n\n@media screen and (max-width: 1318px) and (min-width: 1200px){\n .admin.box{\n height:170px;\n }\n}\n@media screen and (max-width: 1494px) and (min-width: 1200px){\n .dashboard.small-box{\n white-space: nowrap;\n text-overflow: ellipsis;\n max-width: 188px;\n display: block;\n overflow: hidden;\n }\n}\n\n/** Form-stuff overrides for checkboxes and stuff **/\n\nlabel.form-control {\n display: grid;\n grid-template-columns: 1.8em auto;\n gap: 0.5em;\n border: 0px;\n padding-left: 0px;\n background-color: inherit;\n color: inherit;\n font-size: inherit;\n font-weight: inherit;\n}\n\nlabel.form-control--disabled {\n color: #959495;\n cursor: not-allowed;\n}\n\n\n/** --------------------------------------- **/\n/** Start checkbox styles to replace iCheck **/\n/** --------------------------------------- **/\ninput[type=\"checkbox\"] {\n /* Add if not using autoprefixer */\n -webkit-appearance: none;\n appearance: none;\n /* For iOS < 15 to remove gradient background */\n background-color: #fff;\n /* Not removed via appearance */\n margin: 0;\n font: inherit;\n color: #959495;\n width: 1.8em;\n height: 1.8em;\n border: 0.05em solid;\n border-radius: 0em;\n transform: translateY(-0.075em);\n display: grid;\n place-content: center;\n /*Windows High Contrast Mode*/\n}\n\n/** This sets the display of a checkbox, and what the \"fill\" checkmark should look like */\n\ninput[type=\"checkbox\"]::before {\n\n /** If you want to use the non-checkbox, filled square, use this instead **/\n content: \"\";\n width: 1em;\n height: 1em;\n transform: scale(0);\n transition: 120ms transform ease-in-out;\n box-shadow: inset 1em 1em rgb(211, 211, 211);\n\n content: \"\";\n width: 1em;\n height: 1em;\n clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);\n transform: scale(0);\n transform-origin: bottom left;\n transition: 120ms transform ease-in-out;\n box-shadow: inset 1em 1em #428bca;\n /* Windows High Contrast Mode */\n background-color: CanvasText;\n}\n\n/** This sets the size of the scale up for the shape we defined above **/\ninput[type=\"checkbox\"]:checked::before {\n transform: scale(1);\n}\n\n/** This sets the scale and color of the DISABLED but CHECKED checkbox */\ninput[type=checkbox]:disabled::before, input[type=radio]:disabled::before {\n content: \"\";\n width: 1em;\n height: 1em;\n transform: scale(1);\n box-shadow: inset 1em 1em rgb(211, 211, 211);\n}\n\n/* This sets the scale and style of a DISABLED checkbox that is NOT checked */\ninput[type=checkbox]:disabled:not(:checked)::before, input[type=radio]:disabled:not(:checked)::before {\n content: \"\";\n transform: scale(0);\n cursor: not-allowed;\n pointer-events:none;\n}\n\n/** this is the color of the checkbox and content on a disabled, checked box **/\ninput[type=checkbox]:disabled, input[type=radio]:disabled {\n --form-control-color: rgb(211, 211, 211);\n color: #959495;\n cursor: not-allowed;\n pointer-events:none;\n}\n\n\n/** Radio styles to replace iCheck **/\n\ninput[type=\"radio\"] {\n appearance: none;\n background-color: #fff;\n margin: 0;\n font: inherit;\n color: #959495;\n width: 1.8em;\n height: 1.8em;\n border: 0.05em solid;\n border-radius: 50%;\n transform: translateY(-0.075em);\n display: grid;\n place-content: center;\n}\n\ninput[type=\"radio\"]::before {\n content: \"\";\n width: 1em;\n height: 1em;\n border-radius: 50%;\n transform: scale(0);\n transition: 120ms transform ease-in-out;\n box-shadow: inset 1em 1em #428bca;\n}\n\ninput[type=\"radio\"]:checked::before {\n transform: scale(1);\n}\n\n\n/**\n* This addresses the column selector in bootstrap-table. Without these two lines, the\n* checkbox and the with the label text that BS tables generates will\n* end up on two different lines and it looks assy.\n */\n.dropdown-item-marker input[type=checkbox] {\n font-size: 10px;\n}\n\n.bootstrap-table .fixed-table-toolbar li.dropdown-item-marker label {\n font-weight: normal;\n display: grid;\n grid-template-columns: .1em auto;\n gap: 1.5em;\n}\n\n.container.row-striped .col-md-6 {\n overflow-wrap:anywhere;\n}\n\n.nav-tabs-custom > .nav-tabs > li {\n z-index: 1;\n}\n\n.select2-container .select2-search--inline .select2-search__field{\n padding-left:15px;\n}\n\n.nav-tabs-custom > .nav-tabs > li.active {\n font-weight: bold;\n}\n\n/** --------------------------------------- **/\n/** End checkbox styles to replace iCheck **/\n/** --------------------------------------- **/\n\n/**\n/** Separator styles with text in the middle. Currently only used by the login page but\n/** could be used elsewhere.\n */\n\n.separator {\n display: flex;\n align-items: center;\n text-align: center;\n padding-top: 20px;\n color: #959495;\n}\n\n.separator::before,\n.separator::after {\n content: '';\n flex: 1;\n border-bottom: 1px solid #959495;\n}\n\n.separator:not(:empty)::before {\n margin-right: .25em;\n}\n\n.separator:not(:empty)::after {\n margin-left: .25em;\n}\n.datepicker.dropdown-menu {\n z-index: 1030 !important;\n}\n\n.sidebar-menu > li .badge {\n margin-top: 0px;\n filter: brightness(70%);\n font-size: 70%;\n}\n\n/** this is needed to override ekko-lightboxes card view styles **/\n.bootstrap-table .fixed-table-container .table tbody tr .card-view {\n display: table-row !important;\n}\n\n.form-control-static {\n padding-top: 0px;\n}\n\n\ntd.text-right.text-padding-number-cell {\n padding-right: 30px !important;\n white-space: nowrap;\n}\n\nth.text-right.text-padding-number-footer-cell {\n padding-right: 20px !important;\n white-space: nowrap;\n}\n\ncode.single-line {\n white-space: pre-wrap;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n overflow: hidden;\n max-width: 400px;\n}\n\np.monospace, span.monospace {\n font-family: monospace, monospace;\n}\n\nlegend.highlight {\n background: repeating-linear-gradient(\n 45deg,\n #222d32,\n #222d32 10px,\n #444 10px,\n #444 11px\n );\n\n color: #fff;\n font-size: 18px;\n padding: 6px 6px 6px 10px;\n}\n\nlegend.highlight a {\n color: #fff;\n cursor: pointer;\n}\n\nfieldset.bottom-padded {\n padding-bottom: 20px;\n}\n\ncaption.tableCaption {\n font-size: 18px;\n padding-left: 8px;\n}\n\n// via https://github.com/grokability/snipe-it/issues/11754\n.sidebar-toggle.btn {\n border-radius: 3px;\n box-shadow: none;\n border-top: 0px solid transparent;\n border-bottom: 0px solid transparent;\n padding-left: 15px;\n padding-right: 15px;\n padding-top: 12px;\n padding-bottom: 12px;\n margin-left: -47px;\n margin-top: 2px;\n}\n.popover.help-popover,\n.popover.help-popover .popover-content,\n.popover.help-popover .popover-body,\n.popover.help-popover .popover-title,\n.popover.help-popover .popover-header {\n color: #000;\n}\n\n.visually-hidden {\n width: 1px;\n height: 1px;\n margin: -1px;\n overflow: hidden;\n clip: rect(0,0,0,0);\n white-space: preserve;\n display: inline-block;\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/public/css/build/overrides.css b/public/css/build/overrides.css index 4ae4626b2f..07bf247401 100644 --- a/public/css/build/overrides.css +++ b/public/css/build/overrides.css @@ -673,6 +673,7 @@ th.css-license > .th-inner, th.css-location > .th-inner, th.css-users > .th-inner, th.css-currency > .th-inner, +th.css-child-locations > .th-inner, th.css-history > .th-inner { font-size: 0px; line-height: 0.75 !important; @@ -695,6 +696,7 @@ th.css-license > .th-inner::before, th.css-location > .th-inner::before, th.css-users > .th-inner::before, th.css-currency > .th-inner::before, +th.css-child-locations > .th-inner::before, th.css-history > .th-inner::before { display: inline-block; font-size: 20px; @@ -776,6 +778,12 @@ th.css-accessory-alt > .th-inner::before { font-size: 19px; margin-bottom: 0px; } +th.css-child-locations > .th-inner::before { + content: "\f64f"; + font-family: "Font Awesome 5 Free"; + font-size: 19px; + margin-bottom: 0px; +} th.css-currency > .th-inner::before { content: "\24"; font-family: "Font Awesome 5 Free"; diff --git a/public/css/build/overrides.css.map b/public/css/build/overrides.css.map index 34e2b76e5c..ae304fe92a 100644 --- a/public/css/build/overrides.css.map +++ b/public/css/build/overrides.css.map @@ -1 +1 @@ -{"version":3,"file":"css/build/overrides.css","mappings":"AAAA;EAkBE;AAhBF;AAkBA;EACE;EACA;EACA;EACA;EACA;AAhBF;AAiBE;;;EACE;AAbJ;AAgBA;EACE;AAdF;AAiBA;EACE;EACA;AAfF;AAkBA;EACE;AAhBF;AAoBA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AAlBF;AAqBA;EACE;EACA;EACA;EACA;EACA;AAnBF;AAsBA;EACE;AApBF;AAuBA;EACE;AArBF;AAwBA;EACE;EACA;AAtBF;AA0BA;EACE;AAxBF;AA2BA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAzBF;AA2BA;EACE;AAzBF;AA2BA;EACE;AAzBF;AA6BA;EACE;AA3BF;AA6BA;EACE;AA3BF;AA+BA;EACE;EACA;EACA;AA7BF;AAgCA;EACE;EACA;EACA;AA9BF;AAqDA;EACE;AAnDF;AAsDA;EACE;EACA;EACA;AApDF;AAuDA;EACE;EACA;AArDF;AAwDA;EACE;AAtDF;AAyDA;EACE;EACA;AAvDF;AA0DA;;EACE;EACA;AAvDF;AA0DA;EACE;EACA;AAxDF;AA0DA;EACE;AAxDF;AA2DA;EACE;EACA;EACA;AAzDF;AA4DA;EACE;AA1DF;AA6DA;EACE;AA3DF;AA8DA;EACE;AA5DF;AA8DA;EACE;AA5DF;AA+DA;EACE;AA7DF;AAgEA;;;;EACE;AA3DF;AA8DA;;;;;EACE;AAxDF;AA2DA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAzDF;AA2DA;EACE;EACA;EACA;EACA;EACA;EACA;AAzDF;AA2DA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAzDF;AA2DA;EACE;AAzDF;AA2DA;EACE;EACA;EACA;EACA;AAzDF;AA2DA;EACE;EACA;AAzDF;AA2DA;EACE;EACA;EACA;EACA;EACA;AAzDF;AA2DA;EACE;EACA;AAzDF;AA2DA;EACE;EACA;EACA;EACA;AAzDF;AA4DA;EACE;EACA;AA1DF;AA+DA;EAAY;AA5DZ;AACA,cAAc;AA8Dd;EAAY;EAAkC;AA1D9C;AA2DA;EAA8B;EAAY;AAvD1C;AAyDA;EAAiD;EAAgB;EAAiB;AApDlF;AAqDA;EAA8C;EAAa;AAjD3D;AAkDA;EAA+C;EAAoB;EAAa;EAAc;EAAgB;EAAqB;EAAW;EAAW;EAAmB;EAAoB;AAtChM;AAuCA;EAAqD;EAAc;EAAa;EAAc;EAAqB;EAAqB;EAAoB;EAAU;AA7BtK;AA8BA;EAA0C;EAAoB;EAAoB;EAAa;EAAkB;AAvBjH;AAwBA;EAA0D;EAAW;EAAkB;AAnBvF;AAoBA;EAAmE;AAjBnE;AAkBA;EAAiE;AAfjE;AAgBA;EAA6E;AAb7E;AAcA;EAA4E;AAX5E;AAYA;EAAwD;AATxD;AAUA;EAA8D;AAP9D;AAQA;EAAuD;EAAW;AAJlE;AAKA;EAAsD;AAFtD;AAGA;EAAuD;AAAvD;AACA,kBAAkB;AAElB;EACE;EACA;EACA;EACA;EACA;EAAA,gCAAgC;AAClC;AAGA;EAkBE;AAlBF;AAqBA;EACE;AAnBF;AAuBA;;EACE;AApBF;AAsBA;;EACE;AAnBF;AAsBA;EACE;EAIA;AAvBF;AA0BA;EACE;EACA;AAxBF;AA2BA;EACE;AAzBF;AA4BA;EACE;AA1BF;AA6BA;EAEE;IACE;IACA;EA5BF;EA+BA;IACE;IACA;IACA;EA7BF;EAgCA;IACE;EA9BF;EAiCA;;IACE;EA9BF;EAiCA;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EA/BF;EACA,+CAA+C;EAkC/C;IACE;EAhCF;EAmCA;IACE;EAjCF;EAoCA;IACE;EAlCF;EAqCA;IACE;EAnCF;EACA,qCAAqC;EAsCrC;;IACE;EAnCF;EACA,QAAQ;EAsCR;;IACE;IACA;IACA;EAnCF;EAsCA;IACE;EApCF;EAuCA;IACE;EArCF;EAwCA;IACE;IACA;IACA;EAtCF;EAyCA;IACE;IACA;EAvCF;EA0CA;;IACE;EAvCF;EAyCA;;;;;;;;;;;;IACE;EA5BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;AACF;AAkCA;EACE;AAhCF;AAmCA;EACI;EACA;AAjCJ;AAoCA;EACE;AAlCF;AAqCA;EACE;EACA;EACA;AAnCF;AAwCA;EACE;EACA;OAAA;EACA;EACA;AAtCF;AAyCA;;EACE;EACA;EACA;AAtCF;AAyCA;;;EACE;AArCF;AAwCA;;EACE;AArCF;AAwCA;EACE;AAtCF;AAyCA;EACE;AAvCF;AA0CA;EACE;EACA;EACA;AAxCF;AA2CA;EACE;EACA;AAzCF;AA4CA;EACE;EACA;EACA;AA1CF;AA8CA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AA5CF;AA8CA;;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA3CF;AA8CA;EACE;AA5CF;AA+CA;EACE;AA7CF;AAgDA;EACE;AA9CF;AAiDA;EACE;AA/CF;AAkDA;EACE;AAhDF;AAoDA;EACE;EACA;EACA;EACA;EACA;EAGA;AApDF;AAuDA;EACE;EACA;EACA;EACA;AArDF;AAwDA;EACE;EACA;EACA;EACA;AAtDF;AA0DA;EACE;EACA;EACA;EACA;EACA;EACA;AAxDF;AACA;;;;EAIE;AA2DF;EACE;EACA;EACA;EACA;AAzDF;AA4DA;EACE;EACA;EACA;EACA;EACA;AA1DF;AA6DA;EACE;EACA;EACA;AA3DF;AA8DA;EACE;EACA;EACA;AA5DF;AAgEA;EACE;AA9DF;AACA;;EAEE;AAmEF;EACE;IACE;IACA;EAjEF;EAoEA;IACE;EAlEF;EAqEA;IACE;EAnEF;EAsEA;IACE;EApEF;AACF;AAuEA;EACE;EACA;EACA;AArEF;AAwEA;EACE;EACA;AAtEF;AACA;;;;;;;;;;;EAWE;AA2EF;;;;;;;;;;;;;;EAeE;EACA;EACA;EACA;EACA;EACA;AA1EF;AA8EA;;;;;;;;;;;;;;;EAgBE;EACA;EACA;EACA;AA7EF;AACA;;;EAGE;AAgFF;EAEE;EAAkB;EAAoC;AA7ExD;AAgFA;EAEE;EAAkB;EAAoC;AA7ExD;AAgFA;EAEE;EAAkB;EAAoC;AA7ExD;AAgFA;EAEE;EAAkB;EAAoC;AA7ExD;AAgFA;EAEE;EAAkB;EAAoC;AA7ExD;AAgFA;EACE;EAAkB;EAAoC;AA5ExD;AA+EA;EACE;EAAkB;EAAoC;EAAiB;AA1EzE;AA6EA;EAEE;EAAkB;EAAoC;AA1ExD;AA6EA;EAEE;EAAkB;EAClB;EACA;AA3EF;AA8EA;EACE;EACA;EACA;EACA;AA5EF;AA8EA;EACE;EACA;EACA;EACA;AA5EF;AA8EA;EACE;EACA;EACA;EACA;AA5EF;AA8EA;EACE;EACA;EACA;EACA;AA5EF;AA+EA;EACE;EACA;EACA;EACA;AA7EF;AAgFA;EACE;EACA;EACA;EACA;AA9EF;AAkFA;EACE;EACA;EACA;EACA;AAhFF;AAoFA;;;EACE;AAhFF;AAmFA;;EACE;EACA;EACA;EACA;AAhFF;AAmFA;;EACE;AAhFF;AAmFA;EACE;AAjFF;AAoFA;EACE;IACE;EAlFF;EAoFA;IACE;EAlFF;AACF;AAoFA;EACE;IACE;EAlFF;EAoFA;IACE;EAlFF;EAoFA;IACE;EAlFF;AACF;AAqFA;EACE;IACE;EAnFF;AACF;AAqFA;EACE;IACE;EAnFF;EAqFA;IACE;IACA;EAnFF;EAqFA;IACE;IACA;EAnFF;EAqFA;IACE;IACA;EAnFF;AACF;AAqFA;EACE;IACE;EAnFF;AACF;AAsFA;EACE;IACE;EApFF;AACF;AAsFA;EACE;IACE;IACA;IACA;IACA;IACA;EApFF;AACF;AACA,oDAAoD;AAwFpD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAtFF;AAyFA;EACE;EACA;AAvFF;AACA,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AA2F9C;EAzFE,kCAAkC;EA2FlC;EACA;OAAA;EAzFA,+CAA+C;EA2F/C;EAzFA,+BAA+B;EA2F/B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAzFA,6BAA6B;AAC/B;AACA,yFAAyF;AA6FzF;EA3FE,2EAA2E;EAmG3E;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAlGA,+BAA+B;EAoG/B;AAlGF;AACA,wEAAwE;AAqGxE;EACE;AAnGF;AACA,wEAAwE;AAsGxE;;EACE;EACA;EACA;EACA;EACA;AAnGF;AACA,6EAA6E;AAsG7E;;EACE;EACA;EACA;EACA;AAnGF;AACA,+EAA+E;AAsG/E;;EACE;EACA;EACA;EACA;AAnGF;AACA,qCAAqC;AAwGrC;EACE;KAAA;UAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAtGF;AAyGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AAvGF;AA0GA;EACE;AAxGF;AACA;;;;EAIE;AA4GF;EACE;AA1GF;AA6GA;EACE;EACA;EACA;EACA;AA3GF;AA8GA;EACE;AA5GF;AA+GA;EACE;AA7GF;AAgHA;EACE;AA9GF;AAiHA;EACE;AA/GF;AACA,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AAC9C;;;EAGE;AAoHF;EACE;EACA;EACA;EACA;EACA;AAlHF;AAqHA;;EAEE;EACA;EACA;AAnHF;AAsHA;EACE;AApHF;AAuHA;EACE;AArHF;AAuHA;EACE;AArHF;AAwHA;EACE;EACA;EACA;AAtHF;AACA,kEAAkE;AAyHlE;EACE;AAvHF;AA0HA;EACE;AAxHF;AA4HA;EACE;EACA;AA1HF;AA6HA;EACE;EACA;AA3HF;AA8HA;EACE;EACA;EACA;EACA;EACA;EACA;AA5HF;AA+HA;;EACE;AA5HF;AA+HA;EACE;EAQA;EACA;EACA;AApIF;AAuIA;EACE;EACA;AArIF;AAwIA;EACE;AAtIF;AAyIA;EACE;EACA;AAvIF;AA2IA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAzIF;AA2IA;;;;;EAKE;AAzIF;AA4IA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AA1IF","sources":["webpack:///./resources/assets/less/overrides.less"],"sourcesContent":[".skin-red\n.skin-purple\n.skin-blue\n.skin-black\n.skin-orange\n.skin-yellow\n.skin-green\n.skin-red-dark\n.skin-purple-dark\n.skin-blue-dark\n.skin-black-dark\n.skin-orange-dark\n.skin-yellow-dark\n.skin-green-dark\n.skin-contrast\n.main-header\n\n.logo {\n background-color: inherit;\n}\n.main-header .logo {\n width: 100% !important;\n white-space: nowrap;\n text-align: left;\n display: block;\n clear: both;\n &a:link, a:hover, a:visited {\n color: #fff\n }\n}\n.huge {\n font-size: 40px;\n}\n\n.btn-file {\n position: relative;\n overflow: hidden;\n}\n\n.dropdown-menu>li>a {\n color: #354044;\n}\n\n\n#sort tr.cansort {\n border-radius: 2px;\n padding: 10px;\n background: #f4f4f4;\n margin-bottom: 3px;\n border-inline: 2px solid #e6e7e8;\n color: #444;\n cursor: move;\n}\n\n.user-image-inline {\n float: left;\n width: 25px;\n height: 25px;\n border-radius: 50%;\n margin-right: 10px;\n}\n\n.input-group .input-group-addon {\n background-color: #f4f4f4;\n}\n\na.accordion-header {\n color: #333;\n}\n\n.dynamic-form-row {\n padding: 10px;\n margin: 20px;\n}\n\n\n.handle {\n padding-left: 10px;\n}\n\n.btn-file input[type=file] {\n position: absolute;\n top: 0;\n right: 0;\n min-width: 100%;\n min-height: 100%;\n font-size: 100px;\n text-align: right;\n filter: alpha(opacity=0);\n opacity: 0;\n outline: none;\n background: white;\n cursor: inherit;\n display: block;\n}\n.main-footer {\n font-size: 13px;\n}\n.main-header {\n max-height: 150px;\n}\n\n\n.navbar-nav>.user-menu>.dropdown-menu {\n width: inherit;\n}\n.main-header .logo {\n padding: 0px 5px 0px 15px;\n}\n\n\n.sidebar-toggle {\n margin-left: -48px;\n z-index: 100;\n background-color: inherit;\n}\n\n.sidebar-toggle-mobile {\n z-index: 100;\n width: 50px;\n padding-top: 10px;\n}\n\n.skin-red\n.skin-purple\n.skin-blue\n.skin-black\n.skin-orange\n.skin-yellow\n.skin-green\n.skin-red-dark\n.skin-purple-dark\n.skin-blue-dark\n.skin-black-dark\n.skin-orange-dark\n.skin-yellow-dark\n.skin-green-dark\n.skin-contrast\n.main-header\n.navbar\n.dropdown-menu li a {\n //color: inherit;\n}\n.pull-text-right{\n text-align: right !important;\n}\n\n.main-header .sidebar-toggle:before {\n content: \"\\f0c9\";\n font-weight: 900;\n font-family: 'Font Awesome\\ 5 Free';\n}\n\n.direct-chat-contacts {\n padding: 10px;\n height: 150px;\n}\n\n.select2-container {\n width: 100%;\n}\n\n.error input {\n color: #a94442;\n border: 2px solid #a94442 !important;\n}\n\n.error label, .alert-msg {\n color: #a94442;\n display: block;\n}\n\n.input-group[class*=\"col-\"] {\n padding-right: 15px;\n padding-left: 15px;\n}\n.control-label.multiline {\n padding-top: 10px;\n}\n\n.btn-outline {\n color: inherit;\n background-color: transparent;\n transition: all .5s;\n}\n\n.btn-primary.btn-outline {\n color: #428bca;\n}\n\n.btn-success.btn-outline {\n color: #5cb85c;\n}\n\n.btn-info.btn-outline {\n color: #5bc0de;\n}\n.btn-warning{\n background-color:#f39c12 !important;\n}\n\n.btn-warning.btn-outline {\n color: #f0ad4e;\n}\n\n.btn-danger.btn-outline, a.link-danger:link, a.link-danger:visited, a.link-danger:hover {\n color: #dd4b39;\n}\n\n.btn-primary.btn-outline:hover, .btn-success.btn-outline:hover, .btn-info.btn-outline:hover, .btn-warning.btn-outline:hover, .btn-danger.btn-outline:hover {\n color: #fff;\n}\n\n.slideout-menu {\n position: fixed;\n top: 0;\n right: -250px;\n width: 250px;\n height: 100%;\n background: #333;\n z-index: 100;\n margin-top: 100px;\n color: white;\n padding: 10px;\n}\n.slideout-menu h3 {\n position: relative;\n padding: 5px 5px;\n color: #fff;\n font-size: 1.2em;\n font-weight: 400;\n border-bottom: 4px solid #222;\n}\n.slideout-menu .slideout-menu-toggle {\n position: absolute;\n top: 12px;\n right: 10px;\n display: inline-block;\n padding: 6px 9px 5px;\n font-family: Arial, sans-serif;\n font-weight: bold;\n line-height: 1;\n background: #222;\n color: #999;\n text-decoration: none;\n vertical-align: top;\n}\n.slideout-menu .slideout-menu-toggle:hover {\n color: #fff;\n}\n.slideout-menu ul {\n list-style: none;\n font-weight: 300;\n border-top: 1px solid #151515;\n border-bottom: 1px solid #454545;\n}\n.slideout-menu ul li {\n border-top: 1px solid #454545;\n border-bottom: 1px solid #151515;\n}\n.slideout-menu ul li a {\n position: relative;\n display: block;\n padding: 10px;\n color: #999;\n text-decoration: none;\n}\n.slideout-menu ul li a:hover {\n background: #000;\n color: #fff;\n}\n.slideout-menu ul li a i {\n position: absolute;\n top: 15px;\n right: 10px;\n opacity: .5;\n}\n\n.btn-box-tool-lg {\n font-size: 16px;\n color: orange;\n}\n\n\n\n.bs-wizard {margin-top: 20px;}\n\n/*Form Wizard*/\n.bs-wizard {border-bottom: solid 1px #e0e0e0; padding: 0 0 10px 0;}\n.bs-wizard > .bs-wizard-step {padding: 0; position: relative;}\n.bs-wizard > .bs-wizard-step + .bs-wizard-step {}\n.bs-wizard > .bs-wizard-step .bs-wizard-stepnum {color: #595959; font-size: 16px; margin-bottom: 5px;}\n.bs-wizard > .bs-wizard-step .bs-wizard-info {color: #999; font-size: 14px;}\n.bs-wizard > .bs-wizard-step > .bs-wizard-dot {position: absolute; width: 30px; height: 30px; display: block; background: #fbe8aa; top: 45px; left: 50%; margin-top: -15px; margin-left: -15px; border-radius: 50%;}\n.bs-wizard > .bs-wizard-step > .bs-wizard-dot:after {content: ' '; width: 14px; height: 14px; background: #fbbd19; border-radius: 50px; position: absolute; top: 8px; left: 8px; }\n.bs-wizard > .bs-wizard-step > .progress {position: relative; border-radius: 0px; height: 8px; box-shadow: none; margin: 20px 0;}\n.bs-wizard > .bs-wizard-step > .progress > .progress-bar {width:0px; box-shadow: none; background: #fbe8aa;}\n.bs-wizard > .bs-wizard-step.complete > .progress > .progress-bar {width:100%;}\n.bs-wizard > .bs-wizard-step.active > .progress > .progress-bar {width:50%;}\n.bs-wizard > .bs-wizard-step:first-child.active > .progress > .progress-bar {width:0%;}\n.bs-wizard > .bs-wizard-step:last-child.active > .progress > .progress-bar {width: 100%;}\n.bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot {background-color: #f5f5f5;}\n.bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot:after {opacity: 0;}\n.bs-wizard > .bs-wizard-step:first-child > .progress {left: 50%; width: 50%;}\n.bs-wizard > .bs-wizard-step:last-child > .progress {width: 50%;}\n.bs-wizard > .bs-wizard-step.disabled a.bs-wizard-dot{ pointer-events: none; }\n/*END Form Wizard*/\n\n.left-navblock {\n display: inline-block;\n float: left;\n text-align: left;\n color: white;\n padding: 0px;\n /* adjust based on your layout */\n\n}\n.skin-red\n.skin-purple\n.skin-blue\n.skin-black\n.skin-orange\n.skin-yellow\n.skin-green\n.skin-red-dark\n.skin-purple-dark\n.skin-blue-dark\n.skin-black-dark\n.skin-orange-dark\n.skin-yellow-dark\n.skin-green-dark\n.skin-contrast\n.main-header\n.navbar\n.dropdown-menu li a {\n color: #333;\n}\n\na.logo.no-hover a:hover {\n background-color: transparent;\n}\n\n\ninput:required, select:required {\n border-right: 5px solid orange;\n}\nselect:required + .select2-container .select2-selection, select:required + .select2-container .select2-selection .select2-selection--multiple {\n border-right: 5px solid orange !important;\n}\n\nbody {\n font-family: -apple-system, BlinkMacSystemFont,\n \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\",\n \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n font-size: 13px;\n}\n\n.sidebar-menu {\n font-size: 14px;\n white-space: normal;\n}\n\n.modal-warning .modal-help {\n color: #fff8af;\n}\n\n.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading {\n z-index: 0 !important;\n}\n\n@media print {\n\n @page {\n size: A4;\n margin: 0mm;\n }\n\n .tab-content > .tab-pane {\n display: block !important;\n opacity: 1 !important;\n visibility: visible !important;\n }\n\n .img-responsive {\n width: 200px;\n }\n\n html, body {\n width: 1024px;\n }\n\n body {\n margin: 0 auto;\n line-height: 1em;\n word-spacing:1px;\n letter-spacing:0.2px;\n font: 15px \"Times New Roman\", Times, serif;\n background:white;\n color:black;\n width: 100%;\n float: none;\n }\n\n /* avoid page-breaks inside a listingContainer*/\n .listingContainer {\n page-break-inside: avoid;\n }\n\n h1 {\n font: 28px \"Times New Roman\", Times, serif;\n }\n\n h2 {\n font: 24px \"Times New Roman\", Times, serif;\n }\n\n h3 {\n font: 20px \"Times New Roman\", Times, serif;\n }\n\n /* Improve colour contrast of links */\n a:link, a:visited {\n color: #781351\n }\n\n /* URL */\n a:link, a:visited {\n background: transparent;\n color:#333;\n text-decoration:none;\n }\n\n a[href]:after {\n content: \"\" !important;\n }\n\n a[href^=\"http://\"] {\n color:#000;\n }\n\n #header {\n height:75px;\n font-size: 24pt;\n color:black\n }\n\n div.row-new-striped {\n margin: 0px;\n padding: 0px;\n }\n\n .pagination-detail, .fixed-table-toolbar {\n visibility: hidden;\n }\n .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 .col-sm-pull-3 .col-sm-push-9 {\n float: left;\n }\n\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666666666666%;\n }\n .col-sm-10 {\n width: 83.33333333333334%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666666666666%;\n }\n .col-sm-7 {\n width: 58.333333333333336%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666666666667%;\n }\n .col-sm-4 {\n width: 33.33333333333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.666666666666664%;\n }\n .col-sm-1 {\n width: 8.333333333333332%;\n }\n\n}\n\n\n.select2-selection__choice__remove {\n color: white !important;\n}\n\n.select2-selection--multiple {\n border-color: #d2d6de !important;\n overflow-y: auto;\n}\n\n.select2-selection__choice {\n border-radius: 0px !important;\n}\n\n.select2-search select2-search--inline {\n height: 35px !important;\n float: left;\n margin: 0;\n}\n\n\n\n.select2-results__option {\n padding: 5px;\n user-select: none;\n -webkit-user-select: none;\n margin: 0px;\n}\n\nimg.navbar-brand-img, .navbar-brand>img {\n float: left;\n padding: 5px 5px 5px 0;\n max-height: 50px;\n}\n\n.input-daterange, .input-daterange input:first-child, .input-daterange input:last-child {\n border-radius: 0px !important;\n}\n\n.btn.bg-maroon, .btn.bg-purple{\n min-width:90px;\n}\n\n[hidden] {\n display: none !important;\n}\n\n#toolbar {\n margin-top: 10px;\n}\n\n#uploadPreview {\n border-color: grey;\n border-width: 1px;\n border-style: solid\n}\n\n.icon-med {\n font-size: 14px;\n color: #889195;\n}\n\n#login-logo {\n padding-top: 20px;\n padding-bottom: 10px;\n max-width: 200px\n}\n\n// accessibility skip link\na.skip-main {\n left:-999px;\n position:absolute;\n top:auto;\n width:1px;\n height:1px;\n overflow:hidden;\n z-index:-999;\n}\na.skip-main:focus, a.skip-main:active {\n color: #fff;\n background-color:#000;\n left: auto;\n top: auto;\n width: 30%;\n height: auto;\n overflow:auto;\n margin: 10px 35%;\n padding:5px;\n border-radius: 15px;\n border:4px solid yellow;\n text-align:center;\n font-size:1.2em;\n z-index:999;\n}\n\nh2 {\n font-size: 22px;\n}\n\nh2.task_menu {\n font-size: 14px;\n}\n\nh2 small {\n font-size: 85%;\n}\n\nh3 {\n font-size: 20px;\n}\n\nh4 {\n font-size: 16px;\n}\n\n\n.row-striped {\n vertical-align: top;\n line-height: 2.6;\n padding: 0px;\n margin-left: 20px;\n box-sizing: border-box;\n //border-left: 1px solid #dddddd;\n //border-right: 1px solid #dddddd;\n display: table;\n}\n\n.row-striped .row:nth-of-type(odd) div {\n background-color: #f9f9f9;\n border-top: 1px solid #dddddd;\n display: table-cell;\n word-wrap: break-word;\n}\n\n.row-striped .row:nth-of-type(even) div {\n background: #FFFFFF;\n border-top: 1px solid #dddddd;\n display: table-cell;\n word-wrap: break-word;\n}\n\n\n.row-new-striped {\n vertical-align: top;\n padding: 3px;\n display: table;\n width: 100%;\n word-wrap: break-word;\n table-layout:fixed;\n}\n\n/**\n* NEW STRIPING\n* This section is for the new row striping for nicer \n* display for non-table data as of v6\n**/\n.row-new-striped > .row:nth-of-type(even) {\n background: #FFFFFF;\n border-top: 1px solid #dddddd;\n line-height: 1.9;\n display: table-row;\n}\n\n.row-new-striped > .row:nth-of-type(odd) {\n background-color: #F8F8F8;\n border-top: 1px solid #dddddd;\n display: table-row;\n line-height: 1.9;\n padding: 2px;\n}\n\n.row-new-striped div {\n display: table-cell;\n border-top: 1px solid #dddddd;\n padding: 6px;\n}\n\n.row-new-striped div {\n display: table-cell;\n border-top: 1px solid #dddddd;\n padding: 6px;\n}\n\n\n.row-new-striped div[class^=\"col\"]:first-child {\n font-weight: bold;\n}\n\n\n\n/**\n* This just adds a little extra padding on mobile\n**/\n@media only screen and (max-width: 520px) {\n h1.pagetitle {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n\n .firstnav {\n padding-top: 120px !important;\n }\n\n .product {\n width: 400px;\n }\n\n .product img {\n min-width: 400px;\n }\n}\n\n.card-view-title {\n min-width: 40% !important;\n line-height: 3.0!important;\n padding-right: 20px;\n}\n\n.card-view {\n display: table-row;\n flex-direction: column;\n}\n\n// ---------------\n\n/**\n\n COLUMN SELECTOR ICONS\n -----------------------------\n This is kind of weird, but it is necessary to prevent the column-selector code from barfing, since\n any HTML used in the UserPresenter \"title\" attribute breaks the column selector HTML.\n\n Instead, we use CSS to add the icon into the table header, which leaves the column selector\n \"title\" text as-is and hides the icon.\n\n See https://github.com/grokability/snipe-it/issues/7989\n */\nth.css-accessory > .th-inner,\nth.css-accessory-alt > .th-inner,\nth.css-barcode > .th-inner,\nth.css-component > .th-inner,\nth.css-consumable > .th-inner,\nth.css-envelope > .th-inner,\nth.css-house-flag > .th-inner,\nth.css-house-laptop > .th-inner,\nth.css-house-user > .th-inner,\nth.css-license > .th-inner,\nth.css-location > .th-inner,\nth.css-users > .th-inner,\nth.css-currency > .th-inner,\nth.css-history > .th-inner\n{\n font-size: 0px;\n line-height: 0.75 !important;\n text-align: left;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n\nth.css-location > .th-inner::before,\nth.css-accessory > .th-inner::before,\nth.css-accessory-alt > .th-inner::before,\nth.css-barcode > .th-inner::before,\nth.css-component > .th-inner::before,\nth.css-consumable > .th-inner::before,\nth.css-envelope > .th-inner::before,\nth.css-house-flag > .th-inner::before,\nth.css-house-laptop > .th-inner::before,\nth.css-house-user > .th-inner::before,\nth.css-license > .th-inner::before,\nth.css-location > .th-inner::before,\nth.css-users > .th-inner::before,\nth.css-currency > .th-inner::before,\nth.css-history > .th-inner::before\n{\n display: inline-block;\n font-size: 20px;\n font-family: \"Font Awesome 5 Free\";\n font-weight: 900;\n}\n\n/**\nBEGIN ICON TABLE HEADERS\nSet the font-weight css property as 900 (For Solid), 400 (Regular or Brands), 300 (Light for pro icons).\n**/\nth.css-barcode > .th-inner::before\n{\n content: \"\\f02a\"; font-family: \"Font Awesome 5 Free\"; font-weight: 900;\n}\n\nth.css-license > .th-inner::before\n{\n content: \"\\f0c7\"; font-family: \"Font Awesome 5 Free\"; font-weight: 400;\n}\n\nth.css-consumable > .th-inner::before\n{\n content: \"\\f043\"; font-family: \"Font Awesome 5 Free\"; font-weight: 900;\n}\n\nth.css-envelope > .th-inner::before\n{\n content: \"\\f0e0\"; font-family: \"Font Awesome 5 Free\"; font-weight: 400;\n}\n\nth.css-accessory > .th-inner::before\n{\n content: \"\\f11c\"; font-family: \"Font Awesome 5 Free\"; font-weight: 400;\n}\n\nth.css-users > .th-inner::before {\n content: \"\\f0c0\"; font-family: \"Font Awesome 5 Free\"; font-size: 15px;\n}\n\nth.css-location > .th-inner::before {\n content: \"\\f3c5\"; font-family: \"Font Awesome 5 Free\"; font-size: 19px; margin-bottom: 0px;\n}\n\nth.css-component > .th-inner::before\n{\n content: \"\\f0a0\"; font-family: \"Font Awesome 5 Free\"; font-weight: 500;\n}\n\nth.css-padlock > .th-inner::before\n{\n content: \"\\f023\"; font-family: \"Font Awesome 5 Free\";\n font-weight: 800;\n padding-right: 3px;\n}\n\nth.css-house-user > .th-inner::before {\n content: \"\\e1b0\";\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\nth.css-house-flag > .th-inner::before {\n content: \"\\e50d\";\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\nth.css-house-laptop > .th-inner::before {\n content: \"\\e066\";\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\nth.css-accessory-alt > .th-inner::before {\n content: \"\\f11c\";\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\n\nth.css-currency > .th-inner::before {\n content: \"\\24\"; // change this to f51e for coins\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\n\nth.css-history > .th-inner::before {\n content: \"\\f1da\"; // change this to f51e for coins\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\n\n\n.small-box .inner {\n padding-left: 15px;\n padding-right: 15px;\n padding-top: 15px;\n color: #fff;\n}\n\n\n.small-box > a:link, .small-box > a:visited, .small-box > a:hover {\n color: #fff;\n}\n\n.select2-container--default .select2-selection--single, .select2-selection .select2-selection--single {\n border: 1px solid #d2d6de;\n border-radius: 0;\n padding: 6px 12px;\n height: 34px;\n}\n\n.form-group.has-error label, .form-group.has-error .help-block {\n color: #a94442;\n}\n\n.select2-container--default .select2-selection--multiple {\n border-radius: 0px;\n}\n\n@media screen and (max-width: 511px){\n .tab-content .tab-pane .alert-block {\n margin-top: 120px\n }\n .sidebar-menu{\n margin-top:160px;\n }\n}\n@media screen and (max-width: 912px) and (min-width: 512px){\n .sidebar-menu {\n margin-top:100px\n }\n .navbar-custom-menu > .navbar-nav > li.dropdown.user.user-menu {\n float:right;\n }\n .navbar-custom-menu > .navbar-nav > li > .dropdown-menu {\n margin-right:-39px;\n }\n}\n\n@media screen and (max-width: 1268px) and (min-width: 912px){\n .sidebar-menu {\n margin-top:50px\n }\n}\n@media screen and (max-width: 992px){\n .info-stack-container {\n flex-direction: column;\n }\n .col-md-3.col-xs-12.col-sm-push-9.info-stack{\n left:auto;\n order:1;\n }\n .col-md-9.col-xs-12.col-sm-pull-3.info-stack{\n right:auto;\n order:2;\n }\n .info-stack-container > .col-md-9.col-xs-12.col-sm-pull-3.info-stack > .row-new-striped > .row > .col-sm-2{\n width:auto;\n float:none;\n }\n}\n@media screen and (max-width: 992px){\n .row-new-striped div{\n width:100%;\n }\n}\n\n@media screen and (max-width: 1318px) and (min-width: 1200px){\n .admin.box{\n height:170px;\n }\n}\n@media screen and (max-width: 1494px) and (min-width: 1200px){\n .dashboard.small-box{\n white-space: nowrap;\n text-overflow: ellipsis;\n max-width: 188px;\n display: block;\n overflow: hidden;\n }\n}\n\n/** Form-stuff overrides for checkboxes and stuff **/\n\nlabel.form-control {\n display: grid;\n grid-template-columns: 1.8em auto;\n gap: 0.5em;\n border: 0px;\n padding-left: 0px;\n background-color: inherit;\n color: inherit;\n font-size: inherit;\n font-weight: inherit;\n}\n\nlabel.form-control--disabled {\n color: #959495;\n cursor: not-allowed;\n}\n\n\n/** --------------------------------------- **/\n/** Start checkbox styles to replace iCheck **/\n/** --------------------------------------- **/\ninput[type=\"checkbox\"] {\n /* Add if not using autoprefixer */\n -webkit-appearance: none;\n appearance: none;\n /* For iOS < 15 to remove gradient background */\n background-color: #fff;\n /* Not removed via appearance */\n margin: 0;\n font: inherit;\n color: #959495;\n width: 1.8em;\n height: 1.8em;\n border: 0.05em solid;\n border-radius: 0em;\n transform: translateY(-0.075em);\n display: grid;\n place-content: center;\n /*Windows High Contrast Mode*/\n}\n\n/** This sets the display of a checkbox, and what the \"fill\" checkmark should look like */\n\ninput[type=\"checkbox\"]::before {\n\n /** If you want to use the non-checkbox, filled square, use this instead **/\n content: \"\";\n width: 1em;\n height: 1em;\n transform: scale(0);\n transition: 120ms transform ease-in-out;\n box-shadow: inset 1em 1em rgb(211, 211, 211);\n\n content: \"\";\n width: 1em;\n height: 1em;\n clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);\n transform: scale(0);\n transform-origin: bottom left;\n transition: 120ms transform ease-in-out;\n box-shadow: inset 1em 1em #428bca;\n /* Windows High Contrast Mode */\n background-color: CanvasText;\n}\n\n/** This sets the size of the scale up for the shape we defined above **/\ninput[type=\"checkbox\"]:checked::before {\n transform: scale(1);\n}\n\n/** This sets the scale and color of the DISABLED but CHECKED checkbox */\ninput[type=checkbox]:disabled::before, input[type=radio]:disabled::before {\n content: \"\";\n width: 1em;\n height: 1em;\n transform: scale(1);\n box-shadow: inset 1em 1em rgb(211, 211, 211);\n}\n\n/* This sets the scale and style of a DISABLED checkbox that is NOT checked */\ninput[type=checkbox]:disabled:not(:checked)::before, input[type=radio]:disabled:not(:checked)::before {\n content: \"\";\n transform: scale(0);\n cursor: not-allowed;\n pointer-events:none;\n}\n\n/** this is the color of the checkbox and content on a disabled, checked box **/\ninput[type=checkbox]:disabled, input[type=radio]:disabled {\n --form-control-color: rgb(211, 211, 211);\n color: #959495;\n cursor: not-allowed;\n pointer-events:none;\n}\n\n\n/** Radio styles to replace iCheck **/\n\ninput[type=\"radio\"] {\n appearance: none;\n background-color: #fff;\n margin: 0;\n font: inherit;\n color: #959495;\n width: 1.8em;\n height: 1.8em;\n border: 0.05em solid;\n border-radius: 50%;\n transform: translateY(-0.075em);\n display: grid;\n place-content: center;\n}\n\ninput[type=\"radio\"]::before {\n content: \"\";\n width: 1em;\n height: 1em;\n border-radius: 50%;\n transform: scale(0);\n transition: 120ms transform ease-in-out;\n box-shadow: inset 1em 1em #428bca;\n}\n\ninput[type=\"radio\"]:checked::before {\n transform: scale(1);\n}\n\n\n/**\n* This addresses the column selector in bootstrap-table. Without these two lines, the\n* checkbox and the with the label text that BS tables generates will\n* end up on two different lines and it looks assy.\n */\n.dropdown-item-marker input[type=checkbox] {\n font-size: 10px;\n}\n\n.bootstrap-table .fixed-table-toolbar li.dropdown-item-marker label {\n font-weight: normal;\n display: grid;\n grid-template-columns: .1em auto;\n gap: 1.5em;\n}\n\n.container.row-striped .col-md-6 {\n overflow-wrap:anywhere;\n}\n\n.nav-tabs-custom > .nav-tabs > li {\n z-index: 1;\n}\n\n.select2-container .select2-search--inline .select2-search__field{\n padding-left:15px;\n}\n\n.nav-tabs-custom > .nav-tabs > li.active {\n font-weight: bold;\n}\n\n/** --------------------------------------- **/\n/** End checkbox styles to replace iCheck **/\n/** --------------------------------------- **/\n\n/**\n/** Separator styles with text in the middle. Currently only used by the login page but\n/** could be used elsewhere.\n */\n\n.separator {\n display: flex;\n align-items: center;\n text-align: center;\n padding-top: 20px;\n color: #959495;\n}\n\n.separator::before,\n.separator::after {\n content: '';\n flex: 1;\n border-bottom: 1px solid #959495;\n}\n\n.separator:not(:empty)::before {\n margin-right: .25em;\n}\n\n.separator:not(:empty)::after {\n margin-left: .25em;\n}\n.datepicker.dropdown-menu {\n z-index: 1030 !important;\n}\n\n.sidebar-menu > li .badge {\n margin-top: 0px;\n filter: brightness(70%);\n font-size: 70%;\n}\n\n/** this is needed to override ekko-lightboxes card view styles **/\n.bootstrap-table .fixed-table-container .table tbody tr .card-view {\n display: table-row !important;\n}\n\n.form-control-static {\n padding-top: 0px;\n}\n\n\ntd.text-right.text-padding-number-cell {\n padding-right: 30px !important;\n white-space: nowrap;\n}\n\nth.text-right.text-padding-number-footer-cell {\n padding-right: 20px !important;\n white-space: nowrap;\n}\n\ncode.single-line {\n white-space: pre-wrap;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n overflow: hidden;\n max-width: 400px;\n}\n\np.monospace, span.monospace {\n font-family: monospace, monospace;\n}\n\nlegend.highlight {\n background: repeating-linear-gradient(\n 45deg,\n #222d32,\n #222d32 10px,\n #444 10px,\n #444 11px\n );\n\n color: #fff;\n font-size: 18px;\n padding: 6px 6px 6px 10px;\n}\n\nlegend.highlight a {\n color: #fff;\n cursor: pointer;\n}\n\nfieldset.bottom-padded {\n padding-bottom: 20px;\n}\n\ncaption.tableCaption {\n font-size: 18px;\n padding-left: 8px;\n}\n\n// via https://github.com/grokability/snipe-it/issues/11754\n.sidebar-toggle.btn {\n border-radius: 3px;\n box-shadow: none;\n border-top: 0px solid transparent;\n border-bottom: 0px solid transparent;\n padding-left: 15px;\n padding-right: 15px;\n padding-top: 12px;\n padding-bottom: 12px;\n margin-left: -47px;\n margin-top: 2px;\n}\n.popover.help-popover,\n.popover.help-popover .popover-content,\n.popover.help-popover .popover-body,\n.popover.help-popover .popover-title,\n.popover.help-popover .popover-header {\n color: #000;\n}\n\n.visually-hidden {\n width: 1px;\n height: 1px;\n margin: -1px;\n overflow: hidden;\n clip: rect(0,0,0,0);\n white-space: preserve;\n display: inline-block;\n}"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"css/build/overrides.css","mappings":"AAAA;EAkBE;AAhBF;AAkBA;EACE;EACA;EACA;EACA;EACA;AAhBF;AAiBE;;;EACE;AAbJ;AAgBA;EACE;AAdF;AAiBA;EACE;EACA;AAfF;AAkBA;EACE;AAhBF;AAoBA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AAlBF;AAqBA;EACE;EACA;EACA;EACA;EACA;AAnBF;AAsBA;EACE;AApBF;AAuBA;EACE;AArBF;AAwBA;EACE;EACA;AAtBF;AA0BA;EACE;AAxBF;AA2BA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAzBF;AA2BA;EACE;AAzBF;AA2BA;EACE;AAzBF;AA6BA;EACE;AA3BF;AA6BA;EACE;AA3BF;AA+BA;EACE;EACA;EACA;AA7BF;AAgCA;EACE;EACA;EACA;AA9BF;AAqDA;EACE;AAnDF;AAsDA;EACE;EACA;EACA;AApDF;AAuDA;EACE;EACA;AArDF;AAwDA;EACE;AAtDF;AAyDA;EACE;EACA;AAvDF;AA0DA;;EACE;EACA;AAvDF;AA0DA;EACE;EACA;AAxDF;AA0DA;EACE;AAxDF;AA2DA;EACE;EACA;EACA;AAzDF;AA4DA;EACE;AA1DF;AA6DA;EACE;AA3DF;AA8DA;EACE;AA5DF;AA8DA;EACE;AA5DF;AA+DA;EACE;AA7DF;AAgEA;;;;EACE;AA3DF;AA8DA;;;;;EACE;AAxDF;AA2DA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAzDF;AA2DA;EACE;EACA;EACA;EACA;EACA;EACA;AAzDF;AA2DA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAzDF;AA2DA;EACE;AAzDF;AA2DA;EACE;EACA;EACA;EACA;AAzDF;AA2DA;EACE;EACA;AAzDF;AA2DA;EACE;EACA;EACA;EACA;EACA;AAzDF;AA2DA;EACE;EACA;AAzDF;AA2DA;EACE;EACA;EACA;EACA;AAzDF;AA4DA;EACE;EACA;AA1DF;AA+DA;EAAY;AA5DZ;AACA,cAAc;AA8Dd;EAAY;EAAkC;AA1D9C;AA2DA;EAA8B;EAAY;AAvD1C;AAyDA;EAAiD;EAAgB;EAAiB;AApDlF;AAqDA;EAA8C;EAAa;AAjD3D;AAkDA;EAA+C;EAAoB;EAAa;EAAc;EAAgB;EAAqB;EAAW;EAAW;EAAmB;EAAoB;AAtChM;AAuCA;EAAqD;EAAc;EAAa;EAAc;EAAqB;EAAqB;EAAoB;EAAU;AA7BtK;AA8BA;EAA0C;EAAoB;EAAoB;EAAa;EAAkB;AAvBjH;AAwBA;EAA0D;EAAW;EAAkB;AAnBvF;AAoBA;EAAmE;AAjBnE;AAkBA;EAAiE;AAfjE;AAgBA;EAA6E;AAb7E;AAcA;EAA4E;AAX5E;AAYA;EAAwD;AATxD;AAUA;EAA8D;AAP9D;AAQA;EAAuD;EAAW;AAJlE;AAKA;EAAsD;AAFtD;AAGA;EAAuD;AAAvD;AACA,kBAAkB;AAElB;EACE;EACA;EACA;EACA;EACA;EAAA,gCAAgC;AAClC;AAGA;EAkBE;AAlBF;AAqBA;EACE;AAnBF;AAuBA;;EACE;AApBF;AAsBA;;EACE;AAnBF;AAsBA;EACE;EAIA;AAvBF;AA0BA;EACE;EACA;AAxBF;AA2BA;EACE;AAzBF;AA4BA;EACE;AA1BF;AA6BA;EAEE;IACE;IACA;EA5BF;EA+BA;IACE;IACA;IACA;EA7BF;EAgCA;IACE;EA9BF;EAiCA;;IACE;EA9BF;EAiCA;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EA/BF;EACA,+CAA+C;EAkC/C;IACE;EAhCF;EAmCA;IACE;EAjCF;EAoCA;IACE;EAlCF;EAqCA;IACE;EAnCF;EACA,qCAAqC;EAsCrC;;IACE;EAnCF;EACA,QAAQ;EAsCR;;IACE;IACA;IACA;EAnCF;EAsCA;IACE;EApCF;EAuCA;IACE;EArCF;EAwCA;IACE;IACA;IACA;EAtCF;EAyCA;IACE;IACA;EAvCF;EA0CA;;IACE;EAvCF;EAyCA;;;;;;;;;;;;IACE;EA5BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;EA+BA;IACE;EA7BF;AACF;AAkCA;EACE;AAhCF;AAmCA;EACI;EACA;AAjCJ;AAoCA;EACE;AAlCF;AAqCA;EACE;EACA;EACA;AAnCF;AAwCA;EACE;EACA;OAAA;EACA;EACA;AAtCF;AAyCA;;EACE;EACA;EACA;AAtCF;AAyCA;;;EACE;AArCF;AAwCA;;EACE;AArCF;AAwCA;EACE;AAtCF;AAyCA;EACE;AAvCF;AA0CA;EACE;EACA;EACA;AAxCF;AA2CA;EACE;EACA;AAzCF;AA4CA;EACE;EACA;EACA;AA1CF;AA8CA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AA5CF;AA8CA;;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA3CF;AA8CA;EACE;AA5CF;AA+CA;EACE;AA7CF;AAgDA;EACE;AA9CF;AAiDA;EACE;AA/CF;AAkDA;EACE;AAhDF;AAoDA;EACE;EACA;EACA;EACA;EACA;EAGA;AApDF;AAuDA;EACE;EACA;EACA;EACA;AArDF;AAwDA;EACE;EACA;EACA;EACA;AAtDF;AA0DA;EACE;EACA;EACA;EACA;EACA;EACA;AAxDF;AACA;;;;EAIE;AA2DF;EACE;EACA;EACA;EACA;AAzDF;AA4DA;EACE;EACA;EACA;EACA;EACA;AA1DF;AA6DA;EACE;EACA;EACA;AA3DF;AA8DA;EACE;EACA;EACA;AA5DF;AAgEA;EACE;AA9DF;AACA;;EAEE;AAmEF;EACE;IACE;IACA;EAjEF;EAoEA;IACE;EAlEF;EAqEA;IACE;EAnEF;EAsEA;IACE;EApEF;AACF;AAuEA;EACE;EACA;EACA;AArEF;AAwEA;EACE;EACA;AAtEF;AACA;;;;;;;;;;;EAWE;AA2EF;;;;;;;;;;;;;;;EAgBE;EACA;EACA;EACA;EACA;EACA;AA1EF;AA8EA;;;;;;;;;;;;;;;;EAiBE;EACA;EACA;EACA;AA7EF;AACA;;;EAGE;AAgFF;EAEE;EAAkB;EAAoC;AA7ExD;AAgFA;EAEE;EAAkB;EAAoC;AA7ExD;AAgFA;EAEE;EAAkB;EAAoC;AA7ExD;AAgFA;EAEE;EAAkB;EAAoC;AA7ExD;AAgFA;EAEE;EAAkB;EAAoC;AA7ExD;AAgFA;EACE;EAAkB;EAAoC;AA5ExD;AA+EA;EACE;EAAkB;EAAoC;EAAiB;AA1EzE;AA6EA;EAEE;EAAkB;EAAoC;AA1ExD;AA6EA;EAEE;EAAkB;EAClB;EACA;AA3EF;AA8EA;EACE;EACA;EACA;EACA;AA5EF;AA8EA;EACE;EACA;EACA;EACA;AA5EF;AA8EA;EACE;EACA;EACA;EACA;AA5EF;AA8EA;EACE;EACA;EACA;EACA;AA5EF;AA+EA;EACE;EACA;EACA;EACA;AA7EF;AAgFA;EACE;EACA;EACA;EACA;AA9EF;AAiFA;EACE;EACA;EACA;EACA;AA/EF;AAmFA;EACE;EACA;EACA;EACA;AAjFF;AAqFA;;;EACE;AAjFF;AAoFA;;EACE;EACA;EACA;EACA;AAjFF;AAoFA;;EACE;AAjFF;AAoFA;EACE;AAlFF;AAqFA;EACE;IACE;EAnFF;EAqFA;IACE;EAnFF;AACF;AAqFA;EACE;IACE;EAnFF;EAqFA;IACE;EAnFF;EAqFA;IACE;EAnFF;AACF;AAsFA;EACE;IACE;EApFF;AACF;AAsFA;EACE;IACE;EApFF;EAsFA;IACE;IACA;EApFF;EAsFA;IACE;IACA;EApFF;EAsFA;IACE;IACA;EApFF;AACF;AAsFA;EACE;IACE;EApFF;AACF;AAuFA;EACE;IACE;EArFF;AACF;AAuFA;EACE;IACE;IACA;IACA;IACA;IACA;EArFF;AACF;AACA,oDAAoD;AAyFpD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAvFF;AA0FA;EACE;EACA;AAxFF;AACA,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AA4F9C;EA1FE,kCAAkC;EA4FlC;EACA;OAAA;EA1FA,+CAA+C;EA4F/C;EA1FA,+BAA+B;EA4F/B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EA1FA,6BAA6B;AAC/B;AACA,yFAAyF;AA8FzF;EA5FE,2EAA2E;EAoG3E;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAnGA,+BAA+B;EAqG/B;AAnGF;AACA,wEAAwE;AAsGxE;EACE;AApGF;AACA,wEAAwE;AAuGxE;;EACE;EACA;EACA;EACA;EACA;AApGF;AACA,6EAA6E;AAuG7E;;EACE;EACA;EACA;EACA;AApGF;AACA,+EAA+E;AAuG/E;;EACE;EACA;EACA;EACA;AApGF;AACA,qCAAqC;AAyGrC;EACE;KAAA;UAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAvGF;AA0GA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AAxGF;AA2GA;EACE;AAzGF;AACA;;;;EAIE;AA6GF;EACE;AA3GF;AA8GA;EACE;EACA;EACA;EACA;AA5GF;AA+GA;EACE;AA7GF;AAgHA;EACE;AA9GF;AAiHA;EACE;AA/GF;AAkHA;EACE;AAhHF;AACA,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AAC9C;;;EAGE;AAqHF;EACE;EACA;EACA;EACA;EACA;AAnHF;AAsHA;;EAEE;EACA;EACA;AApHF;AAuHA;EACE;AArHF;AAwHA;EACE;AAtHF;AAwHA;EACE;AAtHF;AAyHA;EACE;EACA;EACA;AAvHF;AACA,kEAAkE;AA0HlE;EACE;AAxHF;AA2HA;EACE;AAzHF;AA6HA;EACE;EACA;AA3HF;AA8HA;EACE;EACA;AA5HF;AA+HA;EACE;EACA;EACA;EACA;EACA;EACA;AA7HF;AAgIA;;EACE;AA7HF;AAgIA;EACE;EAQA;EACA;EACA;AArIF;AAwIA;EACE;EACA;AAtIF;AAyIA;EACE;AAvIF;AA0IA;EACE;EACA;AAxIF;AA4IA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA1IF;AA4IA;;;;;EAKE;AA1IF;AA6IA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AA3IF","sources":["webpack:///./resources/assets/less/overrides.less"],"sourcesContent":[".skin-red\n.skin-purple\n.skin-blue\n.skin-black\n.skin-orange\n.skin-yellow\n.skin-green\n.skin-red-dark\n.skin-purple-dark\n.skin-blue-dark\n.skin-black-dark\n.skin-orange-dark\n.skin-yellow-dark\n.skin-green-dark\n.skin-contrast\n.main-header\n\n.logo {\n background-color: inherit;\n}\n.main-header .logo {\n width: 100% !important;\n white-space: nowrap;\n text-align: left;\n display: block;\n clear: both;\n &a:link, a:hover, a:visited {\n color: #fff\n }\n}\n.huge {\n font-size: 40px;\n}\n\n.btn-file {\n position: relative;\n overflow: hidden;\n}\n\n.dropdown-menu>li>a {\n color: #354044;\n}\n\n\n#sort tr.cansort {\n border-radius: 2px;\n padding: 10px;\n background: #f4f4f4;\n margin-bottom: 3px;\n border-inline: 2px solid #e6e7e8;\n color: #444;\n cursor: move;\n}\n\n.user-image-inline {\n float: left;\n width: 25px;\n height: 25px;\n border-radius: 50%;\n margin-right: 10px;\n}\n\n.input-group .input-group-addon {\n background-color: #f4f4f4;\n}\n\na.accordion-header {\n color: #333;\n}\n\n.dynamic-form-row {\n padding: 10px;\n margin: 20px;\n}\n\n\n.handle {\n padding-left: 10px;\n}\n\n.btn-file input[type=file] {\n position: absolute;\n top: 0;\n right: 0;\n min-width: 100%;\n min-height: 100%;\n font-size: 100px;\n text-align: right;\n filter: alpha(opacity=0);\n opacity: 0;\n outline: none;\n background: white;\n cursor: inherit;\n display: block;\n}\n.main-footer {\n font-size: 13px;\n}\n.main-header {\n max-height: 150px;\n}\n\n\n.navbar-nav>.user-menu>.dropdown-menu {\n width: inherit;\n}\n.main-header .logo {\n padding: 0px 5px 0px 15px;\n}\n\n\n.sidebar-toggle {\n margin-left: -48px;\n z-index: 100;\n background-color: inherit;\n}\n\n.sidebar-toggle-mobile {\n z-index: 100;\n width: 50px;\n padding-top: 10px;\n}\n\n.skin-red\n.skin-purple\n.skin-blue\n.skin-black\n.skin-orange\n.skin-yellow\n.skin-green\n.skin-red-dark\n.skin-purple-dark\n.skin-blue-dark\n.skin-black-dark\n.skin-orange-dark\n.skin-yellow-dark\n.skin-green-dark\n.skin-contrast\n.main-header\n.navbar\n.dropdown-menu li a {\n //color: inherit;\n}\n.pull-text-right{\n text-align: right !important;\n}\n\n.main-header .sidebar-toggle:before {\n content: \"\\f0c9\";\n font-weight: 900;\n font-family: 'Font Awesome\\ 5 Free';\n}\n\n.direct-chat-contacts {\n padding: 10px;\n height: 150px;\n}\n\n.select2-container {\n width: 100%;\n}\n\n.error input {\n color: #a94442;\n border: 2px solid #a94442 !important;\n}\n\n.error label, .alert-msg {\n color: #a94442;\n display: block;\n}\n\n.input-group[class*=\"col-\"] {\n padding-right: 15px;\n padding-left: 15px;\n}\n.control-label.multiline {\n padding-top: 10px;\n}\n\n.btn-outline {\n color: inherit;\n background-color: transparent;\n transition: all .5s;\n}\n\n.btn-primary.btn-outline {\n color: #428bca;\n}\n\n.btn-success.btn-outline {\n color: #5cb85c;\n}\n\n.btn-info.btn-outline {\n color: #5bc0de;\n}\n.btn-warning{\n background-color:#f39c12 !important;\n}\n\n.btn-warning.btn-outline {\n color: #f0ad4e;\n}\n\n.btn-danger.btn-outline, a.link-danger:link, a.link-danger:visited, a.link-danger:hover {\n color: #dd4b39;\n}\n\n.btn-primary.btn-outline:hover, .btn-success.btn-outline:hover, .btn-info.btn-outline:hover, .btn-warning.btn-outline:hover, .btn-danger.btn-outline:hover {\n color: #fff;\n}\n\n.slideout-menu {\n position: fixed;\n top: 0;\n right: -250px;\n width: 250px;\n height: 100%;\n background: #333;\n z-index: 100;\n margin-top: 100px;\n color: white;\n padding: 10px;\n}\n.slideout-menu h3 {\n position: relative;\n padding: 5px 5px;\n color: #fff;\n font-size: 1.2em;\n font-weight: 400;\n border-bottom: 4px solid #222;\n}\n.slideout-menu .slideout-menu-toggle {\n position: absolute;\n top: 12px;\n right: 10px;\n display: inline-block;\n padding: 6px 9px 5px;\n font-family: Arial, sans-serif;\n font-weight: bold;\n line-height: 1;\n background: #222;\n color: #999;\n text-decoration: none;\n vertical-align: top;\n}\n.slideout-menu .slideout-menu-toggle:hover {\n color: #fff;\n}\n.slideout-menu ul {\n list-style: none;\n font-weight: 300;\n border-top: 1px solid #151515;\n border-bottom: 1px solid #454545;\n}\n.slideout-menu ul li {\n border-top: 1px solid #454545;\n border-bottom: 1px solid #151515;\n}\n.slideout-menu ul li a {\n position: relative;\n display: block;\n padding: 10px;\n color: #999;\n text-decoration: none;\n}\n.slideout-menu ul li a:hover {\n background: #000;\n color: #fff;\n}\n.slideout-menu ul li a i {\n position: absolute;\n top: 15px;\n right: 10px;\n opacity: .5;\n}\n\n.btn-box-tool-lg {\n font-size: 16px;\n color: orange;\n}\n\n\n\n.bs-wizard {margin-top: 20px;}\n\n/*Form Wizard*/\n.bs-wizard {border-bottom: solid 1px #e0e0e0; padding: 0 0 10px 0;}\n.bs-wizard > .bs-wizard-step {padding: 0; position: relative;}\n.bs-wizard > .bs-wizard-step + .bs-wizard-step {}\n.bs-wizard > .bs-wizard-step .bs-wizard-stepnum {color: #595959; font-size: 16px; margin-bottom: 5px;}\n.bs-wizard > .bs-wizard-step .bs-wizard-info {color: #999; font-size: 14px;}\n.bs-wizard > .bs-wizard-step > .bs-wizard-dot {position: absolute; width: 30px; height: 30px; display: block; background: #fbe8aa; top: 45px; left: 50%; margin-top: -15px; margin-left: -15px; border-radius: 50%;}\n.bs-wizard > .bs-wizard-step > .bs-wizard-dot:after {content: ' '; width: 14px; height: 14px; background: #fbbd19; border-radius: 50px; position: absolute; top: 8px; left: 8px; }\n.bs-wizard > .bs-wizard-step > .progress {position: relative; border-radius: 0px; height: 8px; box-shadow: none; margin: 20px 0;}\n.bs-wizard > .bs-wizard-step > .progress > .progress-bar {width:0px; box-shadow: none; background: #fbe8aa;}\n.bs-wizard > .bs-wizard-step.complete > .progress > .progress-bar {width:100%;}\n.bs-wizard > .bs-wizard-step.active > .progress > .progress-bar {width:50%;}\n.bs-wizard > .bs-wizard-step:first-child.active > .progress > .progress-bar {width:0%;}\n.bs-wizard > .bs-wizard-step:last-child.active > .progress > .progress-bar {width: 100%;}\n.bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot {background-color: #f5f5f5;}\n.bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot:after {opacity: 0;}\n.bs-wizard > .bs-wizard-step:first-child > .progress {left: 50%; width: 50%;}\n.bs-wizard > .bs-wizard-step:last-child > .progress {width: 50%;}\n.bs-wizard > .bs-wizard-step.disabled a.bs-wizard-dot{ pointer-events: none; }\n/*END Form Wizard*/\n\n.left-navblock {\n display: inline-block;\n float: left;\n text-align: left;\n color: white;\n padding: 0px;\n /* adjust based on your layout */\n\n}\n.skin-red\n.skin-purple\n.skin-blue\n.skin-black\n.skin-orange\n.skin-yellow\n.skin-green\n.skin-red-dark\n.skin-purple-dark\n.skin-blue-dark\n.skin-black-dark\n.skin-orange-dark\n.skin-yellow-dark\n.skin-green-dark\n.skin-contrast\n.main-header\n.navbar\n.dropdown-menu li a {\n color: #333;\n}\n\na.logo.no-hover a:hover {\n background-color: transparent;\n}\n\n\ninput:required, select:required {\n border-right: 5px solid orange;\n}\nselect:required + .select2-container .select2-selection, select:required + .select2-container .select2-selection .select2-selection--multiple {\n border-right: 5px solid orange !important;\n}\n\nbody {\n font-family: -apple-system, BlinkMacSystemFont,\n \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\",\n \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n font-size: 13px;\n}\n\n.sidebar-menu {\n font-size: 14px;\n white-space: normal;\n}\n\n.modal-warning .modal-help {\n color: #fff8af;\n}\n\n.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading {\n z-index: 0 !important;\n}\n\n@media print {\n\n @page {\n size: A4;\n margin: 0mm;\n }\n\n .tab-content > .tab-pane {\n display: block !important;\n opacity: 1 !important;\n visibility: visible !important;\n }\n\n .img-responsive {\n width: 200px;\n }\n\n html, body {\n width: 1024px;\n }\n\n body {\n margin: 0 auto;\n line-height: 1em;\n word-spacing:1px;\n letter-spacing:0.2px;\n font: 15px \"Times New Roman\", Times, serif;\n background:white;\n color:black;\n width: 100%;\n float: none;\n }\n\n /* avoid page-breaks inside a listingContainer*/\n .listingContainer {\n page-break-inside: avoid;\n }\n\n h1 {\n font: 28px \"Times New Roman\", Times, serif;\n }\n\n h2 {\n font: 24px \"Times New Roman\", Times, serif;\n }\n\n h3 {\n font: 20px \"Times New Roman\", Times, serif;\n }\n\n /* Improve colour contrast of links */\n a:link, a:visited {\n color: #781351\n }\n\n /* URL */\n a:link, a:visited {\n background: transparent;\n color:#333;\n text-decoration:none;\n }\n\n a[href]:after {\n content: \"\" !important;\n }\n\n a[href^=\"http://\"] {\n color:#000;\n }\n\n #header {\n height:75px;\n font-size: 24pt;\n color:black\n }\n\n div.row-new-striped {\n margin: 0px;\n padding: 0px;\n }\n\n .pagination-detail, .fixed-table-toolbar {\n visibility: hidden;\n }\n .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 .col-sm-pull-3 .col-sm-push-9 {\n float: left;\n }\n\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666666666666%;\n }\n .col-sm-10 {\n width: 83.33333333333334%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666666666666%;\n }\n .col-sm-7 {\n width: 58.333333333333336%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666666666667%;\n }\n .col-sm-4 {\n width: 33.33333333333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.666666666666664%;\n }\n .col-sm-1 {\n width: 8.333333333333332%;\n }\n\n}\n\n\n.select2-selection__choice__remove {\n color: white !important;\n}\n\n.select2-selection--multiple {\n border-color: #d2d6de !important;\n overflow-y: auto;\n}\n\n.select2-selection__choice {\n border-radius: 0px !important;\n}\n\n.select2-search select2-search--inline {\n height: 35px !important;\n float: left;\n margin: 0;\n}\n\n\n\n.select2-results__option {\n padding: 5px;\n user-select: none;\n -webkit-user-select: none;\n margin: 0px;\n}\n\nimg.navbar-brand-img, .navbar-brand>img {\n float: left;\n padding: 5px 5px 5px 0;\n max-height: 50px;\n}\n\n.input-daterange, .input-daterange input:first-child, .input-daterange input:last-child {\n border-radius: 0px !important;\n}\n\n.btn.bg-maroon, .btn.bg-purple{\n min-width:90px;\n}\n\n[hidden] {\n display: none !important;\n}\n\n#toolbar {\n margin-top: 10px;\n}\n\n#uploadPreview {\n border-color: grey;\n border-width: 1px;\n border-style: solid\n}\n\n.icon-med {\n font-size: 14px;\n color: #889195;\n}\n\n#login-logo {\n padding-top: 20px;\n padding-bottom: 10px;\n max-width: 200px\n}\n\n// accessibility skip link\na.skip-main {\n left:-999px;\n position:absolute;\n top:auto;\n width:1px;\n height:1px;\n overflow:hidden;\n z-index:-999;\n}\na.skip-main:focus, a.skip-main:active {\n color: #fff;\n background-color:#000;\n left: auto;\n top: auto;\n width: 30%;\n height: auto;\n overflow:auto;\n margin: 10px 35%;\n padding:5px;\n border-radius: 15px;\n border:4px solid yellow;\n text-align:center;\n font-size:1.2em;\n z-index:999;\n}\n\nh2 {\n font-size: 22px;\n}\n\nh2.task_menu {\n font-size: 14px;\n}\n\nh2 small {\n font-size: 85%;\n}\n\nh3 {\n font-size: 20px;\n}\n\nh4 {\n font-size: 16px;\n}\n\n\n.row-striped {\n vertical-align: top;\n line-height: 2.6;\n padding: 0px;\n margin-left: 20px;\n box-sizing: border-box;\n //border-left: 1px solid #dddddd;\n //border-right: 1px solid #dddddd;\n display: table;\n}\n\n.row-striped .row:nth-of-type(odd) div {\n background-color: #f9f9f9;\n border-top: 1px solid #dddddd;\n display: table-cell;\n word-wrap: break-word;\n}\n\n.row-striped .row:nth-of-type(even) div {\n background: #FFFFFF;\n border-top: 1px solid #dddddd;\n display: table-cell;\n word-wrap: break-word;\n}\n\n\n.row-new-striped {\n vertical-align: top;\n padding: 3px;\n display: table;\n width: 100%;\n word-wrap: break-word;\n table-layout:fixed;\n}\n\n/**\n* NEW STRIPING\n* This section is for the new row striping for nicer \n* display for non-table data as of v6\n**/\n.row-new-striped > .row:nth-of-type(even) {\n background: #FFFFFF;\n border-top: 1px solid #dddddd;\n line-height: 1.9;\n display: table-row;\n}\n\n.row-new-striped > .row:nth-of-type(odd) {\n background-color: #F8F8F8;\n border-top: 1px solid #dddddd;\n display: table-row;\n line-height: 1.9;\n padding: 2px;\n}\n\n.row-new-striped div {\n display: table-cell;\n border-top: 1px solid #dddddd;\n padding: 6px;\n}\n\n.row-new-striped div {\n display: table-cell;\n border-top: 1px solid #dddddd;\n padding: 6px;\n}\n\n\n.row-new-striped div[class^=\"col\"]:first-child {\n font-weight: bold;\n}\n\n\n\n/**\n* This just adds a little extra padding on mobile\n**/\n@media only screen and (max-width: 520px) {\n h1.pagetitle {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n\n .firstnav {\n padding-top: 120px !important;\n }\n\n .product {\n width: 400px;\n }\n\n .product img {\n min-width: 400px;\n }\n}\n\n.card-view-title {\n min-width: 40% !important;\n line-height: 3.0!important;\n padding-right: 20px;\n}\n\n.card-view {\n display: table-row;\n flex-direction: column;\n}\n\n// ---------------\n\n/**\n\n COLUMN SELECTOR ICONS\n -----------------------------\n This is kind of weird, but it is necessary to prevent the column-selector code from barfing, since\n any HTML used in the UserPresenter \"title\" attribute breaks the column selector HTML.\n\n Instead, we use CSS to add the icon into the table header, which leaves the column selector\n \"title\" text as-is and hides the icon.\n\n See https://github.com/grokability/snipe-it/issues/7989\n */\nth.css-accessory > .th-inner,\nth.css-accessory-alt > .th-inner,\nth.css-barcode > .th-inner,\nth.css-component > .th-inner,\nth.css-consumable > .th-inner,\nth.css-envelope > .th-inner,\nth.css-house-flag > .th-inner,\nth.css-house-laptop > .th-inner,\nth.css-house-user > .th-inner,\nth.css-license > .th-inner,\nth.css-location > .th-inner,\nth.css-users > .th-inner,\nth.css-currency > .th-inner,\nth.css-child-locations > .th-inner,\nth.css-history > .th-inner\n{\n font-size: 0px;\n line-height: 0.75 !important;\n text-align: left;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n\nth.css-location > .th-inner::before,\nth.css-accessory > .th-inner::before,\nth.css-accessory-alt > .th-inner::before,\nth.css-barcode > .th-inner::before,\nth.css-component > .th-inner::before,\nth.css-consumable > .th-inner::before,\nth.css-envelope > .th-inner::before,\nth.css-house-flag > .th-inner::before,\nth.css-house-laptop > .th-inner::before,\nth.css-house-user > .th-inner::before,\nth.css-license > .th-inner::before,\nth.css-location > .th-inner::before,\nth.css-users > .th-inner::before,\nth.css-currency > .th-inner::before,\nth.css-child-locations > .th-inner::before,\nth.css-history > .th-inner::before\n{\n display: inline-block;\n font-size: 20px;\n font-family: \"Font Awesome 5 Free\";\n font-weight: 900;\n}\n\n/**\nBEGIN ICON TABLE HEADERS\nSet the font-weight css property as 900 (For Solid), 400 (Regular or Brands), 300 (Light for pro icons).\n**/\nth.css-barcode > .th-inner::before\n{\n content: \"\\f02a\"; font-family: \"Font Awesome 5 Free\"; font-weight: 900;\n}\n\nth.css-license > .th-inner::before\n{\n content: \"\\f0c7\"; font-family: \"Font Awesome 5 Free\"; font-weight: 400;\n}\n\nth.css-consumable > .th-inner::before\n{\n content: \"\\f043\"; font-family: \"Font Awesome 5 Free\"; font-weight: 900;\n}\n\nth.css-envelope > .th-inner::before\n{\n content: \"\\f0e0\"; font-family: \"Font Awesome 5 Free\"; font-weight: 400;\n}\n\nth.css-accessory > .th-inner::before\n{\n content: \"\\f11c\"; font-family: \"Font Awesome 5 Free\"; font-weight: 400;\n}\n\nth.css-users > .th-inner::before {\n content: \"\\f0c0\"; font-family: \"Font Awesome 5 Free\"; font-size: 15px;\n}\n\nth.css-location > .th-inner::before {\n content: \"\\f3c5\"; font-family: \"Font Awesome 5 Free\"; font-size: 19px; margin-bottom: 0px;\n}\n\nth.css-component > .th-inner::before\n{\n content: \"\\f0a0\"; font-family: \"Font Awesome 5 Free\"; font-weight: 500;\n}\n\nth.css-padlock > .th-inner::before\n{\n content: \"\\f023\"; font-family: \"Font Awesome 5 Free\";\n font-weight: 800;\n padding-right: 3px;\n}\n\nth.css-house-user > .th-inner::before {\n content: \"\\e1b0\";\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\nth.css-house-flag > .th-inner::before {\n content: \"\\e50d\";\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\nth.css-house-laptop > .th-inner::before {\n content: \"\\e066\";\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\nth.css-accessory-alt > .th-inner::before {\n content: \"\\f11c\";\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\n\nth.css-child-locations > .th-inner::before {\n content: \"\\f64f\"; // change this to f51e for coins\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\n\nth.css-currency > .th-inner::before {\n content: \"\\24\"; // change this to f51e for coins\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\n\nth.css-history > .th-inner::before {\n content: \"\\f1da\"; // change this to f51e for coins\n font-family: \"Font Awesome 5 Free\";\n font-size: 19px;\n margin-bottom: 0px;\n}\n\n\n.small-box .inner {\n padding-left: 15px;\n padding-right: 15px;\n padding-top: 15px;\n color: #fff;\n}\n\n\n.small-box > a:link, .small-box > a:visited, .small-box > a:hover {\n color: #fff;\n}\n\n.select2-container--default .select2-selection--single, .select2-selection .select2-selection--single {\n border: 1px solid #d2d6de;\n border-radius: 0;\n padding: 6px 12px;\n height: 34px;\n}\n\n.form-group.has-error label, .form-group.has-error .help-block {\n color: #a94442;\n}\n\n.select2-container--default .select2-selection--multiple {\n border-radius: 0px;\n}\n\n@media screen and (max-width: 511px){\n .tab-content .tab-pane .alert-block {\n margin-top: 120px\n }\n .sidebar-menu{\n margin-top:160px;\n }\n}\n@media screen and (max-width: 912px) and (min-width: 512px){\n .sidebar-menu {\n margin-top:100px\n }\n .navbar-custom-menu > .navbar-nav > li.dropdown.user.user-menu {\n float:right;\n }\n .navbar-custom-menu > .navbar-nav > li > .dropdown-menu {\n margin-right:-39px;\n }\n}\n\n@media screen and (max-width: 1268px) and (min-width: 912px){\n .sidebar-menu {\n margin-top:50px\n }\n}\n@media screen and (max-width: 992px){\n .info-stack-container {\n flex-direction: column;\n }\n .col-md-3.col-xs-12.col-sm-push-9.info-stack{\n left:auto;\n order:1;\n }\n .col-md-9.col-xs-12.col-sm-pull-3.info-stack{\n right:auto;\n order:2;\n }\n .info-stack-container > .col-md-9.col-xs-12.col-sm-pull-3.info-stack > .row-new-striped > .row > .col-sm-2{\n width:auto;\n float:none;\n }\n}\n@media screen and (max-width: 992px){\n .row-new-striped div{\n width:100%;\n }\n}\n\n@media screen and (max-width: 1318px) and (min-width: 1200px){\n .admin.box{\n height:170px;\n }\n}\n@media screen and (max-width: 1494px) and (min-width: 1200px){\n .dashboard.small-box{\n white-space: nowrap;\n text-overflow: ellipsis;\n max-width: 188px;\n display: block;\n overflow: hidden;\n }\n}\n\n/** Form-stuff overrides for checkboxes and stuff **/\n\nlabel.form-control {\n display: grid;\n grid-template-columns: 1.8em auto;\n gap: 0.5em;\n border: 0px;\n padding-left: 0px;\n background-color: inherit;\n color: inherit;\n font-size: inherit;\n font-weight: inherit;\n}\n\nlabel.form-control--disabled {\n color: #959495;\n cursor: not-allowed;\n}\n\n\n/** --------------------------------------- **/\n/** Start checkbox styles to replace iCheck **/\n/** --------------------------------------- **/\ninput[type=\"checkbox\"] {\n /* Add if not using autoprefixer */\n -webkit-appearance: none;\n appearance: none;\n /* For iOS < 15 to remove gradient background */\n background-color: #fff;\n /* Not removed via appearance */\n margin: 0;\n font: inherit;\n color: #959495;\n width: 1.8em;\n height: 1.8em;\n border: 0.05em solid;\n border-radius: 0em;\n transform: translateY(-0.075em);\n display: grid;\n place-content: center;\n /*Windows High Contrast Mode*/\n}\n\n/** This sets the display of a checkbox, and what the \"fill\" checkmark should look like */\n\ninput[type=\"checkbox\"]::before {\n\n /** If you want to use the non-checkbox, filled square, use this instead **/\n content: \"\";\n width: 1em;\n height: 1em;\n transform: scale(0);\n transition: 120ms transform ease-in-out;\n box-shadow: inset 1em 1em rgb(211, 211, 211);\n\n content: \"\";\n width: 1em;\n height: 1em;\n clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);\n transform: scale(0);\n transform-origin: bottom left;\n transition: 120ms transform ease-in-out;\n box-shadow: inset 1em 1em #428bca;\n /* Windows High Contrast Mode */\n background-color: CanvasText;\n}\n\n/** This sets the size of the scale up for the shape we defined above **/\ninput[type=\"checkbox\"]:checked::before {\n transform: scale(1);\n}\n\n/** This sets the scale and color of the DISABLED but CHECKED checkbox */\ninput[type=checkbox]:disabled::before, input[type=radio]:disabled::before {\n content: \"\";\n width: 1em;\n height: 1em;\n transform: scale(1);\n box-shadow: inset 1em 1em rgb(211, 211, 211);\n}\n\n/* This sets the scale and style of a DISABLED checkbox that is NOT checked */\ninput[type=checkbox]:disabled:not(:checked)::before, input[type=radio]:disabled:not(:checked)::before {\n content: \"\";\n transform: scale(0);\n cursor: not-allowed;\n pointer-events:none;\n}\n\n/** this is the color of the checkbox and content on a disabled, checked box **/\ninput[type=checkbox]:disabled, input[type=radio]:disabled {\n --form-control-color: rgb(211, 211, 211);\n color: #959495;\n cursor: not-allowed;\n pointer-events:none;\n}\n\n\n/** Radio styles to replace iCheck **/\n\ninput[type=\"radio\"] {\n appearance: none;\n background-color: #fff;\n margin: 0;\n font: inherit;\n color: #959495;\n width: 1.8em;\n height: 1.8em;\n border: 0.05em solid;\n border-radius: 50%;\n transform: translateY(-0.075em);\n display: grid;\n place-content: center;\n}\n\ninput[type=\"radio\"]::before {\n content: \"\";\n width: 1em;\n height: 1em;\n border-radius: 50%;\n transform: scale(0);\n transition: 120ms transform ease-in-out;\n box-shadow: inset 1em 1em #428bca;\n}\n\ninput[type=\"radio\"]:checked::before {\n transform: scale(1);\n}\n\n\n/**\n* This addresses the column selector in bootstrap-table. Without these two lines, the\n* checkbox and the with the label text that BS tables generates will\n* end up on two different lines and it looks assy.\n */\n.dropdown-item-marker input[type=checkbox] {\n font-size: 10px;\n}\n\n.bootstrap-table .fixed-table-toolbar li.dropdown-item-marker label {\n font-weight: normal;\n display: grid;\n grid-template-columns: .1em auto;\n gap: 1.5em;\n}\n\n.container.row-striped .col-md-6 {\n overflow-wrap:anywhere;\n}\n\n.nav-tabs-custom > .nav-tabs > li {\n z-index: 1;\n}\n\n.select2-container .select2-search--inline .select2-search__field{\n padding-left:15px;\n}\n\n.nav-tabs-custom > .nav-tabs > li.active {\n font-weight: bold;\n}\n\n/** --------------------------------------- **/\n/** End checkbox styles to replace iCheck **/\n/** --------------------------------------- **/\n\n/**\n/** Separator styles with text in the middle. Currently only used by the login page but\n/** could be used elsewhere.\n */\n\n.separator {\n display: flex;\n align-items: center;\n text-align: center;\n padding-top: 20px;\n color: #959495;\n}\n\n.separator::before,\n.separator::after {\n content: '';\n flex: 1;\n border-bottom: 1px solid #959495;\n}\n\n.separator:not(:empty)::before {\n margin-right: .25em;\n}\n\n.separator:not(:empty)::after {\n margin-left: .25em;\n}\n.datepicker.dropdown-menu {\n z-index: 1030 !important;\n}\n\n.sidebar-menu > li .badge {\n margin-top: 0px;\n filter: brightness(70%);\n font-size: 70%;\n}\n\n/** this is needed to override ekko-lightboxes card view styles **/\n.bootstrap-table .fixed-table-container .table tbody tr .card-view {\n display: table-row !important;\n}\n\n.form-control-static {\n padding-top: 0px;\n}\n\n\ntd.text-right.text-padding-number-cell {\n padding-right: 30px !important;\n white-space: nowrap;\n}\n\nth.text-right.text-padding-number-footer-cell {\n padding-right: 20px !important;\n white-space: nowrap;\n}\n\ncode.single-line {\n white-space: pre-wrap;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n overflow: hidden;\n max-width: 400px;\n}\n\np.monospace, span.monospace {\n font-family: monospace, monospace;\n}\n\nlegend.highlight {\n background: repeating-linear-gradient(\n 45deg,\n #222d32,\n #222d32 10px,\n #444 10px,\n #444 11px\n );\n\n color: #fff;\n font-size: 18px;\n padding: 6px 6px 6px 10px;\n}\n\nlegend.highlight a {\n color: #fff;\n cursor: pointer;\n}\n\nfieldset.bottom-padded {\n padding-bottom: 20px;\n}\n\ncaption.tableCaption {\n font-size: 18px;\n padding-left: 8px;\n}\n\n// via https://github.com/grokability/snipe-it/issues/11754\n.sidebar-toggle.btn {\n border-radius: 3px;\n box-shadow: none;\n border-top: 0px solid transparent;\n border-bottom: 0px solid transparent;\n padding-left: 15px;\n padding-right: 15px;\n padding-top: 12px;\n padding-bottom: 12px;\n margin-left: -47px;\n margin-top: 2px;\n}\n.popover.help-popover,\n.popover.help-popover .popover-content,\n.popover.help-popover .popover-body,\n.popover.help-popover .popover-title,\n.popover.help-popover .popover-header {\n color: #000;\n}\n\n.visually-hidden {\n width: 1px;\n height: 1px;\n margin: -1px;\n overflow: hidden;\n clip: rect(0,0,0,0);\n white-space: preserve;\n display: inline-block;\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/public/css/dist/all.css b/public/css/dist/all.css index 5e982e38ca..2c5aec8584 100644 --- a/public/css/dist/all.css +++ b/public/css/dist/all.css @@ -22385,6 +22385,7 @@ th.css-license > .th-inner, th.css-location > .th-inner, th.css-users > .th-inner, th.css-currency > .th-inner, +th.css-child-locations > .th-inner, th.css-history > .th-inner { font-size: 0px; line-height: 0.75 !important; @@ -22407,6 +22408,7 @@ th.css-license > .th-inner::before, th.css-location > .th-inner::before, th.css-users > .th-inner::before, th.css-currency > .th-inner::before, +th.css-child-locations > .th-inner::before, th.css-history > .th-inner::before { display: inline-block; font-size: 20px; @@ -22488,6 +22490,12 @@ th.css-accessory-alt > .th-inner::before { font-size: 19px; margin-bottom: 0px; } +th.css-child-locations > .th-inner::before { + content: "\f64f"; + font-family: "Font Awesome 5 Free"; + font-size: 19px; + margin-bottom: 0px; +} th.css-currency > .th-inner::before { content: "\24"; font-family: "Font Awesome 5 Free"; @@ -23989,6 +23997,7 @@ th.css-license > .th-inner, th.css-location > .th-inner, th.css-users > .th-inner, th.css-currency > .th-inner, +th.css-child-locations > .th-inner, th.css-history > .th-inner { font-size: 0px; line-height: 0.75 !important; @@ -24011,6 +24020,7 @@ th.css-license > .th-inner::before, th.css-location > .th-inner::before, th.css-users > .th-inner::before, th.css-currency > .th-inner::before, +th.css-child-locations > .th-inner::before, th.css-history > .th-inner::before { display: inline-block; font-size: 20px; @@ -24092,6 +24102,12 @@ th.css-accessory-alt > .th-inner::before { font-size: 19px; margin-bottom: 0px; } +th.css-child-locations > .th-inner::before { + content: "\f64f"; + font-family: "Font Awesome 5 Free"; + font-size: 19px; + margin-bottom: 0px; +} th.css-currency > .th-inner::before { content: "\24"; font-family: "Font Awesome 5 Free"; diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 01d7e81d27..99bbd47641 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -2,8 +2,8 @@ "/js/dist/all.js": "/js/dist/all.js?id=76d88f0f91b852f7eecbce357ab5858b", "/css/dist/skins/skin-black-dark.css": "/css/dist/skins/skin-black-dark.css?id=42f97cd5b9ee7521b04a448e7fc16ac9", "/css/dist/skins/_all-skins.css": "/css/dist/skins/_all-skins.css?id=d81a7ed323f68a7c5e3e9115f7fb5404", - "/css/build/overrides.css": "/css/build/overrides.css?id=257e65d85ce9cf5a413065df1b131c03", - "/css/build/app.css": "/css/build/app.css?id=3dcb1500ec5991cc4058fd5e4d9b8b49", + "/css/build/overrides.css": "/css/build/overrides.css?id=d8bef2b8ef03ee8dbb120749211eafc0", + "/css/build/app.css": "/css/build/app.css?id=1bf6a5e78cbccff6e6d32640c28c54b8", "/css/build/AdminLTE.css": "/css/build/AdminLTE.css?id=ee0ed88465dd878588ed044eefb67723", "/css/dist/skins/skin-yellow.css": "/css/dist/skins/skin-yellow.css?id=3d8a3d2035ea28aaad4a703c2646f515", "/css/dist/skins/skin-yellow-dark.css": "/css/dist/skins/skin-yellow-dark.css?id=3979929a3423ff35b96b1fc84299fdf3", @@ -19,7 +19,7 @@ "/css/dist/skins/skin-blue.css": "/css/dist/skins/skin-blue.css?id=b2cd9f59d7e8587939ce27b2d3363d82", "/css/dist/skins/skin-blue-dark.css": "/css/dist/skins/skin-blue-dark.css?id=7277edd636cf46aa7786a4449ce0ead7", "/css/dist/skins/skin-black.css": "/css/dist/skins/skin-black.css?id=cbd06cc1d58197ccc81d4376bbaf0d28", - "/css/dist/all.css": "/css/dist/all.css?id=a6b8969f0f70c07cf740f30bb7139b45", + "/css/dist/all.css": "/css/dist/all.css?id=dd5f7ab27ec80569b90d63a883718ff9", "/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", "/js/select2/i18n/af.js": "/js/select2/i18n/af.js?id=4f6fcd73488ce79fae1b7a90aceaecde", diff --git a/resources/assets/less/overrides.less b/resources/assets/less/overrides.less index b3b765e219..0a9fc7c4c6 100644 --- a/resources/assets/less/overrides.less +++ b/resources/assets/less/overrides.less @@ -746,6 +746,7 @@ th.css-license > .th-inner, th.css-location > .th-inner, th.css-users > .th-inner, th.css-currency > .th-inner, +th.css-child-locations > .th-inner, th.css-history > .th-inner { font-size: 0px; @@ -771,6 +772,7 @@ th.css-license > .th-inner::before, th.css-location > .th-inner::before, th.css-users > .th-inner::before, th.css-currency > .th-inner::before, +th.css-child-locations > .th-inner::before, th.css-history > .th-inner::before { display: inline-block; @@ -853,6 +855,13 @@ th.css-accessory-alt > .th-inner::before { margin-bottom: 0px; } +th.css-child-locations > .th-inner::before { + content: "\f64f"; // change this to f51e for coins + font-family: "Font Awesome 5 Free"; + font-size: 19px; + margin-bottom: 0px; +} + th.css-currency > .th-inner::before { content: "\24"; // change this to f51e for coins font-family: "Font Awesome 5 Free"; diff --git a/resources/lang/en-US/admin/locations/message.php b/resources/lang/en-US/admin/locations/message.php index b21c70ad89..4f0b7b2cfe 100644 --- a/resources/lang/en-US/admin/locations/message.php +++ b/resources/lang/en-US/admin/locations/message.php @@ -3,12 +3,13 @@ return array( 'does_not_exist' => 'Location does not exist.', - 'assoc_users' => 'This location is not currently deletable because it is the location of record for at least one asset or user, has assets assigned to it, or is the parent location of another location. Please update your records to no longer reference this location and try again ', + 'assoc_users' => 'This location is not currently deletable because it is the location of record for at least one item or user, has assets assigned to it, or is the parent location of another location. Please update your records to no longer reference this location and try again ', 'assoc_assets' => 'This location is currently associated with at least one asset and cannot be deleted. Please update your assets to no longer reference this location and try again. ', 'assoc_child_loc' => 'This location is currently the parent of at least one child location and cannot be deleted. Please update your locations to no longer reference this location and try again. ', 'assigned_assets' => 'Assigned Assets', 'current_location' => 'Current Location', 'open_map' => 'Open in :map_provider_icon Maps', + 'deleted_warning' => 'This location has been deleted. Please restore it before attempting to make any changes.', 'create' => array( diff --git a/resources/lang/en-US/admin/locations/table.php b/resources/lang/en-US/admin/locations/table.php index 53176d8a4e..d7128b30f7 100644 --- a/resources/lang/en-US/admin/locations/table.php +++ b/resources/lang/en-US/admin/locations/table.php @@ -12,7 +12,8 @@ return [ 'create' => 'Create Location', 'update' => 'Update Location', 'print_assigned' => 'Print Assigned', - 'print_all_assigned' => 'Print All Assigned', + 'print_inventory' => 'Print Inventory', + 'print_all_assigned' => 'Print Inventory and Assigned', 'name' => 'Location Name', 'address' => 'Address', 'address2' => 'Address Line 2', diff --git a/resources/lang/en-US/admin/models/table.php b/resources/lang/en-US/admin/models/table.php index 11a512b3d3..20af866dde 100644 --- a/resources/lang/en-US/admin/models/table.php +++ b/resources/lang/en-US/admin/models/table.php @@ -11,7 +11,6 @@ return array( 'title' => 'Asset Models', 'update' => 'Update Asset Model', 'view' => 'View Asset Model', - 'update' => 'Update Asset Model', - 'clone' => 'Clone Model', - 'edit' => 'Edit Model', + 'clone' => 'Clone Model', + 'edit' => 'Edit Model', ); diff --git a/resources/lang/en-US/general.php b/resources/lang/en-US/general.php index 3516203331..a57c7c9f3a 100644 --- a/resources/lang/en-US/general.php +++ b/resources/lang/en-US/general.php @@ -614,6 +614,7 @@ return [ 'footer_credit' => 'Snipe-IT is open source software, made with love by @snipeitapp.com.', 'set_password' => 'Set a Password', 'upload_deleted' => 'Upload Deleted', + 'child_locations' => 'Child Locations', // Add form placeholders here 'placeholders' => [ diff --git a/resources/views/locations/index.blade.php b/resources/views/locations/index.blade.php index 4dd16d7ed1..9ffaec7e41 100755 --- a/resources/views/locations/index.blade.php +++ b/resources/views/locations/index.blade.php @@ -26,7 +26,7 @@ data-buttons="locationButtons" id="locationTable" class="table table-striped snipe-table" - data-url="{{ route('api.locations.index', array('company_id'=>e(Request::get('company_id')))) }}" + data-url="{{ route('api.locations.index', ['company_id'=>e(request('company_id')), 'status' => e(request('status'))]) }}" data-export-options='{ "fileName": "export-locations-{{ date('Y-m-d') }}", "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] diff --git a/resources/views/locations/print.blade.php b/resources/views/locations/print.blade.php index 6f383468b2..76f8b175e9 100644 --- a/resources/views/locations/print.blade.php +++ b/resources/views/locations/print.blade.php @@ -49,107 +49,359 @@ @endif @endif -

{{ trans('general.assigned_to', array('name' => $location->display_name)) }}

- @if ($parent) - {{ $parent->display_name }} +

+ @if ($assigned) + {{ trans('general.assigned_to', array('name' => $location->display_name)) }} + @else + {{ trans('admin/locations/table.print_inventory') }} : {{ $location->display_name }} @endif +

+ @if ($location->parent) + {{ trans('admin/locations/table.parent') }}: {{ $location->parent->display_name }} +@endif
-@if ($company) - {{ trans('admin/companies/table.name') }}: {{ $company->display_name }} +@if ($location->company) +{{ trans('admin/companies/table.name') }}: {{ $location->company->display_name }}
@endif -@if ($manager) - {{ trans('general.manager') }} {{ $manager->display_name }}
+@if ($location->manager) +{{ trans('admin/users/table.manager') }}: {{ $location->manager->display_name }}
@endif -{{ trans('general.date') }} {{ \App\Helpers\Helper::getFormattedDateObject(now(), 'datetime', false) }}

+{{ trans('general.date') }}: {{ \App\Helpers\Helper::getFormattedDateObject(now(), 'datetime', false) }}

@if ($users->count() > 0) - @php - $counter = 1; - @endphp - - +@php + $counter = 1; +@endphp +
+ + + + + + - + + + + + + - - - - - - - - - - - - @foreach ($users as $user) + +@foreach ($users as $user) - - - - - - - - - @php - $counter++ - @endphp - @endforeach -
{{ trans('general.users') }}
{{ trans('general.users') }}{{ trans('general.company') }}{{ trans('admin/locations/table.user_name') }}{{ trans('general.employee_number') }}{{ trans('admin/locations/table.department') }}{{ trans('admin/locations/table.location') }}
{{ trans('general.company') }}{{ trans('admin/locations/table.user_name') }}{{ trans('general.employee_number') }}{{ trans('admin/locations/table.department') }}{{ trans('admin/locations/table.location') }}
{{ $counter }}{{ (($user) && ($user->company)) ? $user->company->name : '' }}{{ ($user) ? $user->first_name .' '. $user->last_name : '' }}{{ ($user) ? $user->employee_num : '' }}{{ (($user) && ($user->department)) ? $user->department->name : '' }}{{ (($user) && ($user->location)) ? $user->location->name : '' }}
+ + {{ $counter }} + {{ (($user) && ($user->company)) ? $user->company->name : '' }} + {{ ($user) ? $user->first_name .' '. $user->last_name : '' }} + {{ ($user) ? $user->employee_num : '' }} + {{ (($user) && ($user->department)) ? $user->department->name : '' }} + {{ (($user) && ($user->location)) ? $user->location->name : '' }} + + @php + $counter++ + @endphp +@endforeach + @endif - - -@if ($assets->count() > 0) +@if ($children->count() > 0)

- + - - - - - - - - - - - - - - @php - $counter = 1; - @endphp - - @foreach ($assets as $asset) - @php - if($snipeSettings->show_archived_in_list != 1 && $asset->assetstatus?->archived == 1){ - continue; - } - @endphp - - - - - - - - - - + + + + + + + + + + @php + $counter = 1; + @endphp + + @foreach ($children as $child) + + + + + + + + + @php $counter++ @endphp - @endforeach + @endforeach +
{{ trans('general.assets') }}{{ trans('general.child_locations') }}
{{ trans('admin/locations/table.asset_tag') }}{{ trans('admin/locations/table.asset_name') }}{{ trans('admin/locations/table.asset_category') }}{{ trans('admin/locations/table.asset_manufacturer') }}{{ trans('admin/locations/table.asset_model') }}{{ trans('admin/locations/table.asset_serial') }}{{ trans('admin/locations/table.asset_location') }}{{ trans('admin/locations/table.asset_checked_out') }}{{ trans('admin/locations/table.asset_expected_checkin') }}
{{ $counter }}{{ $asset->asset_tag }}{{ $asset->name }}{{ (($asset->model) && ($asset->model->category)) ? $asset->model->category->name : '' }}{{ (($asset->model) && ($asset->model->manufacturer)) ? $asset->model->manufacturer->name : '' }}{{ ($asset->model) ? $asset->model->name : '' }}{{ $asset->serial }}{{ ($asset->location) ? $asset->location->name : '' }}{{ \App\Helpers\Helper::getFormattedDateObject( $asset->last_checkout, 'datetime', false) }}{{ \App\Helpers\Helper::getFormattedDateObject( $asset->expected_checkin, 'datetime', false) }}{{ trans('general.name') }}{{ trans('general.address') }}{{ trans('general.city') }}{{ trans('general.state') }}{{ trans('general.country') }}{{ trans('general.zip') }}
{{ $counter }}{{ $child->name }}{{ $child->address }}{{ $child->city }}{{ $child->state }}{{ $child->country }}{{ $child->zip }}
+@endif + +@if ($assets->count() > 0) +

+ + + + + + + + + + + + + + + + + + + + + @php + $counter = 1; + @endphp + + @foreach ($assets as $asset) + @php + if($snipeSettings->show_archived_in_list != 1 && $asset->assetstatus?->archived == 1){ + continue; + } + @endphp + + + + + + + + + + + + + @php + $counter++ + @endphp +@endforeach +
{{ trans('general.assets') }}
{{ trans('admin/locations/table.asset_tag') }}{{ trans('admin/locations/table.asset_name') }}{{ trans('admin/locations/table.asset_category') }}{{ trans('admin/locations/table.asset_manufacturer') }}{{ trans('admin/locations/table.asset_model') }}{{ trans('admin/locations/table.asset_serial') }}{{ trans('admin/locations/table.asset_location') }}{{ trans('admin/locations/table.asset_checked_out') }}{{ trans('admin/locations/table.asset_expected_checkin') }}
{{ $counter }}{{ $asset->asset_tag }}{{ $asset->name }}{{ (($asset->model) && ($asset->model->category)) ? $asset->model->category->name : '' }}{{ (($asset->model) && ($asset->model->manufacturer)) ? $asset->model->manufacturer->name : '' }}{{ ($asset->model) ? $asset->model->name : '' }}{{ $asset->serial }}{{ ($asset->location) ? $asset->location->name : '' }}{{ \App\Helpers\Helper::getFormattedDateObject( $asset->last_checkout, 'datetime', false) }}{{ \App\Helpers\Helper::getFormattedDateObject( $asset->expected_checkin, 'datetime', false) }}
+@endif + +@if ($assigned) + @if ($assignedAssets->count() > 0) +

+ + + + + + + + + + + + + + + + + + + + + @php + $counter = 1; + @endphp + + @foreach ($assignedAssets as $asset) + @php + if($snipeSettings->show_archived_in_list != 1 && $asset->assetstatus?->archived == 1){ + continue; + } + @endphp + + + + + + + + + + + + + @php + $counter++ + @endphp + @endforeach +
{{ trans('admin/locations/message.assigned_assets') }}
{{ trans('admin/locations/table.asset_tag') }}{{ trans('admin/locations/table.asset_name') }}{{ trans('admin/locations/table.asset_category') }}{{ trans('admin/locations/table.asset_manufacturer') }}{{ trans('admin/locations/table.asset_model') }}{{ trans('admin/locations/table.asset_serial') }}{{ trans('admin/locations/table.asset_location') }}{{ trans('admin/locations/table.asset_checked_out') }}{{ trans('admin/locations/table.asset_expected_checkin') }}
{{ $counter }}{{ $asset->asset_tag }}{{ $asset->name }}{{ (($asset->model) && ($asset->model->category)) ? $asset->model->category->name : '' }}{{ (($asset->model) && ($asset->model->manufacturer)) ? $asset->model->manufacturer->name : '' }}{{ ($asset->model) ? $asset->model->name : '' }}{{ $asset->serial }}{{ ($asset->location) ? $asset->location->name : '' }}{{ \App\Helpers\Helper::getFormattedDateObject( $asset->last_checkout, 'datetime', false) }}{{ \App\Helpers\Helper::getFormattedDateObject( $asset->expected_checkin, 'datetime', false) }}
+ @endif +@endif + +@if ($accessories->count() > 0) +

+ + + + + + + + + + + + + + + + + @php + $counter = 1; + @endphp + + @foreach ($accessories as $accessory) + + + + + + + + + @php + $counter++ + @endphp + @endforeach +
{{ trans('general.accessories') }}
{{ trans('admin/locations/table.asset_name') }}{{ trans('admin/locations/table.asset_category') }}{{ trans('admin/locations/table.asset_manufacturer') }}{{ trans('admin/models/table.modelnumber') }}{{ trans('admin/locations/table.asset_location') }}
{{ $counter }}{{ $accessory->name }}{{ ($accessory->category) ? $accessory->category->name : '' }}{{ ($accessory->manufacturer) ? $accessory->manufacturer->name : '' }}{{ $asset->model_number }}{{ ($asset->location) ? $asset->location->name : '' }}
+@endif + +@if ($assigned) + @if ($assignedAccessories->count() > 0) +

+ + + + + + + + + + + + + + + + + @php + $counter = 1; + @endphp + + @foreach ($assignedAccessories as $accessory) + + + + + + + + + @php + $counter++ + @endphp + @endforeach +
{{ trans('general.accessories_assigned') }}
{{ trans('admin/locations/table.asset_name') }}{{ trans('admin/locations/table.asset_category') }}{{ trans('admin/locations/table.asset_manufacturer') }}{{ trans('admin/models/table.modelnumber') }}{{ trans('admin/locations/table.asset_location') }}
{{ $counter }}{{ $accessory->name }}{{ ($accessory->category) ? $accessory->category->name : '' }}{{ ($accessory->manufacturer) ? $accessory->manufacturer->name : '' }}{{ $asset->model_number }}{{ ($asset->location) ? $asset->location->name : '' }}
+ @endif +@endif + +@if ($consumables->count() > 0) +

+ + + + + + + + + + + + + + + + + @php + $counter = 1; + @endphp + + @foreach ($consumables as $consumable) + + + + + + + + + @php + $counter++ + @endphp + @endforeach +
{{ trans('general.accessories') }}
{{ trans('admin/locations/table.asset_name') }}{{ trans('general.qty') }}{{ trans('admin/locations/table.asset_category') }}{{ trans('admin/locations/table.asset_manufacturer') }}{{ trans('admin/models/table.modelnumber') }}
{{ $counter }}{{ $consumable->name }}{{ $consumable->qty }}{{ ($consumable->category) ? $consumable->category->name : '' }}{{ ($consumable->manufacturer) ? $consumable->manufacturer->name : '' }}{{ $consumable->model_number }}
+@endif + +@if ($components->count() > 0) +

+ + + + + + + + + + + + + + + + + @php + $counter = 1; + @endphp + + @foreach ($components as $component) + + + + + + + + + @php + $counter++ + @endphp + @endforeach
{{ trans('general.components') }}
{{ trans('admin/locations/table.asset_name') }}{{ trans('general.qty') }}{{ trans('admin/locations/table.asset_category') }}{{ trans('admin/locations/table.asset_manufacturer') }}{{ trans('admin/models/table.modelnumber') }}
{{ $counter }}{{ $component->name }}{{ $component->qty }}{{ ($component->category) ? $component->category->name : '' }}{{ ($component->manufacturer) ? $component->manufacturer->name : '' }}{{ $component->model_number }}
@endif @@ -157,26 +409,26 @@

- - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + +
{{ trans('admin/locations/table.signed_by_asset_auditor') }}
------------------------------------------------------    
{{ trans('admin/locations/table.date') }}
------------------------------    
{{ trans('admin/locations/table.signed_by_asset_auditor') }}
------------------------------------------------------    
{{ trans('admin/locations/table.date') }}
------------------------------    
{{ trans('admin/locations/table.signed_by_finance_auditor') }}
------------------------------------------------------    
{{ trans('admin/locations/table.date') }}
------------------------------    
{{ trans('admin/locations/table.signed_by_finance_auditor') }}
------------------------------------------------------    
{{ trans('admin/locations/table.date') }}
------------------------------    
{{ trans('admin/locations/table.signed_by_location_manager') }}
------------------------------------------------------    
{{ trans('admin/locations/table.date') }}
------------------------------    
{{ trans('admin/locations/table.signed_by_location_manager') }}
------------------------------------------------------    
{{ trans('admin/locations/table.date') }}
------------------------------    
diff --git a/resources/views/locations/view.blade.php b/resources/views/locations/view.blade.php index 3b4a53aefc..42d060809b 100644 --- a/resources/views/locations/view.blade.php +++ b/resources/views/locations/view.blade.php @@ -17,8 +17,21 @@ @section('content')
+ + @if ($location->deleted_at!='') +
+
+ + {{ trans('admin/locations/message.deleted_warning') }} +
+
+ @endif + +
+ + + +
+

+ {{ trans('general.child_locations') }} +

+ +
+
+
+

+ {{ trans('general.child_locations') }} +

-
+ +
+

+ {{ trans('general.accessories_assigned') }} +

+ + +
+
+

{{ trans('general.history') }}

@@ -411,16 +489,16 @@
  • {{ $location->city }} {{ $location->state }} {{ $location->zip }}
  • @endif @if ($location->manager) -
  • {{ trans('admin/users/table.manager') }}: {!! $location->manager->present()->nameUrl() !!}
  • +
  • {{ trans('admin/users/table.manager') }}: {!! $location->manager->present()->nameUrl() !!}
  • @endif @if ($location->company) -
  • {{ trans('admin/companies/table.name') }}: {!! $location->company->present()->nameUrl() !!}
  • +
  • {{ trans('admin/companies/table.name') }}: {!! $location->company->present()->nameUrl() !!}
  • @endif @if ($location->parent) -
  • {{ trans('admin/locations/table.parent') }}: {!! $location->parent->present()->nameUrl() !!}
  • +
  • {{ trans('admin/locations/table.parent') }}: {!! $location->parent->present()->nameUrl() !!}
  • @endif @if ($location->ldap_ou) -
  • {{ trans('admin/locations/table.ldap_ou') }}: {{ $location->ldap_ou }}
  • +
  • {{ trans('admin/locations/table.ldap_ou') }}: {{ $location->ldap_ou }}
  • @endif @@ -442,18 +520,28 @@
    @can('update', $location) -
    + @if ($location->deleted_at=='') + + @else + + @endif @endcan + @if ($location->deleted_at=='')
    @@ -462,6 +550,7 @@ {{ trans('admin/locations/table.print_all_assigned') }}
    + @endif @can('delete', $location)
    @@ -474,16 +563,18 @@ {{ trans('general.delete') }} @else - + + {{ trans('general.delete') }} + @endif @else
    @csrf - diff --git a/resources/views/partials/bootstrap-table.blade.php b/resources/views/partials/bootstrap-table.blade.php index 1491be10a4..b325e89f1b 100644 --- a/resources/views/partials/bootstrap-table.blade.php +++ b/resources/views/partials/bootstrap-table.blade.php @@ -1289,7 +1289,7 @@ btnShowDeleted: { text: '{{ (request()->input('status') == "deleted") ?trans('admin/users/table.show_current') : trans('admin/users/table.show_deleted') }}', - icon: 'fa-solid fa-user-slash {{ (request()->input('status') == "deleted") ? ' text-danger' : ' fa-user-slash' }}', + icon: 'fa-solid fa-trash {{ (request()->input('status') == "deleted") ? ' text-danger' : ' fa-user-trash' }}', event () { window.location.href = '{{ (request()->input('status') == "deleted") ? route('users.index') : route('users.index', ['status' => 'deleted']) }}'; }, @@ -1398,6 +1398,18 @@ @endif } }, + + btnShowDeleted: { + text: '{{ (request()->input('status') == "deleted") ? trans('admin/users/table.show_current') : trans('admin/users/table.show_deleted') }}', + icon: 'fa-solid fa-trash {{ (request()->input('status') == "deleted") ? ' text-danger' : ' fa-user-trash' }}', + event () { + window.location.href = '{{ (request()->input('status') == "deleted") ? route('locations.index') : route('locations.index', ['status' => 'deleted']) }}'; + }, + attributes: { + title: '{{ (request()->input('status') == "deleted") ? trans('admin/users/table.show_current') : trans('admin/users/table.show_deleted') }}', + + } + }, }); @endcan diff --git a/tests/Feature/Locations/Api/DeleteLocationsTest.php b/tests/Feature/Locations/Api/DeleteLocationsTest.php index 796b9a1977..755528ab94 100644 --- a/tests/Feature/Locations/Api/DeleteLocationsTest.php +++ b/tests/Feature/Locations/Api/DeleteLocationsTest.php @@ -2,7 +2,10 @@ namespace Tests\Feature\Locations\Api; +use App\Models\Accessory; use App\Models\Asset; +use App\Models\Component; +use App\Models\Consumable; use App\Models\Location; use App\Models\User; use Tests\Concerns\TestsPermissionsRequirement; @@ -24,11 +27,12 @@ class DeleteLocationsTest extends TestCase implements TestsPermissionsRequiremen public function testErrorReturnedViaApiIfLocationDoesNotExist() { $this->actingAsForApi(User::factory()->superuser()->create()) - ->deleteJson(route('api.users.destroy', 'invalid-id')) + ->deleteJson(route('api.locations.destroy', 'invalid-id')) ->assertOk() ->assertStatus(200) ->assertStatusMessageIs('error') ->json(); + } public function testErrorReturnedViaApiIfLocationIsAlreadyDeleted() @@ -55,9 +59,10 @@ class DeleteLocationsTest extends TestCase implements TestsPermissionsRequiremen ->assertStatus(200) ->assertStatusMessageIs('error') ->json(); + $this->assertNotSoftDeleted($location); } - public function testDisallowUserDeletionViaApiIfStillHasChildLocations() + public function testDisallowLocationDeletionViaApiIfStillHasChildLocations() { $parent = Location::factory()->create(); Location::factory()->count(5)->create(['parent_id' => $parent->id]); @@ -69,9 +74,10 @@ class DeleteLocationsTest extends TestCase implements TestsPermissionsRequiremen ->assertStatus(200) ->assertStatusMessageIs('error') ->json(); + $this->assertNotSoftDeleted($parent); } - public function testDisallowUserDeletionViaApiIfStillHasAssetsAssigned() + public function testDisallowLocationDeletionViaApiIfStillHasAssetsAssigned() { $location = Location::factory()->create(); Asset::factory()->count(5)->assignedToLocation($location)->create(); @@ -84,9 +90,10 @@ class DeleteLocationsTest extends TestCase implements TestsPermissionsRequiremen ->assertStatus(200) ->assertStatusMessageIs('error') ->json(); + $this->assertNotSoftDeleted($location); } - public function testDisallowUserDeletionViaApiIfStillHasAssetsAsLocation() + public function testDisallowLocationDeletionViaApiIfStillHasAssetsAsLocation() { $location = Location::factory()->create(); Asset::factory()->count(5)->create(['location_id' => $location->id]); @@ -99,6 +106,73 @@ class DeleteLocationsTest extends TestCase implements TestsPermissionsRequiremen ->assertStatus(200) ->assertStatusMessageIs('error') ->json(); + $this->assertNotSoftDeleted($location); + } + + public function testDisallowLocationDeletionViaApiIfStillHasConsumablesAsLocation() + { + $location = Location::factory()->create(); + Consumable::factory()->count(5)->create(['location_id' => $location->id]); + + $this->assertFalse($location->isDeletable()); + + $this->actingAsForApi(User::factory()->superuser()->create()) + ->deleteJson(route('api.locations.destroy', $location->id)) + ->assertOk() + ->assertStatus(200) + ->assertStatusMessageIs('error') + ->json(); + $this->assertNotSoftDeleted($location); + } + + public function testDisallowLocationDeletionViaApiIfStillHasComponentsAsLocation() + { + $location = Location::factory()->create(); + Component::factory()->count(5)->create(['location_id' => $location->id]); + + $this->assertFalse($location->isDeletable()); + + $this->actingAsForApi(User::factory()->superuser()->create()) + ->deleteJson(route('api.locations.destroy', $location->id)) + ->assertOk() + ->assertStatus(200) + ->assertStatusMessageIs('error') + ->json(); + + $this->assertNotSoftDeleted($location); + } + + public function testDisallowLocationDeletionViaApiIfStillHasAccessoriesAssigned() + { + $location = Location::factory()->create(); + Accessory::factory()->count(5)->checkedOutToLocation($location)->create(); + + $this->assertFalse($location->isDeletable()); + + $this->actingAsForApi(User::factory()->superuser()->create()) + ->deleteJson(route('api.locations.destroy', $location->id)) + ->assertOk() + ->assertStatus(200) + ->assertStatusMessageIs('error') + ->json(); + $this->assertNotSoftDeleted($location); + } + + public function testDisallowLocationDeletionViaApiIfStillHasAccessoriesAsLocation() + { + $location = Location::factory()->create(); + Accessory::factory()->count(5)->create(['location_id' => $location->id]); + + $this->assertFalse($location->isDeletable()); + + $this->actingAsForApi(User::factory()->superuser()->create()) + ->deleteJson(route('api.locations.destroy', $location->id)) + ->assertOk() + ->assertStatus(200) + ->assertStatusMessageIs('error') + ->json(); + + $this->assertNotSoftDeleted($location); } public function testCanDeleteLocation() diff --git a/tests/Feature/Locations/Ui/DeleteLocationsTest.php b/tests/Feature/Locations/Ui/DeleteLocationsTest.php new file mode 100644 index 0000000000..74f8adba6a --- /dev/null +++ b/tests/Feature/Locations/Ui/DeleteLocationsTest.php @@ -0,0 +1,139 @@ +actingAs(User::factory()->create()) + ->delete(route('locations.destroy', Location::factory()->create())) + ->assertForbidden(); + } + + public function testCanDeleteLocation() + { + $location = Location::factory()->create(); + + $this->actingAs(User::factory()->deleteLocations()->create()) + ->delete(route('locations.destroy', $location)) + ->assertRedirectToRoute('locations.index') + ->assertSessionHas('success') + ->assertStatus(302) + ->assertRedirect(route('locations.index')); + + $this->assertSoftDeleted($location); + } + + + public function testCannotDeleteLocationWithAssetsAsLocation() + { + $location = Location::factory()->create(); + Asset::factory()->count(5)->create(['location_id' => $location->id]); + + $this->actingAs(User::factory()->deleteLocations()->create()) + ->delete(route('locations.destroy', $location)) + ->assertStatus(302) + ->assertRedirectToRoute('locations.index') + ->assertSessionHas('error'); + + $this->assertNotSoftDeleted($location); + } + + public function testCannotDeleteLocationWithAssetsAssigned() + { + $location = Location::factory()->create(); + Asset::factory()->count(5)->assignedToLocation($location)->create(); + + $this->actingAs(User::factory()->deleteLocations()->create()) + ->delete(route('locations.destroy', $location)) + ->assertStatus(302) + ->assertRedirectToRoute('locations.index') + ->assertSessionHas('error'); + + $this->assertNotSoftDeleted($location); + } + + public function testCannotDeleteLocationWithChildren() + { + $parent = Location::factory()->create(); + Location::factory()->count(5)->create(['parent_id' => $parent->id]); + + $this->actingAs(User::factory()->deleteLocations()->create()) + ->delete(route('locations.destroy', $parent)) + ->assertStatus(302) + ->assertRedirectToRoute('locations.index') + ->assertSessionHas('error'); + + $this->assertNotSoftDeleted($parent); + } + + public function testCannotDeleteLocationWithConsumableAsLocation() + { + $location = Location::factory()->create(); + Consumable::factory()->count(5)->create(['location_id' => $location->id]); + + $this->actingAs(User::factory()->deleteLocations()->create()) + ->delete(route('locations.destroy', $location)) + ->assertStatus(302) + ->assertRedirectToRoute('locations.index') + ->assertSessionHas('error'); + + $this->assertNotSoftDeleted($location); + } + + public function testCannotDeleteLocationWithAccessoriesAssigned() + { + $location = Location::factory()->create(); + Accessory::factory()->count(5)->checkedOutToLocation($location)->create(); + + $this->actingAs(User::factory()->deleteLocations()->create()) + ->delete(route('locations.destroy', $location)) + ->assertStatus(302) + ->assertRedirectToRoute('locations.index') + ->assertSessionHas('error'); + + $this->assertNotSoftDeleted($location); + } + + public function testCannotDeleteLocationWithAccessoriesAsLocation() + { + $location = Location::factory()->create(); + Accessory::factory()->count(5)->create(['location_id' => $location->id]); + + $this->actingAs(User::factory()->deleteLocations()->create()) + ->delete(route('locations.destroy', $location)) + ->assertStatus(302) + ->assertRedirectToRoute('locations.index') + ->assertSessionHas('error'); + + $this->assertNotSoftDeleted($location); + } + + public function testCannotDeleteLocationWithPeople() + { + $location = Location::factory()->create(); + User::factory()->count(5)->create(['location_id' => $location->id]); + + $this->actingAs(User::factory()->deleteLocations()->create()) + ->delete(route('locations.destroy', $location)) + ->assertStatus(302) + ->assertRedirectToRoute('locations.index') + ->assertSessionHas('error'); + + $this->assertNotSoftDeleted($location); + } + + + + + +}