Viewing File: /usr/local/cpanel/base/frontend/jupiter/imunify/assets/static/main-es5.d48ff4ab4e62dca6dee5.js

!function(){function n(){return(n="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(n,t,a){var o=e(n,t);if(o){var i=Object.getOwnPropertyDescriptor(o,t);return i.get?i.get.call(arguments.length<3?n:a):i.value}}).apply(this,arguments)}function e(n,e){for(;!Object.prototype.hasOwnProperty.call(n,e)&&null!==(n=m(n)););return n}function t(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */t=function(){return n};var n={},e=Object.prototype,a=e.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",r=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function c(n,e,t){return Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}),n[e]}try{c({},"")}catch(B){c=function(n,e,t){return n[e]=t}}function p(n,e,t,a){var o=e&&e.prototype instanceof d?e:d,i=Object.create(o.prototype),r=new v(a||[]);return i._invoke=function(n,e,t){var a="suspendedStart";return function(o,i){if("executing"===a)throw new Error("Generator is already running");if("completed"===a){if("throw"===o)throw i;return C()}for(t.method=o,t.arg=i;;){var r=t.delegate;if(r){var l=$(r,t);if(l){if(l===m)continue;return l}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if("suspendedStart"===a)throw a="completed",t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);a="executing";var c=s(n,e,t);if("normal"===c.type){if(a=t.done?"completed":"suspendedYield",c.arg===m)continue;return{value:c.arg,done:t.done}}"throw"===c.type&&(a="completed",t.method="throw",t.arg=c.arg)}}}(n,t,r),i}function s(n,e,t){try{return{type:"normal",arg:n.call(e,t)}}catch(B){return{type:"throw",arg:B}}}n.wrap=p;var m={};function d(){}function A(){}function u(){}var f={};c(f,i,(function(){return this}));var g=Object.getPrototypeOf,h=g&&g(g(k([])));h&&h!==e&&a.call(h,i)&&(f=h);var b=u.prototype=d.prototype=Object.create(f);function y(n){["next","throw","return"].forEach((function(e){c(n,e,(function(n){return this._invoke(e,n)}))}))}function x(n,e){var t;this._invoke=function(o,i){function r(){return new e((function(t,r){!function t(o,i,r,l){var c=s(n[o],n,i);if("throw"!==c.type){var p=c.arg,m=p.value;return m&&"object"==typeof m&&a.call(m,"__await")?e.resolve(m.__await).then((function(n){t("next",n,r,l)}),(function(n){t("throw",n,r,l)})):e.resolve(m).then((function(n){p.value=n,r(p)}),(function(n){return t("throw",n,r,l)}))}l(c.arg)}(o,i,t,r)}))}return t=t?t.then(r,r):r()}}function $(n,e){var t=n.iterator[e.method];if(void 0===t){if(e.delegate=null,"throw"===e.method){if(n.iterator.return&&(e.method="return",e.arg=void 0,$(n,e),"throw"===e.method))return m;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var a=s(t,n.iterator,e.arg);if("throw"===a.type)return e.method="throw",e.arg=a.arg,e.delegate=null,m;var o=a.arg;return o?o.done?(e[n.resultName]=o.value,e.next=n.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,m):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,m)}function E(n){var e={tryLoc:n[0]};1 in n&&(e.catchLoc=n[1]),2 in n&&(e.finallyLoc=n[2],e.afterLoc=n[3]),this.tryEntries.push(e)}function w(n){var e=n.completion||{};e.type="normal",delete e.arg,n.completion=e}function v(n){this.tryEntries=[{tryLoc:"root"}],n.forEach(E,this),this.reset(!0)}function k(n){if(n){var e=n[i];if(e)return e.call(n);if("function"==typeof n.next)return n;if(!isNaN(n.length)){var t=-1,o=function e(){for(;++t<n.length;)if(a.call(n,t))return e.value=n[t],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:C}}function C(){return{value:void 0,done:!0}}return A.prototype=u,c(b,"constructor",u),c(u,"constructor",A),A.displayName=c(u,l,"GeneratorFunction"),n.isGeneratorFunction=function(n){var e="function"==typeof n&&n.constructor;return!!e&&(e===A||"GeneratorFunction"===(e.displayName||e.name))},n.mark=function(n){return Object.setPrototypeOf?Object.setPrototypeOf(n,u):(n.__proto__=u,c(n,l,"GeneratorFunction")),n.prototype=Object.create(b),n},n.awrap=function(n){return{__await:n}},y(x.prototype),c(x.prototype,r,(function(){return this})),n.AsyncIterator=x,n.async=function(e,t,a,o,i){void 0===i&&(i=Promise);var r=new x(p(e,t,a,o),i);return n.isGeneratorFunction(t)?r:r.next().then((function(n){return n.done?n.value:r.next()}))},y(b),c(b,l,"Generator"),c(b,i,(function(){return this})),c(b,"toString",(function(){return"[object Generator]"})),n.keys=function(n){var e=[];for(var t in n)e.push(t);return e.reverse(),function t(){for(;e.length;){var a=e.pop();if(a in n)return t.value=a,t.done=!1,t}return t.done=!0,t}},n.values=k,v.prototype={constructor:v,reset:function(n){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(w),!n)for(var e in this)"t"===e.charAt(0)&&a.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var n=this.tryEntries[0].completion;if("throw"===n.type)throw n.arg;return this.rval},dispatchException:function(n){if(this.done)throw n;var e=this;function t(t,a){return r.type="throw",r.arg=n,e.next=t,a&&(e.method="next",e.arg=void 0),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],r=i.completion;if("root"===i.tryLoc)return t("end");if(i.tryLoc<=this.prev){var l=a.call(i,"catchLoc"),c=a.call(i,"finallyLoc");if(l&&c){if(this.prev<i.catchLoc)return t(i.catchLoc,!0);if(this.prev<i.finallyLoc)return t(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return t(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return t(i.finallyLoc)}}}},abrupt:function(n,e){for(var t=this.tryEntries.length-1;t>=0;--t){var o=this.tryEntries[t];if(o.tryLoc<=this.prev&&a.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===n||"continue"===n)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var r=i?i.completion:{};return r.type=n,r.arg=e,i?(this.method="next",this.next=i.finallyLoc,m):this.complete(r)},complete:function(n,e){if("throw"===n.type)throw n.arg;return"break"===n.type||"continue"===n.type?this.next=n.arg:"return"===n.type?(this.rval=this.arg=n.arg,this.method="return",this.next="end"):"normal"===n.type&&e&&(this.next=e),m},finish:function(n){for(var e=this.tryEntries.length-1;e>=0;--e){var t=this.tryEntries[e];if(t.finallyLoc===n)return this.complete(t.completion,t.afterLoc),w(t),m}},catch:function(n){for(var e=this.tryEntries.length-1;e>=0;--e){var t=this.tryEntries[e];if(t.tryLoc===n){var a=t.completion;if("throw"===a.type){var o=a.arg;w(t)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(n,e,t){return this.delegate={iterator:k(n),resultName:e,nextLoc:t},"next"===this.method&&(this.arg=void 0),m}},n}function a(n){var e="function"==typeof Map?new Map:void 0;return(a=function(n){if(null===n||(t=n,-1===Function.toString.call(t).indexOf("[native code]")))return n;var t;if("function"!=typeof n)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(n))return e.get(n);e.set(n,a)}function a(){return o(n,arguments,m(this).constructor)}return a.prototype=Object.create(n.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),r(a,n)})(n)}function o(n,e,t){return(o=s()?Reflect.construct.bind():function(n,e,t){var a=[null];a.push.apply(a,e);var o=new(Function.bind.apply(n,a));return t&&r(o,t.prototype),o}).apply(null,arguments)}function i(n,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),Object.defineProperty(n,"prototype",{writable:!1}),e&&r(n,e)}function r(n,e){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,e){return n.__proto__=e,n})(n,e)}function l(n){var e=s();return function(){var t,a=m(n);if(e){var o=m(this).constructor;t=Reflect.construct(a,arguments,o)}else t=a.apply(this,arguments);return c(this,t)}}function c(n,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return p(n)}function p(n){if(void 0===n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function s(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(n){return!1}}function m(n){return(m=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)})(n)}function d(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function A(n){return function(n){if(Array.isArray(n))return h(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||g(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null==t)return;var a,o,i=[],r=!0,l=!1;try{for(t=t.call(n);!(r=(a=t.next()).done)&&(i.push(a.value),!e||i.length!==e);r=!0);}catch(c){l=!0,o=c}finally{try{r||null==t.return||t.return()}finally{if(l)throw o}}return i}(n,e)||g(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(n,e){var t="undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(!t){if(Array.isArray(n)||(t=g(n))||e&&n&&"number"==typeof n.length){t&&(n=t);var a=0,o=function(){};return{s:o,n:function(){return a>=n.length?{done:!0}:{done:!1,value:n[a++]}},e:function(n){throw n},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,r=!0,l=!1;return{s:function(){t=t.call(n)},n:function(){var n=t.next();return r=n.done,n},e:function(n){l=!0,i=n},f:function(){try{r||null==t.return||t.return()}finally{if(l)throw i}}}}function g(n,e){if(n){if("string"==typeof n)return h(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?h(n,e):void 0}}function h(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,a=new Array(e);t<e;t++)a[t]=n[t];return a}function b(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function y(n,e){for(var t=0;t<e.length;t++){var a=e[t];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(n,a.key,a)}}function x(n,e,t){return e&&y(n.prototype,e),t&&y(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n}!function(n){function e(e){for(var a,r,l=e[0],c=e[1],p=e[2],m=0,d=[];m<l.length;m++)r=l[m],Object.prototype.hasOwnProperty.call(o,r)&&o[r]&&d.push(o[r][0]),o[r]=0;for(a in c)Object.prototype.hasOwnProperty.call(c,a)&&(n[a]=c[a]);for(s&&s(e);d.length;)d.shift()();return i.push.apply(i,p||[]),t()}function t(){for(var n,e=0;e<i.length;e++){for(var t=i[e],a=!0,l=1;l<t.length;l++){var c=t[l];0!==o[c]&&(a=!1)}a&&(i.splice(e--,1),n=r(r.s=t[0]))}return n}var a={},o={22:0},i=[];function r(e){if(a[e])return a[e].exports;var t=a[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,r),t.l=!0,t.exports}r.e=function(n){var e=[],t=o[n];if(0!==t)if(t)e.push(t[2]);else{var a=new Promise((function(e,a){t=o[n]=[e,a]}));e.push(t[2]=a);var i,l=document.createElement("script");l.charset="utf-8",l.timeout=120,r.nc&&l.setAttribute("nonce",r.nc),l.src=function(n){return r.p+""+({0:"common",1:"default~admin-module-ngfactory~client-module-ngfactory~components-av-av-module-ngfactory~components-~c4c50440",2:"default~admin-module-ngfactory~client-module-ngfactory~components-av-av-module-ngfactory~components-~edf01c4f",3:"default~admin-module-ngfactory~client-module-ngfactory~components-av-av-module-ngfactory~components-~ee252fa5",4:"default~admin-module-ngfactory~client-module-ngfactory~components-av-av-module-ngfactory~components-~9bae375f",5:"default~admin-module-ngfactory~client-module-ngfactory~components-av-av-module-ngfactory",6:"default~admin-module-ngfactory~client-module-ngfactory~components-login-login-module-ngfactory",7:"default~admin-module-ngfactory~client-module-ngfactory",8:"default~admin-module-ngfactory~components-av-av-module-ngfactory",9:"default~admin-module-ngfactory~components-email-email-module-ngfactory",10:"default~components-dashboard-dashboard-module-ngfactory~components-email-email-module-ngfactory",11:"default~components-reputation-reputation-module-ngfactory~reputation-reputation-module-ngfactory",12:"eula-eula-module-ngfactory",13:"features-disabled-features-disabled-module-ngfactory",14:"admin-module-ngfactory",15:"client-module-ngfactory",16:"components-av-av-module-ngfactory",17:"components-dashboard-dashboard-module-ngfactory",18:"components-email-email-module-ngfactory",19:"components-installation-installation-module-ngfactory",20:"components-login-login-module-ngfactory",21:"components-showcase-showcase-module-ngfactory",23:"module-ngfactory",27:"support-module-ngfactory",28:"topojson"}[n]||n)+"-es2015."+{0:"26f9be364fadb4d81267",1:"4fae26241f481c44200e",2:"7ad19f1d7d6e338cb89c",3:"74176fc253e2388409c4",4:"44c28aecfc2b0b3d0e74",5:"65159c09010f2dc9f01a",6:"34aa02e0bb6772979d71",7:"f0295e3fc58bcea22660",8:"974c92b69fd4918beb7f",9:"4f67fed1930e976b33e2",10:"8f4097a823cae71aaabf",11:"48ab38ffb9aec98ed390",12:"662bf067839a1b32efc8",13:"5513d22c4e183148a535",14:"f5c14b27e93e2e5c5ccf",15:"1a249148c509545685f1",16:"e68a8f36e5396c4a1e0c",17:"153a963b0a9cd2859d55",18:"1f41f6162798a7b8b47f",19:"5d29f7c62608ecff6508",20:"865b4e60a31404703b67",21:"e9ffdd88a5fc4d1b648c",23:"3ac0bc69c04ab1a8572e",27:"2e9f35562147787e4869",28:"71b5095888dd69077325",30:"cf9507475361d56aa9de",31:"380f2d439ed6017422f7",32:"94bcfc9b9937a168e6fd",33:"8b1b909711ed7a740291",34:"748b59de865bda9feca2",35:"31da97fcb0cb24485428",36:"60adc84c38bf0b6e629e",37:"fa21f821405e431014b0",38:"d5a8ac14ea01821287f1",39:"306b8c0f630ad582c5a6",40:"9218561c6bc678ef8bed"}[n]+".js"}(n);var c=new Error;i=function(e){l.onerror=l.onload=null,clearTimeout(p);var t=o[n];if(0!==t){if(t){var a=e&&("load"===e.type?"missing":e.type),i=e&&e.target&&e.target.src;c.message="Loading chunk "+n+" failed.\n("+a+": "+i+")",c.name="ChunkLoadError",c.type=a,c.request=i,t[1](c)}o[n]=void 0}};var p=setTimeout((function(){i({type:"timeout",target:l})}),12e4);l.onerror=l.onload=i,document.head.appendChild(l)}return Promise.all(e)},r.m=n,r.c=a,r.d=function(n,e,t){r.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:t})},r.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},r.t=function(n,e){if(1&e&&(n=r(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var a in n)r.d(t,a,(function(e){return n[e]}).bind(null,a));return t},r.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return r.d(e,"a",e),e},r.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},r.p="",r.oe=function(n){throw console.error(n),n};var l=window.webpackJsonpImunify360=window.webpackJsonpImunify360||[],c=l.push.bind(l);l.push=e,l=l.slice();for(var p=0;p<l.length;p++)e(l[p]);var s=c;i.push([0,29]),t()}({"+EUZ":function(n,e,t){"use strict";t.d(e,"a",(function(){return l}));var a=t("NTVj"),o=t("1xS/"),i=t("8Y7J"),r=t("UFdA"),l=function(){var n=function(){function n(e,t){b(this,n),this.injector=e,this.notifications=t}return x(n,[{key:"showResponseErrors",value:function(n){if("message"in n){var e=(new DOMParser).parseFromString(n.error,"text/html").body.innerText;"[object Object]"===e&&(console.log(n),e="System error"),this.notifications.error(o.c.for(e.trim()),"notifications.".concat(a.d.ERROR))}else if("messages"in n){var i={};try{var r=t("ec2V").LicenseService;i=this.injector.get(r).license}catch(s){}var l,c=f(n.messages);try{for(c.s();!(l=c.n()).done;){var p=l.value;this.notifications.error(p,"notifications.".concat(n.result),i)}}catch(m){c.e(m)}finally{c.f()}}}}]),n}();return n.\u0275prov=i.cc({factory:function(){return new n(i.dc(i.o),i.dc(r.a))},token:n,providedIn:"root"}),n}()},0:function(n,e,t){n.exports=t("iTwO")},"0cJr":function(n,e,t){"use strict";t.d(e,"a",(function(){return o}));var a=t("NTVj"),o=function(){var n=function(){function n(){b(this,n)}return x(n,null,[{key:"add",value:function(n){var e=n.type,t=n.files;return new a.c(["malware","ignore","add"],{resource_type:e,items:t})}},{key:"delete",value:function(n){return new a.c(["malware","ignore","delete-ui"],n)}}]),n}();return n.list=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new a.c(["malware","ignore","list"],n)},n}()},"1xS/":function(n,e,t){"use strict";t.d(e,"a",(function(){return d})),t.d(e,"c",(function(){return A})),t.d(e,"b",(function(){return g}));var a=t("TSSN"),o=t("pfGN"),i=t("KqfI"),r=t("wd/R"),l=t("1O3W"),c=t("9gLZ"),p=t("lJxs"),s=t("NlKi"),m=a.l.prototype.getParsedResult,d="panelLang",A=function(){function n(e){b(this,n),this.value=e}return x(n,[{key:"length",get:function(){return this.value.length}},{key:"toString",value:function(){return this.value}}],[{key:"for",value:function(n){return new this(n||"")}}]),n}(),f=[/^One or more domains provided do not exist.*/,/^malware\.onDemand\.status.*/,/Path .* should be absolute/,/^IP [0-9a-fA-F\.\/\:]* is already in [A-Z]* list/,/^Country [A-F]* is already in [A-Z]* list/,/^[0-9]*\/[0-9]* ip\(s\) were successfully deleted/,/has host bits set$/,/^Noop: /,/^Authentication failed/,/^User name not found/,/^Feature '[a-zA-Z]*' is disabled for user/,/^\[Errno 104\] Connection reset by peer$/,/^Kernel is unsupported/,/^Can't delete KernelCare, because it's not installed$/,/^Request timeout$/,/^Empty response from socket$/,/^Request processing error$/,/^Licenses limit exceeded$/,/^On-demand scan is already running$/,/Too many open files/,/Connection refused$/,/^400 Client Error: BAD REQUEST for url/];a.l.prototype.getParsedResult=function(n,e,t){if(e instanceof A)return e.value;var a=m.call(this,n,e,t);if(a===e&&!f.some((function(n){return n.test(e)}))){var o={reason:"Can not find translation",key:e,interpolateParams:t};console.error(o),s.captureException(new Error(JSON.stringify(o)))}return a};var g=function(){function n(e,t,a){var o=this;b(this,n),this.translate=e,this.panel=t,this.document=a,this.langs=[{code:"en",moment:"en",name:"English"},{code:"es",moment:"es",name:"Espa\xf1ol"},{code:"ru",moment:"ru",name:"\u0420\u0443\u0441\u0441\u043a\u0438\u0439"},{code:"ja",moment:"ja",name:"\u65e5\u672c\u8a9e"},{code:"de",moment:"de",name:"Deutsch"},{code:"fr",moment:"fr",name:"Fran\xe7ais"},{code:"it",moment:"it",name:"Italiano"},{code:"nl",moment:"nl",name:"Nederlands"},{code:"pt",moment:"pt",name:"Portugu\xeas"},{code:"tr",moment:"tr",name:"T\xfcrk\xe7e"},{code:"zh-cn",moment:"zh-cn",name:"\u7b80\u4f53\u4e2d\u6587"}],this.rtlLangs=[],this.html=this.document.querySelector("html"),this.dirContainer=this.html.getElementsByClassName("i360-app")[0],this.panelLang=this.panel.getLang(this.document),this.initLanguages();var r,s=l.c.prototype.create;Object.defineProperty(c.b.prototype,"value",{get:function(){return r},set:i.a,configurable:!0}),Object.defineProperty(c.b.prototype,"change",{get:function(){return m},set:i.a,configurable:!0});var m=e.onLangChange.pipe(Object(p.a)((function(n){var e=n.lang;return o.getDir(e)})));m.subscribe((function(n){return r=n})),l.c.prototype.create=function(n){var e=s.call(this,n);return Object.defineProperty(e._config,"direction",{get:function(){return r},set:i.a}),e},this.translate.onLangChange.subscribe((function(n){var e=n.lang;return o.setMomentLocale(e)})),this.translate.onDefaultLangChange.subscribe((function(){return o.setMomentLocale(o.currentLang)}))}return x(n,[{key:"getDir",value:function(n){return this.rtlLangs.includes(n)?"rtl":"ltr"}},{key:"use",value:function(n){localStorage.setItem(o.a,n),this.logicalLang=n,n!==d&&n||(n=this.panelLang),this.currentLang=this.getAppropriateLang(n,this.langs.map((function(n){return n.code})),"en"),this.translate.use(this.currentLang),this.ensureRtl(this.currentLang)}},{key:"setMomentLocale",value:function(n){var e=this.langs.find((function(e){return e.code===n}));n=e?e.moment:n,r.locale(n)}},{key:"t",value:function(n,e){return this.translate.get(n,e).toPromise()}},{key:"stream",value:function(n,e){return this.translate.stream(n,e)}},{key:"getAppropriateLang",value:function(n,e,t){if(e.includes(n))return n;var a=u(n.split("-"),2),o=a[0];return a[1]&&e.includes(o)?o:t}},{key:"initLanguages",value:function(){var n=localStorage.getItem(o.a)||"";this.translate.addLangs(this.langs.map((function(n){return n.code}))),this.translate.setDefaultLang("en"),this.use(n)}},{key:"ensureRtl",value:function(n){if(this.html){var e=this.getDir(n);this.html.classList.remove("rtl","ltr"),this.html.classList.add(e),this.dirContainer&&(this.dirContainer.dir=e)}}}]),n}()},"2w7I":function(n,e,t){"use strict";t.d(e,"a",(function(){return d}));var a=t("wK6y"),o=t("k6vQ"),i=t("l5pG"),r=t("HGZ0"),l=t("UhBF"),c=function(n){return Math.floor(Math.random()*n+1)},p=function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"day",t={hour:3600,"6h":21600,day:86400}[e],a=Math.round(Date.now()/1e3);return A(Array.apply(void 0,A(Array("hour"===e?25:31))).map((function(e,o){return[a-o*t,c(n)]}))).reverse()},s=function(n){for(var e=c(30),t=[],a=0;a<e;a++)t.push([l.a.codes[c(246)],c(n)]);return t},m=Object.assign(Object.assign({},a.a),{items:[{severity:5,id:68,name:"Possible attack on the cpanel services",rule:"11001",description:'[2016-12-05 08:21:10 -0500] info [cpsrvd] 192.168.123.123 - root "POST /cgi/imunify360/handlers/sendRequest.cgi HTTP/1.1" FAILED LOGIN whostmgrd: cookie ip check: IP address has changed',times:2,abuser:null,timestamp:1480944074.4472556,listname:null,purpose:null,plugin:o.c.ossec,country:null,domain:null},{severity:5,id:68,name:"Possible attack on the cpanel services",rule:"11001",description:'[2016-12-05 08:21:10 -0500] info [cpsrvd] 192.168.123.123 - root "POST /cgi/imunify360/handlers/sendRequest.cgi HTTP/1.1" FAILED LOGIN whostmgrd: cookie ip check: IP address has changed',times:2,abuser:"1234:5678:9abc:def0::",timestamp:1480944074.4472556,purpose:null,listname:null,domain:"test2.com",plugin:o.c.modsec,country:{name:"United States of America",code:"US"}},{severity:4,id:14,name:"First time user executed sudo.",rule:"5403",description:"Dec  5 07:46:40 centos7-x64 sudo:    root : TTY=pts/1 ; PWD=/root ; USER=root ; COMMAND=/bin/bash -l",times:1,abuser:"1234:5678:9abc::",timestamp:1480942002.3256857,purpose:i.a.captcha,listname:i.a.captcha,plugin:o.c.ossec,country:{name:"Albania",code:"AL"},domain:null},{severity:4,id:14,name:"First time user executed sudo.",rule:"5403",description:"Dec  5 07:46:40 centos7-x64 sudo:    root : TTY=pts/1 ; PWD=/root ; USER=root ; COMMAND=/bin/bash -l",times:1,abuser:"1::",timestamp:1480942002.3256857,purpose:i.a.captcha,listname:i.a.captcha,plugin:o.c.ossec,country:{name:"United States",code:"US"},domain:null},{severity:7,id:11,name:"New Yum package installed.",rule:"2932",description:"Dec  5 07:33:16 centos7-x64 yum[6291]: Installed: 2:nodejs-6.9.1-1nodesource.el7.centos.x86_64",times:1,abuser:"101.1.1.3",timestamp:1480941200.7609231,purpose:i.a.drop,listname:i.a.drop,plugin:o.c.ossec,country:{name:"Brazil",code:"BR"},domain:null},{severity:4,id:1,name:"First time user logged in.",rule:"10100",description:"Dec  5 07:20:47 centos7-x64 sshd[4834]: Accepted publickey for root from",times:1,abuser:"10.101.1.5",timestamp:1480940450.2248483,purpose:i.a.white,listname:i.a.white,plugin:o.c.ossec,country:{name:"Ukraine",code:"UA"},domain:null},{severity:4,id:1,name:"First time user logged in.",rule:"10100",description:"Dec  5 07:20:47 centos7-x64 sshd[4834]: Accepted publickey for root from",times:1,abuser:"10.101.1.6",timestamp:1480940450.2248483,purpose:null,listname:null,plugin:o.c.ossec,country:{name:"Ukraine",code:"UA"},domain:null},{severity:4,id:1,name:"First time user logged in.",rule:"10100",description:"Dec  5 07:20:47 centos7-x64 sshd[4834]: Accepted publickey for root from",times:1,abuser:"10.101.1.6",timestamp:1480940450.2248483,purpose:null,listname:null,plugin:o.c.ossec,country:{},domain:null},{severity:null,id:1,name:"name",rule:null,description:"desc",times:1,abuser:null,timestamp:123,purpose:null,listname:null,plugin:o.c.cl_dos,domain:null,country:null}],max_count:26}),d={get errorAddServerId(){return Object.assign(Object.assign({},this.serverIds),{errors:[{server_id:"SSqqqqqqqqqqqqqq",msg:"qwerty"}]})},settingsAdvices:{result:[{type:"the_type",snoozed_until:0,popup:!0,dashboard:!1,description:"",severity:0,link_text:"",link:"",popup_title:'Turn on "Rapid Scan"',popup_description:"Improves the speed of repeated scans by up to 20x times",config_action:{MALWARE_SCANNING:{rapid_scan:!0}},ignore:{MALWARE_SCANNING:{rapid_scan:[!0]}}}]},noAdvices:{result:[]},advices:{result:[{type:"type1",snoozed_until:1594326014,dashboard:!0,popup:!0,popup_title:'"Background Malware Scan" to "Once a week"',popup_description:"Minimize the time of new malicious...",config_action:{MALWARE_SCAN_SCHEDULE:{interval:"week",day_of_month:0}},ignore:{WEBSHIELD:{enable:[!1]}}},{type:"type2",snoozed_until:1594326014,dashboard:!0,popup:!0,popup_title:"Malware Scan 2",popup_description:"description 2",config_action:{MALWARE_SCAN_SCHEDULE:{hour:3}},ignore:{MALWARE_SCAN_SCHEDULE:{hour:[2]}}},{type:"type3",snoozed_until:1594326014,dashboard:!0,popup:!0,popup_title:"Malware Scan 3",popup_description:"description 3",config_action:{MALWARE_SCAN_SCHEDULE:{hour:3}},ignore:{MALWARE_SCAN_SCHEDULE:{hour:[2]}},description:"It is recommended to set a background scan to weekly or daily.",severity:2,link_text:"Check Imunify360 settings.",link:"https://docs.imunify360.com/dashboard/#background-scanning"}]},serverIds:{result:[{server_id:"123",ip:"ip",nodename:"domain1"},{server_id:"server_id2",ip:"ip",nodename:"domain2"},{server_id:"server_id3",ip:"ip",nodename:"domain3"},{server_id:"SSqqqqqqqqqqqqq2",ip:"ip",nodename:null},{server_id:"server_id5",ip:null,nodename:null}],error:[]},serverIdsWithIdenticalDomains:{result:[{server_id:"id1",ip:"ip",nodename:"domain1"},{server_id:"id2",ip:"ip",nodename:"domain1"}]},get histogram(){return this.histogramGrouped("day")},histogramGrouped:function(n){return{ossec_alerts:p(100,n),waf_alerts:p(300,n),bruteforce_attacks:p(600,n),captcha_blocked:p(1e3,n),num_of_alerts:p(800,n),denied_bot_attacks:p(300,n),num_of_mrs:p(50,n),num_of_cleanups:p(50,n),ham:p(50,n),spam:p(50,n)}},get noDataFound(){return Object.keys(r.a).reduce((function(n,e){return n[e]=[],n}),{})},heatmap:{ossec_alerts:s(100),waf_alerts:s(300),bruteforce_attacks:s(600),captcha_blocked:s(1e3),num_of_alerts:s(800),denied_bot_attacks:s(300),num_of_mrs:s(50),num_of_cleanups:s(50)},incidents:{data:m},get recommendations(){return{result:[{link:"link",link_text:"str2",description:"description",parameters:[{1:20},{2:30}],severity:3,date:1556280915,type:20,id:10,server_id:"server_id5",ts:1556280915.8048308},{link:"link",link_text:"domain2link1",description:"domain2descr1",parameters:[{1:20},{2:30}],severity:2,date:1556280915,type:20,id:10,server_id:"server_id2",ts:1556280915.3432958},{link:"link",link_text:"str2",description:"description",parameters:[{1:20},{2:30}],severity:2,date:1556280914,type:20,id:10,server_id:"SSqqqqqqqqqqqqq2",ts:1556280914.9061892},{link:"link",link_text:"str2",description:"description",parameters:[{1:20},{2:30}],severity:1,date:1556280914,type:20,id:10,server_id:"server_id3",ts:1556280914.4573584},{link:"link",link_text:"str2",description:"description",parameters:[{1:20},{2:30}],severity:1,date:1556280708,type:20,id:10,server_id:"server_id3",ts:1556280708.8022974},{link:"link",link_text:"domain2link2",description:"domain2descr2",parameters:[{1:20},{2:30}],severity:2,date:1556280708,type:20,id:10,server_id:"server_id2",ts:1556280708.3060849},{link:"link",link_text:"str3",description:"description3",parameters:[{1:20},{2:30}],severity:1,date:1556280707,type:20,id:10,server_id:"123",ts:1556280707.727882},{link:null,link_text:null,description:"description2",parameters:[{1:20},{2:30}],severity:2,date:1556380706,type:20,id:10,server_id:"123",ts:1556280707.1226282},{link:"link",link_text:"str1",description:"description1",parameters:[{1:20},{2:30}],severity:3,date:1556180706,type:20,id:10,server_id:"123",ts:1556280707.1226282}]}}}},"44ck":function(n,e,t){"use strict";t.d(e,"a",(function(){return o})),t.d(e,"e",(function(){return i})),t.d(e,"c",(function(){return r})),t.d(e,"d",(function(){return l})),t.d(e,"b",(function(){return c}));var a=t("EjHT"),o=Object(a.a)(".3~s");function i(n){return n?n.split("").reduce((function(n,e){return(n<<5)+n+e.charCodeAt(0)}),0):0}function r(n,e){return n&&n[e]&&void 0!==n[e]&&(n[e]||[]).length?n[e]:null}function l(){var n;return(null===(n=(new Error).stack)||void 0===n?void 0:n.split("\n")[3].trim().split(" ")[2])||""}function c(n,e){return Object.fromEntries(Object.entries(n).filter(e))}},"58Vl":function(n,e,t){"use strict";t.d(e,"a",(function(){return a}));var a=function(n){return!1}},"7IRw":function(n,e,t){"use strict";t.d(e,"a",(function(){return o})),t.d(e,"b",(function(){return i}));var a=t("rPa8"),o=function(n){return n.notify="notify",n.cleanup="cleanup",n}({}),i=function(n){return{try_restore_from_backup_first:n.control(!1),default_action:n.control({value:null,allowedValues:[{value:o.notify,title:"settings.malware.general.defaultAction.options.notify",experimental:!1,removed:!1},{value:o.cleanup,title:"settings.malware.general.defaultAction.options.cleanup",experimental:!1,removed:!1}]},a.a.required("default_action"))}}},"7whn":function(n,e,t){"use strict";t.d(e,"a",(function(){return a}));var a=function(){var n=x((function n(){b(this,n)}));return n.start=function(){return{command:"installation",method:["start"],params:{}}},n.status=function(n){return{command:"installation",method:["status"],params:{offset:n.offset,limit:n.limit}}},n}()},"8YbO":function(n,e,t){"use strict";t.d(e,"a",(function(){return i}));var a=t("1xS/"),o=t("TSSN"),i=function(){function n(){b(this,n)}return x(n,null,[{key:"forRoot",value:function(){return{ngModule:n,providers:[a.b,o.l]}}}]),n}()},Au5I:function(n,e,t){"use strict";t.d(e,"a",(function(){return o})),t.d(e,"e",(function(){return i})),t.d(e,"b",(function(){return r})),t.d(e,"c",(function(){return l})),t.d(e,"d",(function(){return c}));var a=t("NTVj"),o=function(n){return n.full="full",n.na="na",n}({}),i=function(n){return n.full="full",n.na="na",n.report="report",n}({}),r=function(n){return n.av="av",n.proactive="proactive",n}({}),l=function(){var n=function(){function n(){b(this,n)}return x(n,null,[{key:"editDefaultFeature",value:function(n){var e=n.action,t=n.feature;return new a.c(["feature-management",e],{feature:t})}},{key:"defaults",value:function(){return new a.c(["feature-management","defaults"])}},{key:"clientFeatures",value:function(){return new a.c(["feature-management","get"])}}]),n}();return n.allowed=function(){return new a.c(["feature-management","list"])},n.nativeStatus=function(){return new a.c(["feature-management","native","status"])},n.nativeEnable=function(){return new a.c(["feature-management","native","enable"])},n.list=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new a.c(["feature-management","show"],n)},n.editUserFeatures=function(n){var e=n.action,t=n.feature,o=n.items;return new a.c(["feature-management",e],{users:o,feature:t})},n}(),c=x((function n(e){var t=e.name,a=e.domains,o=e.features;b(this,n),this.name=t,this.domains=a,this.proactive=o.proactive,this.av=o.av}))},"CMo/":function(n,e,t){"use strict";t.d(e,"b",(function(){return o})),t.d(e,"a",(function(){return i})),t.d(e,"d",(function(){return r})),t.d(e,"c",(function(){return l}));var a=t("NTVj"),o=function(n){return n.running="running",n.queued="queued",n.stopped="stopped",n}({}),i=function(n){return n.running="running",n.stopped="stopped",n}({}),r=x((function n(e){b(this,n),this.home=e.home,this.user=e.user,this.infected=e.infected,this.scan_id=e.scan_id,this.scan_status=e.scan_status,this.scan_date=e.scan_date,this.cleanup_status=e.cleanup_status,this.infected_db=e.infected_db,this.scan_type=e.scan_type,this.scanAvailable=![o.running,o.queued].includes(this.scan_status)&&this.cleanup_status!==i.running,this.stopAvailable=!this.scanAvailable&&this.cleanup_status!==i.running,this.cleanAvailable=(this.infected>0||this.infected_db>0)&&this.cleanup_status!==i.running,this.restoreAvailable=this.cleanup_status===i.stopped,this.reportAvailable=!!this.cleanup_status||this.infected>0||this.infected_db>0})),l=function(){var n=function(){function n(){b(this,n)}return x(n,null,[{key:"scanAll",value:function(n){return new a.c(["malware","user","scan"],n)}}]),n}();return n.list=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new a.c(["malware","user","list"],n)},n}()},"Ea/k":function(n,e,t){"use strict";t.d(e,"b",(function(){return o})),t.d(e,"c",(function(){return i})),t.d(e,"a",(function(){return r})),t.d(e,"d",(function(){return l}));var a=t("NTVj"),o=function(n){return n.FULL="FULL",n.MINIMAL="MINIMAL",n}({}),i=function(n){return n.none="none",n.day="day",n.week="week",n.month="month",n}({}),r=function(n){return n.allow="ALLOW",n.deny="DENY",n}({}),l=function(){var n=function(){function n(){b(this,n)}return x(n,null,[{key:"show",value:function(){return new a.c(["config","show"])}},{key:"save",value:function(n){return new a.c(["config","update-ui"],{data:n})}}]),n}();return n.conflicts=function(){return new a.c(["3rdparty","conflicts"])},n}()},FFKa:function(n,e,t){"use strict";t.d(e,"a",(function(){return i}));var a=t("KVRz"),o=["".concat(a.b,"ab-view"),"".concat(a.b,"ab-event")],i=function(n,e,t){var a=t.value;return t.value=function(n,e){return"POST"!==n.method||o.includes(n.url)?e.handle(n):a.apply(this,[n,e])},t}},FO1w:function(n,e,t){"use strict";t.d(e,"a",(function(){return o})),t.d(e,"b",(function(){return i}));var a=t("NTVj"),o=function(n){return n.error="error",n.installed="installed",n.installing="installing",n.removing="removing",n.not_supported_by_cl_solo="not-supported-by-cl-solo",n.not_installed="not_installed",n.managed_by_lve="managed_by_lve",n.detecting="detecting",n}({}),i=function(){function n(){b(this,n)}return x(n,null,[{key:"status",value:function(n){return new a.c(["features","status"],{name:n})}},{key:"action",value:function(n){var e=n.action,t=n.name;return new a.c(["features",e],{name:t})}}]),n}()},GXvc:function(n,e,t){"use strict";t.d(e,"a",(function(){return o}));var a=t("NTVj"),o=function(){function n(){b(this,n)}return x(n,null,[{key:"send",value:function(n){return new a.c(["support","send"],n)}}]),n}()},HASI:function(n,e,t){"use strict";t.r(e),t.d(e,"assetsPath",(function(){return o}));var a=t("qo03"),o="".concat("undefined"==typeof adminAssets?"":"undefined"!=typeof i360role&&i360role===a.b.admin?adminAssets:clientAssets).concat("undefined"==typeof staticPath?"static/":staticPath)},HGZ0:function(n,e,t){"use strict";t.d(e,"a",(function(){return a}));var a=function(n){return n.num_of_alerts="num_of_alerts",n.num_of_mrs="num_of_mrs",n.num_of_cleanups="num_of_cleanups",n.captcha_blocked="captcha_blocked",n.waf_alerts="waf_alerts",n.bruteforce_attacks="bruteforce_attacks",n.ossec_alerts="ossec_alerts",n.denied_bot_attacks="denied_bot_attacks",n.spam_ham="spam_ham",n.ham="ham",n.spam="spam",n}({})},"JI/v":function(n,e,t){"use strict";t.d(e,"a",(function(){return l}));var a=t("z6cu"),o=t("8Y7J"),i=t("UFdA");function r(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return JSON.stringify(this,(function(e,t){try{return JSON.stringify(t),t}catch(e){if(n>=3)return"Circular";var a={};return Object.keys(t).forEach((function(e){a[e]=r.call(t[e],n+1)})),a}}))}var l=function(){var n=function(){function n(e,t){b(this,n),this.injector=e,this.notifications=t}return x(n,[{key:"_throw",value:function(n){return function(n){Object.defineProperty(n,"toString",{value:r,enumerable:!1})}(n),Object(a.a)(n)}}]),n}();return n.\u0275prov=o.cc({factory:function(){return new n(o.dc(o.o),o.dc(i.a))},token:n,providedIn:"root"}),n}()},KVRz:function(n,e,t){"use strict";t.d(e,"b",(function(){return a})),t.d(e,"a",(function(){return o}));var a="https://api.imunify360.com/api/",o=void 0},MHfa:function(n,e,t){"use strict";var a;t.d(e,"b",(function(){return i})),t.d(e,"f",(function(){return r})),t.d(e,"d",(function(){return l})),t.d(e,"e",(function(){return c})),t.d(e,"c",(function(){return s})),t.d(e,"a",(function(){return m}));var o=t("NTVj"),i=function(){var n=x((function n(){b(this,n)}));return n.register=function(n){return new o.c(["register"],{regkey:n})},n.unregister=function(){return new o.c(["unregister"])},n.version=function(){return new o.c(["version"])},n.rstatus=function(){return new o.c(["rstatus"])},n}(),r=function(n){return n[n.imunifyAV=0]="imunifyAV",n[n.imunifyAVPlus=1]="imunifyAVPlus",n[n.imunify360=2]="imunify360",n}({}),l=function(n){return n.imunifyAV="imunifyAV",n.imunifyAVPlus="imunifyAVPlus",n.imunify360Trial="imunify360Trial",n.imunify360="imunify360",n}({}),c=function(n){return n.imunifyAV="AV",n.imunify360="360",n}({}),p=(d(a={},r.imunifyAV,"ImunifyAV"),d(a,r.imunifyAVPlus,"ImunifyAV+"),d(a,r.imunify360,"Imunify360"),a),s=[1,30,250],m=function(){function n(e){b(this,n),this.product=r.imunifyAV,this.message="",this.ip_license=!1,Object.assign(this,e),this.redirect_url=e.redirect_url||"",this.product=this.getProduct(),this.productName=p[this.product]}return x(n,[{key:"cleanupAllowed",get:function(){return this.product===r.imunify360||this.product===r.imunifyAVPlus&&this.status}},{key:"upgradeAvailable",get:function(){return this.product<r.imunify360&&this.license_type!==l.imunify360}},{key:"isFailed",value:function(){return"AV"===c.imunify360&&!this.status}},{key:"hasMessage",value:function(){return!!this.message}},{key:"isLimitExceeded",value:function(){return null!=this.user_count&&this.user_count>this.user_limit}},{key:"getProduct",value:function(){switch("AV"){case c.imunify360:return r.imunify360;case c.imunifyAV:return this.license_type&&this.license_type!==l.imunifyAV?r.imunifyAVPlus:r.imunifyAV;default:throw new Error("Unknown package AV")}}}]),n}()},MWht:function(n,e,t){"use strict";var a,o;t.d(e,"a",(function(){return r})),t.d(e,"c",(function(){return l})),t.d(e,"b",(function(){return s}));var i=t("NTVj"),r=function(){var n=x((function n(){b(this,n)}));return n.checkDomains=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new i.c(["check-domains"],n)},n.infectedDomains=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new i.c(["infected-domains"],n)},n}(),l=function(n){return n.google="google-safe-browsing",n.spamhaus="spamhaus",n.yandex="yandex-safe-browsing",n.phishtank="phishtank",n.openphish="openphish",n}({}),c=(d(a={},l.google,"https://developers.google.com/safe-browsing/"),d(a,l.yandex,"https://tech.yandex.ru/safebrowsing/"),d(a,l.spamhaus,"https://www.spamhaus.org/"),d(a,l.phishtank,"https://www.phishtank.com/"),d(a,l.openphish,"https://openphish.com/"),a),p=(d(o={},l.google,"Google"),d(o,l.yandex,"Yandex"),d(o,l.spamhaus,"Spamhaus"),d(o,l.phishtank,"PhishTank"),d(o,l.openphish,"OpenPhish"),o),s=x((function n(e){b(this,n),this.username=e.username,this.domain=e.domain,this.threats=e.threats.map((function(n){return{vendor:p[n.vendor],timestamp:1e3*n.timestamp,type:n.type||"THREAT_TYPE_UNSPECIFIED",link:c[n.vendor]}}))}))},NTVj:function(n,e,t){"use strict";t.d(e,"c",(function(){return a})),t.d(e,"b",(function(){return o})),t.d(e,"d",(function(){return r})),t.d(e,"a",(function(){return c}));var a=function(){function n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),this.method=e,this.params=t}return x(n,[{key:"toString",value:function(){return JSON.stringify(this)}}]),n}(),o=function(n){i(t,n);var e=l(t);function t(n){var a,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return b(this,t),(a=e.call(this,o,i)).command=n,a.method=o,a.params=i,a}return x(t)}(a),r=function(n){return n.ERROR="error",n.WARNING="warnings",n.SUCCESS="success",n}({}),c=function(n){return n.OK="running",n.INSTALLING="installing",n.NOT_INSTALLED="not_installed",n.FAILED_TO_INSTALL="failed_to_install",n.STOPPED="stopped",n}({})},NueE:function(n,e,t){"use strict";t.d(e,"a",(function(){return r}));var a=t("7whn"),o=t("8Y7J"),i=t("j3fA"),r=function(){var n=x((function n(e){b(this,n),this.xhr=e,this.status=this.xhr.rx(a.a.status),this.start=this.xhr.request(a.a.start)}));return n.\u0275prov=o.cc({factory:function(){return new n(o.dc(i.a))},token:n,providedIn:"root"}),n}()},NxQh:function(n,e,t){var a={"./de.i18n.txt":["Tj6d",30],"./en.i18n.txt":["2cYC",40],"./es.i18n.txt":["SRhA",31],"./fr.i18n.txt":["WcF+",32],"./it.i18n.txt":["AZpl",33],"./ja.i18n.txt":["AQWp",34],"./nl.i18n.txt":["FHlH",35],"./pt.i18n.txt":["X2CL",36],"./ru.i18n.txt":["d+gH",37],"./tr.i18n.txt":["DQ/Q",38],"./zh-cn.i18n.txt":["WQG/",39]};function o(n){if(!t.o(a,n))return Promise.resolve().then((function(){var e=new Error("Cannot find module '"+n+"'");throw e.code="MODULE_NOT_FOUND",e}));var e=a[n],o=e[0];return t.e(e[1]).then((function(){return t.t(o,7)}))}o.keys=function(){return Object.keys(a)},o.id="NxQh",n.exports=o},OAOQ:function(n,e,t){"use strict";t.d(e,"a",(function(){return i})),t.d(e,"b",(function(){return r})),t.d(e,"c",(function(){return l}));var a=t("NTVj"),o=t("gXNf"),i=function(){var n=function(){function n(){b(this,n)}return x(n,null,[{key:"cleanupAll",value:function(){return new a.c(["malware","malicious","cleanup-all"])}},{key:"action",value:function(n){var e=n.action,t=n.items,o=n.params,i=void 0===o?{}:o;return new a.c(["malware","malicious",e],Object.assign({items:t.map((function(n){return n.id}))},i))}}]),n}();return n.list=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new a.c(["malware","malicious","list"],n)},n}(),r=function(n){return n.cleanup_started="cleanup_started",n.cleanup_done="cleanup_done",n.cleanup_removed="cleanup_removed",n.quarantined="quarantined",n.restore_from_backup_started="restore_from_backup_started",n.cleanup_restore_started="cleanup_restore_started",n.cleanup_pending="cleanup_pending",n.found="found",n}({}),l=x((function n(e){b(this,n),this.canExpand=!0,this.id=e.id,this.username=e.username,this.resource_type=e.resource_type,e.resource_type===o.d.db&&(this.app_name=e.app_name,this.db_host=e.db_host,this.db_port=e.db_port,this.db_name=e.db_name),this.file=e.file,this.created=e.created,this.type=e.type,this.status=e.status,this.scan_type=e.scan_type,this.cleaned_at=e.cleaned_at}))},Owoi:function(n,e,t){"use strict";t.d(e,"b",(function(){return o})),t.d(e,"a",(function(){return i}));var a=t("NTVj"),o="INVALID_TOKEN",i=function(){function n(){b(this,n)}return x(n,null,[{key:"login",value:function(n){return new a.c(["login","pam"],n)}},{key:"get",value:function(n){return new a.c(["login","get"],n)}}]),n}()},Q3PY:function(n,e,t){"use strict";t.d(e,"b",(function(){return o})),t.d(e,"a",(function(){return r}));var o="noSentryErrorMessage",r=function(n){i(t,n);var e=l(t);function t(){var n;return b(this,t),(n=e.call(this,o)).noSentry=!0,Object.setPrototypeOf(p(n),t.prototype),n}return x(t)}(a(Error))},RmnG:function(n,e,t){"use strict";t.d(e,"a",(function(){return i})),t.d(e,"e",(function(){return r})),t.d(e,"c",(function(){return l})),t.d(e,"d",(function(){return c})),t.d(e,"b",(function(){return p}));var a=t("NTVj"),o=t("l5pG"),i=function(n){return n.disabled="DISABLED",n.log="LOG",n.kill="KILL",n.block="BLOCK",n}({}),r=x((function n(e){b(this,n),this.id=e.id,this.timestamp=e.timestamp,this.rule_id=e.rule_id,this.rule_name=e.rule_name,this.path=e.path,this.count=e.count,this.host=e.host,this.ip=e.ip,this.action=e.action,this.purpose=e.purpose?Object(o.e)(e.purpose):null,this.listname=Object(o.e)(e.listname)})),l=x((function n(e){var t=e.id,a=e.timestamp,i=e.rule_id,r=e.rule_name,l=e.description,c=e.path,p=e.url,s=e.ip,m=e.country,d=e.count,A=e.env,f=e.action,g=e.listname,h=e.purpose;b(this,n),this.id=t,this.timestamp=a,this.rule_id=i,this.rule_name=r,this.description=l,this.path=c,this.url=p,this.ip=s,this.country=m,this.count=d,this.listname=Object(o.e)(g),this.purpose=h?Object(o.e)(h):null,this.action=f,this.env=Object.entries(A).map((function(n){var e=u(n,2);return{name:e[0],value:e[1]}}))})),c=x((function n(e){b(this,n),this.path=e.path,this.timestamp=e.timestamp,this.rules=e.rules})),p=function(){var n=function(){function n(){b(this,n)}return x(n,null,[{key:"ignoreList",value:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new a.c(["proactive","ignore","list"],n)}}]),n}();return n.list=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new a.c(["proactive","list"],n)},n.details=function(n){return new a.c(["proactive","details"],{id:n})},n.ignoreAdd=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{items:[]};return new a.c(["proactive","ignore","addmany"],n)},n.ignoreDeletePaths=function(n){return new a.c(["proactive","ignore","delete","path"],n)},n.ignoreDeleteRule=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new a.c(["proactive","ignore","delete","rule"],n)},n}()},UFdA:function(n,e,a){"use strict";a.d(e,"a",(function(){return l}));var o=a("mrSG"),i=a("8Y7J"),r=a("1xS/"),l=function(){var n=function(){function n(e){b(this,n),this.translate=e,this.notifications=[]}return x(n,[{key:"success",value:function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,t=arguments.length>2?arguments[2]:void 0;return this.add(e||"notifications.success",n,"success",t)}},{key:"error",value:function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,t=arguments.length>2?arguments[2]:void 0;return this.add(e||"notifications.error",n,"error",t)}},{key:"warning",value:function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,t=arguments.length>2?arguments[2]:void 0;return this.error(n,e||"notifications.warning",t)}},{key:"remove",value:function(n){var e=this;this.notifications=this.notifications.filter((function(t){return!e.equal(t,n)}))}},{key:"add",value:function(n,e,a,i){return Object(o.a)(this,void 0,void 0,t().mark((function o(){var r,l,p,s;return t().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=c,t.next=3,this.translate.t(n,i);case 3:return t.t1=t.sent,t.next=6,this.translate.t(e,i);case 6:t.t2=t.sent,t.t3=a,t.t4={title:t.t1,content:t.t2,type:t.t3},r=new t.t0(t.t4),l=f(this.notifications),t.prev=11,l.s();case 13:if((p=l.n()).done){t.next=19;break}if(s=p.value,!this.equal(s,r)){t.next=17;break}return t.abrupt("return",(s.counter++,void(s.ticks=0)));case 17:t.next=13;break;case 19:t.next=24;break;case 21:t.prev=21,t.t5=t.catch(11),l.e(t.t5);case 24:return t.prev=24,l.f(),t.finish(24);case 27:r.counter=1,this.notifications.push(r);case 28:case"end":return t.stop()}}),o,this,[[11,21,24,27]])})))}},{key:"equal",value:function(n,e){return n.type===e.type&&n.title===e.title&&n.content===e.content}}]),n}();return n.\u0275prov=i.cc({factory:function(){return new n(i.dc(r.b))},token:n,providedIn:"root"}),n}(),c=x((function n(e){b(this,n),this.counter=0,this.ticks=0,this.type=e.type,this.title=e.title,this.content=e.content}))},UhBF:function(n,e,a){"use strict";a.d(e,"a",(function(){return s}));var o=a("mrSG"),i=a("2Vo4"),r=a("LRne"),l=a("SpAZ"),c=a("SxV6"),p=a("lJxs"),s=function(){var n=function(){function n(e){var t=this;b(this,n),this.translate=e,this.loaded=new i.a(!1),this.countries={},this.langChangeSubscription=this.translate.translate.onLangChange.subscribe((function(n){t.init()}));var a,o=f(n.codes);try{for(o.s();!(a=o.n()).done;){var r=a.value;this.countries[r]="country.".concat(r)}}catch(l){o.e(l)}finally{o.f()}this.init()}return x(n,[{key:"init",value:function(){return Object(o.a)(this,void 0,void 0,t().mark((function n(){var e,a,o,i,r,l;return t().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:e={},a=0,o=Object.entries(this.countries);case 2:if(!(a<o.length)){n.next=10;break}return i=u(o[a],2),r=i[0],l=i[1],n.next=6,this.translate.t(l);case 6:e[r]=n.sent;case 7:a++,n.next=2;break;case 10:this.countriesTranslated=e,this.loaded.next(!0);case 11:case"end":return n.stop()}}),n,this)})))}},{key:"ngOnDestroy",value:function(){this.langChangeSubscription.unsubscribe()}},{key:"searchCountryCodeByName",value:function(n){for(var e=0,t=Object.entries(this.countriesTranslated);e<t.length;e++){var a=u(t[e],2),o=a[0];if(a[1].toLowerCase()===n.toLowerCase())return o}return""}},{key:"getCountryNameByCode",value:function(n){return this.countriesTranslated[n]||""}},{key:"validator",value:function(n){var e=this,t=Object(r.a)({country:{}}),a=Object(r.a)({required:{what:"country"}}),o=Object(r.a)(null),i=function(n){return e.searchCountryCodeByName(n)?o:t};return function(t){var r=t.value;return r?e.loaded.getValue()?i(r):e.loaded.pipe(Object(c.a)(l.a),Object(p.a)((function(){return i(r)}))):n?a:o}}},{key:"translateCountryInUrl",value:function(n){return Object(o.a)(this,void 0,void 0,t().mark((function e(){var a;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a="",e.t0=this.countriesTranslated&&n&&this.getCountryNameByCode(n),!e.t0){e.next=6;break}return e.next=5,this.translate.t("country.".concat(n));case 5:a=e.sent;case 6:return e.abrupt("return",a);case 7:case"end":return e.stop()}}),e,this)})))}},{key:"getCountryCode",value:function(n){var e=this;return n=n.toLowerCase(),Object.keys(this.countriesTranslated).find((function(t){return e.countriesTranslated[t].toLowerCase()===n}))}}]),n}();return n.codes=["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW"],n}()},aMqI:function(n,e,t){"use strict";t.d(e,"b",(function(){return o})),t.d(e,"a",(function(){return i})),t.d(e,"c",(function(){return r}));var a=t("vF4c"),o=x((function n(e){b(this,n),this.emailId=e.email_id,this.accountName=e.account_name,this.recipients=e.recipients,this.sender=e.sender,this.subject=e.subject,this.receivedDate=e.received_date,this.scriptPath=function(n){var e="";return n&&(n.domain&&(e=n.domain),n.path&&(e&&(e+=": "),e+=n.path)),e}(e.script_header)})),i=x((function n(e){b(this,n),this.emailId=e.email_id,this.accountName=e.account_name,this.recipients=e.recipients,this.sender=e.sender,this.subject=e.subject,this.sizeBytes=e.size_bytes,this.body=e.body,this.header=e.header,this.receivedDate=e.received_date,this.plainText=e.raw?e.raw:""})),r=function(){var n=function(){function n(){b(this,n)}return x(n,null,[{key:"editEmails",value:function(n){return{command:"commandIE",method:["accounts","{account_name}","emails"],params:Object.assign(Object.assign({},n),{request_method:"put"})}}},{key:"viewEmail",value:function(n){var e=n.emailId,t=n.raw;return{command:"commandIE",method:["accounts","{account_name}","emails",e],params:Object.assign(Object.assign({},t?{raw:"true"}:{}),{request_method:"get"})}}},{key:"imunifyEmailVersion",value:function(){return{command:"commandIE",method:["version"],params:{request_method:"get"}}}}]),n}();return n.list=function(n){return{command:"commandIE",method:["accounts","{account_name}","emails"],params:Object.assign(Object.assign({},Object(a.d)(n)),{request_method:"get"})}},n}()},bYvd:function(n,e,t){"use strict";t.d(e,"a",(function(){return o})),t.d(e,"e",(function(){return i})),t.d(e,"b",(function(){return r})),t.d(e,"d",(function(){return l})),t.d(e,"c",(function(){return c}));var a=t("NTVj"),o=function(n){return n.cpanel="cpanel",n.plesk="plesk",n.directadmin="directadmin",n.acronis="acronis",n.sample="sample",n.cloudlinux="cloudlinux",n.cloudlinux_on_premise="cloudlinux_on_premise",n.r1soft="r1soft",n.clusterlogics="clusterlogics",n}({}),i=function(n){return n.monthlyByDaysOfMonth="monthlyByDaysOfMonth",n.monthlyByDaysOfWeek="monthlyByDaysOfWeek",n.weekly="weekly",n.daily="daily",n.hourly="hourly",n.timeSinceBackup="timeSinceBackup",n.onStartup="onStartup",n.onShutdown="onShutdown",n}({}),r=function(n){return n.done="done",n.init="init",n.backup="backup",n.not_running="not_running",n.activation="activation",n}({}),l=function(n){return n.paid="paid",n.unpaid="unpaid",n}({}),c=function(){var n=function(){function n(){b(this,n)}return x(n,null,[{key:"disable",value:function(n){return new a.c(["backup-systems","disable"],{backend:n})}},{key:"disableCloudlinux",value:function(n){return new a.c(["backup-systems","disable"],{backend:o.cloudlinux,delete_backups:n})}},{key:"checkCloudlinux",value:function(){return new a.c(["backup-systems","check"],{backend:o.cloudlinux})}},{key:"init",value:function(n){return new a.c(["backup-systems","init"],Object.assign(Object.assign({},n),{force:!0}))}}]),n}();return n.status=function(){return new a.c(["backup-systems","extended-status"])},n.narrowStatus=function(){return new a.c(["backup-systems","status"])},n.list=function(){return new a.c(["backup-systems","list"])},n}()},dqPF:function(n,e){function t(n){var e=new Error("Cannot find module '"+n+"'");throw e.code="MODULE_NOT_FOUND",e}t.keys=function(){return[]},t.resolve=t,n.exports=t,t.id="dqPF"},e92O:function(n,e,t){"use strict";t.d(e,"a",(function(){return o}));var a=t("NTVj"),o=function(){function n(){b(this,n)}return x(n,null,[{key:"applyAdvisor",value:function(n){return new a.c(["advisor","apply"],{advices:n})}}]),n}()},ec2V:function(n,e,a){"use strict";a.r(e),a.d(e,"LicenseService",(function(){return h})),a.d(e,"\u02750",(function(){return g}));var o=a("mrSG"),i=a("NTVj"),r=a("MHfa"),l=a("2Vo4"),c=a("quSY"),p=a("l5mm"),s=a("58Vl"),m=a("lJxs"),d=a("eIep"),A=a("Owoi"),u=a("gHFe"),f=function(){return{status:!window.i360LicenseFail,license_type:"imunify360",expiration:(Date.now()+1728e5)/1e3,user_limit:10,user_count:11,redirect_url:"https://cln.cloudlinux.com",message:"test message from CLN",upgrade_url:"https://ui-test-server:55555/test/test.html",upgrade_url_360:"https://ui-test-server:55555/test/test.html",ip_license:!1}},g=f,h=function(){function n(e,t,a,o,i,p){var s=this;b(this,n),this.xhr=e,this.router=t,this.modalService=a,this.authService=o,this.configRef=i,this.maliciousCount=p,this.Product=r.f,this.licenseChange=new l.a(new r.a({status:!0})),this.licenseFailed=this.licenseChange.pipe(Object(m.a)((function(n){return n.isFailed()}))),this.register=this.xhr.request(r.b.register),this.getToken=this.xhr.rx(A.a.get),this.updateTokenSubscription=c.a.EMPTY,this.updateTokenInterval=15e4,this.licenseChange.subscribe((function(n){s.license=n}))}return x(n,[{key:"cleanupBlocked",get:function(){var n=this.configRef._configChange.getValue();return!!n&&this.authService.isAdmin&&this.maliciousCount.maliciousCount&&this.license.product===this.Product.imunifyAV&&n.PERMISSIONS.upgrade_button}},{key:"registerViaPanel",value:function(){return this.xhr.post(new i.b("applyLicenseFromPanel"))}},{key:"getLicense",value:function(n){return new r.a(Object(s.a)(this.constructor.name)?f():n)}},{key:"checkLicense",value:function(n){return this.licenseChange.next(this.getLicense(n)),!!this.authService.isClient||(this.license.isFailed()&&"/360/admin/license"!==this.router.url?(this.router.navigate(["/","AV","admin","license"]),!1):((this.license.isFailed()||"/360/admin/license"!==this.router.url)&&(this.license.upgradeAvailable||"/AV/upgrade"!==this.router.url)||this.router.navigate(["/"]),!0))}},{key:"canActivate",value:function(n,e){return!this.license.status||(this.router.navigate(["/"]),!1)}},{key:"autoUpdateToken",value:function(){var n=this;this.updateTokenSubscription=Object(p.a)(this.updateTokenInterval).pipe(Object(d.a)((function(){return n.getToken({username:n.authService.username})}))).subscribe((function(e){n.authService.setToken(e.data.items)}))}},{key:"warningCleanDialog",value:function(){return Object(o.a)(this,void 0,void 0,t().mark((function n(){return t().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,this.modalService.open(u.a,{data:{}});case 2:if(n.t0=n.sent,!n.t0){n.next=6;break}return n.next=6,this.router.navigate(["/","AV","upgrade"]);case 6:case"end":return n.stop()}}),n,this)})))}},{key:"getServerIdForTestMode",value:function(){return localStorage.getItem("I360_SERVER_ID")}}]),n}()},fGuE:function(n,e,t){"use strict";t.d(e,"a",(function(){return i}));var a=t("2Vo4"),o=t("pLZG"),i=function(){function n(){b(this,n),this._configChange=new a.a(null),this.configChange=this._configChange.pipe(Object(o.a)((function(n){return null!==n})))}return x(n,[{key:"setConfig",value:function(n){var e=this;this.config=n,n.changes.subscribe((function(n){e._configChange.next(n)}))}},{key:"p",value:function(n){return null!==n}}]),n}()},gHFe:function(n,e,a){"use strict";a.d(e,"a",(function(){return c}));var o=a("mrSG"),r=a("MHfa"),c=function(n){i(a,n);var e=l(a);function a(n,t){var o;return b(this,a),(o=e.call(this)).dialogRef=n,o.maliciousCount=t,o.imunifyPackage="AV",o.Product=r.f,o}return x(a,[{key:"manualUpgrade",value:function(){return Object(o.a)(this,void 0,void 0,t().mark((function n(){return t().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:this.dialogRef.close(),window.open("https://blog.imunify360.com/manual-malware-cleanup","_blank");case 1:case"end":return n.stop()}}),n,this)})))}}]),a}(a("v5YS").a)},gXNf:function(n,e,t){"use strict";t.d(e,"d",(function(){return o})),t.d(e,"e",(function(){return i})),t.d(e,"b",(function(){return r})),t.d(e,"c",(function(){return l})),t.d(e,"a",(function(){return c}));var a=t("NTVj"),o=function(n){return n.file="file",n.db="db",n}({}),i=function(n){return n.Stopped="stopped",n.Running="running",n}({}),r=function(n){return n.ondemand="on-demand",n.background="background",n.user="user",n}({}),l=x((function n(e){b(this,n),this.total_malicious=e.total_malicious,this.scan_status=e.scan_status,this.total_resources=e.total_resources,this.resource_type=e.resource_type,this.path=e.path,this.started=e.started,this.scanid=e.scanid,this.scan_type=e.scan_type,this.error=e.error})),c=function(){var n=x((function n(){b(this,n)}));return n.list=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new a.c(["malware","on-demand","list"],n)},n.cleanup=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{user:[]};return new a.c(["malware","user","cleanup"],n)},n.restore=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{user:[]};return new a.c(["malware","user","restore-original"],n)},n.queueAdd=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{paths:[],detect_elf:!1};return new a.c(["malware","on-demand","queue","put"],n)},n.queueRemove=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{scan_ids:[]};return new a.c(["malware","on-demand","queue","remove"],n)},n.start=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{path:""};return new a.c(["malware","on-demand","start"],n)},n.stop=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new a.c(["malware","on-demand","stop"],n)},n.status=function(){return new a.c(["malware","on-demand","status"])},n.userStatus=function(){return new a.c(["malware","on-demand","status-user"])},n.userStart=function(){return new a.c(["malware","on-demand","start-user"])},n.userStop=function(){return new a.c(["malware","on-demand","stop-user"])},n}()},iTwO:function(e,a,o){"use strict";o.r(a),o.d(a,"main",(function(){return Cn}));var r=o("cUpR"),c=o("8Y7J"),p=[];Object(r.h)(),Object(c.T)(),p=A(p);var s=function(n){return n},d=o("jXi5");o("m+po"),o("uWkI");var u=function(){return window},f={floatLabel:"never"},g=x((function n(e,t,a,o){b(this,n),a.isPlesk&&Object(d.c)(),Object(d.e)(e,o,t)})),h=o("qo03"),y=x((function n(e){b(this,n),this.authService=e,e.parseToken(),e.role===h.b.none&&e.goToLoginPage()})),$=o("pMnS"),E=o("TSSN"),w=x((function n(){b(this,n)})),v=c.xb({encapsulation:2,styles:[],data:{}});function k(n){return c.bc(0,[(n()(),c.zb(0,0,null,null,3,"div",[["id","i360-404-page"]],null,null,null,null,null)),(n()(),c.zb(1,0,null,null,2,"h1",[["translate",""]],null,null,null,null,null)),c.yb(2,8536064,null,0,E.f,[E.l,c.l,c.h],{translate:[0,"translate"]},null),(n()(),c.Yb(-1,null,["noContent.title"]))],(function(n,e){n(e,2,0,"")}),null)}var C=c.vb("no-content",w,(function(n){return c.bc(0,[(n()(),c.zb(0,0,null,null,1,"no-content",[],null,null,null,k,v)),c.yb(1,49152,null,0,w,[],null,null)],null,null)}),{},{},[]),B=o("iInd"),I=c.xb({encapsulation:2,styles:[],data:{}});function _(n){return c.bc(0,[(n()(),c.zb(0,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),c.yb(1,212992,null,0,B.r,[B.b,c.Q,c.j,[8,null],c.h],null,null)],(function(n,e){n(e,1,0)}),null)}var U=c.vb("app",y,(function(n){return c.bc(0,[(n()(),c.zb(0,0,null,null,1,"app",[],null,null,null,_,I)),c.yb(1,49152,null,0,y,[h.a],null,null)],null,null)}),{},{},[]),O=o("SVse"),S=o("fDlF"),T=o("omvX"),V=o("GS7A"),N=o("IheW"),j=o("mrSG"),D=o("FFKa"),z=function(){var n=function(){function n(e){var t=this;b(this,n),this.authService=e,this.action=function(){return t.authService.isAdmin?adminAction:clientAction}}return x(n,[{key:"intercept",value:function(n,e){var t=n.url.startsWith("http")?n.url:this.action()+n.url;return e.handle(n.clone({url:t}))}}]),n}();return Object(j.b)([D.a],n.prototype,"intercept",null),n}(),R=function(){var n=function(){function n(){b(this,n)}return x(n,[{key:"intercept",value:function(n,e){var t;return n.body instanceof FormData||(t=n.headers.set("Content-type","application/json; charset=utf-8")),e.handle(n.clone({headers:t}))}}]),n}();return Object(j.b)([D.a],n.prototype,"intercept",null),n}(),P=o("wWNr"),Y=o("NTVj"),F=o("EY2u"),G=o("LRne"),L=o("JIr8"),M=o("w1tV"),J=o("eIep"),q=o("MHfa"),H=o("NueE"),W="/installation/progress/log",Q="/installation/progress/slides",K=function(){var n=function(){function n(e,t,a){b(this,n),this.router=e,this.injector=t,this.appState=a}return x(n,[{key:"intercept",value:function(n,e){var t=this;return e.handle(n).pipe(Object(L.a)((function(n){try{if(n.error.includes("Error: No module named")){var e=t.updateAndCheckStatus(Y.a.INSTALLING);if(e)return e}if(n.error.includes("System error 2: No such file or directory"))return t.injector.get(h.a).isClient?(t.updateAndCheckStatus(Y.a.INSTALLING),F.a):(t.getInstallationStatus||(t.getInstallationStatus=t.injector.get(H.a).status({offset:0,limit:1}).pipe(Object(M.a)())),t.getInstallationStatus.subscribe(),F.a)}catch(a){}throw n})),Object(J.a)((function(n){if(n instanceof N.h){var e=n.body.status||Y.a.OK,a=t.updateAndCheckStatus(e);if(a)return a}return Object(G.a)(n)})))}},{key:"reload",value:function(){location.reload()}},{key:"updateAndCheckStatus",value:function(n){switch(this.appState.imunifyStatus=n,this.appState.imunifyStatus){case Y.a.OK:return void(this.router.url.startsWith("/installation")&&(this.router.navigate(["/"],{replaceUrl:!0}),this.reload()));case Y.a.INSTALLING:return this.router.url.startsWith("/installation")?void 0:(this.router.navigateByUrl(Q,{replaceUrl:!0}),F.a);case Y.a.NOT_INSTALLED:return"/installation"!==this.router.url?(this.injector.get(h.a).isClient?this.router.navigateByUrl(Q,{replaceUrl:!0}):this.router.navigateByUrl("/installation",{replaceUrl:!0}),F.a):void 0;case Y.a.FAILED_TO_INSTALL:return"AV"===q.e.imunify360&&this.router.url!==W?(this.injector.get(h.a).isClient?this.router.navigateByUrl(Q,{replaceUrl:!0}):this.router.navigateByUrl(W,{replaceUrl:!0}),F.a):void 0;case Y.a.STOPPED:return this.router.navigate(["installation","stopped-service"],{replaceUrl:!0}),F.a;default:return}}}]),n}();return Object(j.b)([D.a],n.prototype,"intercept",null),n}(),Z=o("lgOS"),X=o("1O3W"),nn=function(e){i(a,e);var t=l(a);function a(n){var e;return b(this,a),(e=t.call(this,document,n)).platform=n,e}return x(a,[{key:"_createContainer",value:function(){n(m(a.prototype),"_createContainer",this).call(this);var e=document.querySelector(".i360-app app");e&&e.appendChild(this._containerElement)}}]),a}(X.e),en=o("SCoL"),tn=function(){var n=function(){function n(e){b(this,n),this.router=e}return x(n,[{key:"canActivate",value:function(n,e){return Object(j.a)(this,void 0,void 0,t().mark((function e(){return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.check(n.routeConfig?n.routeConfig.path:void 0));case 1:case"end":return e.stop()}}),e,this)})))}},{key:"canLoad",value:function(n,e){return this.check(n.path)}},{key:"check",value:function(n){return Object(j.a)(this,void 0,void 0,t().mark((function e(){return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.t0="AV"===n,e.t0){e.next=5;break}return e.next=4,this.router.navigate(["/","AV"],{replaceUrl:!0});case 4:e.t0=!1;case 5:return e.abrupt("return",e.t0);case 6:case"end":return e.stop()}}),e,this)})))}}]),n}();return n.\u0275prov=c.cc({factory:function(){return new n(c.dc(B.m))},token:n,providedIn:"root"}),n}(),an=function(){var n=function(){function n(e,t){b(this,n),this.authService=e,this.router=t}return x(n,[{key:"canActivate",value:function(n,e){return Object(j.a)(this,void 0,void 0,t().mark((function e(){return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.check(n.routeConfig?n.routeConfig.path:void 0));case 1:case"end":return e.stop()}}),e,this)})))}},{key:"canLoad",value:function(n){return this.check(n.path)}},{key:"check",value:function(n){return Object(j.a)(this,void 0,void 0,t().mark((function e(){return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.t0=n===this.authService.role,e.t0){e.next=5;break}return e.next=4,this.router.navigate(["/","AV",this.authService.role],{replaceUrl:!0});case 4:e.t0=!1;case 5:return e.abrupt("return",e.t0);case 6:case"end":return e.stop()}}),e,this)})))}}]),n}();return n.\u0275prov=c.cc({factory:function(){return new n(c.dc(h.a),c.dc(B.m))},token:n,providedIn:"root"}),n}(),on=function(){return Promise.all([o.e(1),o.e(2),o.e(3),o.e(4),o.e(5),o.e(6),o.e(8),o.e(9),o.e(7),o.e(0),o.e(14)]).then(o.bind(null,"n5AS")).then((function(n){return n.AdminModuleNgFactory}))},rn=function(){return Promise.all([o.e(1),o.e(2),o.e(3),o.e(4),o.e(5),o.e(6),o.e(7),o.e(0),o.e(15)]).then(o.bind(null,"WA8r")).then((function(n){return n.ClientModuleNgFactory}))},ln=function(){return Promise.all([o.e(1),o.e(3),o.e(0),o.e(19)]).then(o.bind(null,"+T2a")).then((function(n){return n.InstallationModuleNgFactory}))},cn=function(){return Promise.all([o.e(1),o.e(2),o.e(3),o.e(4),o.e(5),o.e(8),o.e(0),o.e(16)]).then(o.bind(null,"muZe")).then((function(n){return n.AvModuleNgFactory}))},pn=function(){return Promise.all([o.e(1),o.e(2),o.e(3),o.e(4),o.e(6),o.e(20)]).then(o.bind(null,"lkoz")).then((function(n){return n.LoginModuleNgFactory}))},sn=function(){return Promise.all([o.e(1),o.e(2),o.e(0),o.e(21)]).then(o.bind(null,"KOoM")).then((function(n){return n.ShowcaseModuleNgFactory}))};q.e.imunify360,q.e.imunifyAV,h.a;var mn=x((function n(){b(this,n)})),dn=o("fGuE"),An=o("pfGN"),un=o("Cfvw"),fn=function(n){i(t,n);var e=l(t);function t(){return b(this,t),e.apply(this,arguments)}return x(t,[{key:"getTranslation",value:function(n){return Object(un.a)(o("NxQh")("./".concat(n,".i18n.txt")))}}]),t}(E.h),gn=o("1xS/"),hn=o("4af/"),bn=o("Q3PY"),yn=o("NlKi"),xn=function(){function n(e,t,a,o){var i=this;b(this,n),this.configRef=e,this.panel=t,this.authService=a,this.translateService=o,e.configChange.subscribe((function(n){i.tryInitSentry(n)}))}return x(n,[{key:"tryInitSentry",value:function(n){try{n.ERROR_REPORTING.enable?this.initSentry():this.terminateSentry()}catch(n){}}},{key:"initSentry",value:function(){yn.isSetup()?this.active||(this.active=!0,console.log("SENTRY resumed")):(yn.config("https://6369d23c9e9b48a2af3f56c2bd639c24@im360.sentry.cloudlinux.com/18",{instrument:{tryCatch:!1},captureUnhandledRejections:!1,tags:{env:"prod",role:this.authService.role,panel:this.panel.name,lang:this.translateService.currentLang,panelLang:this.translateService.panelLang},ignoreErrors:[bn.b],dataCallback:function(e){e.culprit&&(e.culprit=n.fixPaths(e.culprit));var t=e.stacktrace||e.exception&&e.exception.values[0].stacktrace;t&&t.frames.forEach((function(e){e.filename=n.fixPaths(e.filename)}))},maxBreadcrumbs:50,sanitizeKeys:["password","chunk"],autoBreadcrumbs:{xhr:!1}}).install(),hn.report.uninstall(),yn.setRelease("6.6.3-1"),console.assert(!0===yn.isSetup(),"Raven did not setup"),console.log("SENTRY initialized"),this.active=!0)}},{key:"terminateSentry",value:function(){yn.isSetup()&&(console.log("SENTRY terminated"),this.active=!1)}},{key:"handleError",value:function(n){if(console.log("handle error"),!(n.noSentry||n.rejection&&n.rejection.noSentry)){if(!this.active)throw n;var e=n.originalError;e||(n.originalStack?((e=new Error(n.message)).name=n.name||e.name,e.stack=n.originalStack):e=n),yn.captureException(e)}}}],[{key:"fixPaths",value:function(n){return n.replace(/https?:\/\/.*\/imunify(?:360)?\/assets\/static\//g,"https://non-existing-domain-for-sentry.cloudlinux.com/").replace(/\.[\w\d]+\.js\b/,".js")}}]),n}(),$n=o("8YbO"),En=o("vrSf"),wn=o("Tj54"),vn=o("Q2Ze"),kn=c.wb(g,[y],(function(n){return c.Lb([c.Mb(512,c.j,c.Z,[[8,[$.a,C,U]],[3,c.j],c.y]),c.Mb(5120,B.a,B.B,[B.m]),c.Mb(4608,B.e,B.e,[]),c.Mb(6144,B.g,null,[B.e]),c.Mb(135680,B.s,B.s,[B.m,c.x,c.i,c.s,B.g]),c.Mb(4608,B.f,B.f,[]),c.Mb(5120,B.G,B.x,[B.m,O.C,B.h]),c.Mb(5120,B.i,B.E,[B.C]),c.Mb(5120,c.b,(function(n){return[n]}),[B.i]),c.Mb(5120,c.v,c.pb,[[3,c.v]]),c.Mb(4608,O.r,O.q,[c.v]),c.Mb(5120,c.lb,c.jb,[c.A]),c.Mb(5120,c.c,c.mb,[]),c.Mb(5120,c.t,c.nb,[]),c.Mb(5120,c.u,c.ob,[]),c.Mb(6144,c.I,null,[r.b]),c.Mb(4608,r.e,r.g,[]),c.Mb(5120,r.c,(function(n,e,t,a,o,i,l,c){return[new r.j(n,e,t),new r.o(a),new r.n(o,i,l,c)]}),[O.d,c.A,c.C,O.d,O.d,r.e,c.ab,[2,r.f]]),c.Mb(4608,r.d,r.d,[r.c,c.A]),c.Mb(135680,r.m,r.m,[O.d]),c.Mb(4608,r.k,r.k,[r.d,r.m,c.c]),c.Mb(5120,S.a,T.e,[]),c.Mb(5120,S.c,T.f,[]),c.Mb(4608,S.b,T.d,[O.d,S.a,S.c]),c.Mb(5120,c.G,T.g,[r.k,S.b,c.A]),c.Mb(6144,r.p,null,[r.m]),c.Mb(4608,c.O,c.O,[c.A]),c.Mb(4608,V.b,T.c,[c.G,O.d]),c.Mb(4608,N.j,N.p,[O.d,c.C,N.n]),c.Mb(4608,N.q,N.q,[N.j,N.o]),c.Mb(5120,N.a,(function(n,e,t,a,o){return[n,new z(e),new R,new P.a,new K(t,a,o)]}),[N.q,h.a,B.m,c.s,Z.a]),c.Mb(4608,N.m,N.m,[]),c.Mb(6144,N.k,null,[N.m]),c.Mb(4608,N.i,N.i,[N.k]),c.Mb(6144,N.b,null,[N.i]),c.Mb(4608,N.f,N.l,[N.b,c.s]),c.Mb(4608,N.c,N.c,[N.f]),c.Mb(5120,"Window",u,[]),c.Mb(4608,X.e,nn,[en.a]),c.Mb(1024,B.v,B.z,[[3,B.m]]),c.Mb(512,B.u,B.c,[]),c.Mb(512,B.b,B.b,[]),c.Mb(256,B.h,{useHash:!0,relativeLinkResolution:"legacy"},[]),c.Mb(1024,O.j,B.y,[O.y,[2,O.a],B.h]),c.Mb(512,O.i,O.i,[O.j,O.y]),c.Mb(512,c.i,c.i,[]),c.Mb(512,c.x,c.L,[c.i,[2,c.M]]),c.Mb(1024,B.j,(function(){return[[{path:"",pathMatch:"full",canActivate:[tn],component:w},{path:"360",canActivate:[tn],canLoad:[tn],children:[{path:"",pathMatch:"full",canActivate:[an],component:w},{path:"admin",loadChildren:on,canActivate:[an],canLoad:[an]},{path:"client",loadChildren:rn,canActivate:[an],canLoad:[an]}]},{path:"installation",loadChildren:ln},{path:"AV",canActivate:[tn],canLoad:[tn],loadChildren:cn},{path:"login",loadChildren:pn,canLoad:[h.a]},{path:"showcase",loadChildren:sn},{path:"**",component:w}]]}),[]),c.Mb(1024,B.m,B.A,[B.u,B.b,O.i,c.s,c.x,c.i,B.j,B.h,[2,B.t],[2,B.l]]),c.Mb(1073742336,B.q,B.q,[[2,B.v],[2,B.m]]),c.Mb(1073742336,mn,mn,[]),c.Mb(1073742336,O.c,O.c,[]),c.Mb(512,dn.a,dn.a,[]),c.Mb(512,An.b,An.b,[]),c.Mb(512,h.a,h.a,[O.i,c.s]),c.Mb(512,E.m,E.m,[]),c.Mb(512,E.h,fn,[]),c.Mb(512,E.d,E.g,[]),c.Mb(512,E.j,E.e,[]),c.Mb(512,E.c,E.b,[]),c.Mb(256,E.n,void 0,[]),c.Mb(256,E.p,void 0,[]),c.Mb(256,E.o,void 0,[]),c.Mb(256,E.a,void 0,[]),c.Mb(512,E.l,E.l,[E.m,E.h,E.d,E.j,E.c,E.n,E.p,E.o,E.a]),c.Mb(512,gn.b,gn.b,[E.l,An.b,O.d]),c.Mb(512,xn,xn,[dn.a,An.b,h.a,gn.b]),c.Mb(2048,c.m,null,[xn]),c.Mb(512,B.C,B.C,[c.s]),c.Mb(1024,c.z,(function(){return[B.w()]}),[]),c.Mb(1024,c.d,(function(n,e){return[B.D(n),r.q(e)]}),[B.C,[2,c.z]]),c.Mb(512,c.e,c.e,[[2,c.d]]),c.Mb(131584,c.g,c.g,[c.A,c.s,c.m,c.j,c.e]),c.Mb(1073742336,c.f,c.f,[c.g]),c.Mb(1073742336,r.a,r.a,[[3,r.a]]),c.Mb(1073742336,T.b,T.b,[]),c.Mb(1073742336,E.i,E.i,[]),c.Mb(1073742336,$n.a,$n.a,[]),c.Mb(1073742336,N.e,N.e,[]),c.Mb(1073742336,N.d,N.d,[]),c.Mb(1073742336,En.a,En.a,[]),c.Mb(512,r.b,r.l,[O.d]),c.Mb(512,Z.a,Z.a,[]),c.Mb(1073742336,g,g,[wn.d,r.b,An.b,Z.a]),c.Mb(256,c.k,c.kb,[]),c.Mb(256,c.cb,"root",[]),c.Mb(256,T.a,"BrowserAnimations",[]),c.Mb(256,N.n,"XSRF-TOKEN",[]),c.Mb(256,N.o,"X-XSRF-TOKEN",[]),c.Mb(256,vn.b,f,[])])}));function Cn(){return o.p=o("HASI").assetsPath,r.i().bootstrapModuleFactory(kn).then(s).catch((function(n){return console.error(n)}))}Object(d.d)(Cn)},j0G2:function(n,e,t){"use strict";t.d(e,"a",(function(){return o})),t.d(e,"d",(function(){return i})),t.d(e,"b",(function(){return r})),t.d(e,"c",(function(){return l}));var a=t("NTVj"),o="Fetching",i=["Not supported","Kernel is unsupported!","Kernel is unsupported: Inside container!"],r=x((function n(e){b(this,n),Object.assign(this,e)})),l=function(){var n=x((function n(){b(this,n)}));return n.kcarectl=function(){return new a.c(["kcarectl","plugin-info"],{})},n.enableAutoUpdate=function(){return new a.c(["kcarectl","enable-auto-update"])},n.disableAutoUpdate=function(){return new a.c(["kcarectl","disable-auto-update"])},n.update=function(){return new a.c(["kcarectl","update"])},n.patchInfo=function(){return new a.c(["kcarectl","patch-info"])},n}()},j3fA:function(n,e,a){"use strict";a.d(e,"a",(function(){return nn}));var o=a("mrSG"),i=a("LRne"),r=a("eIep"),l=a("JIr8"),c=a("lJxs"),p=a("8Y7J"),s=a("IheW"),m=a("NTVj"),u=a("44ck"),f=(a("58Vl"),a("wK6y")),g=(a("e92O"),a("yDAz"),a("2w7I"),a("bYvd")),h="/path/to/log/file",y=function(n){return{data:Object.assign(Object.assign({},f.a),{items:[n,g.a.acronis,g.a.cloudlinux,g.a.cloudlinux_on_premise,g.a.clusterlogics]})}};Object.assign(Object.assign({},f.a),{items:null}),Object.assign(Object.assign({},f.a),{items:"Backup initialization process is in progress"}),Object.assign(Object.assign({},f.a),{items:{enabled:!1,backup_system:null,state:g.b.not_running,error:null,log_path:null}}),Object.assign(Object.assign({},f.a),{items:{enabled:!1,backup_system:null}}),Object.assign(Object.assign({},f.a),{items:{enabled:!1,error:null,log_path:h,backup_system:g.a.acronis,state:g.b.init}}),Object.assign(Object.assign({},f.a),{items:{enabled:!0,error:null,backup_system:g.a.acronis,state:g.b.done,username:"username",timestamp:0,log_path:"unused"}}),Object.assign(Object.assign({},f.a),{items:{enabled:!1,error:"error",log_path:"",backup_system:g.a.acronis,state:g.b.init}}),Object.assign(Object.assign({},f.a),{items:{enabled:!0,error:null,state:g.b.done,backup_system:g.a.cpanel,log_path:null}}),Object.assign(Object.assign({},f.a),{items:{username:"AB-1124",timestamp:1531711741,log_path:"/var/log/imunify360/acronis-installer.log",region:"eu",login_url:"https://cloud.acronis.com?jwt=",error:"No backups found!",purchased_backup_gb:200,backup_system:g.a.cloudlinux,schedule:{startAt:{hour:5,second:0,minute:0},effectiveDates:{from:{month:0,day:0,year:0},to:{month:0,day:0,year:0}},daysOfWeek:["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],type:"weekly"},resize_url:"https://cln.cloudlinux.com/clweb/account/ab_resize.xhtml?id=",backup_space_used_bytes:111104831488,state:g.b.not_running,enabled:!0}}),Object.assign(Object.assign({},f.a),{items:{backup_space_used_bytes:658712047616,timestamp:1530525957,state:g.b.done,username:"username",log_path:"/var/log/imunify360/acronis-installer.log",login_url:"https://cloud.acronis.com?jwt=",resize_url:"https://cln.cloudlinux.com/clweb/account/ab_resize.xhtml?id=",backup_system:g.a.cloudlinux,schedule:null,enabled:!0,purchased_backup_gb:810,error:null,region:"eu"}}),Object.assign(Object.assign({},f.a),{items:{state:g.b.backup,enabled:!0,backup_system:g.a.cloudlinux,error:"Backup is unpaid!"}}),Object.assign(Object.assign({},f.a),{items:{enabled:!1,error:null,backup_system:g.a.cloudlinux,log_path:h,state:g.b.init}}),Object.assign(Object.assign({},f.a),{items:{enabled:!1,error:"error",backup_system:g.a.cloudlinux,log_path:h,state:g.b.init}}),Object.assign(Object.assign({},f.a),{items:{enabled:!0,error:null,state:g.b.done,backup_system:g.a.cloudlinux,region:"eu",purchased_backup_gb:10,timestamp:1523948175,schedule:{startAt:{hour:18,minute:0,second:0},effectiveDates:{to:{year:0,month:0,day:0},from:{year:0,month:0,day:0}},daysOfWeek:["monday","tuesday","wednesday","thursday","friday"],type:"weekly"},login_url:"https://cloud.acronis.com?jwt=jwt",resize_url:"https://cln.cloudlinux.com/clweb/account/ab_resize.xhtml?id=i",username:"AB-123456-7890",backup_space_used_bytes:0}}),Object.assign(Object.assign({},f.a),{items:{status:g.d.unpaid,url:"https://cln.cloudlinux.com/clweb/cb/"}}),Object.assign(Object.assign({},f.a),{items:{status:g.d.paid}}),Object.assign(Object.assign({},f.a),{items:{enabled:!1,error:null,backup_system:g.a.cloudlinux_on_premise,log_path:h,state:g.b.init}}),Object.assign(Object.assign({},f.a),{items:{enabled:!1,error:"error",backup_system:g.a.cloudlinux_on_premise,log_path:h,state:g.b.init}}),Object.assign(Object.assign({},f.a),{items:{enabled:!0,error:null,state:g.b.done,backup_system:g.a.cloudlinux_on_premise,schedule:{startAt:{hour:18,minute:0,second:0},effectiveDates:{to:{year:0,month:0,day:0},from:{year:0,month:0,day:0}},daysOfWeek:["monday","tuesday","wednesday","thursday","friday"],type:"weekly"},login_url:"https://cloud.acronis.com?jwt=jwt",username:"AB-123123123"}}),Object.assign(Object.assign({},f.a),{items:{enabled:!0,error:null,state:g.b.done,backup_system:g.a.clusterlogics,username:"username",apikey:"apikey",url:"url",log_path:null}}),Object.assign(Object.assign({},f.a),{items:{enabled:!1,error:"error",backup_system:g.a.clusterlogics,log_path:h,state:g.b.init}}),y(g.a.cpanel),y(g.a.plesk),y(g.a.directadmin),a("w8wu"),Object.assign(Object.assign({},f.a),{items:[{port:5431,proto:"tcp",comment:"Some description",ips:[{ip:"2.3.2.1",comment:"asdasd"},{ip:"1234:5678:9abc:def0::",comment:"ipv6"},{ip:"1234:5678:9abc::",comment:"ipv6"}]},{port:5432,proto:"tcp",comment:"Some description2",ips:[{ip:"222.222.222.222",comment:"asdasd2"}]},{port:5435,proto:"udp",comment:"Some other description",ips:Array.apply(void 0,A(Array(101))).map((function(n,e){return{ip:"10.9.27.".concat(e),comment:"wwwwwwww wwwwwwwwwwwwwwwwwwww wwwwwwwww ".repeat(2)}}))}],max_count:100});var $=a("k6vQ");Object.assign(Object.assign({},f.a),{max_count:100,items:[{id:"123",plugin:$.c.modsec,name:"SQL Inejctions for Joomla super advanced detection",domains:[]},{id:"124",plugin:$.c.modsec,name:"bill1",domains:null},{id:"125",plugin:$.c.modsec,name:"bill2",domains:["mycoolsite.com","website.ru","exclude.com"]},{id:"126",plugin:$.c.modsec,name:"bill3",domains:["zzz.com"]},{id:"127",plugin:$.c.modsec,name:"Some wordpress",domains:["example.com","example1.com"]}]}),a("aMqI");var E=a("vF4c"),w={name:"account ",limit_bytes:15,used_bytes:5,state:E.b.active,description:"deleted 1300 messages since 10 Aug"},v=A(Array.apply(void 0,A(Array(15))).map((function(n,e){return{email_id:"3fa85f64-5717-4562-b3fc-2c963f66afa6 "+e,account_name:"account "+e,sender:"Subject 703032ae41831eeeb01a1e2e3c56278d178f14af56bc4d020222d0d39c2c6c77",recipients:["rcp@gmail.com","test1@gmail.com","test2@gmail.com","test1@gmail.com","test2@gmail.com","test1@gmail.com","test2@gmail.com","test1@gmail.com","test2@gmail.com","test1@gmail.com","test2@gmail.com","test1@gmail.com","test2@gmail.com"],subject:"Subject 703032ae41831eeeb01a1e2e3c56278d178f14af56bc4d020222d0d39c2c6c77",body:"Subject 703032ae41831eeeb01a1e2e3c56278d178f14af56bc4d020222d0d39c2c6c77",received_date:1637136742,script_header:{raw:"X-PHP-whateverheader",domain:"test-domain.null",path:"/root/email.php"}}}))),k=[.2,1.234,2.30003],C=A(Array.apply(void 0,A(Array(15))).map((function(n,e){return{name:"account "+e,limit_bytes:1048576*(e>k.length-1?e:k[e]),used_bytes:1048576*(e>k.length-1?e:k[e]),state:E.b.active,description:"deleted 1300 messages since 10 Aug"}}))),B=A(Array.apply(void 0,A(Array(15))).map((function(n,e){return"Account "+e})));Object.assign(Object.assign({},f.a),{max_count:11,items:v}),Object.assign(Object.assign({},f.a),{max_count:11,items:{version:"1.1",components:[{release:"Whatever that will",name:"original name, e.g. imunifyemail",version:"0.5-0.el8.noarch"},{release:"Whatever that will",name:"original name, e.g. imunifyemail-rspamd",version:"3.1-5.el8.1642765025.x86_64"},{release:"Whatever that will",name:"original name, e.g. imunifyemail-rspamd",version:"3.1-5.el8.1642765025.x86_64"}]}}),Object.assign(Object.assign({},f.a),{max_count:11,items:C}),Object.assign(Object.assign({},f.a),{max_count:11,items:B}),Object.assign(Object.assign({},f.a),{max_count:11,items:w}),Object.assign(Object.assign({},f.a),{max_count:11,items:{total_space:22,account_space:833}}),Object.assign(Object.assign({},f.a),{items:null}),Object.assign(Object.assign({},f.a),{max_count:11,items:{email_id:"3fa85f64-5717-4562-b3fc-2c963f66afa6",account_name:"account1",domain:"domain.com",sender:"from@gmail.com",recipients:["rcp@gmail.com","test1@gmail.com","test2@gmail.com","test1@gmail.com","test2@gmail.com","test1@gmail.com","test2@gmail.com","test1@gmail.com","test2@gmail.com","test1@gmail.com","test2@gmail.com","test1@gmail.com","test2@gmail.com"],subject:"Hey, Long time no see",body:"PGh0bWw+CjxoZWFkPgo8dGl0bGU+Q2hyaXN0aWFuIEhlYWx0aCBQbGFuIGNoYXJzZXQ9aXNvLTg4NTktMSI+L2JvZHk+CjwvaHRtbD4KCgoK",header:{header:"test"},received_date:1637136742,size_bytes:1637136742,raw:"RGVsaXZlcmVkLVRvOiBhc2VtZW5pa2hpbkBjbG91ZGxpbnV4LmNvbQpSZWNlaXZlZDogYnkgMjAwMjphNmI6N2Q0YzowOjA6MDowOjAgd2l0aCBTTVRQIGlkIHAyOTU4OTBpb3E7CiAgICAgICAgV2VkLCAxMCBOb3YgMjAyMTA"}});var I=a("FO1w");Object.assign(Object.assign({},f.a),{items:""}),Object.assign(Object.assign({},f.a),{items:{status:I.a.installed,message:"KernelCare is installed"}});var _=a("Au5I");Object.assign(Object.assign({},f.a),{items:[_.b.av,_.b.proactive]}),Object.assign(Object.assign({},f.a),{items:{supported:!0,enabled:!1}}),Object.assign(Object.assign({},f.a),{items:{proactive:_.a.full,av:_.e.full}}),Object.assign(Object.assign({},f.a),{items:{proactive:!0,av:!0,webshield:!1,captcha:!0}}),Object.assign(Object.assign({},f.a),{items:[{name:"user1",domains:["just.domains.list","just.domains1.list","just.domains2.list","just.domains3.list","just.domains4.list","just.domains5.list","just.domains6.list","just.domains7.list","just.domains8.list"],features:{proactive:!0,av:!0,webshield:!1,captcha:!1}},{name:"user2",domains:["just.domains9.list","just.domains10.list","just.domains11.list","just.domains12.list","just.domains13.list","just.domains14.list","just.domains15.list","just.domains16.list"],features:{proactive:!1,av:!1,webshield:!0,captcha:!1}},{name:"user3",domains:["just.domains17.list","just.domains18.list","just.domains19.list","just.domains20.list","just.domains21.list","just.domains22.list","just.domains23.list","just.domains24.list"],features:{proactive:!1,av:!1,webshield:!1,captcha:!0}},{name:"user4",domains:["just.domains25.list"],features:{proactive:!0,av:!1,webshield:!1,captcha:!0}}],max_count:100});var U=a("OAOQ"),O=a("gXNf"),S={id:1,username:"marco1982",file:"/home/marco1983/public_html/tools/ksjbrvgiwgevbou.php",resource_type:O.d.file,created:1488180905,size:100,hash:"100",extra_data:{},malicious:0,type:"YARA.WebShell_cgi.UNOFFICIAL",status:U.b.found,scan_type:"on-demand",cleaned_at:null},T={id:1,username:"marco1982",file:"/home/marco1983/public_html/tools/ksjbrvgiwgevbou.php",resource_type:O.d.db,created:1488180905,size:100,hash:"100",extra_data:{},malicious:0,type:"YARA.WebShell_cgi.UNOFFICIAL",status:U.b.found,scan_type:"on-demand",cleaned_at:null,app_name:"mysql",db_host:"localhost",db_port:"8888",db_name:"test"};Object.assign(Object.assign({},f.a),{max_count:20,malicious_count:100,items:[Object.assign(Object.assign({},S),{status:U.b.cleanup_started}),Object.assign(Object.assign({},S),{id:2,scan_type:"realtime"}),Object.assign(Object.assign({},T),{id:3,type:"64444 - Exec.request"}),Object.assign(Object.assign({},S),{id:4,type:"64444 - Exec.request"}),Object.assign(Object.assign({},S),{id:5,status:U.b.quarantined}),Object.assign(Object.assign({},S),{id:6,status:U.b.cleanup_done,cleaned_at:1536062665}),Object.assign(Object.assign({},S),{id:7,status:U.b.cleanup_removed,cleaned_at:1536062665})]}),Object.assign(Object.assign({},f.a),{max_count:20,malicious_count:100,items:[Object.assign(Object.assign({},T),{status:U.b.cleanup_started}),Object.assign(Object.assign({},T),{id:2,status:U.b.cleanup_removed}),Object.assign(Object.assign({},T),{id:3,status:U.b.cleanup_done,cleaned_at:1536062665}),Object.assign(Object.assign({},T),{id:4,status:U.b.cleanup_removed,cleaned_at:1536062665}),Object.assign(Object.assign({},T),{id:5,type:"64444 - Exec.request"})]}),Object.assign(Object.assign({},f.a),{failed:["/some/file/that/was/not/restored","/another/file/that/was/not/restored"],succeeded:["/some/file/that/was/restored","/another/file/that/was/restored"]}),a("wOVI"),Object.assign(Object.assign({},f.a),{data:{chunk:"some file content\nanother line\nanother one",limit:102400,offset:0,size:170,eof:!1}}),a("mKV3");var V={ctime:1488180905,path:"/home/somelloscom/public_html/loja/in-\u0921\u094ddeed-smart-dos bons/admin/noerror.php",initiator:"root",file_owner:"john1234",cause:"on-demand",event:"found",resource_type:O.d.file};O.d.db,["cleanup_started","cleanup_pending","cleanup_done","unable_to_cleanup","restored_original","restored_from_backup","added_to_ignore","submitted_for_analysis","restored_from_quarantine","deleted_from_ignore","found","failed_to_cleanup","failed_to_restore_original","failed_to_restore_from_backup","failed_to_delete","failed_to_quarantine","failed_to_restore_from_quarantine","failed_to_ignore","failed_to_delete_from_ignore"].map((function(n){return Object.assign(Object.assign({},V),{event:n})})),a("0cJr"),Object.assign(Object.assign({},f.a),{max_count:44,items:[].concat(A(Array.from(new Array(8),(function(n,e){return{path:"/home/user-a-0".concat(e,"/ignore.gzip"),added_date:1528272138,id:e,resource_type:O.d.file}}))),[{path:"/domain.name/public_html/wp-content/".concat("long/".repeat(100),"long.jpeg"),added_date:Date.now()/1e3,id:1,resource_type:O.d.db}])}),Object.assign(Object.assign({},f.a),{max_count:36,items:[].concat(A(Array.from(new Array(8),(function(n,e){return{path:"/domain.name/public_html/theme_name/function_".concat(e,"/ignore.gzip"),id:e,added_date:1528817623,resource_type:O.d.file}}))),[{path:"/domain.name/public_html/wp-content/".concat("long/".repeat(100),"long.jpeg"),id:1,added_date:Date.now()/1e3,resource_type:O.d.file}])}),a("7whn"),m.d.SUCCESS,m.a.INSTALLING,m.d.SUCCESS,m.a.FAILED_TO_INSTALL,m.d.SUCCESS,m.a.NOT_INSTALLED,m.d.SUCCESS,m.a.FAILED_TO_INSTALL,a("j0G2");var N=a("l5pG"),j=(a("zDAv"),a("CMo/")),D=[{error:null,quarantined:0,resource_type:O.d.file,scan_type:O.b.ondemand,scan_status:j.b.running,created:1553111711,started:1553111711,path:"/home/user1",scanid:"08796906dace42de8d251d167ab4eefc",malicious:0,total:6,total_resources:6,total_malicious:0},{error:null,quarantined:0,resource_type:O.d.file,scan_type:O.b.background,scan_status:j.b.running,created:1553111711,started:1553111711,path:"/home/user6",scanid:"688b88d41cb144f3b977595e848ed440",malicious:0,total:4,total_resources:4,total_malicious:0},{error:null,quarantined:0,resource_type:O.d.db,scan_type:O.b.ondemand,scan_status:j.b.queued,created:1553111711,started:1553111711,path:"/home/user2",scanid:"08796906dace42de8d251d167ab4eefc",malicious:0,total:6,total_resources:6,total_malicious:0},{error:null,quarantined:0,resource_type:O.d.file,scan_type:O.b.background,scan_status:j.b.queued,created:1553111711,started:1553111711,path:"/home/user5",scanid:"688b88d41cb144f3b977595e848ed440",malicious:0,total:0,total_resources:0,total_malicious:0},{error:null,scan_status:j.b.stopped,resource_type:O.d.file,created:1553112483,started:1553112483,path:"/home/user4",scanid:"688b88d41cb144f3b977595e848ed440",malicious:0,total:12,total_resources:12,total_malicious:8},{error:null,scan_status:j.b.stopped,resource_type:O.d.file,created:1553112483,started:1553112483,path:"/home/user7",scanid:"e957a5358051497da0dbf3603977bd25",total:0,total_resources:0,total_malicious:0},{error:null,scan_status:j.b.stopped,resource_type:O.d.db,created:1553112483,started:1553112483,path:"/home/user3",scanid:"e957a5358051497da0dbf3603977bd25",total:5,total_resources:5,total_malicious:9}],z={created:1526376334.3316534,eula:null,path:"/var/www/vhosts/*",status:O.e.Running,scan_type:O.b.ondemand,progress:50,phase:"aibolit scanning",file_patterns:null,exclude_patterns:null,intensity_cpu:2,intensity_io:2,intensity_ram:1024,follow_symlinks:!1,queued:0,scanid:"123",started:0};Object.assign(Object.assign({},f.a),{max_count:30,items:D}),Object.assign(Object.assign({},f.a),{items:z}),Object.assign(Object.assign({},f.a),{items:Object.assign(Object.assign({},z),{scan_type:O.b.background})}),Object.assign(Object.assign({},f.a),{items:Object.assign(Object.assign({},z),{exclude_patterns:["ex"],file_patterns:["fi"],intensity_cpu:7,intensity_io:7,follow_symlinks:!0,scanid:"e83c183a743741698ce470c9c53d5817"})}),Object.assign(Object.assign({},f.a),{items:{status:O.e.Stopped,queued:0}}),Object.assign(Object.assign({},f.a),{items:{status:j.b.stopped}}),Object.assign(Object.assign({},f.a),{items:{status:j.b.running}}),Object.assign(Object.assign({},f.a),{items:{status:j.b.queued}}),Object.assign(Object.assign({},f.a),{items:null});var R=a("RmnG");Object.assign(Object.assign({},f.a),{max_count:10,items:[{id:20,timestamp:1525759128,rule_id:null,rule_name:"PHP.Inject",path:"/home/customer/public_html/index.php",count:3,host:"customer.com",ip:"10.10.0.1",listname:N.a.white,purpose:N.a.white,action:R.a.log},{id:21,timestamp:1525759321,rule_id:1,rule_name:"PHP.Inject",path:"/home/example/public_html/index-zero.php",count:5,host:"example.com",ip:"192.168.1.3",purpose:null,listname:null,action:R.a.kill}].concat(A(Array.apply(void 0,A(Array(10))).map((function(n,e){return{id:100+e,timestamp:1525759321+1e4*e,rule_id:2,rule_name:"FS.Deploy",path:"/home/example/public_html/index-".concat(e,".php"),count:e%5+1,host:"example.com",ip:"192.168.1.3",purpose:null,listname:null,action:R.a.kill}}))),[{id:42,timestamp:43,rule_id:44,rule_name:"45",path:"46",count:47,host:null,ip:null,purpose:null,listname:null,action:R.a.log}])}),Object.assign(Object.assign({},f.a),{items:{id:20,timestamp:1525759128,rule_id:1,rule_name:"PHP.".concat("InjectPHP".repeat(10)),description:"Long description on what exactly that recognizer.".repeat(15),path:"/var/www/vhosts/auser1.com/".concat("long".repeat(100),"/hack1526573364.php"),url:"/index.php",ip:"10.10.0.1",country:"CN",count:3,action:"LOG",purpose:"white",listname:"gray",env:d({HTTP_HOST:"example.com",REMOTE_ADDR2:"10.10.0.1",HTTP_HOST2:"example.com",REM23OTE_ADDR:"10.10.0.1",HTTP_swHOST:"example.com",REMOTEs_ADDR:"10.10.0.1",HTTP_HdsOST:"example.com",REMOTE_sADDR:"10.10.0.1",HTTP_HOSdT:"example.com",REMOTE_AwDDR:"10.10.0.1"},"LONG_REMOTE_ADDR".repeat(10),"10.10.0.1".concat("REMOTE_ADDR".repeat(10)))}}),Object.assign(Object.assign({},f.a),{items:{id:20,timestamp:1525759128,rule_id:12,rule_name:"PHP.InjectPHP",description:"some description",path:"/var/www/vhosts/auser1.com/hack1526573364.php",url:"/index.php",ip:"10.10.0.1",country:"CN",count:4,action:"KILL",purpose:"gray",listname:"gray",env:{HTTP_HOST:"example.com",REMOTE_ADDR2:"10.10.0.1",HTTP_HOST2:"example.com",REM23OTE_ADDR:"10.10.0.1",HTTP_swHOST:"example.com",REMOTEs_ADDR:"10.10.0.1",HTTP_HdsOST:"example.com",REMOTE_sADDR:"10.10.0.1",HTTP_HOSdT:"example.com",REMOTE_AwDDR:"10.10.0.1"}}}),Object.assign(Object.assign({},f.a),{items:{id:20,timestamp:1525759128,rule_id:12,rule_name:"PHP.InjectPHP",description:"some description",path:"/var/www/vhosts/auser1.com/hack1526573364.php",url:"/index.php",ip:null,country:null,count:4,action:"KILL",purpose:null,listname:null,env:{HTTP_HOST:"example.com",REMOTE_ADDR2:"10.10.0.1",HTTP_HOST2:"example.com",REM23OTE_ADDR:"10.10.0.1",HTTP_swHOST:"example.com",REMOTEs_ADDR:"10.10.0.1",HTTP_HdsOST:"example.com",REMOTE_sADDR:"10.10.0.1",HTTP_HOSdT:"example.com",REMOTE_AwDDR:"10.10.0.1"}}}),Object.assign(Object.assign({},f.a),{max_count:10,items:[{timestamp:1525759128,path:"/home/customer/public_html/index.php",user:"john",rules:[].concat(A(Array.apply(void 0,A(Array(10))).map((function(n,e){return{id:e,name:"Rule ".concat(e)}}))),[{id:10,name:"Really-really-really-really-really-really-really-really long rule"}])},{timestamp:1525759321,path:"/var/www/vhosts/auser1.com/httpdocs/index.html",user:"bob",rules:[]}]});var P=a("MWht");Object.assign(Object.assign({},f.a),{max_count:99,limit:50,offset:0,items:[{username:"bill",domain:"yyy_strange_domain_name.com",threats:[{type:"MALWARE",vendor:P.c.google,timestamp:1469692074}]},{username:"john",domain:"john.snow",threats:[{type:"MALWARE",vendor:P.c.google,timestamp:1469692074},{type:"SOCIAL_ENGINEERING",vendor:P.c.google,timestamp:1469692074},{type:"UNWANTED_SOFTWARE",vendor:P.c.google,timestamp:1469692074},{type:"THREAT_TYPE_UNSPECIFIED",vendor:P.c.google,timestamp:1469692074},{type:"POTENTIALLY_HARMFUL_APPLICATION",vendor:P.c.google,timestamp:1469692074},{type:"MALWARE",vendor:P.c.yandex,timestamp:1469692074},{type:"SOCIAL_ENGINEERING",vendor:P.c.yandex,timestamp:1469692074},{type:"UNWANTED_SOFTWARE",vendor:P.c.yandex,timestamp:1469692074},{type:"spam domain",vendor:P.c.spamhaus,timestamp:1469692074},{type:"phish domain",vendor:P.c.spamhaus,timestamp:1469692074},{type:"malware domain",vendor:P.c.spamhaus,timestamp:1469692074},{type:"botnet C&C domain",vendor:P.c.spamhaus,timestamp:1469692074},{type:"abused legit spam",vendor:P.c.spamhaus,timestamp:1469692074},{type:"abused spammed redirector domain",vendor:P.c.spamhaus,timestamp:1469692074},{type:"abused legit phish",vendor:P.c.spamhaus,timestamp:1469692074},{type:"abused legit malware",vendor:P.c.spamhaus,timestamp:1469692074},{type:"abused legit botnet C&C",vendor:P.c.spamhaus,timestamp:1469692074},{type:"phish domain",vendor:P.c.phishtank,timestamp:1469692074},{type:"phish domain",vendor:P.c.openphish,timestamp:1469692074},{type:null,vendor:P.c.openphish,timestamp:1469692074},{type:"THE_UNKNOWN_TYPE",vendor:P.c.yandex,timestamp:1469692074},{type:"ANY",vendor:P.c.openphish,timestamp:1469692074}]}]});var Y=a("Ea/k"),F=a("7IRw"),G={PERMISSIONS:{support_form:!0,user_ignore_list:!0,upgrade_button:!0,allow_malware_scan:!1,advisor:!1,user_override_proactive_defense:!1,user_override_malware_actions:!1}},L=Object.assign({BACKUP_RESTORE:{max_days_in_backup:10},MALWARE_CLEANUP:{keep_original_files_days:14,trim_file_instead_of_removal:!1},MALWARE_SCANNING:{try_restore_from_backup_first:!0,default_action:F.a.notify},PROACTIVE_DEFENCE:{mode:R.a.disabled,blamer:!1},ERROR_REPORTING:{enable:!1}},G),M={REALTIME_MALWARE_FOUND:{ADMIN:{admin_emails:["admin@gmail.com","default"],enabled:!0,period:60},SCRIPT:{enabled:!0,scripts:["/qwe"],period:1}},USER_SCAN_STARTED:{SCRIPT:{enabled:!0,scripts:["/qwe"]}},CUSTOM_SCAN_STARTED:{SCRIPT:{enabled:!0,scripts:["/qwe"]}},USER_SCAN_FINISHED:{SCRIPT:{enabled:!0,scripts:["/qwe"]}},CUSTOM_SCAN_FINISHED:{SCRIPT:{enabled:!0,scripts:["/qwe"]}},CUSTOM_SCAN_MALWARE_FOUND:{ADMIN:{admin_emails:["admin@gmail.com","default"],enabled:!0},SCRIPT:{enabled:!0,scripts:["/qwe"]}},USER_SCAN_MALWARE_FOUND:{ADMIN:{admin_emails:["admin@gmail.com","default"],enabled:!0},SCRIPT:{enabled:!0,scripts:["/qwe"]}},SCRIPT_BLOCKED:{ADMIN:{admin_emails:["admin@gmail.com","default"],enabled:!0,period:60},SCRIPT:{enabled:!0,period:1,scripts:["/qwe"]}}},J=Object.assign({DOS:{enabled:!0,default_limit:250,interval:30},AUTO_WHITELIST:{timeout:24},INCIDENT_LOGGING:{limit:1e5,num_days:100,min_log_level:4,ui_autorefresh_timeout:5},MALWARE_CLEANUP:{trim_file_instead_of_removal:!0,keep_original_files_days:14},MALWARE_SCANNING:{rapid_scan:!1,enable_scan_inotify:!0,optimize_realtime_scan:!0,enable_scan_modsec:!0,enable_scan_pure_ftpd:!1,default_action:null,try_restore_from_backup_first:!0,notify_on_detect:!1,sends_file_for_analysis:!0,detect_elf:!1,hyperscan:!1,enable_scan_cpanel:!0},MALWARE_SCAN_INTENSITY:{cpu:4,io:2},PROACTIVE_DEFENCE:{mode:R.a.disabled,blamer:!1,php_immunity:!1},MALWARE_SCAN_SCHEDULE:{interval:Y.c.none,day_of_month:1,day_of_week:1,hour:1},BACKUP_RESTORE:{max_days_in_backup:90},MALWARE_DATABASE_SCAN:{enable:!0},ERROR_REPORTING:{enable:!1},SEND_ADDITIONAL_DATA:{enable:!1},WEBSHIELD:{enable:!1,known_proxies_support:!1,captcha_site_key:"",captcha_secret_key:"",splash_screen:!0},OSSEC:{active_response:!1},ADMIN_CONTACTS:{emails:["admin@panel.com"]},CSF_INTEGRATION:{catch_lfd_events:!1},PAM:{enable:!0,exim_dovecot_protection:!0,ftp_protection:!1},KERNELCARE:{edf:!0},MOD_SEC:{app_specific_ruleset:!1,ruleset:Y.b.FULL,cms_account_compromise_prevention:!1},SMTP_BLOCKING:{enable:!1,ports:["1","2"],allow_users:["u1","u2"],allow_groups:["g1","g2"],allow_local:!1,redirect:!1},FIREWALL:{port_blocking_mode:Y.a.allow,TCP_IN_IPv4:[],TCP_OUT_IPv4:[],UDP_IN_IPv4:[],UDP_OUT_IPv4:[]}},G),q=Object.assign(Object.assign({},J),{ADMIN_CONTACTS:{emails:["admin@panel.com"]}}),H=Object.assign(Object.assign({},J),{ADMIN_CONTACTS:{emails:[]}});function W(n,e,t,a){return{scan:n,clean:e,infected:t,infectedDB:a}}Object.assign(Object.assign({},f.a),{items:Object.assign(Object.assign({},q),{PERMISSIONS:Object.assign(Object.assign({},G),{advisor:!0})})}),Object.assign(Object.assign({},f.a),{items:q}),Object.assign(Object.assign({},f.a),{items:Object.assign(Object.assign({},q),{MALWARE_SCANNING:{enable:!0,ports:["4","5"],allow_users:["user1","user2"],allow_groups:["group1","group2"],allow_local:!0,redirect:!0}})}),Object.assign(Object.assign({},f.a),{items:Object.assign(Object.assign({},q),{SMTP_BLOCKING:{enable:!0,ports:["4","5"],allow_users:["user1","user2"],allow_groups:["group1","group2"],allow_local:!0,redirect:!0}})}),Object.assign(Object.assign({},f.a),{items:Object.assign(Object.assign({},q),{MALWARE_SCANNING:{try_restore_from_backup_first:!0,default_action:F.a.notify}})}),Object.assign(Object.assign({},f.a),{items:{admin:{default_emails:["admin@panel.com"],notify_from_email:"admin@panel.com",locale:"en"},rules:M}}),Object.assign(Object.assign({},f.a),{items:{admin:{default_emails:["admin@panel.com"],notify_from_email:"admin@panel.com"},rules:M}}),Object.assign(Object.assign({},f.a),{items:{rules:{USER_SCAN_STARTED:{SCRIPT:{enabled:!0,scripts:["/qwe"]}},CUSTOM_SCAN_STARTED:{SCRIPT:{enabled:!0,scripts:["/qwe"]}},USER_SCAN_FINISHED:{SCRIPT:{enabled:!0,scripts:["/qwe"]}},CUSTOM_SCAN_FINISHED:{SCRIPT:{enabled:!0,scripts:["/qwe"]}},CUSTOM_SCAN_MALWARE_FOUND:{SCRIPT:{enabled:!0,scripts:["/qwe"]}},USER_SCAN_MALWARE_FOUND:{SCRIPT:{enabled:!0,scripts:["/qwe"]}}}}}),Object.assign(Object.assign({},f.a),{items:H}),Object.assign(Object.assign({},f.a),{items:Object.assign(Object.assign({},q),{WEBSHIELD:{enable:!0,known_proxies_support:!1,splash_screen:!0},MOD_SEC:{ruleset:Y.b.MINIMAL}})}),Object.assign(Object.assign({},f.a),{items:Object.assign(Object.assign({},q),{MOD_SEC:{ruleset:Y.b.MINIMAL}})}),Object.assign(Object.assign({},f.a),{items:Object.assign(Object.assign({},q),{MALWARE_SCANNING:{rapid_scan:!0}})}),Object.assign(Object.assign({},f.a),{items:Object.assign(Object.assign({},q),{WEBSHIELD:{enable:!0,known_proxies_support:!1,splash_screen:!0}})}),Object.assign(Object.assign({},f.a),{items:Object.assign(Object.assign({},q),{FIREWALL:{port_blocking_mode:Y.a.deny}})}),Object.assign(Object.assign({},f.a),{items:Object.assign(Object.assign({},q),{FIREWALL:{port_blocking_mode:Y.a.deny,TCP_IN_IPv4:["1234-43","12313-123"],TCP_OUT_IPv4:["1234-43","12313-123"],UDP_IN_IPv4:["1234-43","12313-123"],UDP_OUT_IPv4:["1234-43","12313-123"]}})}),Object.assign(Object.assign({},f.a),{items:L}),Object.assign(Object.assign({},f.a),{items:{ERROR_REPORTING:{enable:!0},MALWARE_SCAN_SCHEDULE:{interval:Y.c.none},MALWARE_CLEANUP:{trim_file_instead_of_removal:!0,keep_original_files_days:14},MALWARE_SCANNING:{rapid_scan:!1,sends_file_for_analysis:!0},MALWARE_SCAN_INTENSITY:{cpu:7,io:7}}}),a("GXvc");var Q=[W(null,null,0,1),W(j.b.running,null,0,3),W(j.b.queued,null,0,2),W(j.b.stopped,null,0,0),W(j.b.stopped,null,10,2),W(j.b.running,j.a.stopped,0,0),W(j.b.running,j.a.stopped,77,44),W(j.b.queued,j.a.stopped,0,0),W(j.b.queued,j.a.stopped,88,68),W(j.b.stopped,j.a.stopped,0,0),W(j.b.stopped,j.a.stopped,0,11),W(j.b.stopped,j.a.stopped,99,0),W(j.b.stopped,j.a.running,20,0)];Object.assign(Object.assign({},f.a),{malicious_count:100,max_count:Q.length,items:A(Array.from(Q,(function(n,e){return{home:"/home/user".concat(e),user:"user".concat(e),infected:n.infected,infected_db:n.infectedDB,scan_id:e.toString(),scan_status:n.scan,scan_date:e>1?1525759321:null,scan_type:O.b.ondemand,cleanup_status:n.clean}})))});var K=function(){function n(){b(this,n)}return x(n,null,[{key:"getMock",value:function(n,e,t){return null}},{key:"getDefaultMock",value:function(n,e){return null}}]),n}(),Z=a("JI/v"),X=a("+EUZ"),nn=function(){var n=function(){function n(e,t,a){b(this,n),this.http=e,this.errorHandler=t,this.xhrNotificator=a,this.loaded=new p.n}return x(n,[{key:"post",value:function(n){var e=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return null},p=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],d=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];return Object(i.a)(null).pipe(Object(r.a)((function(){Date.now();var t=a();if(t){var o=e.http.handler.backend.handle;e.http.handler.backend.handle=function(){return e.http.handler.backend.handle=o,t.pipe(Object(r.a)((function(n){return Object(i.a)(new s.h({body:n}))})))}}return e.http.post("",n)}))).pipe(Object(l.a)((function(n){return Object(o.a)(e,void 0,void 0,t().mark((function e(){return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw this.xhrNotificator.showResponseErrors(n),n;case 1:case"end":return e.stop()}}),e,this)})))})),Object(c.a)((function(n){var t=n.messages,a={data:n.data,result:n.result,messages:t?"string"==typeof t?[t]:t:[]};switch(e.loaded.emit(),a.result){case m.d.SUCCESS:return a;case m.d.WARNING:throw a.noSentry=!0,p&&e.xhrNotificator.showResponseErrors(a),a;case m.d.ERROR:throw a.noSentry=!0,d&&e.xhrNotificator.showResponseErrors(a),a;default:return a}})),Object(l.a)((function(n){return e.errorHandler._throw(n)})))}},{key:"rx",value:function(n){var e=this,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],o=Object(u.d)();return function(i){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a,c=n(i);return e.post(c,(function(){return K.getMock(c,i,o)}),r,l)}}},{key:"request",value:function(n){var e=this,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],o=Object(u.d)();return function(i){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a,c=n(i);return e.post(c,(function(){return K.getMock(c,i,o)}),r,l).toPromise()}}},{key:"wrap",value:function(n,e){return function(t){return n(t).pipe(Object(c.a)((function(n){var t=n.data,a=n.result,o=n.messages;return{data:{items:t.items.map((function(n){return new e(n)})),version:t.version,strategy:t.strategy,license:t.license,eula:t.eula,max_count:"max_count"in t?t.max_count:t.items.length},result:a,messages:o}})))}}}]),n}();return n.\u0275prov=p.cc({factory:function(){return new n(p.dc(s.c),p.dc(Z.a),p.dc(X.a))},token:n,providedIn:"root"}),n}()},jSh3:function(n,e,t){"use strict";t.r(e);var a=t("FIJr"),o=t.n(a)()(!0);o.push([n.i,"@import url(https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,300,400,600,700);"]),o.push([n.i,"@import url(https://fonts.googleapis.com/icon?family=Material+Icons);"]),o.push([n.i,'\n@charset "UTF-8";\n/*\n\nThis program is free software: you can redistribute it and/or modify it under \nthe terms of the GNU General Public License as published by \nthe Free Software Foundation, either version 3 of the License, \nor (at your option) any later version.\n\n\nThis program is distributed in the hope that it will be useful, \nbut WITHOUT ANY WARRANTY; without even the implied warranty of \nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \nSee the GNU General Public License for more details.\n\n\nYou should have received a copy of the GNU General Public License\n along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\nCopyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\nThis software is also available under ImunifyAV commercial license,\nsee <https://www.imunify360.com/legal/eula>\n*/\n/*\n\nThis program is free software: you can redistribute it and/or modify it under \nthe terms of the GNU General Public License as published by \nthe Free Software Foundation, either version 3 of the License, \nor (at your option) any later version.\n\n\nThis program is distributed in the hope that it will be useful, \nbut WITHOUT ANY WARRANTY; without even the implied warranty of \nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \nSee the GNU General Public License for more details.\n\n\nYou should have received a copy of the GNU General Public License\n along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\nCopyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\nThis software is also available under ImunifyAV commercial license,\nsee <https://www.imunify360.com/legal/eula>\n*/\n/*\n\nThis program is free software: you can redistribute it and/or modify it under \nthe terms of the GNU General Public License as published by \nthe Free Software Foundation, either version 3 of the License, \nor (at your option) any later version.\n\n\nThis program is distributed in the hope that it will be useful, \nbut WITHOUT ANY WARRANTY; without even the implied warranty of \nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \nSee the GNU General Public License for more details.\n\n\nYou should have received a copy of the GNU General Public License\n along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\nCopyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\nThis software is also available under ImunifyAV commercial license,\nsee <https://www.imunify360.com/legal/eula>\n*/\nbody #txtCpanelVersion {\n  z-index: 0 !important;\n}\nbody #contentContainer {\n  padding-top: 20px;\n}\n.i360-app.i360-cpanel i360-tabs > div > a {\n  color: #1d1d1d;\n}\n.i360-app.i360-cpanel i360-tabs > div > a:hover, .i360-app.i360-cpanel i360-tabs > div > a:focus {\n  color: #1d1d1d;\n  text-decoration: none;\n}\n/*\n\nThis program is free software: you can redistribute it and/or modify it under \nthe terms of the GNU General Public License as published by \nthe Free Software Foundation, either version 3 of the License, \nor (at your option) any later version.\n\n\nThis program is distributed in the hope that it will be useful, \nbut WITHOUT ANY WARRANTY; without even the implied warranty of \nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \nSee the GNU General Public License for more details.\n\n\nYou should have received a copy of the GNU General Public License\n along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\nCopyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\nThis software is also available under ImunifyAV commercial license,\nsee <https://www.imunify360.com/legal/eula>\n*/\n/*\n\nThis program is free software: you can redistribute it and/or modify it under \nthe terms of the GNU General Public License as published by \nthe Free Software Foundation, either version 3 of the License, \nor (at your option) any later version.\n\n\nThis program is distributed in the hope that it will be useful, \nbut WITHOUT ANY WARRANTY; without even the implied warranty of \nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \nSee the GNU General Public License for more details.\n\n\nYou should have received a copy of the GNU General Public License\n along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\nCopyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\nThis software is also available under ImunifyAV commercial license,\nsee <https://www.imunify360.com/legal/eula>\n*/\n/* Fixes for global styles */\nbody .modal-backdrop {\n  opacity: 0.4;\n  background: #4c4c4c;\n  position: fixed;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 1040;\n}\nbody .modal-backdrop.fade {\n  transition: opacity 0.15s linear;\n}\nbody.modal-open {\n  overflow: visible;\n}\n/* Fixes for plugin content */\n.i360-app.i360-plesk .add_item {\n  color: #333;\n}\n.i360-app.i360-plesk .pagination_nav ul.pagination {\n  margin-bottom: 16px;\n}\n.i360-app.i360-plesk .scanner-status-widget {\n  color: #333;\n}\n.i360-app.i360-plesk table > tbody tr td.expander-column > div {\n  transform: translateY(2px);\n}\n.i360-app.i360-plesk table > tbody tr:hover > th {\n  box-shadow: none;\n  background-color: #f8f8f8;\n}\n.i360-app.i360-plesk table > tbody tr:hover > td {\n  box-shadow: none;\n  background-color: #eff8f2;\n}\n.i360-app.i360-plesk .notification {\n  outline: none;\n}\n.i360-app.i360-plesk .search_block .cross_icon {\n  background-color: inherit;\n}\n.i360-app.i360-plesk .form-control:focus {\n  color: #1d1d1d;\n}\n/*\n\nThis program is free software: you can redistribute it and/or modify it under \nthe terms of the GNU General Public License as published by \nthe Free Software Foundation, either version 3 of the License, \nor (at your option) any later version.\n\n\nThis program is distributed in the hope that it will be useful, \nbut WITHOUT ANY WARRANTY; without even the implied warranty of \nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \nSee the GNU General Public License for more details.\n\n\nYou should have received a copy of the GNU General Public License\n along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\nCopyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\nThis software is also available under ImunifyAV commercial license,\nsee <https://www.imunify360.com/legal/eula>\n*/\n/*\n\nThis program is free software: you can redistribute it and/or modify it under \nthe terms of the GNU General Public License as published by \nthe Free Software Foundation, either version 3 of the License, \nor (at your option) any later version.\n\n\nThis program is distributed in the hope that it will be useful, \nbut WITHOUT ANY WARRANTY; without even the implied warranty of \nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \nSee the GNU General Public License for more details.\n\n\nYou should have received a copy of the GNU General Public License\n along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\nCopyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\nThis software is also available under ImunifyAV commercial license,\nsee <https://www.imunify360.com/legal/eula>\n*/\n/*\n\nThis program is free software: you can redistribute it and/or modify it under \nthe terms of the GNU General Public License as published by \nthe Free Software Foundation, either version 3 of the License, \nor (at your option) any later version.\n\n\nThis program is distributed in the hope that it will be useful, \nbut WITHOUT ANY WARRANTY; without even the implied warranty of \nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \nSee the GNU General Public License for more details.\n\n\nYou should have received a copy of the GNU General Public License\n along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\nCopyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\nThis software is also available under ImunifyAV commercial license,\nsee <https://www.imunify360.com/legal/eula>\n*/\n/* Fixes for plugin content */\n.i360-app.i360-directadmin {\n  margin: auto 10px;\n}\n.i360-app.i360-directadmin * {\n  /* For limit widget, but it causes a problems with focused fields */\n  font-size: inherit;\n  font-family: inherit;\n  line-height: inherit;\n}\n.i360-app.i360-directadmin * .cdk-overlay-pane {\n  pointer-events: none !important;\n  height: -webkit-fit-content;\n  height: -moz-fit-content;\n  height: fit-content;\n}\n.i360-app.i360-directadmin * .cdk-overlay-pane:not(.i360-modal-dialog-panel) {\n  bottom: 0 !important;\n  height: auto;\n  max-height: -webkit-fit-content;\n  max-height: -moz-fit-content;\n  max-height: fit-content;\n}\n.i360-app.i360-directadmin * .cdk-overlay-pane > mat-dialog-container {\n  max-height: 80%;\n}\n.i360-app.i360-directadmin * .cdk-overlay-pane > * {\n  pointer-events: auto;\n}\n:host-context(.ltr) .i360-app.i360-directadmin * .add-item-container textarea, :host-context(.ltr) .i360-app.i360-directadmin * .add-item-container input {\n  padding-left: 14px;\n}\n:host-context(.rtl) .i360-app.i360-directadmin * .add-item-container textarea, :host-context(.rtl) .i360-app.i360-directadmin * .add-item-container input {\n  padding-right: 14px;\n}\n.i360-app.i360-directadmin * .i360-title {\n  font-size: 22px;\n}\n.i360-app.i360-directadmin * .list-tabs {\n  font-size: 16px;\n}\n.i360-app.i360-directadmin * h1 {\n  font-family: "Open Sans", sans-serif;\n  font-size: 22px;\n}\n.i360-app.i360-directadmin * .title, .i360-app.i360-directadmin * .warning {\n  font-weight: normal;\n  color: inherit;\n}\n.i360-app.i360-directadmin * a {\n  cursor: pointer;\n}\n.i360-app.i360-directadmin * div.checkbox_block {\n  padding-top: 2px;\n}\n.i360-app.i360-directadmin * i360-error {\n  font-size: 11px;\n}\n.i360-app.i360-directadmin .mat-select-placeholder {\n  line-height: 0.8;\n  color: transparent;\n}\n.i360-app.i360-directadmin i360-tabs > div > a {\n  color: #1d1d1d;\n  font-size: 16px;\n  font-family: Open Sans, sans-serif;\n}\n.i360-app.i360-directadmin i360-tabs > div > a:hover, .i360-app.i360-directadmin i360-tabs > div > a:focus {\n  color: #1d1d1d;\n  text-decoration: none;\n}\n@media (min-width: 890px) {\n  .i360-app.i360-directadmin {\n    width: calc(890px - 100px);\n  }\n}\n@media (min-width: 920px) {\n  .i360-app.i360-directadmin {\n    width: calc(920px - 100px);\n  }\n}\n@media (min-width: 950px) {\n  .i360-app.i360-directadmin {\n    width: calc(950px - 100px);\n  }\n}\n@media (min-width: 980px) {\n  .i360-app.i360-directadmin {\n    width: calc(980px - 100px);\n  }\n}\n@media (min-width: 1010px) {\n  .i360-app.i360-directadmin {\n    width: calc(1010px - 100px);\n  }\n}\n@media (min-width: 1040px) {\n  .i360-app.i360-directadmin {\n    width: calc(1040px - 100px);\n  }\n}\n@media (min-width: 1070px) {\n  .i360-app.i360-directadmin {\n    width: calc(1070px - 100px);\n  }\n}\n@media (min-width: 1100px) {\n  .i360-app.i360-directadmin {\n    width: calc(1100px - 100px);\n  }\n}\n@media (min-width: 1130px) {\n  .i360-app.i360-directadmin {\n    width: calc(1130px - 100px);\n  }\n}\n@media (min-width: 1160px) {\n  .i360-app.i360-directadmin {\n    width: calc(1160px - 100px);\n  }\n}\n@media (min-width: 1190px) {\n  .i360-app.i360-directadmin {\n    width: calc(1190px - 100px);\n  }\n}\n@media (min-width: 1220px) {\n  .i360-app.i360-directadmin {\n    width: calc(1220px - 100px);\n  }\n}\n@media (min-width: 1250px) {\n  .i360-app.i360-directadmin {\n    width: calc(1250px - 100px);\n  }\n}\n@media (min-width: 1280px) {\n  .i360-app.i360-directadmin {\n    width: calc(1280px - 100px);\n  }\n}\n@media (max-width: 789px) {\n  .i360-app.i360-directadmin {\n    margin: auto 0;\n  }\n}\n#iframe-container .i360-app.i360-directadmin {\n  height: auto;\n  min-height: 400px;\n  padding-bottom: 50px;\n}\n@font-face {\n  font-family: "i360-icon-font";\n  src: url("data:application/x-font-woff;charset=utf-8;base64,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") format("woff");\n}\n.i360-app .i360-icon::before {\n  font-family: i360-icon-font, monospace !important;\n  font-size: 22px;\n  line-height: 1;\n  font-style: normal;\n  font-weight: normal;\n  font-variant: normal;\n  text-decoration: inherit;\n  text-rendering: optimizeLegibility;\n  text-transform: none;\n  -moz-osx-font-smoothing: grayscale;\n  -webkit-font-smoothing: antialiased;\n}\n.i360-app .i360-icon-add-to-ignore::before {\n  content: "\uf101";\n}\n.i360-app .i360-icon-add-to-quarantine::before {\n  content: "\uf102";\n}\n.i360-app .i360-icon-add::before {\n  content: "\uf103";\n}\n.i360-app .i360-icon-arrow-right::before {\n  content: "\uf104";\n}\n.i360-app .i360-icon-arrow::before {\n  content: "\uf105";\n}\n.i360-app .i360-icon-bell::before {\n  content: "\uf106";\n}\n.i360-app .i360-icon-block::before {\n  content: "\uf107";\n}\n.i360-app .i360-icon-cancel::before {\n  content: "\uf108";\n}\n.i360-app .i360-icon-cleanup::before {\n  content: "\uf109";\n}\n.i360-app .i360-icon-close::before {\n  content: "\uf10a";\n}\n.i360-app .i360-icon-copy::before {\n  content: "\uf10b";\n}\n.i360-app .i360-icon-country::before {\n  content: "\uf10c";\n}\n.i360-app .i360-icon-delete::before {\n  content: "\uf10d";\n}\n.i360-app .i360-icon-done::before {\n  content: "\uf10e";\n}\n.i360-app .i360-icon-edit::before {\n  content: "\uf10f";\n}\n.i360-app .i360-icon-info::before {\n  content: "\uf110";\n}\n.i360-app .i360-icon-ip::before {\n  content: "\uf111";\n}\n.i360-app .i360-icon-key::before {\n  content: "\uf112";\n}\n.i360-app .i360-icon-leaf::before {\n  content: "\uf113";\n}\n.i360-app .i360-icon-link::before {\n  content: "\uf114";\n}\n.i360-app .i360-icon-more::before {\n  content: "\uf115";\n}\n.i360-app .i360-icon-port::before {\n  content: "\uf116";\n}\n.i360-app .i360-icon-question::before {\n  content: "\uf117";\n}\n.i360-app .i360-icon-refresh::before {\n  content: "\uf118";\n}\n.i360-app .i360-icon-remove-from-quarantine::before {\n  content: "\uf119";\n}\n.i360-app .i360-icon-remove-from::before {\n  content: "\uf11a";\n}\n.i360-app .i360-icon-restore-original::before {\n  content: "\uf11b";\n}\n.i360-app .i360-icon-restore::before {\n  content: "\uf11c";\n}\n.i360-app .i360-icon-scan::before {\n  content: "\uf11d";\n}\n.i360-app .i360-icon-search::before {\n  content: "\uf11e";\n}\n.i360-app .i360-icon-settings::before {\n  content: "\uf11f";\n}\n.i360-app .i360-icon-stop::before {\n  content: "\uf120";\n}\n.i360-app .i360-icon-support::before {\n  content: "\uf121";\n}\n.i360-app .i360-icon-upload::before {\n  content: "\uf122";\n}\n.i360-app .i360-icon-users::before {\n  content: "\uf123";\n}\n.i360-app .i360-icon-view-report::before {\n  content: "\uf124";\n}\n.i360-app .i360-icon-view::before {\n  content: "\uf125";\n}\n.i360-app {\n  /*\n\n  This program is free software: you can redistribute it and/or modify it under \n  the terms of the GNU General Public License as published by \n  the Free Software Foundation, either version 3 of the License, \n  or (at your option) any later version.\n\n\n  This program is distributed in the hope that it will be useful, \n  but WITHOUT ANY WARRANTY; without even the implied warranty of \n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \n  See the GNU General Public License for more details.\n\n\n  You should have received a copy of the GNU General Public License\n   along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\n  Copyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\n  This software is also available under ImunifyAV commercial license,\n  see <https://www.imunify360.com/legal/eula>\n  */\n  /*\n\n  This program is free software: you can redistribute it and/or modify it under \n  the terms of the GNU General Public License as published by \n  the Free Software Foundation, either version 3 of the License, \n  or (at your option) any later version.\n\n\n  This program is distributed in the hope that it will be useful, \n  but WITHOUT ANY WARRANTY; without even the implied warranty of \n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \n  See the GNU General Public License for more details.\n\n\n  You should have received a copy of the GNU General Public License\n   along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\n  Copyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\n  This software is also available under ImunifyAV commercial license,\n  see <https://www.imunify360.com/legal/eula>\n  */\n  /*\n\n  This program is free software: you can redistribute it and/or modify it under \n  the terms of the GNU General Public License as published by \n  the Free Software Foundation, either version 3 of the License, \n  or (at your option) any later version.\n\n\n  This program is distributed in the hope that it will be useful, \n  but WITHOUT ANY WARRANTY; without even the implied warranty of \n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \n  See the GNU General Public License for more details.\n\n\n  You should have received a copy of the GNU General Public License\n   along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\n  Copyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\n  This software is also available under ImunifyAV commercial license,\n  see <https://www.imunify360.com/legal/eula>\n  */\n  /*TODO: get rid of !important*/\n  /**\n  to override\n  img {\n      vertical-align: middle;\n  }\n  from scaffolding.less:81 for task WEB-402\n  */\n  /*\n\n  This program is free software: you can redistribute it and/or modify it under \n  the terms of the GNU General Public License as published by \n  the Free Software Foundation, either version 3 of the License, \n  or (at your option) any later version.\n\n\n  This program is distributed in the hope that it will be useful, \n  but WITHOUT ANY WARRANTY; without even the implied warranty of \n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \n  See the GNU General Public License for more details.\n\n\n  You should have received a copy of the GNU General Public License\n   along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\n  Copyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\n  This software is also available under ImunifyAV commercial license,\n  see <https://www.imunify360.com/legal/eula>\n  */\n  /*\n\n  This program is free software: you can redistribute it and/or modify it under \n  the terms of the GNU General Public License as published by \n  the Free Software Foundation, either version 3 of the License, \n  or (at your option) any later version.\n\n\n  This program is distributed in the hope that it will be useful, \n  but WITHOUT ANY WARRANTY; without even the implied warranty of \n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \n  See the GNU General Public License for more details.\n\n\n  You should have received a copy of the GNU General Public License\n   along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\n  Copyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\n  This software is also available under ImunifyAV commercial license,\n  see <https://www.imunify360.com/legal/eula>\n  */\n  /*\n\n  This program is free software: you can redistribute it and/or modify it under \n  the terms of the GNU General Public License as published by \n  the Free Software Foundation, either version 3 of the License, \n  or (at your option) any later version.\n\n\n  This program is distributed in the hope that it will be useful, \n  but WITHOUT ANY WARRANTY; without even the implied warranty of \n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \n  See the GNU General Public License for more details.\n\n\n  You should have received a copy of the GNU General Public License\n   along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\n  Copyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\n  This software is also available under ImunifyAV commercial license,\n  see <https://www.imunify360.com/legal/eula>\n  */\n  /*\n\n  This program is free software: you can redistribute it and/or modify it under \n  the terms of the GNU General Public License as published by \n  the Free Software Foundation, either version 3 of the License, \n  or (at your option) any later version.\n\n\n  This program is distributed in the hope that it will be useful, \n  but WITHOUT ANY WARRANTY; without even the implied warranty of \n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \n  See the GNU General Public License for more details.\n\n\n  You should have received a copy of the GNU General Public License\n   along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\n  Copyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\n  This software is also available under ImunifyAV commercial license,\n  see <https://www.imunify360.com/legal/eula>\n  */\n  /* Colors for the ripple elements.*/\n  /* stylelint-disable-next-line material/theme-mixin-api */\n  /* stylelint-disable-next-line material/theme-mixin-api */\n  /* stylelint-disable material/no-prefixes */\n  /* stylelint-enable */\n  /*\n\n  This program is free software: you can redistribute it and/or modify it under \n  the terms of the GNU General Public License as published by \n  the Free Software Foundation, either version 3 of the License, \n  or (at your option) any later version.\n\n\n  This program is distributed in the hope that it will be useful, \n  but WITHOUT ANY WARRANTY; without even the implied warranty of \n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \n  See the GNU General Public License for more details.\n\n\n  You should have received a copy of the GNU General Public License\n   along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\n  Copyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\n  This software is also available under ImunifyAV commercial license,\n  see <https://www.imunify360.com/legal/eula>\n  */\n  /* Colors for the ripple elements.*/\n  /* stylelint-disable-next-line material/theme-mixin-api */\n  /* stylelint-disable-next-line material/theme-mixin-api */\n  /* stylelint-disable material/no-prefixes */\n  /* stylelint-enable */\n  /*\n\n  This program is free software: you can redistribute it and/or modify it under \n  the terms of the GNU General Public License as published by \n  the Free Software Foundation, either version 3 of the License, \n  or (at your option) any later version.\n\n\n  This program is distributed in the hope that it will be useful, \n  but WITHOUT ANY WARRANTY; without even the implied warranty of \n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \n  See the GNU General Public License for more details.\n\n\n  You should have received a copy of the GNU General Public License\n   along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\n  Copyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\n  This software is also available under ImunifyAV commercial license,\n  see <https://www.imunify360.com/legal/eula>\n  */\n  /*\n\n  This program is free software: you can redistribute it and/or modify it under \n  the terms of the GNU General Public License as published by \n  the Free Software Foundation, either version 3 of the License, \n  or (at your option) any later version.\n\n\n  This program is distributed in the hope that it will be useful, \n  but WITHOUT ANY WARRANTY; without even the implied warranty of \n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \n  See the GNU General Public License for more details.\n\n\n  You should have received a copy of the GNU General Public License\n   along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\n  Copyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\n  This software is also available under ImunifyAV commercial license,\n  see <https://www.imunify360.com/legal/eula>\n  */\n  /*\n\n  This program is free software: you can redistribute it and/or modify it under \n  the terms of the GNU General Public License as published by \n  the Free Software Foundation, either version 3 of the License, \n  or (at your option) any later version.\n\n\n  This program is distributed in the hope that it will be useful, \n  but WITHOUT ANY WARRANTY; without even the implied warranty of \n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \n  See the GNU General Public License for more details.\n\n\n  You should have received a copy of the GNU General Public License\n   along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\n  Copyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\n  This software is also available under ImunifyAV commercial license,\n  see <https://www.imunify360.com/legal/eula>\n  */\n  /* Colors for the ripple elements.*/\n  /* stylelint-disable-next-line material/theme-mixin-api */\n  /* stylelint-disable-next-line material/theme-mixin-api */\n  /* stylelint-disable material/no-prefixes */\n  /* stylelint-enable */\n  /*\n\n  This program is free software: you can redistribute it and/or modify it under \n  the terms of the GNU General Public License as published by \n  the Free Software Foundation, either version 3 of the License, \n  or (at your option) any later version.\n\n\n  This program is distributed in the hope that it will be useful, \n  but WITHOUT ANY WARRANTY; without even the implied warranty of \n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \n  See the GNU General Public License for more details.\n\n\n  You should have received a copy of the GNU General Public License\n   along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\n  Copyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\n  This software is also available under ImunifyAV commercial license,\n  see <https://www.imunify360.com/legal/eula>\n  */\n  /*\n\n  This program is free software: you can redistribute it and/or modify it under \n  the terms of the GNU General Public License as published by \n  the Free Software Foundation, either version 3 of the License, \n  or (at your option) any later version.\n\n\n  This program is distributed in the hope that it will be useful, \n  but WITHOUT ANY WARRANTY; without even the implied warranty of \n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \n  See the GNU General Public License for more details.\n\n\n  You should have received a copy of the GNU General Public License\n   along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\n  Copyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\n  This software is also available under ImunifyAV commercial license,\n  see <https://www.imunify360.com/legal/eula>\n  */\n  position: relative;\n  max-width: 1500px;\n  min-height: 100%;\n  font: 13px "Open Sans", sans-serif;\n  line-height: 18px;\n}\n.i360-app #doctitle h1 img {\n  top: 0 !important;\n}\n.i360-app .error_block {\n  color: red;\n}\n.i360-app #doctitle {\n  display: none;\n}\n.i360-app .dropdown .dropdown-toggle {\n  background-color: #fafafa;\n  border: solid 1px #cecece;\n  border-radius: 2px;\n  outline: none;\n  color: #000;\n  font-size: 13px;\n  height: 32px;\n  line-height: 1;\n  transition: all 0.4s;\n  font-family: "Open Sans", sans-serif;\n}\n.ltr .i360-app .dropdown .dropdown-toggle {\n  margin-right: 3px;\n}\n.rtl .i360-app .dropdown .dropdown-toggle {\n  margin-left: 3px;\n}\n.i360-app .dropdown .dropdown-toggle::after {\n  font-size: 14px;\n  vertical-align: 0.2em;\n}\n.i360-app .dropdown .dropdown-toggle:hover {\n  background-color: #e7e7e7;\n}\n.i360-app .search_input, .i360-app .search_block input {\n  border-color: #d8d8d8 !important;\n  height: 32px !important;\n}\n.i360-app .b_dropdown-menu {\n  background-color: #ffffff;\n  box-shadow: 0 2px 14px 0 rgba(0, 0, 0, 0.24), 0 0 2px 0 rgba(0, 0, 0, 0.12);\n  border-width: 0px;\n  border-radius: 0;\n  padding: 0;\n}\n.i360-app .b_dropdown-menu > li > a {\n  height: 35px;\n  font-size: 13px;\n  color: #4d4d4e;\n  line-height: 30px;\n  font-family: "Open Sans", sans-serif;\n}\n.ltr .i360-app .b_dropdown-menu > li > a {\n  text-align: left;\n}\n.rtl .i360-app .b_dropdown-menu > li > a {\n  text-align: right;\n}\n.ltr .i360-app .b_dropdown-menu > li > a {\n  padding-left: 40px;\n}\n.rtl .i360-app .b_dropdown-menu > li > a {\n  padding-right: 40px;\n}\n.i360-app .b_dropdown-menu > li > a:focus, .i360-app .b_dropdown-menu > li > a:hover,\n.i360-app .b_dropdown-menu > li.active > a, .i360-app .b_dropdown-menu > li.active > a:focus, .i360-app .b_dropdown-menu > li.active > a:hover {\n  color: #4d4d4e;\n  background-color: rgba(55, 171, 99, 0.11);\n}\n.i360-app .btn-filter {\n  height: 27px !important;\n  border-radius: 2px;\n  background-color: #e2f7e9;\n  border: solid 1px #cecece;\n  color: #000 !important;\n  font-size: 13px;\n  line-height: 32px;\n  transition: all 0.4s;\n  min-width: 120px;\n  font-family: "Open Sans", sans-serif;\n  padding: 0 10px;\n  position: relative;\n}\n.ltr .i360-app .btn-filter {\n  margin-right: 2px;\n}\n.rtl .i360-app .btn-filter {\n  margin-left: 2px;\n}\n.i360-app .btn-filter:hover {\n  background-color: #eff8f2;\n  border: solid 1px #cecece;\n  color: #000 !important;\n}\n.i360-app .dropdown .selected {\n  background-color: rgba(55, 171, 99, 0.11);\n}\n.i360-app .dropdown .selected::before {\n  content: "check";\n  opacity: 1;\n  color: #787878;\n  position: absolute;\n  padding-top: 2px;\n}\n.ltr .i360-app .dropdown .selected::before {\n  left: 8px;\n}\n.rtl .i360-app .dropdown .selected::before {\n  right: 8px;\n}\n.i360-app body .form-control {\n  border-radius: 2px;\n  background-color: #fff;\n  box-shadow: none;\n  border: solid 1px #d8d8d8;\n}\n.i360-app :not(.cl-field-input) > input:focus,\n.i360-app .form-control:focus {\n  box-shadow: inset 0 0 4px 0 #11cb84 !important;\n  border-color: #11cb84 !important;\n  background-color: #ffffff !important;\n}\n.i360-app select.form-control {\n  font-weight: bold;\n  font-size: 12px;\n  color: #5e5e5e;\n  font-family: "Open Sans", sans-serif;\n  outline: none;\n  box-shadow: none;\n  border-color: #d7d7d7;\n  border-radius: 2px;\n}\n.i360-app .form-control:focus {\n  border-color: #d7d7d7;\n  box-shadow: none;\n}\n.i360-app input.form-control {\n  color: #1d1d1d;\n  padding: 5px 7px;\n  box-shadow: none;\n}\n.i360-app .flexer {\n  list-style: none;\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n}\n.i360-app table.table {\n  background-color: #f8f8f8;\n  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.17);\n  border-style: solid;\n  border-width: 1px;\n  border-image-source: linear-gradient(to bottom, #e8e5e5, #dcdcdc);\n  border-image-slice: 1;\n  border-spacing: 0;\n  border-collapse: collapse;\n}\n.i360-app table.table tr {\n  background-color: #ffffff;\n  border: solid 1px #dcdcdc;\n}\n.i360-app table.table tr, .i360-app .attributions-container table.table td {\n  height: 50px;\n}\n.i360-app .table > tr > th, .i360-app .table > tr > td {\n  font-size: 13px;\n  font-weight: normal;\n  font-style: normal;\n  font-stretch: normal;\n  padding: 15px 10px;\n  vertical-align: middle;\n}\n.ltr .i360-app .table > tr > th:first-child, .ltr .i360-app .table > tr > td:first-child {\n  padding-left: 37px;\n}\n.rtl .i360-app .table > tr > th:first-child, .rtl .i360-app .table > tr > td:first-child {\n  padding-right: 37px;\n}\n.i360-app .table td {\n  color: #535353;\n  font-family: "Open Sans", sans-serif;\n}\n.i360-app .table th {\n  color: #4e5665;\n  background-color: #f8f8f8;\n  vertical-align: middle;\n}\n.ltr .i360-app .table th {\n  text-align: left;\n}\n.rtl .i360-app .table th {\n  text-align: right;\n}\n.i360-app .b_btn {\n  position: relative;\n  height: 32px;\n  line-height: 1 !important;\n  padding: 0 15px;\n}\n.i360-app [hidden] {\n  display: none !important;\n}\n.i360-app .rotate90 {\n  /* IE 9 */\n  /* Safari */\n  transform: rotate(90deg);\n  opacity: 1;\n}\n.i360-app .rotate180 {\n  /* IE 9 */\n  /* Safari */\n  transform: rotate(180deg);\n  opacity: 1;\n}\n.i360-app .no_list {\n  color: #299aed;\n  border: solid 2px #fff;\n}\n.i360-app .white_list {\n  background-color: #ffffff;\n  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.27);\n  color: #4d4d4e;\n  border: solid 2px #fff;\n}\n.i360-app .gray_list {\n  background-color: #9f9f9f;\n  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.46);\n  border: solid 2px #9e9e9e;\n  color: #fff;\n}\n.i360-app .black_list {\n  background-color: #000000;\n  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.46);\n  border: solid 2px #000000;\n  color: #fff;\n}\n.i360-app .list-type-circle {\n  line-height: 14px;\n}\n.ltr .i360-app .list-type-circle {\n  padding-left: 22px;\n}\n.rtl .i360-app .list-type-circle {\n  padding-right: 22px;\n}\n.i360-app .list-type-circle:before {\n  content: "";\n  width: 14px;\n  height: 14px;\n  position: absolute;\n  border-radius: 100%;\n}\n.ltr .i360-app .list-type-circle:before {\n  margin-left: -22px;\n}\n.rtl .i360-app .list-type-circle:before {\n  margin-right: -22px;\n}\n.i360-app .list-type-white:before {\n  background-color: #ffffff;\n  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.27);\n}\n.i360-app .list-type-black:before {\n  background-color: #000;\n}\n.i360-app .list-type-gray:before {\n  background-color: #b5bbc1;\n}\n.i360-app .plus_ip {\n  color: #299aed;\n}\n.i360-app .time {\n  height: 18px;\n  font-size: 13px;\n  color: #404040;\n  margin-top: 16px;\n}\n.ltr .i360-app .time {\n  float: left;\n}\n.rtl .i360-app .time {\n  float: right;\n}\n.ltr .i360-app .time {\n  margin-left: 10px;\n}\n.rtl .i360-app .time {\n  margin-right: 10px;\n}\n.i360-app .country {\n  width: 20px;\n  height: 12px;\n  margin-top: 18px;\n}\n.ltr .i360-app .country {\n  float: right;\n}\n.rtl .i360-app .country {\n  float: left;\n}\n.ltr .i360-app .country {\n  margin-left: 26px;\n}\n.rtl .i360-app .country {\n  margin-right: 26px;\n}\n.i360-app .name {\n  font-size: 13px;\n  font-weight: 600;\n  color: #000000;\n  margin-top: 16px;\n}\n.i360-app .retries {\n  font-size: 13px;\n  color: #404040;\n  margin-top: 16px;\n}\n.ltr .i360-app .retries {\n  float: left;\n}\n.rtl .i360-app .retries {\n  float: right;\n}\n.ltr .i360-app .retries {\n  margin-left: 10px;\n}\n.rtl .i360-app .retries {\n  margin-right: 10px;\n}\n.i360-app .incident {\n  min-height: 50px;\n  /*     transition: all 0.s; */\n}\n.i360-app table.table tbody tr {\n  transition: background-color 0.3s;\n}\n.i360-app .collapsed:hover, .i360-app table.table tbody tr:hover {\n  background-color: #eff8f2;\n}\n.i360-app .clr {\n  clear: both;\n}\n.i360-app .additions {\n  margin-top: 8px;\n}\n.i360-app .description {\n  font-size: 13px;\n  line-height: 1.5;\n  color: #565656;\n  font-family: "Open Sans", sans-serif;\n}\n.i360-app .additions > div {\n  width: 150px;\n  margin-bottom: 3px;\n}\n.ltr .i360-app .additions > div {\n  float: left;\n}\n.rtl .i360-app .additions > div {\n  float: right;\n}\n.ltr .i360-app .additions > div {\n  text-align: left;\n}\n.rtl .i360-app .additions > div {\n  text-align: right;\n}\n.i360-app .addition_title {\n  font-size: 11px;\n  color: #828282;\n}\n.i360-app .addition_value {\n  opacity: 0.9;\n  font-size: 12px;\n  color: #1e1e1e;\n}\n.i360-app .main_info {\n  min-height: 50px;\n}\n.i360-app .table tr.selected td {\n  background-color: #eff8f2;\n}\n.i360-app .table > tbody > tr > td, .i360-app .table > tfoot > tr > td, .i360-app .table > thead > tr > td {\n  vertical-align: middle;\n}\n.i360-app app h1, .i360-app client-app h1, .i360-app h1.i360-title {\n  font-family: "Open Sans", sans-serif;\n  font-size: 22px;\n  font-weight: normal;\n  font-style: normal;\n  font-stretch: normal;\n  color: #1d1d1d;\n}\n.i360-app .flexbox {\n  display: flex;\n}\n.i360-app .flex_item {\n  padding: 10px;\n  /*     flex: 1 100%; */\n  flex-grow: 1;\n  flex-basis: 100%;\n}\n.i360-app .time_column {\n  flex-grow: 1;\n  flex-basis: 100%;\n}\n.i360-app .abuser_column {\n  flex-grow: 1;\n  flex-basis: 100%;\n}\n.i360-app .retries_column {\n  flex-grow: 1;\n  flex-basis: 100%;\n}\n.i360-app .name_column {\n  flex-grow: 1;\n  flex-basis: 100%;\n}\n.i360-app .actions_column {\n  flex-grow: 1;\n  flex-basis: 100%;\n}\n.i360-app .no_result {\n  height: 88px;\n  line-height: 88px;\n  font-family: "Open Sans", sans-serif;\n  font-size: 16px;\n  color: #9e9e9e;\n  text-align: center;\n}\n@media all and (max-width: 1087px) {\n  .i360-app .incident .row > div {\n    padding: 5px;\n  }\n}\n@media all and (max-width: 1240px) {\n  .i360-app .retry_span {\n    display: none;\n  }\n}\n.i360-app img {\n  vertical-align: inherit !important;\n}\n.i360-app .modal-backdrop {\n  background: #4c4c4c;\n}\n.i360-app .modal-backdrop.in {\n  opacity: 0.55;\n}\n.i360-app textarea.underline-input,\n.i360-app input.underline-input[type=text],\n.i360-app input.underline-input[type=password] {\n  border-width: 0 0 2px 0;\n  border-style: solid;\n  border-color: #ccc;\n  width: 100%;\n  padding: 0;\n  font-size: 13px;\n  height: 42px;\n  color: #161616;\n  box-shadow: none !important;\n  outline: none;\n  background-color: transparent;\n}\n.i360-app textarea.underline-input:focus,\n.i360-app input.underline-input[type=text]:focus,\n.i360-app input.underline-input[type=password]:focus {\n  border-color: #11cb84;\n}\n.i360-app textarea.underline-input {\n  resize: none;\n  height: 87px;\n  min-height: 57px;\n  box-sizing: content-box;\n  transition: none;\n}\n.i360-app input[type=text] {\n  background-color: #ffffff;\n}\n.i360-app .i360-dashboard-link {\n  text-decoration: underline;\n  color: inherit;\n}\n.i360-app .i360-dashboard-link:hover, .i360-app .i360-dashboard-link:active {\n  text-decoration: underline;\n  color: inherit !important;\n}\n.i360-app .i360-logo {\n  width: 182px;\n  height: 47px;\n  position: relative;\n  margin: 0 14px;\n  display: block;\n}\n.i360-app .i360-logo .mat-icon {\n  width: auto;\n  height: auto;\n}\n.i360-app .i360-logo.imunifyav-logo {\n  width: 159px;\n}\n.i360-app .i360-logo.imunifyavplus-logo {\n  width: 170px;\n}\n.i360-app .material-icons, .i360-app .dropdown_list ul li.selected::before, .i360-app .dropdown_list ul li.active::before, .i360-app .dropdown .selected::before {\n  font-family: "Material Icons";\n  font-weight: normal;\n  font-style: normal;\n  font-size: 24px;\n  /* Preferred icon size */\n  display: inline-block;\n  line-height: 1;\n  text-transform: none;\n  letter-spacing: normal;\n  word-wrap: normal;\n  white-space: nowrap;\n  /* Support for all WebKit browsers. */\n  -webkit-font-smoothing: antialiased;\n  /* Support for Safari and Chrome. */\n  text-rendering: optimizeLegibility;\n  /* Support for Firefox. */\n  -moz-osx-font-smoothing: grayscale;\n  /* Support for IE. */\n  font-feature-settings: "liga";\n}\n.i360-app .hoverable-button {\n  color: #535353;\n  cursor: pointer;\n  opacity: 0.5;\n  transition: all 0.3s;\n}\n.i360-app .hoverable-button:hover {\n  opacity: 1 !important;\n}\n.i360-app button.flat-button {\n  background: transparent;\n  border: 0;\n  border-radius: 2px;\n  color: #11cb84;\n  font-size: 15px;\n  height: 36px;\n  margin: 0 8px;\n  min-width: 88px;\n  outline: none;\n  padding: 0 8px;\n}\n.i360-app button.flat-button:focus, .i360-app button.flat-button:hover {\n  background-color: rgba(153, 153, 153, 0.2);\n}\n.i360-app button.flat-button:active {\n  background-color: rgba(153, 153, 153, 0.4);\n}\n.i360-app button.flat-button[disabled] {\n  color: rgba(0, 0, 0, 0.26);\n}\n.i360-app .incident .actions-wrapper {\n  margin-top: 16px;\n}\n.i360-app .flex-nowrap {\n  flex-wrap: nowrap;\n}\n.i360-app textarea[autosize] {\n  resize: none;\n  color: #161616;\n}\n.i360-app .filter_block {\n  display: flex;\n  flex-direction: column;\n}\n.i360-app .align-center {\n  align-items: center;\n}\n.i360-app .as_link {\n  cursor: pointer;\n}\n.i360-app .dropdown_list {\n  position: relative;\n}\n.i360-app .dropdown_list ul {\n  position: absolute;\n  list-style: none;\n  width: -webkit-fit-content;\n  width: -moz-fit-content;\n  width: fit-content;\n  white-space: nowrap;\n  background-color: #ffffff;\n  box-shadow: 0 2px 14px 0 #c2c2c2, 0 0 2px 0 #e0e0e0;\n  border: solid 1px #ffffff;\n  padding: 0;\n  top: 35px;\n  z-index: 99;\n}\n.ltr .i360-app .dropdown_list ul {\n  right: 0;\n}\n.rtl .i360-app .dropdown_list ul {\n  left: 0;\n}\n.i360-app .dropdown_list ul li {\n  font-family: "Open Sans", sans-serif;\n  font-size: 13px;\n  height: 35px;\n  line-height: 35px;\n  color: #4d4d4e;\n  cursor: pointer;\n  padding: 0 40px;\n}\n.ltr .i360-app .dropdown_list ul li {\n  text-align: left;\n}\n.rtl .i360-app .dropdown_list ul li {\n  text-align: right;\n}\n.i360-app .dropdown_list ul li:hover {\n  background-color: #e9f6ee;\n}\n.i360-app .dropdown_list ul li.selected, .i360-app .dropdown_list ul li.active {\n  background-color: rgba(55, 171, 99, 0.11);\n}\n.i360-app .dropdown_list ul li.selected::before, .i360-app .dropdown_list ul li.active::before {\n  content: "check";\n  opacity: 1;\n  color: #787878;\n  position: absolute;\n  padding-top: 4px;\n}\n.ltr .i360-app .dropdown_list ul li.selected::before, .ltr .i360-app .dropdown_list ul li.active::before {\n  left: 8px;\n}\n.rtl .i360-app .dropdown_list ul li.selected::before, .rtl .i360-app .dropdown_list ul li.active::before {\n  right: 8px;\n}\n.i360-app actions div.dropdown_list ul li {\n  padding: 0 20px;\n}\n.i360-app .dropdown {\n  position: relative;\n}\n.i360-app .dropdown .dropdown-toggle {\n  white-space: nowrap;\n}\n.i360-app .dropdown .dropdown-menu {\n  position: absolute;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 10rem;\n  margin: 0.125rem 0 0;\n  list-style: none;\n  top: 100%;\n  background-color: #ffffff;\n  box-shadow: 0 2px 14px 0 #c2c2c2, 0 0 2px 0 #e0e0e0;\n  border-width: 0;\n  border-radius: 0;\n  padding: 0;\n}\n.ltr .i360-app .dropdown .dropdown-menu {\n  left: 0;\n}\n.rtl .i360-app .dropdown .dropdown-menu {\n  right: 0;\n}\n.i360-app .dropdown .dropdown-menu.show {\n  display: block;\n}\n.i360-app .dropdown .dropdown-menu > li:hover {\n  cursor: pointer;\n}\n.i360-app .dropdown .dropdown-menu > li > a {\n  margin: 0;\n  height: 35px;\n  font-size: 13px;\n  color: #4d4d4e;\n  line-height: 30px;\n  box-sizing: border-box;\n  display: block;\n}\n.ltr .i360-app .dropdown .dropdown-menu > li > a {\n  padding: 3px 20px 5px 40px;\n}\n.rtl .i360-app .dropdown .dropdown-menu > li > a {\n  padding: 3px 40px 5px 20px;\n}\n.ltr .i360-app .dropdown .dropdown-menu > li > a {\n  text-align: left;\n}\n.rtl .i360-app .dropdown .dropdown-menu > li > a {\n  text-align: right;\n}\n.i360-app .dropdown .dropdown-menu > li > a:hover, .i360-app .dropdown .dropdown-menu > li > a:active {\n  background-color: #e9f6ee;\n  color: inherit;\n}\n.i360-app .dropdown.selector {\n  width: 100%;\n}\n.i360-app .dropdown.selector button {\n  color: #535353;\n}\n.ltr .i360-app .dropdown.selector button {\n  text-align: left;\n}\n.rtl .i360-app .dropdown.selector button {\n  text-align: right;\n}\n.ltr .i360-app .dropdown.selector button {\n  padding-left: 14px;\n}\n.rtl .i360-app .dropdown.selector button {\n  padding-right: 14px;\n}\n.ltr .i360-app .dropdown.selector button .dropup {\n  float: right;\n}\n.rtl .i360-app .dropdown.selector button .dropup {\n  float: left;\n}\n.i360-app .dropdown.selector button .dropup .caret.up {\n  margin-bottom: 8px;\n}\n.i360-app .dropdown.selector button .dropup .caret.down {\n  position: absolute;\n  border-top: 4px dashed;\n  border-bottom: 0;\n  bottom: 0;\n}\n.ltr .i360-app .dropdown.selector button .dropup .caret.down {\n  left: 0;\n}\n.rtl .i360-app .dropdown.selector button .dropup .caret.down {\n  right: 0;\n}\n.i360-app .typeahead .dropdown-menu {\n  display: table;\n}\n.i360-app .typeahead .dropdown-menu li > a {\n  padding: 7px 0;\n  line-height: 20px;\n}\n.i360-app .typeahead .dropdown-menu .active > a {\n  background-color: #e9f6ee;\n}\n.i360-app .table > tbody > tr > td, .i360-app .table > tbody > tr > th, .i360-app .table > thead > tr > td, .i360-app .table > thead > tr > th {\n  vertical-align: middle;\n}\n.i360-app .table > tbody > tr > td.i360-vertical-align-top, .i360-app .table > tbody > tr > th.i360-vertical-align-top, .i360-app .table > thead > tr > td.i360-vertical-align-top, .i360-app .table > thead > tr > th.i360-vertical-align-top {\n  vertical-align: top;\n}\n.i360-app .btn-link {\n  padding: 0;\n  color: #11cb84;\n}\n.i360-app .btn-link:hover, .i360-app .btn-link:focus, .i360-app .btn-link:active {\n  color: #257142;\n  outline: none;\n  text-decoration: none;\n}\n.i360-app .modal-backdrop.in {\n  opacity: 0.4;\n}\n.i360-app .form-control {\n  border-radius: 2px;\n  background-color: #ffffff;\n  border: solid 1px #d8d8d8;\n  width: 100%;\n}\n.i360-app .form-control:focus-visible {\n  outline: none;\n}\n.i360-app .flexer {\n  flex-direction: row;\n}\n.i360-app .flexer.justify-beetween {\n  justify-content: space-between;\n}\n.i360-app ::-webkit-scrollbar {\n  width: 13px;\n}\n.i360-app ::-webkit-scrollbar-thumb {\n  border-width: 1px;\n  background-color: #53b076;\n}\n.i360-app ::-webkit-scrollbar-track {\n  background-color: #e1f0e7;\n}\n.i360-app ::-webkit-scrollbar-track:hover {\n  box-shadow: 0 6px 6px 0 rgba(0, 0, 0, 0.13), 0 0 6px 0 rgba(0, 0, 0, 0.12);\n}\n.i360-app mat-slide-toggle .mat-slide-toggle-thumb-container {\n  width: 18px;\n  height: 18px;\n  top: 2px;\n  transform: translate3d(2px, 0, 0);\n}\n.i360-app mat-slide-toggle.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container {\n  transform: translate3d(26px, 0, 0);\n}\n.rtl .i360-app mat-slide-toggle.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container {\n  transform: translate3d(-26px, 0, 0);\n}\n.i360-app mat-slide-toggle .mat-slide-toggle-bar {\n  width: 46px;\n  height: 22px;\n  display: flex;\n  align-items: center;\n  border-radius: 12px;\n}\n.i360-app mat-slide-toggle.mat-slide-toggle.mat-checked .mat-slide-toggle-bar::before {\n  opacity: 0.62;\n  font-size: 10px;\n  font-weight: 600;\n  letter-spacing: -0.1px;\n  content: "on";\n  position: absolute;\n}\n.ltr .i360-app mat-slide-toggle.mat-slide-toggle.mat-checked .mat-slide-toggle-bar::before {\n  right: 24px;\n}\n.rtl .i360-app mat-slide-toggle.mat-slide-toggle.mat-checked .mat-slide-toggle-bar::before {\n  left: 24px;\n}\n.i360-app mat-slide-toggle.mat-slide-toggle:not(.mat-checked) .mat-slide-toggle-bar::after {\n  opacity: 0.62;\n  font-size: 10px;\n  font-weight: 600;\n  letter-spacing: -0.1px;\n  content: "off";\n  position: absolute;\n}\n.ltr .i360-app mat-slide-toggle.mat-slide-toggle:not(.mat-checked) .mat-slide-toggle-bar::after {\n  left: 24px;\n}\n.rtl .i360-app mat-slide-toggle.mat-slide-toggle:not(.mat-checked) .mat-slide-toggle-bar::after {\n  right: 24px;\n}\n.i360-app mat-slide-toggle .mat-slide-toggle-thumb {\n  height: 18px;\n  width: 18px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n.ltr .i360-app mat-slide-toggle .mat-slide-toggle-input {\n  left: 9px;\n}\n.rtl .i360-app mat-slide-toggle .mat-slide-toggle-input {\n  right: 9px;\n}\n.mat-slide-toggle.cdk-keyboard-focused .cdk-high-contrast-active .i360-app mat-slide-toggle .mat-slide-toggle-bar {\n  outline-offset: 1px;\n}\n.mat-slide-toggle.cdk-keyboard-focused .cdk-high-contrast-active :host .i360-app mat-slide-toggle .mat-slide-toggle-bar {\n  outline-offset: 1px;\n}\n.i360-app mat-slide-toggle .mat-ripple-element.mat-slide-toggle-persistent-ripple {\n  transform: none;\n}\n.i360-app mat-checkbox .mat-checkbox-frame {\n  border-width: 1px;\n}\n.i360-app mat-checkbox .mat-ripple-element.mat-checkbox-persistent-ripple {\n  transform: none;\n}\n.i360-app mat-radio-button .mat-radio-inner-circle,\n.i360-app mat-radio-button .mat-radio-outer-circle,\n.i360-app mat-radio-button .mat-radio-container {\n  height: 16px;\n  width: 16px;\n}\n.i360-app mat-radio-button .mat-radio-outer-circle {\n  border-width: 1px;\n}\n.i360-app mat-radio-button.mat-radio-checked .mat-radio-inner-circle {\n  transform: scale(0.375);\n}\n.i360-app mat-radio-button .mat-ripple-element.mat-radio-persistent-ripple {\n  transform: none;\n}\n.i360-app .mat-badge-content {\n  font-weight: 600;\n  font-size: 12px;\n  font-family: \'Open Sans\', sans-serif;\n}\n.i360-app .mat-badge-small .mat-badge-content {\n  font-size: 9px;\n}\n.i360-app .mat-badge-large .mat-badge-content {\n  font-size: 24px;\n}\n.i360-app .mat-h1, .i360-app .mat-headline, .i360-app .mat-typography h1 {\n  font: 400 24px/32px \'Open Sans\', sans-serif;\n  letter-spacing: normal;\n  margin: 0 0 16px;\n}\n.i360-app .mat-h2, .i360-app .mat-title, .i360-app .mat-typography h2 {\n  font: 500 20px/32px \'Open Sans\', sans-serif;\n  letter-spacing: normal;\n  margin: 0 0 16px;\n}\n.i360-app .mat-h3, .i360-app .mat-subheading-2, .i360-app .mat-typography h3 {\n  font: 400 16px/28px \'Open Sans\', sans-serif;\n  letter-spacing: normal;\n  margin: 0 0 16px;\n}\n.i360-app .mat-h4, .i360-app .mat-subheading-1, .i360-app .mat-typography h4 {\n  font: 400 15px/24px \'Open Sans\', sans-serif;\n  letter-spacing: normal;\n  margin: 0 0 16px;\n}\n.i360-app .mat-h5, .i360-app .mat-typography h5 {\n  font: 400 calc(14px * 0.83)/20px \'Open Sans\', sans-serif;\n  margin: 0 0 12px;\n}\n.i360-app .mat-h6, .i360-app .mat-typography h6 {\n  font: 400 calc(14px * 0.67)/20px \'Open Sans\', sans-serif;\n  margin: 0 0 12px;\n}\n.i360-app .mat-body-strong, .i360-app .mat-body-2 {\n  font: 500 14px/24px \'Open Sans\', sans-serif;\n  letter-spacing: normal;\n}\n.i360-app .mat-body, .i360-app .mat-body-1, .i360-app .mat-typography {\n  font: 400 14px/20px \'Open Sans\', sans-serif;\n  letter-spacing: normal;\n}\n.i360-app .mat-body p, .i360-app .mat-body-1 p, .i360-app .mat-typography p {\n  margin: 0 0 12px;\n}\n.i360-app .mat-small, .i360-app .mat-caption {\n  font: 400 12px/20px \'Open Sans\', sans-serif;\n  letter-spacing: normal;\n}\n.i360-app .mat-display-4, .i360-app .mat-typography .mat-display-4 {\n  font: 300 112px/112px \'Open Sans\', sans-serif;\n  letter-spacing: -0.05em;\n  margin: 0 0 56px;\n}\n.i360-app .mat-display-3, .i360-app .mat-typography .mat-display-3 {\n  font: 400 56px/56px \'Open Sans\', sans-serif;\n  letter-spacing: -0.02em;\n  margin: 0 0 64px;\n}\n.i360-app .mat-display-2, .i360-app .mat-typography .mat-display-2 {\n  font: 400 45px/48px \'Open Sans\', sans-serif;\n  letter-spacing: -0.005em;\n  margin: 0 0 64px;\n}\n.i360-app .mat-display-1, .i360-app .mat-typography .mat-display-1 {\n  font: 400 34px/40px \'Open Sans\', sans-serif;\n  letter-spacing: normal;\n  margin: 0 0 64px;\n}\n.i360-app .mat-bottom-sheet-container {\n  font: 400 14px/20px \'Open Sans\', sans-serif;\n  letter-spacing: normal;\n}\n.i360-app .mat-button, .i360-app .mat-raised-button, .i360-app .mat-icon-button, .i360-app .mat-stroked-button,\n.i360-app .mat-flat-button, .i360-app .mat-fab, .i360-app .mat-mini-fab {\n  font-family: \'Open Sans\', sans-serif;\n  font-size: 14px;\n  font-weight: 500;\n}\n.i360-app .mat-button-toggle {\n  font-family: \'Open Sans\', sans-serif;\n}\n.i360-app .mat-card {\n  font-family: \'Open Sans\', sans-serif;\n}\n.i360-app .mat-card-title {\n  font-size: 24px;\n  font-weight: 500;\n}\n.i360-app .mat-card-header .mat-card-title {\n  font-size: 20px;\n}\n.i360-app .mat-card-subtitle,\n.i360-app .mat-card-content {\n  font-size: 14px;\n}\n.i360-app .mat-checkbox {\n  font-family: \'Open Sans\', sans-serif;\n}\n.i360-app .mat-checkbox-layout .mat-checkbox-label {\n  line-height: 24px;\n}\n.i360-app .mat-chip {\n  font-size: 14px;\n  font-weight: 500;\n}\n.i360-app .mat-chip .mat-chip-trailing-icon.mat-icon,\n.i360-app .mat-chip .mat-chip-remove.mat-icon {\n  font-size: 18px;\n}\n.i360-app .mat-table {\n  font-family: \'Open Sans\', sans-serif;\n}\n.i360-app .mat-header-cell {\n  font-size: 12px;\n  font-weight: 500;\n}\n.i360-app .mat-cell, .i360-app .mat-footer-cell {\n  font-size: 14px;\n}\n.i360-app .mat-calendar {\n  font-family: \'Open Sans\', sans-serif;\n}\n.i360-app .mat-calendar-body {\n  font-size: 13px;\n}\n.i360-app .mat-calendar-body-label,\n.i360-app .mat-calendar-period-button {\n  font-size: 14px;\n  font-weight: 500;\n}\n.i360-app .mat-calendar-table-header th {\n  font-size: 11px;\n  font-weight: 400;\n}\n.i360-app .mat-dialog-title {\n  font: 500 20px/32px \'Open Sans\', sans-serif;\n  letter-spacing: normal;\n}\n.i360-app .mat-expansion-panel-header {\n  font-family: \'Open Sans\', sans-serif;\n  font-size: 15px;\n  font-weight: 400;\n}\n.i360-app .mat-expansion-panel-content {\n  font: 400 14px/20px \'Open Sans\', sans-serif;\n  letter-spacing: normal;\n}\n.i360-app .mat-form-field {\n  font-size: inherit;\n  font-weight: 400;\n  line-height: 1.125;\n  font-family: \'Open Sans\', sans-serif;\n  letter-spacing: normal;\n}\n.i360-app .mat-form-field-wrapper {\n  padding-bottom: 1.34375em;\n}\n.i360-app .mat-form-field-prefix .mat-icon,\n.i360-app .mat-form-field-suffix .mat-icon {\n  font-size: 150%;\n  line-height: 1.125;\n}\n.i360-app .mat-form-field-prefix .mat-icon-button,\n.i360-app .mat-form-field-suffix .mat-icon-button {\n  height: 1.5em;\n  width: 1.5em;\n}\n.i360-app .mat-form-field-prefix .mat-icon-button .mat-icon,\n.i360-app .mat-form-field-suffix .mat-icon-button .mat-icon {\n  height: 1.125em;\n  line-height: 1.125;\n}\n.i360-app .mat-form-field-infix {\n  padding: 0.5em 0;\n  border-top: 0.84375em solid transparent;\n}\n.i360-app .mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.i360-app .mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n  transform: translateY(-1.34375em) scale(0.75);\n  width: 133.3333333333%;\n}\n.i360-app .mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {\n  transform: translateY(-1.34375em) scale(0.75);\n  width: 133.3333333333%;\n}\n.i360-app .mat-form-field-label-wrapper {\n  top: -0.84375em;\n  padding-top: 0.84375em;\n}\n.i360-app .mat-form-field-label {\n  top: 1.34375em;\n}\n.i360-app .mat-form-field-underline {\n  bottom: 1.34375em;\n}\n.i360-app .mat-form-field-subscript-wrapper {\n  font-size: 75%;\n  margin-top: 0.6666666667em;\n  top: calc(100% - 1.7916666667em);\n}\n.i360-app .mat-form-field-appearance-legacy .mat-form-field-wrapper {\n  padding-bottom: 1.25em;\n}\n.i360-app .mat-form-field-appearance-legacy .mat-form-field-infix {\n  padding: 0.4375em 0;\n}\n.i360-app .mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.i360-app .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.001px);\n  -ms-transform: translateY(-1.28125em) scale(0.75);\n  width: 133.3333333333%;\n}\n.i360-app .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper .mat-form-field-label {\n  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.001px);\n  -ms-transform: translateY(-1.28125em) scale(0.75);\n  width: 133.3333333333%;\n}\n.i360-app .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {\n  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.001px);\n  -ms-transform: translateY(-1.28125em) scale(0.75);\n  width: 133.3333333333%;\n}\n.i360-app .mat-form-field-appearance-legacy .mat-form-field-label {\n  top: 1.28125em;\n}\n.i360-app .mat-form-field-appearance-legacy .mat-form-field-underline {\n  bottom: 1.25em;\n}\n.i360-app .mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper {\n  margin-top: 0.5416666667em;\n  top: calc(100% - 1.6666666667em);\n}\n@media print {\n  .i360-app .mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.i360-app .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n    transform: translateY(-1.28125em) scale(0.75);\n  }\n  .i360-app .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper .mat-form-field-label {\n    transform: translateY(-1.28125em) scale(0.75);\n  }\n  .i360-app .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {\n    transform: translateY(-1.28125em) scale(0.75);\n  }\n}\n.i360-app .mat-form-field-appearance-fill .mat-form-field-infix {\n  padding: 0.25em 0 0.75em 0;\n}\n.i360-app .mat-form-field-appearance-fill .mat-form-field-label {\n  top: 1.09375em;\n  margin-top: -0.5em;\n}\n.i360-app .mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.i360-app .mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n  transform: translateY(-0.59375em) scale(0.75);\n  width: 133.3333333333%;\n}\n.i360-app .mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {\n  transform: translateY(-0.59375em) scale(0.75);\n  width: 133.3333333333%;\n}\n.i360-app .mat-form-field-appearance-outline .mat-form-field-infix {\n  padding: 1em 0 1em 0;\n}\n.i360-app .mat-form-field-appearance-outline .mat-form-field-label {\n  top: 1.84375em;\n  margin-top: -0.25em;\n}\n.i360-app .mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\n.i360-app .mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n  transform: translateY(-1.59375em) scale(0.75);\n  width: 133.3333333333%;\n}\n.i360-app .mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {\n  transform: translateY(-1.59375em) scale(0.75);\n  width: 133.3333333333%;\n}\n.i360-app .mat-grid-tile-header,\n.i360-app .mat-grid-tile-footer {\n  font-size: 14px;\n}\n.i360-app .mat-grid-tile-header .mat-line,\n.i360-app .mat-grid-tile-footer .mat-line {\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  display: block;\n  box-sizing: border-box;\n}\n.i360-app .mat-grid-tile-header .mat-line:nth-child(n+2),\n.i360-app .mat-grid-tile-footer .mat-line:nth-child(n+2) {\n  font-size: 12px;\n}\n.i360-app input.mat-input-element {\n  margin-top: -0.0625em;\n}\n.i360-app .mat-menu-item {\n  font-family: \'Open Sans\', sans-serif;\n  font-size: 14px;\n  font-weight: 400;\n}\n.i360-app .mat-paginator,\n.i360-app .mat-paginator-page-size .mat-select-trigger {\n  font-family: \'Open Sans\', sans-serif;\n  font-size: 12px;\n}\n.i360-app .mat-radio-button {\n  font-family: \'Open Sans\', sans-serif;\n}\n.i360-app .mat-select {\n  font-family: \'Open Sans\', sans-serif;\n}\n.i360-app .mat-select-trigger {\n  height: 1.125em;\n}\n.i360-app .mat-slide-toggle-content {\n  font-family: \'Open Sans\', sans-serif;\n}\n.i360-app .mat-slider-thumb-label-text {\n  font-family: \'Open Sans\', sans-serif;\n  font-size: 12px;\n  font-weight: 500;\n}\n.i360-app .mat-stepper-vertical, .i360-app .mat-stepper-horizontal {\n  font-family: \'Open Sans\', sans-serif;\n}\n.i360-app .mat-step-label {\n  font-size: 14px;\n  font-weight: 400;\n}\n.i360-app .mat-step-sub-label-error {\n  font-weight: normal;\n}\n.i360-app .mat-step-label-error {\n  font-size: 14px;\n}\n.i360-app .mat-step-label-selected {\n  font-size: 14px;\n  font-weight: 500;\n}\n.i360-app .mat-tab-group {\n  font-family: \'Open Sans\', sans-serif;\n}\n.i360-app .mat-tab-label, .i360-app .mat-tab-link {\n  font-family: \'Open Sans\', sans-serif;\n  font-size: 14px;\n  font-weight: 500;\n}\n.i360-app .mat-toolbar,\n.i360-app .mat-toolbar h1,\n.i360-app .mat-toolbar h2,\n.i360-app .mat-toolbar h3,\n.i360-app .mat-toolbar h4,\n.i360-app .mat-toolbar h5,\n.i360-app .mat-toolbar h6 {\n  font: 500 20px/32px \'Open Sans\', sans-serif;\n  letter-spacing: normal;\n  margin: 0;\n}\n.i360-app .mat-tooltip {\n  font-family: \'Open Sans\', sans-serif;\n  font-size: 10px;\n  padding-top: 6px;\n  padding-bottom: 6px;\n}\n.i360-app .mat-tooltip-handset {\n  font-size: 14px;\n  padding-top: 8px;\n  padding-bottom: 8px;\n}\n.i360-app .mat-list-item {\n  font-family: \'Open Sans\', sans-serif;\n}\n.i360-app .mat-list-option {\n  font-family: \'Open Sans\', sans-serif;\n}\n.i360-app .mat-list-base .mat-list-item {\n  font-size: 16px;\n}\n.i360-app .mat-list-base .mat-list-item .mat-line {\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  display: block;\n  box-sizing: border-box;\n}\n.i360-app .mat-list-base .mat-list-item .mat-line:nth-child(n+2) {\n  font-size: 14px;\n}\n.i360-app .mat-list-base .mat-list-option {\n  font-size: 16px;\n}\n.i360-app .mat-list-base .mat-list-option .mat-line {\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  display: block;\n  box-sizing: border-box;\n}\n.i360-app .mat-list-base .mat-list-option .mat-line:nth-child(n+2) {\n  font-size: 14px;\n}\n.i360-app .mat-list-base .mat-subheader {\n  font-family: \'Open Sans\', sans-serif;\n  font-size: 14px;\n  font-weight: 500;\n}\n.i360-app .mat-list-base[dense] .mat-list-item {\n  font-size: 12px;\n}\n.i360-app .mat-list-base[dense] .mat-list-item .mat-line {\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  display: block;\n  box-sizing: border-box;\n}\n.i360-app .mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2) {\n  font-size: 12px;\n}\n.i360-app .mat-list-base[dense] .mat-list-option {\n  font-size: 12px;\n}\n.i360-app .mat-list-base[dense] .mat-list-option .mat-line {\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  display: block;\n  box-sizing: border-box;\n}\n.i360-app .mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2) {\n  font-size: 12px;\n}\n.i360-app .mat-list-base[dense] .mat-subheader {\n  font-family: \'Open Sans\', sans-serif;\n  font-size: 12px;\n  font-weight: 500;\n}\n.i360-app .mat-option {\n  font-family: \'Open Sans\', sans-serif;\n  font-size: 16px;\n}\n.i360-app .mat-optgroup-label {\n  font: 500 14px/24px \'Open Sans\', sans-serif;\n  letter-spacing: normal;\n}\n.i360-app .mat-simple-snackbar {\n  font-family: \'Open Sans\', sans-serif;\n  font-size: 14px;\n}\n.i360-app .mat-simple-snackbar-action {\n  line-height: 1;\n  font-family: inherit;\n  font-size: inherit;\n  font-weight: 500;\n}\n.i360-app .mat-tree {\n  font-family: \'Open Sans\', sans-serif;\n}\n.i360-app .mat-tree-node,\n.i360-app .mat-nested-tree-node {\n  font-weight: 400;\n  font-size: 14px;\n}\n.i360-app .mat-ripple {\n  overflow: hidden;\n  position: relative;\n}\n.i360-app .mat-ripple:not(:empty) {\n  transform: translateZ(0);\n}\n.i360-app .mat-ripple.mat-ripple-unbounded {\n  overflow: visible;\n}\n.i360-app .mat-ripple-element {\n  position: absolute;\n  border-radius: 50%;\n  pointer-events: none;\n  transition: opacity, transform 0ms cubic-bezier(0, 0, 0.2, 1);\n  transform: scale(0);\n}\n.cdk-high-contrast-active .i360-app .mat-ripple-element {\n  display: none;\n}\n.i360-app .cdk-visually-hidden {\n  border: 0;\n  clip: rect(0 0 0 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n  white-space: nowrap;\n  outline: 0;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n}\n.i360-app .cdk-overlay-container, .i360-app .cdk-global-overlay-wrapper {\n  pointer-events: none;\n  top: 0;\n  left: 0;\n  height: 100%;\n  width: 100%;\n}\n.i360-app .cdk-overlay-container {\n  position: fixed;\n  z-index: 1000;\n}\n.i360-app .cdk-overlay-container:empty {\n  display: none;\n}\n.i360-app .cdk-global-overlay-wrapper {\n  display: flex;\n  position: absolute;\n  z-index: 1000;\n}\n.i360-app .cdk-overlay-pane {\n  position: absolute;\n  pointer-events: auto;\n  box-sizing: border-box;\n  z-index: 1000;\n  display: flex;\n  max-width: 100%;\n  max-height: 100%;\n}\n.i360-app .cdk-overlay-backdrop {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  z-index: 1000;\n  pointer-events: auto;\n  -webkit-tap-highlight-color: transparent;\n  transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n  opacity: 0;\n}\n.i360-app .cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\n  opacity: 1;\n}\n.cdk-high-contrast-active .i360-app .cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\n  opacity: 0.6;\n}\n.i360-app .cdk-overlay-dark-backdrop {\n  background: rgba(0, 0, 0, 0.32);\n}\n.i360-app .cdk-overlay-transparent-backdrop, .i360-app .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {\n  opacity: 0;\n}\n.i360-app .cdk-overlay-connected-position-bounding-box {\n  position: absolute;\n  z-index: 1000;\n  display: flex;\n  flex-direction: column;\n  min-width: 1px;\n  min-height: 1px;\n}\n.i360-app .cdk-global-scrollblock {\n  position: fixed;\n  width: 100%;\n  overflow-y: scroll;\n}\n@-webkit-keyframes cdk-text-field-autofill-start {\n  /*!*/\n}\n@keyframes cdk-text-field-autofill-start {\n  /*!*/\n}\n@-webkit-keyframes cdk-text-field-autofill-end {\n  /*!*/\n}\n@keyframes cdk-text-field-autofill-end {\n  /*!*/\n}\n.i360-app .cdk-text-field-autofill-monitored:-webkit-autofill {\n  -webkit-animation: cdk-text-field-autofill-start 0s 1ms;\n          animation: cdk-text-field-autofill-start 0s 1ms;\n}\n.i360-app .cdk-text-field-autofill-monitored:not(:-webkit-autofill) {\n  -webkit-animation: cdk-text-field-autofill-end 0s 1ms;\n          animation: cdk-text-field-autofill-end 0s 1ms;\n}\n.i360-app textarea.cdk-textarea-autosize {\n  resize: none;\n}\n.i360-app textarea.cdk-textarea-autosize-measuring {\n  padding: 2px 0 !important;\n  box-sizing: content-box !important;\n  height: auto !important;\n  overflow: hidden !important;\n}\n.i360-app textarea.cdk-textarea-autosize-measuring-firefox {\n  padding: 2px 0 !important;\n  box-sizing: content-box !important;\n  height: 0 !important;\n}\n.i360-app .mat-focus-indicator {\n  position: relative;\n}\n.i360-app .mat-mdc-focus-indicator {\n  position: relative;\n}\n.i360-app .mat-ripple-element {\n  background-color: rgba(0, 0, 0, 0.1);\n}\n.i360-app .mat-option {\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-option:hover:not(.mat-option-disabled), .i360-app .mat-option:focus:not(.mat-option-disabled) {\n  background: rgba(0, 0, 0, 0.04);\n}\n.i360-app .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled) {\n  background: rgba(0, 0, 0, 0.04);\n}\n.i360-app .mat-option.mat-active {\n  background: rgba(0, 0, 0, 0.04);\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-option.mat-option-disabled {\n  color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-primary .mat-option.mat-selected:not(.mat-option-disabled) {\n  color: #11cb84;\n}\n.i360-app .mat-accent .mat-option.mat-selected:not(.mat-option-disabled) {\n  color: #f77c00;\n}\n.i360-app .mat-warn .mat-option.mat-selected:not(.mat-option-disabled) {\n  color: #ea7474;\n}\n.i360-app .mat-optgroup-label {\n  color: rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-optgroup-disabled .mat-optgroup-label {\n  color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-pseudo-checkbox {\n  color: rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-pseudo-checkbox::after {\n  color: #fafafa;\n}\n.i360-app .mat-pseudo-checkbox-disabled {\n  color: #b0b0b0;\n}\n.i360-app .mat-primary .mat-pseudo-checkbox-checked,\n.i360-app .mat-primary .mat-pseudo-checkbox-indeterminate {\n  background: #11cb84;\n}\n.i360-app .mat-pseudo-checkbox-checked,\n.i360-app .mat-pseudo-checkbox-indeterminate,\n.i360-app .mat-accent .mat-pseudo-checkbox-checked,\n.i360-app .mat-accent .mat-pseudo-checkbox-indeterminate {\n  background: #f77c00;\n}\n.i360-app .mat-warn .mat-pseudo-checkbox-checked,\n.i360-app .mat-warn .mat-pseudo-checkbox-indeterminate {\n  background: #ea7474;\n}\n.i360-app .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,\n.i360-app .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled {\n  background: #b0b0b0;\n}\n.i360-app .mat-app-background, .i360-app.mat-app-background {\n  background-color: #fafafa;\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-elevation-z0 {\n  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z1 {\n  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z2 {\n  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z3 {\n  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z4 {\n  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z5 {\n  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z6 {\n  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z7 {\n  box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z8 {\n  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z9 {\n  box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z10 {\n  box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z11 {\n  box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z12 {\n  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z13 {\n  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z14 {\n  box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z15 {\n  box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z16 {\n  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z17 {\n  box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z18 {\n  box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z19 {\n  box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z20 {\n  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z21 {\n  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z22 {\n  box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z23 {\n  box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-elevation-z24 {\n  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);\n}\n.mat-theme-loaded-marker {\n  display: none;\n}\n.i360-app .mat-autocomplete-panel {\n  background: white;\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-autocomplete-panel:not([class*=mat-elevation-z]) {\n  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover) {\n  background: white;\n}\n.i360-app .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled) {\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-badge-content {\n  color: white;\n  background: #11cb84;\n}\n.cdk-high-contrast-active .i360-app .mat-badge-content {\n  outline: solid 1px;\n  border-radius: 0;\n}\n.i360-app .mat-badge-accent .mat-badge-content {\n  background: #f77c00;\n  color: white;\n}\n.i360-app .mat-badge-warn .mat-badge-content {\n  color: white;\n  background: #ea7474;\n}\n.i360-app .mat-badge {\n  position: relative;\n}\n.i360-app .mat-badge-hidden .mat-badge-content {\n  display: none;\n}\n.i360-app .mat-badge-disabled .mat-badge-content {\n  background: #b9b9b9;\n  color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-badge-content {\n  position: absolute;\n  text-align: center;\n  display: inline-block;\n  border-radius: 50%;\n  transition: transform 200ms ease-in-out;\n  transform: scale(0.6);\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n  pointer-events: none;\n}\n.i360-app .ng-animate-disabled .mat-badge-content,\n.i360-app .mat-badge-content._mat-animation-noopable {\n  transition: none;\n}\n.i360-app .mat-badge-content.mat-badge-active {\n  transform: none;\n}\n.i360-app .mat-badge-small .mat-badge-content {\n  width: 16px;\n  height: 16px;\n  line-height: 16px;\n}\n.i360-app .mat-badge-small.mat-badge-above .mat-badge-content {\n  top: -8px;\n}\n.i360-app .mat-badge-small.mat-badge-below .mat-badge-content {\n  bottom: -8px;\n}\n.i360-app .mat-badge-small.mat-badge-before .mat-badge-content {\n  left: -16px;\n}\n[dir=rtl] .i360-app .mat-badge-small.mat-badge-before .mat-badge-content {\n  left: auto;\n  right: -16px;\n}\n.i360-app .mat-badge-small.mat-badge-after .mat-badge-content {\n  right: -16px;\n}\n[dir=rtl] .i360-app .mat-badge-small.mat-badge-after .mat-badge-content {\n  right: auto;\n  left: -16px;\n}\n.i360-app .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {\n  left: -8px;\n}\n[dir=rtl] .i360-app .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {\n  left: auto;\n  right: -8px;\n}\n.i360-app .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {\n  right: -8px;\n}\n[dir=rtl] .i360-app .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {\n  right: auto;\n  left: -8px;\n}\n.i360-app .mat-badge-medium .mat-badge-content {\n  width: 22px;\n  height: 22px;\n  line-height: 22px;\n}\n.i360-app .mat-badge-medium.mat-badge-above .mat-badge-content {\n  top: -11px;\n}\n.i360-app .mat-badge-medium.mat-badge-below .mat-badge-content {\n  bottom: -11px;\n}\n.i360-app .mat-badge-medium.mat-badge-before .mat-badge-content {\n  left: -22px;\n}\n[dir=rtl] .i360-app .mat-badge-medium.mat-badge-before .mat-badge-content {\n  left: auto;\n  right: -22px;\n}\n.i360-app .mat-badge-medium.mat-badge-after .mat-badge-content {\n  right: -22px;\n}\n[dir=rtl] .i360-app .mat-badge-medium.mat-badge-after .mat-badge-content {\n  right: auto;\n  left: -22px;\n}\n.i360-app .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {\n  left: -11px;\n}\n[dir=rtl] .i360-app .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {\n  left: auto;\n  right: -11px;\n}\n.i360-app .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {\n  right: -11px;\n}\n[dir=rtl] .i360-app .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {\n  right: auto;\n  left: -11px;\n}\n.i360-app .mat-badge-large .mat-badge-content {\n  width: 28px;\n  height: 28px;\n  line-height: 28px;\n}\n.i360-app .mat-badge-large.mat-badge-above .mat-badge-content {\n  top: -14px;\n}\n.i360-app .mat-badge-large.mat-badge-below .mat-badge-content {\n  bottom: -14px;\n}\n.i360-app .mat-badge-large.mat-badge-before .mat-badge-content {\n  left: -28px;\n}\n[dir=rtl] .i360-app .mat-badge-large.mat-badge-before .mat-badge-content {\n  left: auto;\n  right: -28px;\n}\n.i360-app .mat-badge-large.mat-badge-after .mat-badge-content {\n  right: -28px;\n}\n[dir=rtl] .i360-app .mat-badge-large.mat-badge-after .mat-badge-content {\n  right: auto;\n  left: -28px;\n}\n.i360-app .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {\n  left: -14px;\n}\n[dir=rtl] .i360-app .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {\n  left: auto;\n  right: -14px;\n}\n.i360-app .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {\n  right: -14px;\n}\n[dir=rtl] .i360-app .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {\n  right: auto;\n  left: -14px;\n}\n.i360-app .mat-bottom-sheet-container {\n  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);\n  background: white;\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-button, .i360-app .mat-icon-button, .i360-app .mat-stroked-button {\n  color: inherit;\n  background: transparent;\n}\n.i360-app .mat-button.mat-primary, .i360-app .mat-icon-button.mat-primary, .i360-app .mat-stroked-button.mat-primary {\n  color: #11cb84;\n}\n.i360-app .mat-button.mat-accent, .i360-app .mat-icon-button.mat-accent, .i360-app .mat-stroked-button.mat-accent {\n  color: #f77c00;\n}\n.i360-app .mat-button.mat-warn, .i360-app .mat-icon-button.mat-warn, .i360-app .mat-stroked-button.mat-warn {\n  color: #ea7474;\n}\n.i360-app .mat-button.mat-primary.mat-button-disabled, .i360-app .mat-button.mat-accent.mat-button-disabled, .i360-app .mat-button.mat-warn.mat-button-disabled, .i360-app .mat-button.mat-button-disabled.mat-button-disabled, .i360-app .mat-icon-button.mat-primary.mat-button-disabled, .i360-app .mat-icon-button.mat-accent.mat-button-disabled, .i360-app .mat-icon-button.mat-warn.mat-button-disabled, .i360-app .mat-icon-button.mat-button-disabled.mat-button-disabled, .i360-app .mat-stroked-button.mat-primary.mat-button-disabled, .i360-app .mat-stroked-button.mat-accent.mat-button-disabled, .i360-app .mat-stroked-button.mat-warn.mat-button-disabled, .i360-app .mat-stroked-button.mat-button-disabled.mat-button-disabled {\n  color: rgba(0, 0, 0, 0.26);\n}\n.i360-app .mat-button.mat-primary .mat-button-focus-overlay, .i360-app .mat-icon-button.mat-primary .mat-button-focus-overlay, .i360-app .mat-stroked-button.mat-primary .mat-button-focus-overlay {\n  background-color: #11cb84;\n}\n.i360-app .mat-button.mat-accent .mat-button-focus-overlay, .i360-app .mat-icon-button.mat-accent .mat-button-focus-overlay, .i360-app .mat-stroked-button.mat-accent .mat-button-focus-overlay {\n  background-color: #f77c00;\n}\n.i360-app .mat-button.mat-warn .mat-button-focus-overlay, .i360-app .mat-icon-button.mat-warn .mat-button-focus-overlay, .i360-app .mat-stroked-button.mat-warn .mat-button-focus-overlay {\n  background-color: #ea7474;\n}\n.i360-app .mat-button.mat-button-disabled .mat-button-focus-overlay, .i360-app .mat-icon-button.mat-button-disabled .mat-button-focus-overlay, .i360-app .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay {\n  background-color: transparent;\n}\n.i360-app .mat-button .mat-ripple-element, .i360-app .mat-icon-button .mat-ripple-element, .i360-app .mat-stroked-button .mat-ripple-element {\n  opacity: 0.1;\n  background-color: currentColor;\n}\n.i360-app .mat-button-focus-overlay {\n  background: black;\n}\n.i360-app .mat-stroked-button:not(.mat-button-disabled) {\n  border-color: rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-flat-button, .i360-app .mat-raised-button, .i360-app .mat-fab, .i360-app .mat-mini-fab {\n  color: rgba(0, 0, 0, 0.87);\n  background-color: white;\n}\n.i360-app .mat-flat-button.mat-primary, .i360-app .mat-raised-button.mat-primary, .i360-app .mat-fab.mat-primary, .i360-app .mat-mini-fab.mat-primary {\n  color: white;\n}\n.i360-app .mat-flat-button.mat-accent, .i360-app .mat-raised-button.mat-accent, .i360-app .mat-fab.mat-accent, .i360-app .mat-mini-fab.mat-accent {\n  color: white;\n}\n.i360-app .mat-flat-button.mat-warn, .i360-app .mat-raised-button.mat-warn, .i360-app .mat-fab.mat-warn, .i360-app .mat-mini-fab.mat-warn {\n  color: white;\n}\n.i360-app .mat-flat-button.mat-primary.mat-button-disabled, .i360-app .mat-flat-button.mat-accent.mat-button-disabled, .i360-app .mat-flat-button.mat-warn.mat-button-disabled, .i360-app .mat-flat-button.mat-button-disabled.mat-button-disabled, .i360-app .mat-raised-button.mat-primary.mat-button-disabled, .i360-app .mat-raised-button.mat-accent.mat-button-disabled, .i360-app .mat-raised-button.mat-warn.mat-button-disabled, .i360-app .mat-raised-button.mat-button-disabled.mat-button-disabled, .i360-app .mat-fab.mat-primary.mat-button-disabled, .i360-app .mat-fab.mat-accent.mat-button-disabled, .i360-app .mat-fab.mat-warn.mat-button-disabled, .i360-app .mat-fab.mat-button-disabled.mat-button-disabled, .i360-app .mat-mini-fab.mat-primary.mat-button-disabled, .i360-app .mat-mini-fab.mat-accent.mat-button-disabled, .i360-app .mat-mini-fab.mat-warn.mat-button-disabled, .i360-app .mat-mini-fab.mat-button-disabled.mat-button-disabled {\n  color: rgba(0, 0, 0, 0.26);\n}\n.i360-app .mat-flat-button.mat-primary, .i360-app .mat-raised-button.mat-primary, .i360-app .mat-fab.mat-primary, .i360-app .mat-mini-fab.mat-primary {\n  background-color: #11cb84;\n}\n.i360-app .mat-flat-button.mat-accent, .i360-app .mat-raised-button.mat-accent, .i360-app .mat-fab.mat-accent, .i360-app .mat-mini-fab.mat-accent {\n  background-color: #f77c00;\n}\n.i360-app .mat-flat-button.mat-warn, .i360-app .mat-raised-button.mat-warn, .i360-app .mat-fab.mat-warn, .i360-app .mat-mini-fab.mat-warn {\n  background-color: #ea7474;\n}\n.i360-app .mat-flat-button.mat-primary.mat-button-disabled, .i360-app .mat-flat-button.mat-accent.mat-button-disabled, .i360-app .mat-flat-button.mat-warn.mat-button-disabled, .i360-app .mat-flat-button.mat-button-disabled.mat-button-disabled, .i360-app .mat-raised-button.mat-primary.mat-button-disabled, .i360-app .mat-raised-button.mat-accent.mat-button-disabled, .i360-app .mat-raised-button.mat-warn.mat-button-disabled, .i360-app .mat-raised-button.mat-button-disabled.mat-button-disabled, .i360-app .mat-fab.mat-primary.mat-button-disabled, .i360-app .mat-fab.mat-accent.mat-button-disabled, .i360-app .mat-fab.mat-warn.mat-button-disabled, .i360-app .mat-fab.mat-button-disabled.mat-button-disabled, .i360-app .mat-mini-fab.mat-primary.mat-button-disabled, .i360-app .mat-mini-fab.mat-accent.mat-button-disabled, .i360-app .mat-mini-fab.mat-warn.mat-button-disabled, .i360-app .mat-mini-fab.mat-button-disabled.mat-button-disabled {\n  background-color: rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-flat-button.mat-primary .mat-ripple-element, .i360-app .mat-raised-button.mat-primary .mat-ripple-element, .i360-app .mat-fab.mat-primary .mat-ripple-element, .i360-app .mat-mini-fab.mat-primary .mat-ripple-element {\n  background-color: rgba(255, 255, 255, 0.1);\n}\n.i360-app .mat-flat-button.mat-accent .mat-ripple-element, .i360-app .mat-raised-button.mat-accent .mat-ripple-element, .i360-app .mat-fab.mat-accent .mat-ripple-element, .i360-app .mat-mini-fab.mat-accent .mat-ripple-element {\n  background-color: rgba(255, 255, 255, 0.1);\n}\n.i360-app .mat-flat-button.mat-warn .mat-ripple-element, .i360-app .mat-raised-button.mat-warn .mat-ripple-element, .i360-app .mat-fab.mat-warn .mat-ripple-element, .i360-app .mat-mini-fab.mat-warn .mat-ripple-element {\n  background-color: rgba(255, 255, 255, 0.1);\n}\n.i360-app .mat-stroked-button:not([class*=mat-elevation-z]), .i360-app .mat-flat-button:not([class*=mat-elevation-z]) {\n  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-raised-button:not([class*=mat-elevation-z]) {\n  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {\n  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]) {\n  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-fab:not([class*=mat-elevation-z]), .i360-app .mat-mini-fab:not([class*=mat-elevation-z]) {\n  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]), .i360-app .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {\n  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]), .i360-app .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]) {\n  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-button-toggle-standalone,\n.i360-app .mat-button-toggle-group {\n  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,\n.i360-app .mat-button-toggle-group-appearance-standard {\n  box-shadow: none;\n}\n.i360-app .mat-button-toggle {\n  color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-button-toggle .mat-button-toggle-focus-overlay {\n  background-color: rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-button-toggle-appearance-standard {\n  color: rgba(0, 0, 0, 0.87);\n  background: white;\n}\n.i360-app .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {\n  background-color: black;\n}\n.i360-app .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {\n  border-left: solid 1px rgba(0, 0, 0, 0.12);\n}\n.i360-app [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {\n  border-left: none;\n  border-right: solid 1px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle + .mat-button-toggle {\n  border-left: none;\n  border-right: none;\n  border-top: solid 1px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-button-toggle-checked {\n  background-color: #e0e0e0;\n  color: rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-button-toggle-checked.mat-button-toggle-appearance-standard {\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-button-toggle-disabled {\n  color: rgba(0, 0, 0, 0.26);\n  background-color: #eeeeee;\n}\n.i360-app .mat-button-toggle-disabled.mat-button-toggle-appearance-standard {\n  background: white;\n}\n.i360-app .mat-button-toggle-disabled.mat-button-toggle-checked {\n  background-color: #bdbdbd;\n}\n.i360-app .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,\n.i360-app .mat-button-toggle-group-appearance-standard {\n  border: solid 1px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-button-toggle-appearance-standard .mat-button-toggle-label-content {\n  line-height: 48px;\n}\n.i360-app .mat-card {\n  background: white;\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-card:not([class*=mat-elevation-z]) {\n  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-card.mat-card-flat:not([class*=mat-elevation-z]) {\n  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-card-subtitle {\n  color: rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-checkbox-frame {\n  border-color: rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-checkbox-checkmark {\n  fill: #fafafa;\n}\n.i360-app .mat-checkbox-checkmark-path {\n  stroke: #fafafa !important;\n}\n.i360-app .mat-checkbox-mixedmark {\n  background-color: #fafafa;\n}\n.i360-app .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background, .i360-app .mat-checkbox-checked.mat-primary .mat-checkbox-background {\n  background-color: #11cb84;\n}\n.i360-app .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background, .i360-app .mat-checkbox-checked.mat-accent .mat-checkbox-background {\n  background-color: #f77c00;\n}\n.i360-app .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background, .i360-app .mat-checkbox-checked.mat-warn .mat-checkbox-background {\n  background-color: #ea7474;\n}\n.i360-app .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background, .i360-app .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background {\n  background-color: #b0b0b0;\n}\n.i360-app .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame {\n  border-color: #b0b0b0;\n}\n.i360-app .mat-checkbox-disabled .mat-checkbox-label {\n  color: rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-checkbox .mat-ripple-element {\n  background-color: black;\n}\n.i360-app .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,\n.i360-app .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element {\n  background: #11cb84;\n}\n.i360-app .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,\n.i360-app .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element {\n  background: #f77c00;\n}\n.i360-app .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,\n.i360-app .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element {\n  background: #ea7474;\n}\n.i360-app .mat-chip.mat-standard-chip {\n  background-color: #e0e0e0;\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-chip.mat-standard-chip .mat-chip-remove {\n  color: rgba(0, 0, 0, 0.87);\n  opacity: 0.4;\n}\n.i360-app .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active {\n  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover {\n  opacity: 0.54;\n}\n.i360-app .mat-chip.mat-standard-chip.mat-chip-disabled {\n  opacity: 0.4;\n}\n.i360-app .mat-chip.mat-standard-chip::after {\n  background: black;\n}\n.i360-app .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary {\n  background-color: #11cb84;\n  color: white;\n}\n.i360-app .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove {\n  color: white;\n  opacity: 0.4;\n}\n.i360-app .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element {\n  background-color: rgba(255, 255, 255, 0.1);\n}\n.i360-app .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn {\n  background-color: #ea7474;\n  color: white;\n}\n.i360-app .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove {\n  color: white;\n  opacity: 0.4;\n}\n.i360-app .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element {\n  background-color: rgba(255, 255, 255, 0.1);\n}\n.i360-app .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent {\n  background-color: #f77c00;\n  color: white;\n}\n.i360-app .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove {\n  color: white;\n  opacity: 0.4;\n}\n.i360-app .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element {\n  background-color: rgba(255, 255, 255, 0.1);\n}\n.i360-app .mat-table {\n  background: white;\n}\n.i360-app .mat-table thead, .i360-app .mat-table tbody, .i360-app .mat-table tfoot,\n.i360-app mat-header-row, .i360-app mat-row, .i360-app mat-footer-row,\n.i360-app [mat-header-row], .i360-app [mat-row], .i360-app [mat-footer-row],\n.i360-app .mat-table-sticky {\n  background: inherit;\n}\n.i360-app mat-row, .i360-app mat-header-row, .i360-app mat-footer-row,\n.i360-app th.mat-header-cell, .i360-app td.mat-cell, .i360-app td.mat-footer-cell {\n  border-bottom-color: rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-header-cell {\n  color: rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-cell, .i360-app .mat-footer-cell {\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-calendar-arrow {\n  border-top-color: rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-datepicker-toggle,\n.i360-app .mat-datepicker-content .mat-calendar-next-button,\n.i360-app .mat-datepicker-content .mat-calendar-previous-button {\n  color: rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-calendar-table-header {\n  color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-calendar-table-header-divider::after {\n  background: rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-calendar-body-label {\n  color: rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-calendar-body-cell-content,\n.i360-app .mat-date-range-input-separator {\n  color: rgba(0, 0, 0, 0.87);\n  border-color: transparent;\n}\n.i360-app .mat-calendar-body-disabled > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n  color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-form-field-disabled .mat-date-range-input-separator {\n  color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-calendar-body-in-preview {\n  color: rgba(0, 0, 0, 0.24);\n}\n.i360-app .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n  border-color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-calendar-body-disabled > .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n  border-color: rgba(0, 0, 0, 0.18);\n}\n.i360-app .mat-calendar-body-in-range::before {\n  background: rgba(17, 203, 132, 0.2);\n}\n.i360-app .mat-calendar-body-comparison-identical,\n.i360-app .mat-calendar-body-in-comparison-range::before {\n  background: rgba(249, 171, 0, 0.2);\n}\n.i360-app .mat-calendar-body-comparison-bridge-start::before,\n.i360-app [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {\n  background: linear-gradient(to right, rgba(17, 203, 132, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n}\n.i360-app .mat-calendar-body-comparison-bridge-end::before,\n.i360-app [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {\n  background: linear-gradient(to left, rgba(17, 203, 132, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n}\n.i360-app .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,\n.i360-app .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {\n  background: #a8dab5;\n}\n.i360-app .mat-calendar-body-comparison-identical.mat-calendar-body-selected,\n.i360-app .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {\n  background: #46a35e;\n}\n.i360-app .mat-calendar-body-selected {\n  background-color: #11cb84;\n  color: white;\n}\n.i360-app .mat-calendar-body-disabled > .mat-calendar-body-selected {\n  background-color: rgba(17, 203, 132, 0.4);\n}\n.i360-app .mat-calendar-body-today.mat-calendar-body-selected {\n  box-shadow: inset 0 0 0 1px white;\n}\n.i360-app .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),\n.i360-app .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),\n.i360-app .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n  background-color: rgba(17, 203, 132, 0.3);\n}\n.i360-app .mat-datepicker-content {\n  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n  background-color: white;\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-datepicker-content.mat-accent .mat-calendar-body-in-range::before {\n  background: rgba(247, 124, 0, 0.2);\n}\n.i360-app .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,\n.i360-app .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range::before {\n  background: rgba(249, 171, 0, 0.2);\n}\n.i360-app .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start::before,\n.i360-app .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {\n  background: linear-gradient(to right, rgba(247, 124, 0, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n}\n.i360-app .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end::before,\n.i360-app .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {\n  background: linear-gradient(to left, rgba(247, 124, 0, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n}\n.i360-app .mat-datepicker-content.mat-accent .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,\n.i360-app .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {\n  background: #a8dab5;\n}\n.i360-app .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,\n.i360-app .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {\n  background: #46a35e;\n}\n.i360-app .mat-datepicker-content.mat-accent .mat-calendar-body-selected {\n  background-color: #f77c00;\n  color: white;\n}\n.i360-app .mat-datepicker-content.mat-accent .mat-calendar-body-disabled > .mat-calendar-body-selected {\n  background-color: rgba(247, 124, 0, 0.4);\n}\n.i360-app .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected {\n  box-shadow: inset 0 0 0 1px white;\n}\n.i360-app .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),\n.i360-app .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),\n.i360-app .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n  background-color: rgba(247, 124, 0, 0.3);\n}\n.i360-app .mat-datepicker-content.mat-warn .mat-calendar-body-in-range::before {\n  background: rgba(234, 116, 116, 0.2);\n}\n.i360-app .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,\n.i360-app .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range::before {\n  background: rgba(249, 171, 0, 0.2);\n}\n.i360-app .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start::before,\n.i360-app .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {\n  background: linear-gradient(to right, rgba(234, 116, 116, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n}\n.i360-app .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end::before,\n.i360-app .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {\n  background: linear-gradient(to left, rgba(234, 116, 116, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);\n}\n.i360-app .mat-datepicker-content.mat-warn .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,\n.i360-app .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {\n  background: #a8dab5;\n}\n.i360-app .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,\n.i360-app .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {\n  background: #46a35e;\n}\n.i360-app .mat-datepicker-content.mat-warn .mat-calendar-body-selected {\n  background-color: #ea7474;\n  color: white;\n}\n.i360-app .mat-datepicker-content.mat-warn .mat-calendar-body-disabled > .mat-calendar-body-selected {\n  background-color: rgba(234, 116, 116, 0.4);\n}\n.i360-app .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected {\n  box-shadow: inset 0 0 0 1px white;\n}\n.i360-app .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),\n.i360-app .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),\n.i360-app .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n  background-color: rgba(234, 116, 116, 0.3);\n}\n.i360-app .mat-datepicker-content-touch {\n  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-datepicker-toggle-active {\n  color: #11cb84;\n}\n.i360-app .mat-datepicker-toggle-active.mat-accent {\n  color: #f77c00;\n}\n.i360-app .mat-datepicker-toggle-active.mat-warn {\n  color: #ea7474;\n}\n.i360-app .mat-date-range-input-inner[disabled] {\n  color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-dialog-container {\n  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);\n  background: white;\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-divider {\n  border-top-color: rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-divider-vertical {\n  border-right-color: rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-expansion-panel {\n  background: white;\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-expansion-panel:not([class*=mat-elevation-z]) {\n  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-action-row {\n  border-top-color: rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]), .i360-app .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]), .i360-app .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]) {\n  background: rgba(0, 0, 0, 0.04);\n}\n@media (hover: none) {\n  .i360-app .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover {\n    background: white;\n  }\n}\n.i360-app .mat-expansion-panel-header-title {\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-expansion-panel-header-description,\n.i360-app .mat-expansion-indicator::after {\n  color: rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-expansion-panel-header[aria-disabled=true] {\n  color: rgba(0, 0, 0, 0.26);\n}\n.i360-app .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,\n.i360-app .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description {\n  color: inherit;\n}\n.i360-app .mat-expansion-panel-header {\n  height: 48px;\n}\n.i360-app .mat-expansion-panel-header.mat-expanded {\n  height: 64px;\n}\n.i360-app .mat-form-field-label {\n  color: rgba(0, 0, 0, 0.6);\n}\n.i360-app .mat-hint {\n  color: rgba(0, 0, 0, 0.6);\n}\n.i360-app .mat-form-field.mat-focused .mat-form-field-label {\n  color: #11cb84;\n}\n.i360-app .mat-form-field.mat-focused .mat-form-field-label.mat-accent {\n  color: #f77c00;\n}\n.i360-app .mat-form-field.mat-focused .mat-form-field-label.mat-warn {\n  color: #ea7474;\n}\n.i360-app .mat-focused .mat-form-field-required-marker {\n  color: #f77c00;\n}\n.i360-app .mat-form-field-ripple {\n  background-color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-form-field.mat-focused .mat-form-field-ripple {\n  background-color: #11cb84;\n}\n.i360-app .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent {\n  background-color: #f77c00;\n}\n.i360-app .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn {\n  background-color: #ea7474;\n}\n.i360-app .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix::after {\n  color: #11cb84;\n}\n.i360-app .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix::after {\n  color: #f77c00;\n}\n.i360-app .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix::after {\n  color: #ea7474;\n}\n.i360-app .mat-form-field.mat-form-field-invalid .mat-form-field-label {\n  color: #ea7474;\n}\n.i360-app .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,\n.i360-app .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker {\n  color: #ea7474;\n}\n.i360-app .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,\n.i360-app .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent {\n  background-color: #ea7474;\n}\n.i360-app .mat-error {\n  color: #ea7474;\n}\n.i360-app .mat-form-field-appearance-legacy .mat-form-field-label {\n  color: rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-form-field-appearance-legacy .mat-hint {\n  color: rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-form-field-appearance-legacy .mat-form-field-underline {\n  background-color: rgba(0, 0, 0, 0.42);\n}\n.i360-app .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline {\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.42) 33%, transparent 0%);\n  background-size: 4px 100%;\n  background-repeat: repeat-x;\n}\n.i360-app .mat-form-field-appearance-standard .mat-form-field-underline {\n  background-color: rgba(0, 0, 0, 0.42);\n}\n.i360-app .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline {\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.42) 33%, transparent 0%);\n  background-size: 4px 100%;\n  background-repeat: repeat-x;\n}\n.i360-app .mat-form-field-appearance-fill .mat-form-field-flex {\n  background-color: rgba(0, 0, 0, 0.04);\n}\n.i360-app .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex {\n  background-color: rgba(0, 0, 0, 0.02);\n}\n.i360-app .mat-form-field-appearance-fill .mat-form-field-underline::before {\n  background-color: rgba(0, 0, 0, 0.42);\n}\n.i360-app .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label {\n  color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before {\n  background-color: transparent;\n}\n.i360-app .mat-form-field-appearance-outline .mat-form-field-outline {\n  color: rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-form-field-appearance-outline .mat-form-field-outline-thick {\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {\n  color: #11cb84;\n}\n.i360-app .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick {\n  color: #f77c00;\n}\n.i360-app .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick {\n  color: #ea7474;\n}\n.i360-app .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick {\n  color: #ea7474;\n}\n.i360-app .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label {\n  color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline {\n  color: rgba(0, 0, 0, 0.06);\n}\n.i360-app .mat-icon.mat-primary {\n  color: #11cb84;\n}\n.i360-app .mat-icon.mat-accent {\n  color: #f77c00;\n}\n.i360-app .mat-icon.mat-warn {\n  color: #ea7474;\n}\n.i360-app .mat-form-field-type-mat-native-select .mat-form-field-infix::after {\n  color: rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-input-element:disabled,\n.i360-app .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after {\n  color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-input-element {\n  caret-color: #11cb84;\n}\n.i360-app .mat-input-element::-moz-placeholder {\n  color: rgba(0, 0, 0, 0.42);\n}\n.i360-app .mat-input-element::placeholder {\n  color: rgba(0, 0, 0, 0.42);\n}\n.i360-app .mat-input-element::-moz-placeholder {\n  color: rgba(0, 0, 0, 0.42);\n}\n.i360-app .mat-input-element::-webkit-input-placeholder {\n  color: rgba(0, 0, 0, 0.42);\n}\n.i360-app .mat-input-element:-ms-input-placeholder {\n  color: rgba(0, 0, 0, 0.42);\n}\n.i360-app .mat-form-field.mat-accent .mat-input-element {\n  caret-color: #f77c00;\n}\n.i360-app .mat-form-field.mat-warn .mat-input-element,\n.i360-app .mat-form-field-invalid .mat-input-element {\n  caret-color: #ea7474;\n}\n.i360-app .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after {\n  color: #ea7474;\n}\n.i360-app .mat-list-base .mat-list-item {\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-list-base .mat-list-option {\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-list-base .mat-subheader {\n  color: rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-list-item-disabled {\n  background-color: #eeeeee;\n}\n.i360-app .mat-list-option:hover, .i360-app .mat-list-option:focus,\n.i360-app .mat-nav-list .mat-list-item:hover,\n.i360-app .mat-nav-list .mat-list-item:focus,\n.i360-app .mat-action-list .mat-list-item:hover,\n.i360-app .mat-action-list .mat-list-item:focus {\n  background: rgba(0, 0, 0, 0.04);\n}\n.i360-app .mat-list-single-selected-option, .i360-app .mat-list-single-selected-option:hover, .i360-app .mat-list-single-selected-option:focus {\n  background: rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-menu-panel {\n  background: white;\n}\n.i360-app .mat-menu-panel:not([class*=mat-elevation-z]) {\n  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-menu-item {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-menu-item[disabled], .i360-app .mat-menu-item[disabled]::after,\n.i360-app .mat-menu-item[disabled] .mat-icon-no-color {\n  color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-menu-item .mat-icon-no-color,\n.i360-app .mat-menu-item-submenu-trigger::after {\n  color: rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-menu-item:hover:not([disabled]),\n.i360-app .mat-menu-item.cdk-program-focused:not([disabled]),\n.i360-app .mat-menu-item.cdk-keyboard-focused:not([disabled]),\n.i360-app .mat-menu-item-highlighted:not([disabled]) {\n  background: rgba(0, 0, 0, 0.04);\n}\n.i360-app .mat-paginator {\n  background: white;\n}\n.i360-app .mat-paginator,\n.i360-app .mat-paginator-page-size .mat-select-trigger {\n  color: rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-paginator-decrement,\n.i360-app .mat-paginator-increment {\n  border-top: 2px solid rgba(0, 0, 0, 0.54);\n  border-right: 2px solid rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-paginator-first,\n.i360-app .mat-paginator-last {\n  border-top: 2px solid rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-icon-button[disabled] .mat-paginator-decrement,\n.i360-app .mat-icon-button[disabled] .mat-paginator-increment,\n.i360-app .mat-icon-button[disabled] .mat-paginator-first,\n.i360-app .mat-icon-button[disabled] .mat-paginator-last {\n  border-color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-paginator-container {\n  min-height: 56px;\n}\n.i360-app .mat-progress-bar-background {\n  fill: #eff8f2;\n}\n.i360-app .mat-progress-bar-buffer {\n  background-color: #eff8f2;\n}\n.i360-app .mat-progress-bar-fill::after {\n  background-color: #11cb84;\n}\n.i360-app .mat-progress-bar.mat-accent .mat-progress-bar-background {\n  fill: #ffccbc;\n}\n.i360-app .mat-progress-bar.mat-accent .mat-progress-bar-buffer {\n  background-color: #ffccbc;\n}\n.i360-app .mat-progress-bar.mat-accent .mat-progress-bar-fill::after {\n  background-color: #f77c00;\n}\n.i360-app .mat-progress-bar.mat-warn .mat-progress-bar-background {\n  fill: #ffcdd2;\n}\n.i360-app .mat-progress-bar.mat-warn .mat-progress-bar-buffer {\n  background-color: #ffcdd2;\n}\n.i360-app .mat-progress-bar.mat-warn .mat-progress-bar-fill::after {\n  background-color: #ea7474;\n}\n.i360-app .mat-progress-spinner circle, .i360-app .mat-spinner circle {\n  stroke: #11cb84;\n}\n.i360-app .mat-progress-spinner.mat-accent circle, .i360-app .mat-spinner.mat-accent circle {\n  stroke: #f77c00;\n}\n.i360-app .mat-progress-spinner.mat-warn circle, .i360-app .mat-spinner.mat-warn circle {\n  stroke: #ea7474;\n}\n.i360-app .mat-radio-outer-circle {\n  border-color: rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle {\n  border-color: #11cb84;\n}\n.i360-app .mat-radio-button.mat-primary .mat-radio-inner-circle,\n.i360-app .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .i360-app .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple, .i360-app .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple {\n  background-color: #11cb84;\n}\n.i360-app .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle {\n  border-color: #f77c00;\n}\n.i360-app .mat-radio-button.mat-accent .mat-radio-inner-circle,\n.i360-app .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .i360-app .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple, .i360-app .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple {\n  background-color: #f77c00;\n}\n.i360-app .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle {\n  border-color: #ea7474;\n}\n.i360-app .mat-radio-button.mat-warn .mat-radio-inner-circle,\n.i360-app .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .i360-app .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple, .i360-app .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple {\n  background-color: #ea7474;\n}\n.i360-app .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,\n.i360-app .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle {\n  border-color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,\n.i360-app .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle {\n  background-color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-radio-button.mat-radio-disabled .mat-radio-label-content {\n  color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-radio-button .mat-ripple-element {\n  background-color: black;\n}\n.i360-app .mat-select-value {\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-select-placeholder {\n  color: rgba(0, 0, 0, 0.42);\n}\n.i360-app .mat-select-disabled .mat-select-value {\n  color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-select-arrow {\n  color: rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-select-panel {\n  background: white;\n}\n.i360-app .mat-select-panel:not([class*=mat-elevation-z]) {\n  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {\n  background: rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-form-field.mat-focused.mat-primary .mat-select-arrow {\n  color: #11cb84;\n}\n.i360-app .mat-form-field.mat-focused.mat-accent .mat-select-arrow {\n  color: #f77c00;\n}\n.i360-app .mat-form-field.mat-focused.mat-warn .mat-select-arrow {\n  color: #ea7474;\n}\n.i360-app .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow {\n  color: #ea7474;\n}\n.i360-app .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow {\n  color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-drawer-container {\n  background-color: #fafafa;\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-drawer {\n  background-color: white;\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-drawer.mat-drawer-push {\n  background-color: white;\n}\n.i360-app .mat-drawer:not(.mat-drawer-side) {\n  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-drawer-side {\n  border-right: solid 1px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-drawer-side.mat-drawer-end {\n  border-left: solid 1px rgba(0, 0, 0, 0.12);\n  border-right: none;\n}\n.i360-app [dir=rtl] .mat-drawer-side {\n  border-left: solid 1px rgba(0, 0, 0, 0.12);\n  border-right: none;\n}\n.i360-app [dir=rtl] .mat-drawer-side.mat-drawer-end {\n  border-left: none;\n  border-right: solid 1px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-drawer-backdrop.mat-drawer-shown {\n  background-color: rgba(0, 0, 0, 0.6);\n}\n.i360-app .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb {\n  background-color: #f77c00;\n}\n.i360-app .mat-slide-toggle.mat-checked .mat-slide-toggle-bar {\n  background-color: rgba(247, 124, 0, 0.54);\n}\n.i360-app .mat-slide-toggle.mat-checked .mat-ripple-element {\n  background-color: #f77c00;\n}\n.i360-app .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb {\n  background-color: #11cb84;\n}\n.i360-app .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar {\n  background-color: rgba(17, 203, 132, 0.54);\n}\n.i360-app .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element {\n  background-color: #11cb84;\n}\n.i360-app .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb {\n  background-color: #ea7474;\n}\n.i360-app .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar {\n  background-color: rgba(234, 116, 116, 0.54);\n}\n.i360-app .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element {\n  background-color: #ea7474;\n}\n.i360-app .mat-slide-toggle:not(.mat-checked) .mat-ripple-element {\n  background-color: black;\n}\n.i360-app .mat-slide-toggle-thumb {\n  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);\n  background-color: #fafafa;\n}\n.i360-app .mat-slide-toggle-bar {\n  background-color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-slider-track-background {\n  background-color: rgba(0, 0, 0, 0.26);\n}\n.i360-app .mat-primary .mat-slider-track-fill,\n.i360-app .mat-primary .mat-slider-thumb,\n.i360-app .mat-primary .mat-slider-thumb-label {\n  background-color: #11cb84;\n}\n.i360-app .mat-primary .mat-slider-thumb-label-text {\n  color: white;\n}\n.i360-app .mat-primary .mat-slider-focus-ring {\n  background-color: rgba(17, 203, 132, 0.2);\n}\n.i360-app .mat-accent .mat-slider-track-fill,\n.i360-app .mat-accent .mat-slider-thumb,\n.i360-app .mat-accent .mat-slider-thumb-label {\n  background-color: #f77c00;\n}\n.i360-app .mat-accent .mat-slider-thumb-label-text {\n  color: white;\n}\n.i360-app .mat-accent .mat-slider-focus-ring {\n  background-color: rgba(247, 124, 0, 0.2);\n}\n.i360-app .mat-warn .mat-slider-track-fill,\n.i360-app .mat-warn .mat-slider-thumb,\n.i360-app .mat-warn .mat-slider-thumb-label {\n  background-color: #ea7474;\n}\n.i360-app .mat-warn .mat-slider-thumb-label-text {\n  color: white;\n}\n.i360-app .mat-warn .mat-slider-focus-ring {\n  background-color: rgba(234, 116, 116, 0.2);\n}\n.i360-app .mat-slider:hover .mat-slider-track-background,\n.i360-app .cdk-focused .mat-slider-track-background {\n  background-color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-slider-disabled .mat-slider-track-background,\n.i360-app .mat-slider-disabled .mat-slider-track-fill,\n.i360-app .mat-slider-disabled .mat-slider-thumb {\n  background-color: rgba(0, 0, 0, 0.26);\n}\n.i360-app .mat-slider-disabled:hover .mat-slider-track-background {\n  background-color: rgba(0, 0, 0, 0.26);\n}\n.i360-app .mat-slider-min-value .mat-slider-focus-ring {\n  background-color: rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,\n.i360-app .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label {\n  background-color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,\n.i360-app .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label {\n  background-color: rgba(0, 0, 0, 0.26);\n}\n.i360-app .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb {\n  border-color: rgba(0, 0, 0, 0.26);\n  background-color: transparent;\n}\n.i360-app .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb, .i360-app .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb {\n  border-color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb, .i360-app .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb {\n  border-color: rgba(0, 0, 0, 0.26);\n}\n.i360-app .mat-slider-has-ticks .mat-slider-wrapper::after {\n  border-color: rgba(0, 0, 0, 0.7);\n}\n.i360-app .mat-slider-horizontal .mat-slider-ticks {\n  background-image: repeating-linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);\n  background-image: -moz-repeating-linear-gradient(0.0001deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);\n}\n.i360-app .mat-slider-vertical .mat-slider-ticks {\n  background-image: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);\n}\n.i360-app .mat-step-header.cdk-keyboard-focused, .i360-app .mat-step-header.cdk-program-focused, .i360-app .mat-step-header:hover {\n  background-color: rgba(0, 0, 0, 0.04);\n}\n@media (hover: none) {\n  .i360-app .mat-step-header:hover {\n    background: none;\n  }\n}\n.i360-app .mat-step-header .mat-step-label,\n.i360-app .mat-step-header .mat-step-optional {\n  color: rgba(0, 0, 0, 0.54);\n}\n.i360-app .mat-step-header .mat-step-icon {\n  background-color: rgba(0, 0, 0, 0.54);\n  color: white;\n}\n.i360-app .mat-step-header .mat-step-icon-selected,\n.i360-app .mat-step-header .mat-step-icon-state-done,\n.i360-app .mat-step-header .mat-step-icon-state-edit {\n  background-color: #11cb84;\n  color: white;\n}\n.i360-app .mat-step-header.mat-accent .mat-step-icon {\n  color: white;\n}\n.i360-app .mat-step-header.mat-accent .mat-step-icon-selected,\n.i360-app .mat-step-header.mat-accent .mat-step-icon-state-done,\n.i360-app .mat-step-header.mat-accent .mat-step-icon-state-edit {\n  background-color: #f77c00;\n  color: white;\n}\n.i360-app .mat-step-header.mat-warn .mat-step-icon {\n  color: white;\n}\n.i360-app .mat-step-header.mat-warn .mat-step-icon-selected,\n.i360-app .mat-step-header.mat-warn .mat-step-icon-state-done,\n.i360-app .mat-step-header.mat-warn .mat-step-icon-state-edit {\n  background-color: #ea7474;\n  color: white;\n}\n.i360-app .mat-step-header .mat-step-icon-state-error {\n  background-color: transparent;\n  color: #ea7474;\n}\n.i360-app .mat-step-header .mat-step-label.mat-step-label-active {\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-step-header .mat-step-label.mat-step-label-error {\n  color: #ea7474;\n}\n.i360-app .mat-stepper-horizontal, .i360-app .mat-stepper-vertical {\n  background-color: white;\n}\n.i360-app .mat-stepper-vertical-line::before {\n  border-left-color: rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-horizontal-stepper-header::before,\n.i360-app .mat-horizontal-stepper-header::after,\n.i360-app .mat-stepper-horizontal-line {\n  border-top-color: rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-horizontal-stepper-header {\n  height: 72px;\n}\n.i360-app .mat-stepper-label-position-bottom .mat-horizontal-stepper-header,\n.i360-app .mat-vertical-stepper-header {\n  padding: 24px 24px;\n}\n.i360-app .mat-stepper-vertical-line::before {\n  top: -16px;\n  bottom: -16px;\n}\n.i360-app .mat-stepper-label-position-bottom .mat-horizontal-stepper-header::after, .i360-app .mat-stepper-label-position-bottom .mat-horizontal-stepper-header::before {\n  top: 36px;\n}\n.i360-app .mat-stepper-label-position-bottom .mat-stepper-horizontal-line {\n  top: 36px;\n}\n.i360-app .mat-sort-header-arrow {\n  color: #757575;\n}\n.i360-app .mat-tab-nav-bar,\n.i360-app .mat-tab-header {\n  border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-tab-group-inverted-header .mat-tab-nav-bar,\n.i360-app .mat-tab-group-inverted-header .mat-tab-header {\n  border-top: 1px solid rgba(0, 0, 0, 0.12);\n  border-bottom: none;\n}\n.i360-app .mat-tab-label, .i360-app .mat-tab-link {\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-tab-label.mat-tab-disabled, .i360-app .mat-tab-link.mat-tab-disabled {\n  color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-tab-header-pagination-chevron {\n  border-color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n  border-color: rgba(0, 0, 0, 0.38);\n}\n.i360-app .mat-tab-group[class*=mat-background-] .mat-tab-header,\n.i360-app .mat-tab-nav-bar[class*=mat-background-] {\n  border-bottom: none;\n  border-top: none;\n}\n.i360-app .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .i360-app .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .i360-app .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .i360-app .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n  background-color: rgba(239, 248, 242, 0.3);\n}\n.i360-app .mat-tab-group.mat-primary .mat-ink-bar, .i360-app .mat-tab-nav-bar.mat-primary .mat-ink-bar {\n  background-color: #11cb84;\n}\n.i360-app .mat-tab-group.mat-primary.mat-background-primary > .mat-tab-header .mat-ink-bar, .i360-app .mat-tab-group.mat-primary.mat-background-primary > .mat-tab-link-container .mat-ink-bar, .i360-app .mat-tab-nav-bar.mat-primary.mat-background-primary > .mat-tab-header .mat-ink-bar, .i360-app .mat-tab-nav-bar.mat-primary.mat-background-primary > .mat-tab-link-container .mat-ink-bar {\n  background-color: white;\n}\n.i360-app .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .i360-app .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .i360-app .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .i360-app .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n  background-color: rgba(255, 204, 188, 0.3);\n}\n.i360-app .mat-tab-group.mat-accent .mat-ink-bar, .i360-app .mat-tab-nav-bar.mat-accent .mat-ink-bar {\n  background-color: #f77c00;\n}\n.i360-app .mat-tab-group.mat-accent.mat-background-accent > .mat-tab-header .mat-ink-bar, .i360-app .mat-tab-group.mat-accent.mat-background-accent > .mat-tab-link-container .mat-ink-bar, .i360-app .mat-tab-nav-bar.mat-accent.mat-background-accent > .mat-tab-header .mat-ink-bar, .i360-app .mat-tab-nav-bar.mat-accent.mat-background-accent > .mat-tab-link-container .mat-ink-bar {\n  background-color: white;\n}\n.i360-app .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .i360-app .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .i360-app .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .i360-app .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n  background-color: rgba(255, 205, 210, 0.3);\n}\n.i360-app .mat-tab-group.mat-warn .mat-ink-bar, .i360-app .mat-tab-nav-bar.mat-warn .mat-ink-bar {\n  background-color: #ea7474;\n}\n.i360-app .mat-tab-group.mat-warn.mat-background-warn > .mat-tab-header .mat-ink-bar, .i360-app .mat-tab-group.mat-warn.mat-background-warn > .mat-tab-link-container .mat-ink-bar, .i360-app .mat-tab-nav-bar.mat-warn.mat-background-warn > .mat-tab-header .mat-ink-bar, .i360-app .mat-tab-nav-bar.mat-warn.mat-background-warn > .mat-tab-link-container .mat-ink-bar {\n  background-color: white;\n}\n.i360-app .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .i360-app .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .i360-app .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .i360-app .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n  background-color: rgba(239, 248, 242, 0.3);\n}\n.i360-app .mat-tab-group.mat-background-primary > .mat-tab-header, .i360-app .mat-tab-group.mat-background-primary > .mat-tab-link-container, .i360-app .mat-tab-group.mat-background-primary > .mat-tab-header-pagination, .i360-app .mat-tab-nav-bar.mat-background-primary > .mat-tab-header, .i360-app .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container, .i360-app .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination {\n  background-color: #11cb84;\n}\n.i360-app .mat-tab-group.mat-background-primary > .mat-tab-header .mat-tab-label, .i360-app .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-tab-link, .i360-app .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-tab-label, .i360-app .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-tab-link {\n  color: white;\n}\n.i360-app .mat-tab-group.mat-background-primary > .mat-tab-header .mat-tab-label.mat-tab-disabled, .i360-app .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .i360-app .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-tab-label.mat-tab-disabled, .i360-app .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {\n  color: rgba(255, 255, 255, 0.4);\n}\n.i360-app .mat-tab-group.mat-background-primary > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,\n.i360-app .mat-tab-group.mat-background-primary > .mat-tab-links .mat-focus-indicator::before,\n.i360-app .mat-tab-group.mat-background-primary > .mat-tab-header .mat-focus-indicator::before, .i360-app .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,\n.i360-app .mat-tab-nav-bar.mat-background-primary > .mat-tab-links .mat-focus-indicator::before,\n.i360-app .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-focus-indicator::before {\n  border-color: white;\n}\n.i360-app .mat-tab-group.mat-background-primary > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .i360-app .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n  border-color: rgba(255, 255, 255, 0.4);\n}\n.i360-app .mat-tab-group.mat-background-primary > .mat-tab-header .mat-ripple-element,\n.i360-app .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-ripple-element, .i360-app .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-ripple-element,\n.i360-app .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-ripple-element {\n  background-color: rgba(255, 255, 255, 0.12);\n}\n.i360-app .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .i360-app .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .i360-app .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .i360-app .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n  background-color: rgba(255, 204, 188, 0.3);\n}\n.i360-app .mat-tab-group.mat-background-accent > .mat-tab-header, .i360-app .mat-tab-group.mat-background-accent > .mat-tab-link-container, .i360-app .mat-tab-group.mat-background-accent > .mat-tab-header-pagination, .i360-app .mat-tab-nav-bar.mat-background-accent > .mat-tab-header, .i360-app .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container, .i360-app .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination {\n  background-color: #f77c00;\n}\n.i360-app .mat-tab-group.mat-background-accent > .mat-tab-header .mat-tab-label, .i360-app .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-tab-link, .i360-app .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-tab-label, .i360-app .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-tab-link {\n  color: white;\n}\n.i360-app .mat-tab-group.mat-background-accent > .mat-tab-header .mat-tab-label.mat-tab-disabled, .i360-app .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .i360-app .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-tab-label.mat-tab-disabled, .i360-app .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {\n  color: rgba(255, 255, 255, 0.4);\n}\n.i360-app .mat-tab-group.mat-background-accent > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,\n.i360-app .mat-tab-group.mat-background-accent > .mat-tab-links .mat-focus-indicator::before,\n.i360-app .mat-tab-group.mat-background-accent > .mat-tab-header .mat-focus-indicator::before, .i360-app .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,\n.i360-app .mat-tab-nav-bar.mat-background-accent > .mat-tab-links .mat-focus-indicator::before,\n.i360-app .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-focus-indicator::before {\n  border-color: white;\n}\n.i360-app .mat-tab-group.mat-background-accent > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .i360-app .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n  border-color: rgba(255, 255, 255, 0.4);\n}\n.i360-app .mat-tab-group.mat-background-accent > .mat-tab-header .mat-ripple-element,\n.i360-app .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-ripple-element, .i360-app .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-ripple-element,\n.i360-app .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-ripple-element {\n  background-color: rgba(255, 255, 255, 0.12);\n}\n.i360-app .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .i360-app .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .i360-app .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .i360-app .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\n.i360-app .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\n  background-color: rgba(255, 205, 210, 0.3);\n}\n.i360-app .mat-tab-group.mat-background-warn > .mat-tab-header, .i360-app .mat-tab-group.mat-background-warn > .mat-tab-link-container, .i360-app .mat-tab-group.mat-background-warn > .mat-tab-header-pagination, .i360-app .mat-tab-nav-bar.mat-background-warn > .mat-tab-header, .i360-app .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container, .i360-app .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination {\n  background-color: #ea7474;\n}\n.i360-app .mat-tab-group.mat-background-warn > .mat-tab-header .mat-tab-label, .i360-app .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-tab-link, .i360-app .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-tab-label, .i360-app .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-tab-link {\n  color: white;\n}\n.i360-app .mat-tab-group.mat-background-warn > .mat-tab-header .mat-tab-label.mat-tab-disabled, .i360-app .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .i360-app .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-tab-label.mat-tab-disabled, .i360-app .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {\n  color: rgba(255, 255, 255, 0.4);\n}\n.i360-app .mat-tab-group.mat-background-warn > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,\n.i360-app .mat-tab-group.mat-background-warn > .mat-tab-links .mat-focus-indicator::before,\n.i360-app .mat-tab-group.mat-background-warn > .mat-tab-header .mat-focus-indicator::before, .i360-app .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,\n.i360-app .mat-tab-nav-bar.mat-background-warn > .mat-tab-links .mat-focus-indicator::before,\n.i360-app .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-focus-indicator::before {\n  border-color: white;\n}\n.i360-app .mat-tab-group.mat-background-warn > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .i360-app .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n  border-color: rgba(255, 255, 255, 0.4);\n}\n.i360-app .mat-tab-group.mat-background-warn > .mat-tab-header .mat-ripple-element,\n.i360-app .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-ripple-element, .i360-app .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-ripple-element,\n.i360-app .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-ripple-element {\n  background-color: rgba(255, 255, 255, 0.12);\n}\n.i360-app .mat-toolbar {\n  background: whitesmoke;\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-toolbar.mat-primary {\n  background: #11cb84;\n  color: white;\n}\n.i360-app .mat-toolbar.mat-accent {\n  background: #f77c00;\n  color: white;\n}\n.i360-app .mat-toolbar.mat-warn {\n  background: #ea7474;\n  color: white;\n}\n.i360-app .mat-toolbar .mat-form-field-underline,\n.i360-app .mat-toolbar .mat-form-field-ripple,\n.i360-app .mat-toolbar .mat-focused .mat-form-field-ripple {\n  background-color: currentColor;\n}\n.i360-app .mat-toolbar .mat-form-field-label,\n.i360-app .mat-toolbar .mat-focused .mat-form-field-label,\n.i360-app .mat-toolbar .mat-select-value,\n.i360-app .mat-toolbar .mat-select-arrow,\n.i360-app .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow {\n  color: inherit;\n}\n.i360-app .mat-toolbar .mat-input-element {\n  caret-color: currentColor;\n}\n.i360-app .mat-toolbar-multiple-rows {\n  min-height: 64px;\n}\n.i360-app .mat-toolbar-row, .i360-app .mat-toolbar-single-row {\n  height: 64px;\n}\n@media (max-width: 599px) {\n  .i360-app .mat-toolbar-multiple-rows {\n    min-height: 56px;\n  }\n  .i360-app .mat-toolbar-row, .i360-app .mat-toolbar-single-row {\n    height: 56px;\n  }\n}\n.i360-app .mat-tooltip {\n  background: rgba(97, 97, 97, 0.9);\n}\n.i360-app .mat-tree {\n  background: white;\n}\n.i360-app .mat-tree-node,\n.i360-app .mat-nested-tree-node {\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-tree-node {\n  min-height: 48px;\n}\n.i360-app .mat-snack-bar-container {\n  color: rgba(255, 255, 255, 0.7);\n  background: #323232;\n  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);\n}\n.i360-app .mat-simple-snackbar-action {\n  color: #f77c00;\n}\n.i360-app .mat-slider-track-background {\n  background-color: #bebebe;\n}\n.i360-app .mat-primary .mat-slider-track-fill,\n.i360-app .mat-primary .mat-slider-thumb,\n.i360-app .mat-primary .mat-slider-thumb-label {\n  background-color: #11cb84;\n}\n.i360-app .mat-primary .mat-slider-thumb-label-text {\n  color: white;\n}\n.i360-app .mat-primary .mat-slider-focus-ring {\n  background-color: rgba(17, 203, 132, 0.2);\n}\n.i360-app .mat-accent .mat-slider-track-fill,\n.i360-app .mat-accent .mat-slider-thumb,\n.i360-app .mat-accent .mat-slider-thumb-label {\n  background-color: #11cb84;\n}\n.i360-app .mat-accent .mat-slider-thumb-label-text {\n  color: white;\n}\n.i360-app .mat-accent .mat-slider-focus-ring {\n  background-color: rgba(17, 203, 132, 0.2);\n}\n.i360-app .mat-warn .mat-slider-track-fill,\n.i360-app .mat-warn .mat-slider-thumb,\n.i360-app .mat-warn .mat-slider-thumb-label {\n  background-color: #ea7474;\n}\n.i360-app .mat-warn .mat-slider-thumb-label-text {\n  color: white;\n}\n.i360-app .mat-warn .mat-slider-focus-ring {\n  background-color: rgba(234, 116, 116, 0.2);\n}\n.i360-app .mat-slider:hover .mat-slider-track-background,\n.i360-app .cdk-focused .mat-slider-track-background {\n  background-color: #bebebe;\n}\n.i360-app .mat-slider-disabled .mat-slider-track-background,\n.i360-app .mat-slider-disabled .mat-slider-track-fill,\n.i360-app .mat-slider-disabled .mat-slider-thumb {\n  background-color: #bebebe;\n}\n.i360-app .mat-slider-disabled:hover .mat-slider-track-background {\n  background-color: #bebebe;\n}\n.i360-app .mat-slider-min-value .mat-slider-focus-ring {\n  background-color: rgba(132, 132, 132, 0.12);\n}\n.i360-app .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,\n.i360-app .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label {\n  background-color: white;\n}\n.i360-app .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,\n.i360-app .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label {\n  background-color: #bebebe;\n}\n.i360-app .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb {\n  border-color: #bebebe;\n  background-color: transparent;\n}\n.i360-app .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb, .i360-app .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb {\n  border-color: #bebebe;\n}\n.i360-app .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb, .i360-app .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb {\n  border-color: #bebebe;\n}\n.i360-app .mat-slider-has-ticks .mat-slider-wrapper::after {\n  border-color: rgba(132, 132, 132, 0.7);\n}\n.i360-app .mat-slider-horizontal .mat-slider-ticks {\n  background-image: repeating-linear-gradient(to right, rgba(132, 132, 132, 0.7), rgba(132, 132, 132, 0.7) 2px, transparent 0, transparent);\n  background-image: -moz-repeating-linear-gradient(0.0001deg, rgba(132, 132, 132, 0.7), rgba(132, 132, 132, 0.7) 2px, transparent 0, transparent);\n}\n.i360-app .mat-slider-vertical .mat-slider-ticks {\n  background-image: repeating-linear-gradient(to bottom, rgba(132, 132, 132, 0.7), rgba(132, 132, 132, 0.7) 2px, transparent 0, transparent);\n}\n.i360-app .mat-slide-toggle.mat-primary:not(.mat-checked) .mat-slide-toggle-bar {\n  background-color: #e3e3e3;\n}\n.i360-app .mat-slide-toggle.mat-primary:not(.mat-checked) .mat-slide-toggle-bar::after {\n  color: #8a9298;\n}\n.i360-app .mat-slide-toggle.mat-primary:not(.mat-checked) .mat-slide-toggle-thumb {\n  background-color: #fff;\n}\n.i360-app .mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar {\n  background-color: #c8f5e4;\n}\n.i360-app .mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar::before {\n  color: #11cb84;\n}\n.i360-app .mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb {\n  background-color: #11cb84;\n}\n.i360-app .mat-radio-button .mat-radio-outer-circle {\n  border-color: #11cb84;\n}\n.i360-app .mat-checkbox .mat-checkbox-frame {\n  border-color: #dee1ec !important;\n}\n.i360-app .mat-radio-button, .i360-app .mat-checkbox {\n  font: 13px "Open Sans", Helvetica, sans-serif;\n}\n.i360-app .mat-select-panel {\n  max-width: 100%;\n}\n.i360-app .mat-select-trigger span,\n.i360-app .mat-option-text {\n  font-size: 14px;\n  color: rgba(0, 0, 0, 0.87);\n}\n.i360-app .mat-option-text {\n  display: flex;\n  align-items: center;\n}\n.i360-app .mat-menu-content {\n  line-height: 48px;\n}\n.i360-app .mat-menu-content .mat-menu-item a {\n  margin: 0 -16px;\n  padding: 0 16px;\n}\n.i360-app .mat-menu-content a, .i360-app .mat-menu-content a:hover, .i360-app .mat-menu-content a:focus {\n  outline: none;\n  color: #535353;\n  text-decoration: none;\n  font-size: 13px;\n  font-family: "Open Sans", Helvetica, sans-serif;\n  display: flex;\n  align-items: center;\n  flex-wrap: nowrap;\n}\n.i360-app .mat-menu-content a.active, .i360-app .mat-menu-content a:hover.active, .i360-app .mat-menu-content a:focus.active {\n  background-color: rgba(55, 171, 99, 0.11);\n}\n.i360-app .mat-ripple {\n  position: absolute;\n}\n.i360-app .i360-modal-tabs .mat-ripple {\n  position: relative;\n}\n.i360-app .i360-modal-tabs .mat-tab-label {\n  font-family: "Noto Sans", sans-serif;\n  font-style: normal;\n  opacity: 1;\n  font-weight: normal;\n  font-size: 16px;\n  line-height: 22px;\n  /* identical to box height */\n  text-transform: uppercase;\n  color: #000000;\n  flex-grow: 0;\n  min-width: 80px;\n  padding: 0 10px;\n  min-height: 15px;\n}\n.i360-app .i360-modal-tabs .mat-tab-label.mat-tab-label-active {\n  font-weight: bold;\n}\n.i360-app .i360-modal-tabs .mat-tab-body-content {\n  padding-top: 15px;\n}\n.i360-app .mat-form-field-placeholder-wrapper,\n.i360-app .mat-form-field-label-wrapper {\n  box-sizing: content-box;\n}\n.i360-app .mat-form-field-label {\n  display: none;\n}\n.i360-app .mat-form-field-empty.mat-form-field-label {\n  display: block;\n}\n.i360-app .mat-raised-button, .i360-app .mat-button {\n  border-radius: 4px;\n  line-height: 32px;\n  height: 32px;\n  font-family: "Open Sans", sans-serif;\n}\n.i360-app .mat-raised-button.mat-raised-button:not(:active), .i360-app .mat-button.mat-raised-button:not(:active) {\n  box-shadow: 0 6px 6px 0 rgba(0, 0, 0, 0.13), 0 0 6px 0 rgba(0, 0, 0, 0.12) !important;\n}\n.i360-app .mat-raised-button.mat-raised-button:not(:active):hover, .i360-app .mat-button.mat-raised-button:not(:active):hover {\n  box-shadow: 0 7px 6px 0 rgba(0, 0, 0, 0.13), 0 0 6px 0 rgba(0, 0, 0, 0.12) !important;\n}\n.i360-app .mat-raised-button .material-icons, .i360-app .mat-raised-button .dropdown .selected::before, .i360-app .dropdown .mat-raised-button .selected::before, .i360-app .mat-raised-button .dropdown_list ul li.selected::before, .i360-app .dropdown_list ul .mat-raised-button li.selected::before, .i360-app .mat-raised-button .dropdown_list ul li.active::before, .i360-app .dropdown_list ul .mat-raised-button li.active::before, .i360-app .mat-button .material-icons, .i360-app .mat-button .dropdown .selected::before, .i360-app .dropdown .mat-button .selected::before, .i360-app .mat-button .dropdown_list ul li.selected::before, .i360-app .dropdown_list ul .mat-button li.selected::before, .i360-app .mat-button .dropdown_list ul li.active::before, .i360-app .dropdown_list ul .mat-button li.active::before {\n  margin-top: -2px;\n}\n.ltr .i360-app .mat-raised-button .material-icons, .ltr .i360-app .mat-raised-button .dropdown .selected::before, .ltr .i360-app .dropdown .mat-raised-button .selected::before, .ltr .i360-app .mat-raised-button .dropdown_list ul li.selected::before, .ltr .i360-app .dropdown_list ul .mat-raised-button li.selected::before, .ltr .i360-app .mat-raised-button .dropdown_list ul li.active::before, .ltr .i360-app .dropdown_list ul .mat-raised-button li.active::before, .ltr .i360-app .mat-button .material-icons, .ltr .i360-app .mat-button .dropdown .selected::before, .ltr .i360-app .dropdown .mat-button .selected::before, .ltr .i360-app .mat-button .dropdown_list ul li.selected::before, .ltr .i360-app .dropdown_list ul .mat-button li.selected::before, .ltr .i360-app .mat-button .dropdown_list ul li.active::before, .ltr .i360-app .dropdown_list ul .mat-button li.active::before {\n  margin-right: 10px;\n}\n.rtl .i360-app .mat-raised-button .material-icons, .rtl .i360-app .mat-raised-button .dropdown .selected::before, .rtl .i360-app .dropdown .mat-raised-button .selected::before, .rtl .i360-app .mat-raised-button .dropdown_list ul li.selected::before, .rtl .i360-app .dropdown_list ul .mat-raised-button li.selected::before, .rtl .i360-app .mat-raised-button .dropdown_list ul li.active::before, .rtl .i360-app .dropdown_list ul .mat-raised-button li.active::before, .rtl .i360-app .mat-button .material-icons, .rtl .i360-app .mat-button .dropdown .selected::before, .rtl .i360-app .dropdown .mat-button .selected::before, .rtl .i360-app .mat-button .dropdown_list ul li.selected::before, .rtl .i360-app .dropdown_list ul .mat-button li.selected::before, .rtl .i360-app .mat-button .dropdown_list ul li.active::before, .rtl .i360-app .dropdown_list ul .mat-button li.active::before {\n  margin-left: 10px;\n}\n.ltr .i360-app .mat-raised-button .material-icons, .ltr .i360-app .mat-raised-button .dropdown .selected::before, .ltr .i360-app .dropdown .mat-raised-button .selected::before, .ltr .i360-app .mat-raised-button .dropdown_list ul li.selected::before, .ltr .i360-app .dropdown_list ul .mat-raised-button li.selected::before, .ltr .i360-app .mat-raised-button .dropdown_list ul li.active::before, .ltr .i360-app .dropdown_list ul .mat-raised-button li.active::before, .ltr .i360-app .mat-button .material-icons, .ltr .i360-app .mat-button .dropdown .selected::before, .ltr .i360-app .dropdown .mat-button .selected::before, .ltr .i360-app .mat-button .dropdown_list ul li.selected::before, .ltr .i360-app .dropdown_list ul .mat-button li.selected::before, .ltr .i360-app .mat-button .dropdown_list ul li.active::before, .ltr .i360-app .dropdown_list ul .mat-button li.active::before {\n  margin-left: -15px;\n}\n.rtl .i360-app .mat-raised-button .material-icons, .rtl .i360-app .mat-raised-button .dropdown .selected::before, .rtl .i360-app .dropdown .mat-raised-button .selected::before, .rtl .i360-app .mat-raised-button .dropdown_list ul li.selected::before, .rtl .i360-app .dropdown_list ul .mat-raised-button li.selected::before, .rtl .i360-app .mat-raised-button .dropdown_list ul li.active::before, .rtl .i360-app .dropdown_list ul .mat-raised-button li.active::before, .rtl .i360-app .mat-button .material-icons, .rtl .i360-app .mat-button .dropdown .selected::before, .rtl .i360-app .dropdown .mat-button .selected::before, .rtl .i360-app .mat-button .dropdown_list ul li.selected::before, .rtl .i360-app .dropdown_list ul .mat-button li.selected::before, .rtl .i360-app .mat-button .dropdown_list ul li.active::before, .rtl .i360-app .dropdown_list ul .mat-button li.active::before {\n  margin-right: -15px;\n}\n.i360-app .mat-raised-button.capitalize, .i360-app .mat-button.capitalize {\n  text-transform: capitalize;\n}\n.i360-app mat-chip-list.i360-chips mat-chip[i360-chip] {\n  background-color: #e2f7e9;\n  height: 27px;\n  border: solid 1px #cecece;\n  border-radius: 2px;\n  cursor: pointer;\n}\n.i360-app mat-chip-list.i360-chips mat-chip[i360-chip][i360-chip] {\n  margin: 3px 2.5px;\n}\n.i360-app mat-chip-list.i360-chips mat-chip[i360-chip] i360-ellipsis {\n  max-width: 276px;\n}\n.ltr .i360-app .mat-form-field-type-mat-input .mat-form-field-prefix + .mat-form-field-infix i360-error {\n  left: -48px;\n}\n.rtl .i360-app .mat-form-field-type-mat-input .mat-form-field-prefix + .mat-form-field-infix i360-error {\n  right: -48px;\n}\n.i360-app .mat-form-field-type-mat-input .mat-form-field-wrapper {\n  margin: 0;\n}\n.i360-app .mat-form-field-type-mat-input.mat-form-field-should-float .mat-form-field-label-wrapper {\n  overflow: visible;\n  margin-top: 3px;\n}\n.i360-app .mat-form-field-type-mat-input .mat-form-field-label, .i360-app .mat-form-field-type-mat-input.mat-form-field.mat-form-field-invalid.ng-pristine .mat-form-field-label {\n  margin-top: -4px;\n  font-size: 12px;\n  color: #a8abae;\n}\n.i360-app .mat-form-field-type-mat-input .mat-form-field-flex {\n  height: 40px;\n  margin-top: 0;\n}\n.i360-app .mat-form-field-type-mat-input .mat-form-field-infix {\n  margin-top: -8px;\n}\n.ltr .i360-app .mat-form-field-type-mat-input .mat-form-field-infix {\n  margin-left: 10px;\n}\n.rtl .i360-app .mat-form-field-type-mat-input .mat-form-field-infix {\n  margin-right: 10px;\n}\n.i360-app .mat-form-field-type-mat-input .mat-form-field-prefix {\n  font-size: 16px;\n}\n.ltr .i360-app .mat-form-field-type-mat-input .mat-form-field-prefix {\n  margin-left: 7px;\n}\n.rtl .i360-app .mat-form-field-type-mat-input .mat-form-field-prefix {\n  margin-right: 7px;\n}\n.ltr .i360-app .mat-form-field-type-mat-input .mat-form-field-prefix {\n  margin-right: 7px;\n}\n.rtl .i360-app .mat-form-field-type-mat-input .mat-form-field-prefix {\n  margin-left: 7px;\n}\n.i360-app .mat-form-field-type-mat-input .mat-form-field-prefix mat-icon {\n  font-size: 30px;\n  transform: rotate(90deg);\n}\n.i360-app .mat-form-field-type-mat-input input {\n  font-size: 12px;\n  margin-top: -5px;\n  margin-bottom: 9px;\n  caret-color: #535353;\n  border: none !important;\n  box-shadow: none !important;\n  padding: 0;\n  background: transparent;\n  height: auto;\n}\n.i360-app .mat-form-field-type-mat-input.mat-focused .mat-form-field-outline {\n  background-image: linear-gradient(to bottom, #ffffff, #fbfcff);\n}\n.i360-app .mat-form-field-type-mat-input.mat-focused .mat-form-field-outline > * {\n  border-color: #11cb84;\n}\n.i360-app .mat-form-field-type-mat-input.mat-focused .mat-form-field-label {\n  color: #11cb84;\n}\n.i360-app .mat-form-field-type-mat-input.mat-form-field-invalid.ng-dirty .mat-form-field-outline {\n  box-shadow: 0 1px 1px 0 #f4f4f3, 0 1px 1px 0 #f4f4f3;\n  background-image: linear-gradient(to bottom, #ffffff, #fbfcff);\n}\n.i360-app .mat-form-field-type-mat-input.mat-form-field-invalid.ng-dirty .mat-form-field-outline > * {\n  border-color: #fc4c4c;\n}\n.i360-app .mat-form-field-type-mat-input.mat-form-field-invalid.ng-dirty .mat-form-field-label {\n  color: #fc4c4c;\n}\n.i360-app .mat-form-field-type-mat-input.mat-form-field-should-float .mat-form-field-outline-gap {\n  border-top-color: transparent !important;\n}\n.i360-app .mat-form-field-type-mat-input .mat-form-field-outline {\n  top: 0;\n  box-shadow: 0 1px 1px 0 #f4f4f3;\n}\n.i360-app .mat-form-field-type-mat-input .mat-form-field-outline > * {\n  background-color: #ffffff;\n  border-color: #dee1ec;\n}\n.i360-app .mat-form-field-type-mat-input .mat-form-field-outline > *.mat-form-field-outline-start {\n  border-left-width: 1px;\n  border-top-width: 1px;\n  border-bottom-width: 1px;\n}\n.i360-app .mat-form-field-type-mat-input .mat-form-field-outline > *.mat-form-field-outline-end {\n  border-right-width: 1px;\n  border-top-width: 1px;\n  border-bottom-width: 1px;\n}\n.i360-app .mat-form-field-type-mat-input .mat-form-field-outline > *.mat-form-field-outline-gap {\n  border-bottom-width: 1px;\n  border-top-width: 1px;\n}\n.i360-app mat-icon svg {\n  height: inherit;\n}\n.i360-app * {\n  box-sizing: border-box;\n}\n.i360-app a {\n  color: #337ab7;\n  text-decoration: none;\n}\n.i360-app input:-webkit-autofill {\n  -webkit-box-shadow: 0 0 0 1000px white inset;\n}\n.i360-app input, .i360-app button, .i360-app select, .i360-app textarea {\n  font-family: "Open Sans", sans-serif !important;\n  font-size: inherit;\n  line-height: inherit;\n}\n.i360-app label {\n  font-weight: normal;\n  margin: auto;\n  display: inline-flex;\n}\n.i360-app span.active {\n  background-color: gray;\n}\n.i360-app h1 {\n  margin-bottom: 0;\n  height: 35px;\n  font-size: 33px;\n  font-weight: 400;\n  color: #404040;\n}\n.i360-app .b_btn {\n  font-size: 14px;\n  outline: none;\n}\n.i360-app .b_btn:disabled {\n  box-shadow: none;\n}\nhtml.rtl .i360-app :not(th).rtl-except {\n  direction: ltr;\n  text-align: right;\n}\n.i360-app .canvas {\n  min-height: 50px;\n  background-color: #ffffff;\n  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.24), 0 0 2px 0 rgba(0, 0, 0, 0.12);\n  border-style: solid;\n  border-width: 0;\n  border-image-source: linear-gradient(0deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.1) 5%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0));\n  border-image-slice: 1;\n}\n.i360-app .canvas.no-border {\n  border: none;\n  box-shadow: none;\n}\n.i360-app a {\n  cursor: pointer;\n}\n.i360-app .coming-soon_element a {\n  color: #9E9E9E !important;\n}\n.i360-app .filters-actions-wrapper {\n  align-items: flex-end;\n  justify-content: space-between;\n}\n.i360-app .mat-tooltip {\n  font-family: "Open Sans";\n  font-size: 11px;\n  font-weight: normal;\n  font-style: normal;\n  font-stretch: normal;\n}\n.i360-app .mat-tooltip.white-space {\n  white-space: pre-wrap;\n}\n.i360-app .mat-tooltip.wide-tooltip {\n  max-width: 600px !important;\n}\n.i360-app .mat-tooltip.email-version-tooltip {\n  min-width: 200px;\n  white-space: pre-line;\n  background: rgba(34, 32, 32, 0.9);\n}\n.i360-app .lineBreakable {\n  white-space: pre-line;\n}\n.i360-app .i360-header {\n  display: flex;\n  align-items: baseline;\n  justify-content: space-between;\n  vertical-align: middle;\n  line-height: 1;\n}\n.i360-app .i360-header h1 {\n  height: initial;\n  margin-top: 0;\n  margin-bottom: 16px;\n}\n.i360-app .i360-header-section {\n  display: flex;\n  width: 100%;\n  align-items: center;\n}\n.i360-app .i360-header-section i360-header {\n  flex-grow: 1;\n}\n.i360-app .uppercase {\n  text-transform: uppercase;\n}\n.i360-app .support {\n  display: inline-block;\n  width: 25px;\n  height: 24px;\n}\n.i360-app .severity-icon {\n  display: inline-block;\n  width: 8px;\n  height: 8px;\n  border-radius: 8px;\n}\n.ltr .i360-app .severity-icon {\n  margin-right: 8px;\n}\n.rtl .i360-app .severity-icon {\n  margin-left: 8px;\n}\n.i360-app .severity-icon.high {\n  background-color: #fc4c4c;\n}\n.i360-app .severity-icon.low {\n  background-color: #36b081;\n}\n.i360-app .severity-icon.medium {\n  background-color: #ffa83d;\n}\n.i360-app .severity-icon.log {\n  background-color: #9a9a9a;\n}\n.i360-app .severity-icon.block {\n  background-color: #ffa83d;\n}\n.i360-app .severity-icon.kill {\n  background-color: #fc4c4c;\n}\n.i360-app svg {\n  vertical-align: baseline;\n}\n.i360-app .text-uppercase {\n  text-transform: uppercase;\n}\n.cdk-visually-hidden {\n  display: none;\n}',"",{version:3,sources:["webpack://src/app/styles/global/app.style.scss","webpack://src/app/styles/global/cpanel.scss","webpack://src/app/styles/common/variables.scss","webpack://src/app/styles/global/plesk.scss","webpack://src/app/styles/global/directadmin.scss","webpack://src/app/styles/common/rtl.scss","webpack://src/app/styles/global/i360-icons/i360-icon-font.css","webpack://src/app/styles/global/main.scss","webpack://src/app/styles/common/common.scss","webpack://src/app/styles/global/material-theme.scss","webpack://node_modules/@angular/material/_theming.scss","webpack://src/app/utils/material/slide-toggle.component.scss","webpack://src/app/utils/material/checkbox.component.scss","webpack://src/app/utils/material/radio-button.component.scss"],names:[],mappings:"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",sourcesContent:["/*\n\nThis program is free software: you can redistribute it and/or modify it under \nthe terms of the GNU General Public License as published by \nthe Free Software Foundation, either version 3 of the License, \nor (at your option) any later version.\n\n\nThis program is distributed in the hope that it will be useful, \nbut WITHOUT ANY WARRANTY; without even the implied warranty of \nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \nSee the GNU General Public License for more details.\n\n\nYou should have received a copy of the GNU General Public License\n along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\nCopyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\nThis software is also available under ImunifyAV commercial license,\nsee <https://www.imunify360.com/legal/eula>\n*/\n@import './cpanel';\n@import './plesk';\n@import './directadmin';\n@import './i360-icons/i360-icon-font';\n\n@import url('https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,300,400,600,700');\n@import url(\"https://fonts.googleapis.com/icon?family=Material+Icons\");\n\n.i360-app {\n\n    @import './main';\n    @import '../common/common';\n    @import './material-theme';\n\n    * {\n        box-sizing: border-box;\n    }\n    a {\n        color: #337ab7;\n        text-decoration: none;\n    }\n    input:-webkit-autofill {\n        -webkit-box-shadow: 0 0 0 1000px white inset;\n    }\n    input, button, select, textarea {\n        font-family: 'Open Sans', sans-serif!important;\n        font-size: inherit;\n        line-height: inherit;\n    }\n\n    label {\n        font-weight: normal;\n        margin: auto;\n        display: inline-flex;\n    }\n    position: relative;\n    max-width: 1500px;\n    min-height: 100%;\n    font: 13px 'Open Sans', sans-serif;\n    line-height: 18px;\n\n    span.active {\n        background-color: gray;\n    }\n\n    h1 {\n        margin-bottom: 0;\n        height: 35px;\n        font-size: 33px;\n        font-weight: 400;\n        color: #404040;\n    }\n\n    .b_btn {\n        font-size: 14px;\n        outline: none;\n\n        &:disabled {\n            box-shadow: none;\n        }\n    }\n\n    html.rtl & :not(th).rtl-except {\n        direction: ltr;\n        text-align: right;\n    }\n\n    .canvas {\n        min-height: 50px;\n        background-color: #ffffff;\n        box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.24), 0 0 2px 0 rgba(0, 0, 0, 0.12);\n        border-style: solid;\n        border-width: 0;\n        border-image-source: linear-gradient(0deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.1) 5%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0));\n        border-image-slice: 1;\n        &.no-border {\n            border: none;\n            box-shadow: none;\n        }\n    }\n\n    a {\n        cursor: pointer;\n    }\n    .coming-soon_element a {\n        color: #9E9E9E !important;\n    }\n\n    .filters-actions-wrapper {\n        align-items: flex-end;\n        justify-content: space-between;\n    }\n\n    .mat-tooltip {\n        font-family: 'Open Sans';\n        font-size: 11px;\n        font-weight: normal;\n        font-style: normal;\n        font-stretch: normal;\n\n        &.white-space {\n            white-space: pre-wrap;\n        }\n\n        &.wide-tooltip {\n            max-width: 600px!important;\n        }\n        &.email-version-tooltip {\n            min-width: 200px;\n            white-space: pre-line;\n            background: rgb(34 32 32 / 90%);\n        }\n    }\n\n    .lineBreakable {\n        white-space: pre-line;\n    }\n\n    .i360-header {\n        display: flex;\n        align-items: baseline;\n        justify-content: space-between;\n        vertical-align: middle;\n        line-height: 1;\n\n        h1 {\n            height: initial;\n            margin-top: 0;\n            margin-bottom: 16px;\n        }\n    }\n\n    .i360-header-section {\n        display: flex;\n        width: 100%;\n        align-items: center;\n\n        i360-header {\n            flex-grow: 1;\n        }\n    }\n\n    .uppercase {\n        text-transform: uppercase;\n    }\n\n    .support {\n        display: inline-block;\n        width: 25px;\n        height: 24px;\n    }\n    .severity-icon {\n        display: inline-block;\n        @include rtl-margin-right(8px);\n        width: 8px;\n        height: 8px;\n        border-radius: 8px;\n        &.high {\n            background-color: $severity-red;\n        }\n\n        &.low {\n            background-color: $severity-green;\n        }\n\n        &.medium {\n            background-color: $severity-orange;\n        }\n\n        &.log {\n            background-color: #9a9a9a;\n        }\n\n        &.block {\n            background-color: $severity-orange;\n        }\n\n        &.kill {\n            background-color: $severity-red;\n        }\n    }\n    svg { // plesk, ?\n        vertical-align: baseline;\n    }\n    .text-uppercase {\n        text-transform: uppercase;\n    }\n}\n\n.cdk-visually-hidden\n{\n    display: none;\n}\n",'/*\n\nThis program is free software: you can redistribute it and/or modify it under \nthe terms of the GNU General Public License as published by \nthe Free Software Foundation, either version 3 of the License, \nor (at your option) any later version.\n\n\nThis program is distributed in the hope that it will be useful, \nbut WITHOUT ANY WARRANTY; without even the implied warranty of \nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \nSee the GNU General Public License for more details.\n\n\nYou should have received a copy of the GNU General Public License\n along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\nCopyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\nThis software is also available under ImunifyAV commercial license,\nsee <https://www.imunify360.com/legal/eula>\n*/\n@import "app/styles/common/variables";\n\nbody {\n    // Version are visible over dropdown (client area)\n    #txtCpanelVersion {\n        z-index: 0 !important;\n    }\n    #contentContainer {\n        padding-top: 20px;\n    }\n}\n\n.i360-app.i360-cpanel {\n    i360-tabs > div > a {\n        color: $header-color;\n        &:hover, &:focus {\n            color: $header-color;\n            text-decoration: none;\n        }\n    }\n}\n',"/*\n\nThis program is free software: you can redistribute it and/or modify it under \nthe terms of the GNU General Public License as published by \nthe Free Software Foundation, either version 3 of the License, \nor (at your option) any later version.\n\n\nThis program is distributed in the hope that it will be useful, \nbut WITHOUT ANY WARRANTY; without even the implied warranty of \nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \nSee the GNU General Public License for more details.\n\n\nYou should have received a copy of the GNU General Public License\n along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\nCopyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\nThis software is also available under ImunifyAV commercial license,\nsee <https://www.imunify360.com/legal/eula>\n*/\n$primary-color: #11cb84;\n$header-color: #1d1d1d;\n$focused-bg: rgba(153, 153, 153, 0.2);\n$pressed-bg: rgba(153, 153, 153, 0.4);\n$disabled-fg: rgba(0, 0, 0, 0.26);\n$scroll-color: #53b076;\n$gray-hover-bg: #f1f1f1;\n$table-hover-bg: #f8f9fb;\n$primary-hover-bg: #e9f6ee;\n$primary-bg: #eff8f2;\n$navbar-bg: #fafafa;\n$gray: #afafaf;\n$alert-red: #ef5870;\n$error-color: #fc4c4c;\n$error-text: #ea7474;\n$success-color: #43a047;\n$gray-fg: #535353;\n$gray-dc: #616161;\n$gray-title: #4e5665;\n$btn-primary-border: #e8e8e8;\n\n$unremarkable: #b9b9b9;\n\n$gray-bg-v2: #f4f5f7;\n$box-shadow: #f4f4f3;\n\n$severity-red: #fc4c4c;\n$severity-orange: #ffa83d;\n$severity-green: #36b081;\n\n$border-style: 1px solid #eceef1;\n$input-border-color: #dee1ec;\n\n$padding-base-vertical:     6px !default;\n$padding-base-horizontal:   12px !default;\n\n$border-radius-base:        4px !default;\n$line-height-base:        1.428571429 !default; // 20/14\n$pagination-bg:                        #fff !default;\n$pagination-border:                    #ddd !default;\n$pagination-hover-border:              #ddd !default;\n$pagination-active-color:              #fff !default;\n$pagination-disabled-bg:               #fff !default;\n$pagination-disabled-border:           #ddd !default;\n$pagination-active-border:           #337ab7 !default;\n$cursor-disabled:                not-allowed !default;\n","/*\n\nThis program is free software: you can redistribute it and/or modify it under \nthe terms of the GNU General Public License as published by \nthe Free Software Foundation, either version 3 of the License, \nor (at your option) any later version.\n\n\nThis program is distributed in the hope that it will be useful, \nbut WITHOUT ANY WARRANTY; without even the implied warranty of \nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \nSee the GNU General Public License for more details.\n\n\nYou should have received a copy of the GNU General Public License\n along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\nCopyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\nThis software is also available under ImunifyAV commercial license,\nsee <https://www.imunify360.com/legal/eula>\n*/\n@import '../common/variables';\n\n/* Fixes for global styles */\nbody .modal-backdrop {\n    opacity: 0.4;\n    background: #4c4c4c;\n    position: fixed;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    z-index: 1040;\n\n    &.fade {\n        -webkit-transition: opacity 0.15s linear;\n        transition: opacity 0.15s linear;\n    }\n}\n\nbody.modal-open {\n    overflow: visible;\n}\n\n/* Fixes for plugin content */\n.i360-app.i360-plesk {\n    .add_item {\n        color: #333;\n    }\n\n    .pagination_nav {\n        ul.pagination {\n            margin-bottom: 16px;\n        }\n    }\n\n    .scanner-status-widget {\n        color: #333;\n    }\n\n    table > tbody {\n        tr {\n            td {\n                &.expander-column>div {\n                    transform: translateY(2px);\n                }\n            }\n\n            // Fix for Plesk v17.5\n            &:hover {\n                > th {\n                    box-shadow: none;\n                    background-color: #f8f8f8;\n                }\n\n                > td {\n                    box-shadow: none;\n                    background-color: $primary-bg;\n                }\n            }\n        }\n    }\n\n    .notification {\n        outline: none;\n    }\n\n    .search_block .cross_icon {\n        background-color: inherit;\n    }\n\n    .form-control {\n        &:focus {\n            color: $header-color;\n        }\n    }\n\n}\n","/*\n\nThis program is free software: you can redistribute it and/or modify it under \nthe terms of the GNU General Public License as published by \nthe Free Software Foundation, either version 3 of the License, \nor (at your option) any later version.\n\n\nThis program is distributed in the hope that it will be useful, \nbut WITHOUT ANY WARRANTY; without even the implied warranty of \nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \nSee the GNU General Public License for more details.\n\n\nYou should have received a copy of the GNU General Public License\n along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\nCopyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\nThis software is also available under ImunifyAV commercial license,\nsee <https://www.imunify360.com/legal/eula>\n*/\n@import '../common/variables';\n@import '../common/rtl';\n\n/* Fixes for plugin content */\n.i360-app.i360-directadmin {\n    margin: auto 10px;\n\n    * {\n        /* For limit widget, but it causes a problems with focused fields */\n        .cdk-overlay-pane {\n            &:not(.i360-modal-dialog-panel) {\n                bottom: 0 !important;  // forbid overflow at the bottom\n                height: auto;\n                max-height: fit-content;  // don't stretch to the bottom\n            }\n\n            pointer-events: none !important;\n            height: fit-content;  // Fix pop-up height for Chrome\n\n            > mat-dialog-container {\n                max-height: 80%;  // Fix pop-up height for Edge\n            }\n\n            > * {\n                pointer-events: auto;\n            }\n\n        }\n\n        .add-item-container {\n            textarea, input {\n                @include rtl-padding-left(14px);\n            }\n        }\n\n\n        font-size: inherit;\n        font-family: inherit;\n        line-height: inherit;\n\n        .i360-title {\n            font-size: 22px;\n        }\n\n        .list-tabs {\n            font-size: 16px;\n        }\n\n        h1 {\n            font-family: 'Open Sans', sans-serif;\n            font-size: 22px;\n        }\n\n        .title, .warning {\n            font-weight: normal;\n            color: inherit;\n        }\n\n        a {\n            cursor: pointer;\n        }\n\n        div.checkbox_block {\n            padding-top: 2px;\n        }\n\n        i360-error {\n            font-size: 11px;\n        }\n    }\n\n    .mat-select-placeholder {\n        line-height: 0.8;\n        color: transparent;\n    }\n\n    i360-tabs > div > a {\n        color: $header-color;\n        font-size: 16px;\n        font-family: Open Sans, sans-serif;\n\n        &:hover, &:focus {\n            color: $header-color;\n            text-decoration: none;\n        }\n    }\n\n    $width: 890;\n    $max-width: 1300;\n    $step: 30;\n\n    @while $width <= $max-width {\n         @media (min-width: #{$width}px) {\n            width: calc(#{$width}px - 100px);\n        }\n\n        $width: $width + $step;\n    }\n\n    @media (max-width: 789px) {\n        margin: auto 0;\n    }\n}\n\n// For Evolution theme where plugins are displayed inside of an iframe\n#iframe-container .i360-app.i360-directadmin {\n    height: auto;\n    min-height: 400px;\n    padding-bottom: 50px;\n}\n","/*\n\nThis program is free software: you can redistribute it and/or modify it under \nthe terms of the GNU General Public License as published by \nthe Free Software Foundation, either version 3 of the License, \nor (at your option) any later version.\n\n\nThis program is distributed in the hope that it will be useful, \nbut WITHOUT ANY WARRANTY; without even the implied warranty of \nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \nSee the GNU General Public License for more details.\n\n\nYou should have received a copy of the GNU General Public License\n along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\nCopyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\nThis software is also available under ImunifyAV commercial license,\nsee <https://www.imunify360.com/legal/eula>\n*/\n\n@function hasAppParent($ampersand) {\n  @return nth(nth(&, 1), 1) == '.i360-app' or nth(nth(&, 1), 1) == ':not-i360-app-isolated';\n}\n\n@mixin dir($dir) {\n  // TODO: specify explicitly whether to use :host-context or not, because \"hasAppParent\" is imperfect\n  @if hasAppParent(&) {\n    .#{$dir} & {@content};\n  } @else {\n    :host-context(.#{$dir}) & {@content};\n  }\n}\n\n@mixin ltr {\n  @include dir(ltr) {@content};\n}\n\n@mixin rtl {\n  @include dir(rtl) {@content};\n}\n\n@mixin rtl-wrapper($ltr, $rtl, $value) {\n  @include ltr {#{$ltr}: $value};\n  @include rtl {#{$rtl}: $value};\n}\n\n@mixin rtl-wrapper-shorthand($cmd, $top, $right, $bottom, $left) {\n  @include ltr {#{$cmd}: $top $right $bottom $left};\n  @include rtl {#{$cmd}: $top $left $bottom $right};\n}\n\n@mixin rtl-margin($top, $right, $bottom, $left) {\n  @include rtl-wrapper-shorthand(margin, $top, $right, $bottom, $left);\n}\n\n@mixin rtl-margin-left($value) {\n  @include rtl-wrapper(margin-left, margin-right, $value);\n}\n\n@mixin rtl-margin-right($value) {\n  @include rtl-wrapper(margin-right, margin-left, $value);\n}\n\n@mixin rtl-padding($top, $right, $bottom, $left) {\n  @include rtl-wrapper-shorthand(padding, $top, $right, $bottom, $left);\n}\n\n@mixin rtl-padding-left($value) {\n  @include rtl-wrapper(padding-left, padding-right, $value);\n}\n\n@mixin rtl-padding-right($value) {\n  @include rtl-wrapper(padding-right, padding-left, $value);\n}\n\n@mixin rtl-right($value) {\n  @include rtl-wrapper(right, left, $value);\n}\n\n@mixin rtl-left($value) {\n  @include rtl-wrapper(left, right, $value);\n}\n\n@mixin rtl-cmd-right($cmd) {\n  @include ltr {#{$cmd}: right};\n  @include rtl {#{$cmd}: left};\n}\n\n@mixin rtl-cmd-left($cmd) {\n  @include ltr {#{$cmd}: left};\n  @include rtl {#{$cmd}: right};\n}\n\n@mixin rtl-border-radius($top, $right, $bottom, $left) {\n  @include rtl-wrapper-shorthand(border-radius, $top, $right, $bottom, $left);\n}\n\n@mixin rtl-border-width($top, $right, $bottom, $left) {\n  @include rtl-wrapper-shorthand(border-width, $top, $right, $bottom, $left);\n}\n\n@mixin rtl-border-left($value) {\n  @include rtl-wrapper(border-left, border-right, $value);\n}\n",'\n@font-face {\n    font-family: "i360-icon-font";\n    src: url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAABQgAAsAAAAAISgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAQAAAAFZHdU8GY21hcAAAAYQAAADlAAADaPPVq1VnbHlmAAACbAAADpUAABcAMGcZKWhlYWQAABEEAAAALgAAADYWhk5vaGhlYQAAETQAAAAZAAAAJAgBBFdobXR4AAARUAAAABQAAACYlDAAAGxvY2EAABFkAAAATgAAAE5tRmaybWF4cAAAEbQAAAAfAAAAIAE1AI9uYW1lAAAR1AAAATgAAAJezwFNFnBvc3QAABMMAAABFAAAAZLF1RMWeJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGR+xjiBgZWBgYGX6QyQ7IfQjK8ZjBg5GBiYGFiZGbCCgDTXFAaHj4wfVVlA3BgWRgZ2IM0I4gAAui0JC3ic7dHZbcQgAEXR6zHj2Tz7vq/8pbIUlK+UlGaoYMLjpYxYOlwZYWQB0AXq7CMLUH1Toecrz1ZlvmZY5gOfZU3QfIrvdx4rjfk9lLGT14a8Y0OPPoP83YiWMROmzJizYMmKNRu27Nhz4MiJMxeu3Ljz4MmLmLdq+H9aDdXP31vUaVs5/46h1qZ7TMF0I6lruuPUGGrPUPuGOjDUoenu08hQW9PfpbGhTgx1aqgzQ50b6sJQl4a6MtS1oW4MdWuoO0PdG+rBUI+GejLUs6FeDPVqqDdDvRvqw1Cfhvoy1GjEX7MKWnIAAAB4nJVYeWwc13mfN7Nz7c7s7uzMzuzJPYY7Q3LJXe45y2t5r0SJ1EkdpLwUpUSKZdkWxVBu4iRO4Ap2YSlBgMaObAetAcIQDCNFHVhxQbdKIcM1ovif6A8XBRr4DydtCKMtijZGi4irfm+WpEiJCpqd4eP3vft95+8N4SDgR/0HdYfwEDEiSxwgCJRIGgOoWC4k8moUuRH1AP9geyrJaH49yShqH/IrLShfRQOoAGUxg9KoVDSof7w7zbtFJ/Vj3o3c/N1pp7jBNHatfU5zHE2qNIc45JXDaEYOheQZQQn4BSgFeGdCaFUSa4LPJ9RECT2Oaa8kjgvSWhaqBAlXSP8Fo0Kp0Izgd7nwUL8GpS8MxyPtMy5Ty4RCHCcIWdFUTc1bZatcNA3TSLIMy9CGmUGYYxlNVaAGc5huPgrDqnhA89FgQAta56o2gYfWeyonT/361MlKzyZBnjNlQXPJibCDZGmumBAOtnXKqt+riSGFcYVaEkG/zyXLghyIGD6eR4okqzxHOxgtUIpkHFQqRBKL26bEhMhLzqwgu4WwNx30CeF2X5p3Cp50MuRRvJw72ZflXHzAndDdAQejMJHgYCvv7PYGfazTTYu+SGdC9W7I5Q7oXiHioHdbEA8IR9b9ekkvFUoFf4EknnvqXHVwsHruqbsbxPmVuRV4qV9uq7WJBoFbVravk3rUOiyTNIqDIPRiOR9DqrLTYvoNsTUkvvKyGNLFG8KOa3rfFUOt4ssvi61B4V1RJxBem7xKXsW7QGwCrS6jGnl1lWjaxb17YBd3CJqIEERKUfPlkiUVsSWA2SYZsG7SL7H+RAktW5PWZ/HYxVq6mt61MPglqlY3y2XzA+TZMzI0KyVi6XQsIZ14fqLxn1/K5eC4W86cIDKPODUqYrKQVzWUQShpmKgFXAh33On4DXc+P33szNBS99oXRhtaAoJ0Gm24ckdZZM8cm87n21NrX+QuNW63p0hn7lLVriOacqFqVI1wEQSPWB5pPLJ4ZJJE43d9yGUXyNXX+B0UZJ9NbWvY9KvnIIScIZ7HJ2Q8yMCb33zccBpQZkEdRGULKvwMcHnM2KwtD1xjlXGdEkWqBzF+BddBl5ItnUHSdi5TLmdInc2rLMWsOyWbsj3QXqBsyWVq1BvhfpDtbkv4PR3xcDJldecZ1nWeZiia8is040CuSVpgOEnkOBJaKAdJ9zEiQzkQxyISkQw9xMk0xQuaEjrECIj0y5FXWOQJexDPOd6gKIZ3xgTe0ficZkKxdtPhoBiR+kvKQUjuNQ9N+93KYDIaisTCQcoFE+91IIQoluNpRuRKDooWvU6XW5Rlxk1TVIfDgWjE8xRL87yDphgn1UU7oG/MzFpdme+6IrHOVCKIkBgLeTpFtvHvjMfB8bHWaOgvHA4P6fDAnhkaeditPqYS+Q1rgygFqsvbQcp2MohjySza7mpWOa8qMBPx3JNgNAiN/+lbc5RNk4MDTzw5zvtC/KvX+JDMv/oqL4f4a00aLG7g3JPfqr99eTcmfv/UE9Whta3dXsX0a03a9gfwtU/AVjjYYdDOMoxfKkgJFkkKo0NOKUmQU1ACkf+2dscs18lMBmmWsXbPAD9DGiLuEQ4C+CXyar2x2sgYlmWQVw2rsYJtebu/VR/hbxSO6mBWGthYIbWenvREqZAv45QFRQvSVOyBO/nfj2df6Ujzn1oGGnF2xzIRubFal8NzhjV2LtoSCu7kg3dvuh7ff6jelv40Y5Yj0dYrSrgeVuplU458ZWx8atfIIGybbvoR7L2DKBMjxD5iDvYPWmH0HAiJciMsHhM2DzwoDVQK/lJF8B97SoGV7Mgl4ZDFyjZNYZqmIBuDY2DahNNlET4x9lJGpU64FcVN0QGy1NqYaC2RAeSgcNV1ikYurhz/RsziXCT7C6/mhfeHbkn14j+UcXs0L3J7VemTGxSFGFLiv8FLJIMo6qQSURzk2kJrPt9Kfp902KwZbWuLmszfNUour9eFfgGlALRHwrRH4nE98mBG8rzjIBVOFDmFstWJ1vP2i1hCyIQYZaKlD4aRg8wOo9c+GG78Hoht+Z0iGBzNIJSxFpjRZz8lo2uB7B1qee2Dvyf7G7OfFogHbCWAI//OtqJLBZz5drKE/XPw20nfazUUqNc317hOXQIqSHTBGpIu0bBAFCkQFnUmi/y6ZMd+1l4O0IZf1fJNUFFCo++Ra26W84bPHFfL5XefWZo8MH8egoOUajs2bCQlNy84GGphLUL+uh5NtBX104nBHkQz/0R+RpHZnyVlr9NH09wai2jaKbqlOHE/RgQI2T412FPSjcBGwDYsyO+Q5WlsX9jyyHDo8sGxS2PwHrwc/pu3ptdOJPP58XyefHqyPnbppaWx+uRb8MvV8vlaztbVvf+lHncgog0YO/aYxn3EZD84ZLvJZpOptlpl8m71+Pzl7/7M65MybaPt9en2WmEg3R3KKTLPj13YvffI7MkzX/kIhR+bIT//+LmXrL6WE7WhfLot2NWhtbXn+kYOLjz71cULH17rynKcYc7Iz7z0wlZ78BGA/1IJKVGyow04fQI7ik75CxBR/AWJqq0toVpjZSOY1FevN6xhdLu+AlEGBxvcgGpoud4oD6OfX0e1Dd2SczA/R0hECM6LfQ57mfQQgZbL+8oPvFQNoMOUZTV+YNo1jT+HVabK5U3bdMBDCCDJAWybtoqacJrOkGZJ94MQdX+hhdRAZ1XSKpRQEhuQnS7zNlxtQojCkXz+yFlcoKdcZ9+Yn5t/46xrfv4+2SBmJifSXV3picmfbBDkyvoYKK48OKBJNq5sG2ETD/lV8ZF+VSrIuB6AZRHnfSwmv16sojwGPztGXvC3+Y6oyz0XDfWGAYnV7d1pO0bc1ToS0lEtlgukxkJ9YZCzkT+ah7fF2owpS+CXHesesLnFQh5jed1N6velWcDiZBMSxZb+bM/ZowCdAG0dPXtkcuKcMq/sf6J3cngoZRipoeHJSjFnvoJq0LOCEdltjLNaW799wDqSMVKDw9eGB1OGqpovo/H7se3n1BQxCQz2/+b1Y+PS4VcfuoP4H76EQO1DtxDKbA+qbi7AueWAHnHxJOR75NqXk7/ePxJJxAK6YkSdXrMrb8TCUjjqi+odPWG3SLq9gWhSEHiGT+oHOsYZ2jLJ53m3ILsyguz1eQSvmJA7UqLb11YND4le2T9cMNWWgKgEIsfgXia2+nMlv85yUT6dqoeiondXMBV2ehReCXWM5BIBonnX/IRaJdLEYeIi8Rz4pi1q7wYKxvgEBMFuVUrZBigQM82tatnStxnC1C39MgisabOP4cb+eb8VpkA2A8kr/uLSwsjY2MjC0otf/ukuIZgU+q4dXjg1Z1Uq1typhekf9gnJoLDrvTOzU3s7M5nOvVOzo1/PCoGkqJ/Ijy6OjS2O5k/oYjIgZJ8d65rsgjfZH8DzBMZzufEAHh0YiEoBAV0VoFfjkqCNDl+4iJwXLwyP7hnHdb1Yd/WT/3yyXrYGemFuYXzPcld6z+RfT+5Jd+WyLuiTNNDwxcsXh5EBMydd2dxy597jezuDmpDUhADKjmU1QUsKWvBZGI4u40ka3xQ27ewO9b6dg5JNvwPQpz8QLGybZ3Eq2HRUMrt4+qTVc/UG9bdXOmE778B2OjFxfLS/r3Ok97Xpi7i9xzp5mlrpqcydXrzBvD+z0Qn37goFu0b6hnotuLqenqv0bMlBeD+FP3ZHrF+zzNIfsa83Pkou/z/3tvrbZyqnPtx2V9U27POBnckpaacgNdG4nX04HqFfftRY3Dj3VcgZEaIdzq2bVcCem58fNm1dgyOmmgYM4VBxI3I5JepGe9t47c3aeFs7Jg5bZ9qF1fEG6jlVqZxanK9U5tGy0HGmfHijh93V0MXUb8dXK/OL690IYus9YT/xGOxD1azmfduDAEvmAZ3osB8N8/iqAFhRAchYwqrAPL43GFmUHEDFAgjFxDweD3G8CHDUT23NVuR8RjtLsuRZktzvkr7Dcd+RXPtJ0q7SMhL3PU7Sk3+4w/7uA93dB+ZxQU08NPrB6QXvH+7Q+Nf1uaAgtn+XCDxK11JiR2VHd1Z2GZUbt4lNTI/nxhghRzxJPItxAtPEVxb+WoYBAg1BPd2ES/bqpt78tgbxPK5qLYi1P0aommGuPxjD2xdr8BpsNHacg4tCEreq62msmRIyKM6wBaDiUI3ei7RF4L2l4DKCxrqT/dFKcWRwcXCkWIn2J7s1Bf0Kff9XSNH+ioqcqvo40S9GCqGuOEPzDIWQqu5uR4r1gtMMJLPZZLCNP9YbS5sdbQmzu5jOReIHqZuN125SMV9lBn15puJD/yJHIkYkYhdGxD+T6J4a6InHYvGeganuxIxmOG9+/PFNp5ELx4M6q0SdHM17RDXFcAJHMfl0e4lRhWplhPP44pmE4qHDncmYJGmBju7+2sqbb7/95kJtYWHXha12XQOvbcGZHbI4iInEHyQB9GFnA/iEv2VZGhUVD39t/OAVo/dkuXp+EP1PaaaYPdy496OlW7fIx0bP9x/ZzQyf7R08P1icKeWPli68/vqtWzYsw2v8A/VVwGZBwA89WKMbxg6GT29lNHAJo4kuQCdgVRijWevagOSOfpOeODKRtovGh/HyUDluF6sUSxUnT/X3Kszu6nkURBPfm57ng/sOIMfBfUF+fpq807knnd5zHBcH45V4vDJsxePWFxRDmUMDlzr8Mk9eb/wmFC3/6ND0kUOvl6Ohzb1jTOwB9K9hXIy2YeKigeDCI9t/pQLGxRuY2Gpw9fr7c3Mr9Tq1vIGJcUMTOqM7jczKOvb7DOQvEJ22ZLbh1ibA0de/StjRTtsI7RDc6a0RD/233t/a2l/r1/V+9CEiB6aOvjP9tW/OHu4KsSzfki0f/cn0n3xrZrozzDR8pdlSafaJ2WJxlnwhVd1TbW2FIrWEqEOjk/unKjPdBqfyHr3SjbnZrMGrn1j1p+csa+7pOuDB/wPhgFq/AAAAeJxjYGRgYADim9v25cbz23xl4GZhAIGbm1v2IOj/P1kYWEAqORiYQKIAZkMMDgAAeJxjYGRgYGEAARYDMMnAwMiACtQABmYAZQAAAHicY2BgYGAhFhuQoJZCDABAmADFAAAAAAByAP4BMgFwAX4BrAH8Ah4C5AM0A2QDwgROBGIEegSsBPYFJAVqBZoFyAYmBngGvAc2B/AIOAiICLQI+Al+CawKZAqWCvQLJAuAAAB4nGNgZGBgUGNoZmBlAAEmIOYCQgaG/2A+AwAZigHFAHicfZDNasJAFIVP/Cs1UAqlXbkYKHRTTPwBF9K1Qpcu3Mc40UiSCZNR8A36IH2CPkSXfZA+RY/p3ejCCZn57jn3DJcBcI9veDgtD3f1floN3LD65ybpUbhFfhZuw8dQuEP9TbiLV7wL+3jAnjd4rVsqPXwIN9j/Kdyk/iXcIv8It/GEX+EOeh6Eu1h6PWEfL55Nx5NBP41N0U9M4RZ6s8+iC/G8WmpbpaZQw2Bwbsx1oW3k9Fqtjqo6bEbOJSqxJlczujrLjCqt2enYBVvnymkYJqIHscmRYowJBuiTYhgUpKQ+HRbQ2PAtMkSwVzuveUveYlHROdWK7x+w81pizkRRpyJWGmumVjhyr3DgRCOqjt2Kv2UmJ80kqzltRlYoa29HJaYeYFunSkwR8ksu+oN6ivwPWB1p1nicbU/JdsIwDMyAk1BSWuhC972lp3yUcRTww1jBC338fU3bA4fOaTTSSKOsl/1imP2PGXroQyBHgRIDHGGICscY4QSnGGOCM5zjApeY4grXuMEt7nCPBzziCc94wSve8I4PzPCZjWTT1IFrvbDsaPJXbaJ00gZtqZ+USjrHX7XTi2XIf7iYkzH53LBaFUpaRaZUhqSNXa4MexKKu12pONrgdkVDhgKJhi0JanQQ2rbc011/RTuRbK0w2q7EOgUQHbsw2ETyQbMtHbWO/HLqaM1bqlvH64Ns1YE8TnMhLag5xdRWmvJPED4FLDxJp5YDTyEZF16kVlf62O3PFbEzLJs8enK+2mpKr9K+IfY8y74BsIlscw==") format(\'woff\');\n}\n\n.i360-app .i360-icon::before {\n    font-family: i360-icon-font, monospace !important;\n    font-size: 22px;\n    line-height: 1;\n    font-style: normal;\n    font-weight: normal;\n    font-variant: normal;\n    text-decoration: inherit;\n    text-rendering: optimizeLegibility;\n    text-transform: none;\n    -moz-osx-font-smoothing: grayscale;\n    -webkit-font-smoothing: antialiased;\n}\n\n.i360-app .i360-icon-add-to-ignore::before {\n    content: "\\f101";\n}\n\n.i360-app .i360-icon-add-to-quarantine::before {\n    content: "\\f102";\n}\n\n.i360-app .i360-icon-add::before {\n    content: "\\f103";\n}\n\n.i360-app .i360-icon-arrow-right::before {\n    content: "\\f104";\n}\n\n.i360-app .i360-icon-arrow::before {\n    content: "\\f105";\n}\n\n.i360-app .i360-icon-bell::before {\n    content: "\\f106";\n}\n\n.i360-app .i360-icon-block::before {\n    content: "\\f107";\n}\n\n.i360-app .i360-icon-cancel::before {\n    content: "\\f108";\n}\n\n.i360-app .i360-icon-cleanup::before {\n    content: "\\f109";\n}\n\n.i360-app .i360-icon-close::before {\n    content: "\\f10a";\n}\n\n.i360-app .i360-icon-copy::before {\n    content: "\\f10b";\n}\n\n.i360-app .i360-icon-country::before {\n    content: "\\f10c";\n}\n\n.i360-app .i360-icon-delete::before {\n    content: "\\f10d";\n}\n\n.i360-app .i360-icon-done::before {\n    content: "\\f10e";\n}\n\n.i360-app .i360-icon-edit::before {\n    content: "\\f10f";\n}\n\n.i360-app .i360-icon-info::before {\n    content: "\\f110";\n}\n\n.i360-app .i360-icon-ip::before {\n    content: "\\f111";\n}\n\n.i360-app .i360-icon-key::before {\n    content: "\\f112";\n}\n\n.i360-app .i360-icon-leaf::before {\n    content: "\\f113";\n}\n\n.i360-app .i360-icon-link::before {\n    content: "\\f114";\n}\n\n.i360-app .i360-icon-more::before {\n    content: "\\f115";\n}\n\n.i360-app .i360-icon-port::before {\n    content: "\\f116";\n}\n\n.i360-app .i360-icon-question::before {\n    content: "\\f117";\n}\n\n.i360-app .i360-icon-refresh::before {\n    content: "\\f118";\n}\n\n.i360-app .i360-icon-remove-from-quarantine::before {\n    content: "\\f119";\n}\n\n.i360-app .i360-icon-remove-from::before {\n    content: "\\f11a";\n}\n\n.i360-app .i360-icon-restore-original::before {\n    content: "\\f11b";\n}\n\n.i360-app .i360-icon-restore::before {\n    content: "\\f11c";\n}\n\n.i360-app .i360-icon-scan::before {\n    content: "\\f11d";\n}\n\n.i360-app .i360-icon-search::before {\n    content: "\\f11e";\n}\n\n.i360-app .i360-icon-settings::before {\n    content: "\\f11f";\n}\n\n.i360-app .i360-icon-stop::before {\n    content: "\\f120";\n}\n\n.i360-app .i360-icon-support::before {\n    content: "\\f121";\n}\n\n.i360-app .i360-icon-upload::before {\n    content: "\\f122";\n}\n\n.i360-app .i360-icon-users::before {\n    content: "\\f123";\n}\n\n.i360-app .i360-icon-view-report::before {\n    content: "\\f124";\n}\n\n.i360-app .i360-icon-view::before {\n    content: "\\f125";\n}\n\n',"/*\n\nThis program is free software: you can redistribute it and/or modify it under \nthe terms of the GNU General Public License as published by \nthe Free Software Foundation, either version 3 of the License, \nor (at your option) any later version.\n\n\nThis program is distributed in the hope that it will be useful, \nbut WITHOUT ANY WARRANTY; without even the implied warranty of \nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \nSee the GNU General Public License for more details.\n\n\nYou should have received a copy of the GNU General Public License\n along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\nCopyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\nThis software is also available under ImunifyAV commercial license,\nsee <https://www.imunify360.com/legal/eula>\n*/\n@import \"../common/variables\";\n@import \"../common/rtl\";\n\n\n#doctitle h1 img {\n    top: 0 !important;\n}\n.error_block {\n    color: red;\n}\n\n#doctitle{\n    display: none;\n}\n\n.dropdown .dropdown-toggle {\n    background-color: #fafafa;\n    border: solid 1px #cecece;\n    border-radius: 2px;\n    outline: none;\n    color: #000;\n    font-size: 13px;\n    @include rtl-margin-right(3px);\n    height: 32px;\n    line-height: 1;\n    transition: all 0.4s;\n    font-family: 'Open Sans', sans-serif;\n    &::after {\n        font-size: 14px;\n        vertical-align: 0.2em;\n    }\n}\n\n.dropdown .dropdown-toggle:hover {\n    background-color: #e7e7e7;\n}\n\n.search_input, .search_block input {\n    border-color: #d8d8d8 !important;\n    height: 32px !important;\n}\n\n.b_dropdown-menu {\n    background-color: #ffffff;\n    box-shadow: 0 2px 14px 0 rgba(0, 0, 0, 0.24), 0 0 2px 0 rgba(0, 0, 0, 0.12);\n    border-width: 0px;\n    border-radius: 0;\n    padding: 0;\n}\n\n.b_dropdown-menu > li > a {\n    height: 35px;\n    @include rtl-cmd-left(text-align);\n    @include rtl-padding-left(40px);\n    font-size: 13px;\n    color: #4d4d4e;\n    line-height: 30px;\n    font-family: 'Open Sans', sans-serif;\n}\n\n.b_dropdown-menu > li > a:focus, .b_dropdown-menu > li > a:hover,\n.b_dropdown-menu > li.active > a, .b_dropdown-menu > li.active > a:focus, .b_dropdown-menu > li.active > a:hover {\n    color: #4d4d4e;\n    background-color: rgba(55, 171, 99, 0.11);\n}\n\n.btn-filter {\n    height: 27px !important;\n    border-radius: 2px;\n    background-color: #e2f7e9;\n    border: solid 1px #cecece;\n    color: #000 !important;\n    font-size: 13px;\n    line-height: 32px;\n    transition: all 0.4s;\n    min-width: 120px;\n    font-family: 'Open Sans', sans-serif;\n    padding: 0 10px;\n    position: relative;\n    @include rtl-margin-right(2px);\n\n    &:hover {\n        background-color: $primary-bg;\n        border: solid 1px #cecece;\n        color: #000 !important;\n    }\n}\n\n.dropdown .selected {\n    background-color: rgba(55, 171, 99, 0.11);\n\n    &::before {\n        @extend .material-icons;\n        content: 'check';\n        opacity: 1;\n        color: #787878;\n        position: absolute;\n        @include rtl-left(8px);\n        padding-top: 2px;\n    }\n}\n\n/*TODO: get rid of !important*/\nbody .form-control {\n    border-radius: 2px;\n    background-color: #fff;\n    box-shadow: none;\n    border: solid 1px #d8d8d8;\n}\n\n// TODO: remove those styles completely after all text inputs use the same component\n:not(.cl-field-input) > input:focus,\n.form-control:focus {\n    box-shadow: inset 0 0 4px 0 $primary-color !important;\n    border-color: $primary-color !important;\n    background-color: #ffffff !important;\n}\n\nselect.form-control {\n    font-weight: bold;\n    font-size: 12px;\n    color: #5e5e5e;\n    font-family: 'Open Sans', sans-serif;\n    outline: none;\n    box-shadow: none;\n    border-color: #d7d7d7;\n    border-radius: 2px;\n}\n\n.form-control:focus {\n    border-color: #d7d7d7;\n    box-shadow: none;\n}\n\ninput.form-control {\n    color: $header-color;\n    padding: 5px 7px;\n    box-shadow: none;\n}\n\n.flexer {\n    list-style: none;\n\n    display: -webkit-box;\n    display: -moz-box;\n    display: -ms-flexbox;\n    display: -webkit-flex;\n    display: flex;\n    flex-wrap: wrap;\n\n    -webkit-flex-flow: row wrap;\n    justify-content: flex-start;\n}\n\ntable.table {\n    background-color: #f8f8f8;\n    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.17);\n    border-style: solid;\n    border-width: 1px;\n    border-image-source: linear-gradient(to bottom, #e8e5e5, #dcdcdc);\n    border-image-slice: 1;\n    border-spacing: 0;\n    border-collapse: collapse;\n}\n\ntable.table tr {\n    background-color: #ffffff;\n    border: solid 1px #dcdcdc;\n}\n\ntable.table tr, .attributions-container table.table td {\n    height: 50px;\n}\n\n.table {\n    > tr > th, > tr > td {\n        font-size: 13px;\n        font-weight: normal;\n        font-style: normal;\n        font-stretch: normal;\n        padding: 15px 10px;\n        vertical-align: middle;\n\n        &:first-child {\n            @include rtl-padding-left(37px);\n        }\n    }\n\n    td {\n        color: $gray-fg;\n        font-family: 'Open Sans', sans-serif;\n    }\n\n    th {\n        color: $gray-title;\n        background-color: #f8f8f8;\n        vertical-align: middle;\n        @include rtl-cmd-left('text-align');\n    }\n}\n\n.b_btn {\n    position: relative;\n    height: 32px;\n    line-height: 1 !important;\n    padding: 0 15px;\n}\n\n[hidden] {\n    display: none!important;\n}\n\n.rotate90 {\n    -ms-transform: rotate(90deg); /* IE 9 */\n    -webkit-transform: rotate(90deg); /* Safari */\n    transform: rotate(90deg);\n    opacity: 1;\n}\n\n.rotate180 {\n    -ms-transform: rotate(180deg); /* IE 9 */\n    -webkit-transform: rotate(180deg); /* Safari */\n    transform: rotate(180deg);\n    opacity: 1;\n}\n\n.no_list {\n    color: #299aed;\n    border: solid 2px #fff\n}\n\n.white_list {\n    background-color: #ffffff;\n    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.27);\n    color: #4d4d4e;\n    border: solid 2px #fff;\n}\n\n.gray_list {\n    background-color: #9f9f9f;\n    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.46);\n    border: solid 2px #9e9e9e;\n    color: #fff;\n}\n\n.black_list {\n    background-color: #000000;\n    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.46);\n    border: solid 2px #000000;\n    color: #fff;\n}\n.list-type-circle {\n    @include rtl-padding-left(22px);\n    line-height: 14px;\n}\n.list-type-circle:before {\n    content: '';\n    width: 14px;\n    height: 14px;\n    position: absolute;\n    @include rtl-margin-left(-22px);\n    border-radius: 100%;\n}\n.list-type-white:before {\n    background-color: #ffffff;\n    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.27);\n}\n.list-type-black:before {\n    background-color: #000;\n}\n.list-type-gray:before {\n    background-color: #b5bbc1;\n}\n\n.plus_ip {\n    color: #299aed;\n}\n\n.time {\n    height: 18px;\n    font-size: 13px;\n    color: #404040;\n    @include rtl-cmd-left(float);\n    margin-top: 16px;\n    @include rtl-margin-left(10px);\n}\n\n.country {\n    width: 20px;\n    height: 12px;\n    @include rtl-cmd-right(float);\n    margin-top: 18px;\n    @include rtl-margin-left(26px);\n}\n\n.name {\n    font-size: 13px;\n    font-weight: 600;\n    color: #000000;\n    margin-top: 16px;\n}\n\n.retries {\n    font-size: 13px;\n    color: #404040;\n    margin-top: 16px;\n    @include rtl-cmd-left(float);\n    @include rtl-margin-left(10px);\n\n}\n\n.incident {\n    min-height: 50px;\n    /*     transition: all 0.s; */\n}\n\ntable.table tbody tr {\n    transition: background-color 0.3s;\n}\n\n.collapsed:hover, table.table tbody tr:hover {\n    background-color: $primary-bg;\n}\n\n.clr {\n    clear: both;\n}\n\n.additions {\n    margin-top: 8px;\n}\n\n.description {\n    font-size: 13px;\n    line-height: 1.5;\n    color: #565656;\n    font-family: 'Open Sans', sans-serif;\n}\n\n.additions > div {\n    @include rtl-cmd-left(float);\n    width: 150px;\n    @include rtl-cmd-left(text-align);\n    margin-bottom: 3px;\n}\n\n.addition_title {\n    font-size: 11px;\n    color: #828282;\n}\n\n.addition_value {\n    opacity: 0.9;\n    font-size: 12px;\n    color: #1e1e1e;\n}\n\n.main_info {\n    min-height: 50px;\n}\n\n.table tr.selected td {\n    background-color: $primary-bg;\n}\n\n.table > tbody > tr > td, .table > tfoot > tr > td, .table > thead > tr > td {\n    vertical-align: middle;\n}\n\napp h1, client-app h1, h1.i360-title {\n    font-family: 'Open Sans', sans-serif;\n    font-size: 22px;\n    font-weight: normal;\n    font-style: normal;\n    font-stretch: normal;\n    color: $header-color;\n}\n\n.flexbox {\n    display: flex;\n}\n\n.flex_item {\n    padding: 10px;\n    /*     flex: 1 100%; */\n    flex-grow: 1;\n    flex-basis: 100%;\n}\n\n.time_column {\n    flex-grow: 1;\n    flex-basis: 100%;\n}\n\n.abuser_column {\n    flex-grow: 1;\n    flex-basis: 100%;\n}\n\n.retries_column {\n    flex-grow: 1;\n    flex-basis: 100%;\n}\n\n.name_column {\n    flex-grow: 1;\n    flex-basis: 100%;\n}\n\n.actions_column {\n    flex-grow: 1;\n    flex-basis: 100%;\n}\n\n.no_result {\n    height: 88px;\n    line-height: 88px;\n    font-family: 'Open Sans', sans-serif;\n    font-size: 16px;\n    color: #9e9e9e;\n    text-align: center;\n}\n\n@media all and (max-width: 1087px) {\n    .incident .row > div {\n        padding: 5px;\n    }\n}\n\n@media all and (max-width: 1240px) {\n    .retry_span {\n        display: none;\n    }\n}\n\n/**\nto override\nimg {\n    vertical-align: middle;\n}\nfrom scaffolding.less:81 for task WEB-402\n*/\nimg {\n    vertical-align: inherit !important;\n}\n\n.modal-backdrop {\n    background: #4c4c4c;\n}\n.modal-backdrop.in {\n    opacity: 0.55;\n}\n\n%underline-class {\n    border-width: 0 0 2px 0;\n    &:focus {\n        border-color: $primary-color;\n    }\n    border-style: solid;\n    border-color: #ccc;\n    width: 100%;\n    padding: 0;\n\n    font-size: 13px;\n    height: 42px;\n    color: #161616;\n\n    box-shadow: none !important;\n    outline: none;\n    background-color: transparent;\n}\n\ntextarea.underline-input,\ninput.underline-input[type=\"text\"],\ninput.underline-input[type=\"password\"] {\n    @extend %underline-class;\n}\n\ntextarea.underline-input {\n    resize: none;\n    height: 87px;\n    min-height: 57px;\n    box-sizing: content-box; // for autosize\n    transition: none; // for autosize, plesk\n}\n\ninput[type=\"text\"] {\n    background-color: #ffffff;\n}\n\n.i360-dashboard-link {\n    text-decoration: underline;\n    color: inherit;\n    &:hover, &:active {\n        text-decoration: underline;\n        color: inherit!important;\n    }\n}\n\n.i360-logo {\n    .mat-icon {\n        width: auto;\n        height: auto;\n    }\n\n    width: 182px;\n    height: 47px;\n    position: relative;\n    margin: 0 14px;\n    display: block;\n\n    &.imunifyav-logo {\n        width: 159px;\n    }\n\n    &.imunifyavplus-logo {\n        width: 170px;\n    }\n}\n","/*\n\nThis program is free software: you can redistribute it and/or modify it under \nthe terms of the GNU General Public License as published by \nthe Free Software Foundation, either version 3 of the License, \nor (at your option) any later version.\n\n\nThis program is distributed in the hope that it will be useful, \nbut WITHOUT ANY WARRANTY; without even the implied warranty of \nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \nSee the GNU General Public License for more details.\n\n\nYou should have received a copy of the GNU General Public License\n along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\nCopyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\nThis software is also available under ImunifyAV commercial license,\nsee <https://www.imunify360.com/legal/eula>\n*/\n@import './variables';\n@import './rtl';\n\n\n// We need to be able to use this class with the @extend directive.\n.material-icons {\n    font-family: 'Material Icons';\n    font-weight: normal;\n    font-style: normal;\n    font-size: 24px;  /* Preferred icon size */\n    display: inline-block;\n    line-height: 1;\n    text-transform: none;\n    letter-spacing: normal;\n    word-wrap: normal;\n    white-space: nowrap;\n\n    /* Support for all WebKit browsers. */\n    -webkit-font-smoothing: antialiased;\n    /* Support for Safari and Chrome. */\n    text-rendering: optimizeLegibility;\n\n    /* Support for Firefox. */\n    -moz-osx-font-smoothing: grayscale;\n\n    /* Support for IE. */\n    font-feature-settings: 'liga';\n}\n\n.hoverable-button {\n    color: $gray-fg;\n    cursor: pointer;\n    opacity: 0.5;\n    transition: all 0.3s;\n    &:hover {\n        opacity: 1!important;\n    }\n}\n\nbutton.flat-button {\n    background: transparent;\n    border: 0;\n    border-radius: 2px;\n    color: $primary-color;\n    font-size: 15px;\n    height: 36px;\n    margin: 0 8px;\n    min-width: 88px;\n    outline: none;\n    padding: 0 8px;\n\n    &:focus,\n    &:hover {\n        background-color: $focused-bg;\n    }\n\n    &:active {\n        background-color: $pressed-bg;\n    }\n\n    &[disabled] {\n        color: $disabled-fg;\n    }\n}\n\n\n.incident .actions-wrapper {\n    margin-top: 16px;\n}\n\n.flex-nowrap{\n    flex-wrap: nowrap;\n}\n\n\ntextarea[autosize] {\n    resize: none;\n    color: #161616;\n}\n\n.filter_block {\n    display: flex;\n    flex-direction: column;\n}\n\n.align-center {\n    align-items: center;\n}\n.as_link{\n    cursor: pointer;\n}\n\n.dropdown_list {\n    position: relative;\n\n    ul {\n        position: absolute;\n        list-style: none;\n        width: fit-content;\n        white-space: nowrap;\n        background-color: #ffffff;\n        box-shadow: 0 2px 14px 0 #c2c2c2, 0 0 2px 0 #e0e0e0;\n        border: solid 1px #ffffff;\n        padding: 0;\n        top: 35px;\n        @include rtl-right(0);\n        z-index: 99;\n\n        li {\n            font-family: 'Open Sans', sans-serif;\n            font-size: 13px;\n            height: 35px;\n            @include rtl-cmd-left(text-align);\n            line-height: 35px;\n            color: #4d4d4e;\n            cursor: pointer;\n            padding: 0 40px;\n\n            &:hover {\n                background-color: $primary-hover-bg;\n            }\n\n            &.selected, &.active {\n                background-color: rgba(55, 171, 99, 0.11);\n\n                &::before {\n                    @extend .material-icons;\n                    content: 'check';\n                    opacity: 1;\n                    color: #787878;\n                    position: absolute;\n                    @include rtl-left(8px);\n                    padding-top: 4px;\n                }\n            }\n        }\n    }\n}\n\nactions div.dropdown_list ul li {\n    padding: 0 20px;\n}\n\n.dropdown {\n    position: relative;\n\n    .dropdown-toggle {\n        white-space: nowrap;\n    }\n    .dropdown-menu {\n        position: absolute;\n        left: 0;\n        z-index: 1000;\n        display: none;\n        float: left;\n        min-width: 10rem;\n        margin: 0.125rem 0 0;\n        list-style: none;\n        top: 100%;\n        @include rtl-left(0);\n        background-color: #ffffff;\n        box-shadow: 0 2px 14px 0 #c2c2c2, 0 0 2px 0 #e0e0e0;\n        border-width: 0;\n        border-radius: 0;\n        padding: 0;\n\n        &.show {\n            display: block;\n        }\n\n        > li {\n            &:hover {\n                cursor: pointer;\n            }\n            > a {\n                margin: 0;\n                @include rtl-padding(3px, 20px, 5px, 40px);\n                height: 35px;\n                @include rtl-cmd-left(text-align);\n                font-size: 13px;\n                color: #4d4d4e;\n                line-height: 30px;\n                box-sizing: border-box;\n                display: block;\n\n                &:hover, &:active {\n                    background-color: $primary-hover-bg;\n                    color: inherit;\n                }\n            }\n        }\n    }\n\n    &.selector {\n        width: 100%;\n\n        button {\n            @include rtl-cmd-left(text-align);\n            @include rtl-padding-left(14px);\n            color: $gray-fg;\n\n            .dropup {\n                @include rtl-cmd-right(float);\n\n                .caret {\n                    &.up {\n                        margin-bottom: 8px;\n                    }\n\n                    &.down {\n                        position: absolute;\n                        border-top: 4px dashed;\n                        border-bottom: 0;\n                        bottom: 0;\n                        @include rtl-left(0);\n                    }\n                }\n            }\n        }\n    }\n}\n\n.typeahead {\n    .dropdown-menu {\n        display: table;\n\n        li > a {\n            padding: 7px 0;\n            line-height: 20px;\n        }\n\n        .active > a {\n            background-color: $primary-hover-bg;\n        }\n    }\n}\n\n.table {\n    >tbody, >thead {\n        >tr {\n            >td, >th {\n                vertical-align: middle;\n\n                &.i360-vertical-align-top {\n                    vertical-align: top;\n                }\n            }\n        }\n    }\n}\n\n.btn-link {\n    padding: 0;\n    color: $primary-color;\n\n    &:hover, &:focus, &:active {\n        color: #257142;\n        outline: none;\n        text-decoration: none;\n    }\n}\n\n.modal-backdrop {\n    &.in {\n        opacity: 0.4;\n    }\n}\n\n.form-control {\n    border-radius: 2px;\n    background-color: #ffffff;\n    border: solid 1px #d8d8d8;\n    width: 100%;\n    &:focus-visible {\n        outline: none;\n    }\n}\n\n.flexer {\n    flex-direction: row;\n    &.justify-beetween {\n        justify-content: space-between;\n    }\n}\n\n::-webkit-scrollbar {\n    width: 13px;\n}\n::-webkit-scrollbar-thumb {\n    border-width: 1px;\n    background-color: #53b076;\n}\n::-webkit-scrollbar-track {\n    background-color: #e1f0e7;\n}\n::-webkit-scrollbar-track:hover {\n    box-shadow: 0 6px 6px 0 rgba(0, 0, 0, 0.13), 0 0 6px 0 rgba(0, 0, 0, 0.12);\n}\n\n@mixin grid($percent) {\n    flex: 0 0 $percent;\n    max-width: $percent;\n    position: relative;\n    width: 100%;\n    padding-right: 15px;\n    padding-left: 15px;\n}\n","/*\n\nThis program is free software: you can redistribute it and/or modify it under \nthe terms of the GNU General Public License as published by \nthe Free Software Foundation, either version 3 of the License, \nor (at your option) any later version.\n\n\nThis program is distributed in the hope that it will be useful, \nbut WITHOUT ANY WARRANTY; without even the implied warranty of \nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \nSee the GNU General Public License for more details.\n\n\nYou should have received a copy of the GNU General Public License\n along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\nCopyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\nThis software is also available under ImunifyAV commercial license,\nsee <https://www.imunify360.com/legal/eula>\n*/\n@import '~@angular/material/theming';\n@import 'app/utils/material/slide-toggle.component';\n@import 'app/utils/material/checkbox.component.scss';\n@import 'app/utils/material/radio-button.component';\n@import \"../common/variables\";\n@import \"../common/rtl\";\n\n$custom-typography: mat-typography-config(\n        $font-family: \"'Open Sans', sans-serif\"\n);\n@include mat-core($custom-typography);\n$mat-i360: (\n        50: #e8f5e9,\n        100: $primary-bg,\n        200: $primary-bg,\n        300: $primary-color,\n        400: $primary-color,\n        500: $primary-color,\n        600: $primary-color,\n        700: $primary-color,\n        800: $primary-color,\n        900: $primary-color,\n        A100: $primary-bg,\n        A200: $primary-color,\n        A400: $primary-color,\n        A700: $primary-color,\n        contrast: (\n                50: $black-12-opacity,\n                100: $black-12-opacity,\n                200: $black-12-opacity,\n                300: $black-12-opacity,\n                400: $black-12-opacity,\n                500: white,\n                600: white,\n                700: white,\n                800: $white-12-opacity,\n                900: $white-12-opacity,\n                A100: $black-12-opacity,\n                A200: $black-12-opacity,\n                A400: $black-12-opacity,\n                A700: $black-12-opacity,\n        )\n);\n$i360-red: mat-palette(map_merge($mat-red, (\n        500: $error-text,\n)));\n\n$i360-primary: mat-palette($mat-i360);\n$i360-accent: mat-palette(map_merge($mat-deep-orange, (\n        500: #f77c00,\n)));\n\n$i360-theme: mat-light-theme($i360-primary, $i360-accent, $i360-red);\n\n@include angular-material-theme($i360-theme);\n\n@include mat-slider-theme(map_merge($i360-theme, (\n        accent: mat-palette(map_merge($mat-deep-orange, (\n                500: $primary-color,\n        ))),\n    foreground: (\n        base: #848484,\n        slider-min: white,\n        slider-off: #bebebe,\n        slider-off-active: #bebebe,\n    ),\n)));\n@include i360-slide-toggle-theme($i360-theme);\n@include i360-radio-button-theme($i360-theme);\n@include i360-checkbox-theme($i360-theme);\n\n.mat-radio-button, .mat-checkbox {\n    font: 13px 'Open Sans', Helvetica, sans-serif;\n}\n\n.mat-select-panel {\n    max-width: 100%;\n}\n\n.mat-select-trigger span,\n.mat-option-text {\n    font-size: 14px;\n    color: rgba(0,0,0,.87);\n}\n\n.mat-option-text {\n    display: flex; // line-height: normal not working in da (probably because of table-cell)\n    // need another way to align content\n    align-items: center;\n}\n\n.mat-menu-content {\n    .mat-menu-item {\n        a {\n            margin: 0 -16px;\n            padding: 0 16px;\n        }\n    }\n    line-height: 48px; // for da =)\n    a, a:hover, a:focus {\n        outline: none;\n        color: $gray-fg;\n        text-decoration: none;\n        font-size: 13px;\n        font-family: \"Open Sans\", Helvetica, sans-serif;\n        display: flex;\n        align-items: center;\n        flex-wrap: nowrap;\n        &.active {\n            background-color: rgba(55, 171, 99, 0.11);\n        }\n    }\n}\n.mat-ripple {\n    position: absolute;\n}\n.i360-modal-tabs {\n    .mat-ripple {\n        position: relative;\n    }\n    .mat-tab-label {\n        font-family: 'Noto Sans', sans-serif;\n        font-style: normal;\n        opacity: 1;\n        font-weight: normal;\n        font-size: 16px;\n        line-height: 22px;\n        /* identical to box height */\n        text-transform: uppercase;\n        color: #000000;\n        flex-grow: 0;\n        min-width: 80px;\n        padding: 0 10px;\n        min-height: 15px;\n        &.mat-tab-label-active {\n            font-weight: bold;\n        }\n    }\n    .mat-tab-body-content {\n        padding-top: 15px;\n    }\n}\n\n.mat-form-field-placeholder-wrapper,\n.mat-form-field-label-wrapper {  // in cpanel mat-select's placeholder partially visible\n    // broken encapsulation in material components leads to low specificity and randomly broken mat-select's placeholder\n    box-sizing: content-box;\n}\n\n.mat-form-field-label {\n    display: none;\n}\n.mat-form-field-empty.mat-form-field-label {\n    display: block;\n}\n\n.mat-raised-button, .mat-button {\n    border-radius: 4px;\n    line-height: 32px;\n    height: 32px;\n    font-family: \"Open Sans\", sans-serif;\n    &.mat-raised-button:not(:active) {\n        box-shadow: 0 6px 6px 0 rgba(0, 0, 0, 0.13), 0 0 6px 0 rgba(0, 0, 0, 0.12)!important;\n        &:hover {\n            box-shadow: 0 7px 6px 0 rgba(0, 0, 0, 0.13), 0 0 6px 0 rgba(0, 0, 0, 0.12)!important;\n        }\n    }\n    .material-icons {\n        @include rtl-margin-right(10px);\n        @include rtl-margin-left(-15px);\n        margin-top: -2px;\n    }\n    &.capitalize {\n        text-transform: capitalize;\n    }\n}\n\nmat-chip-list.i360-chips mat-chip[i360-chip] {\n    background-color: #e2f7e9;\n    height: 27px;\n    border: solid 1px #cecece;\n    border-radius: 2px;\n    cursor: pointer;\n\n    &[i360-chip] {  // for higher specificity\n        margin: 3px 2.5px;\n    }\n\n    i360-ellipsis {\n        max-width: 276px;\n    }\n}\n\n.mat-form-field-type-mat-input {\n    .mat-form-field-prefix+.mat-form-field-infix i360-error {\n        @include rtl-left(-48px);\n    }\n    .mat-form-field-wrapper {\n        margin: 0;\n    }\n    &.mat-form-field-should-float {\n        .mat-form-field-label-wrapper {\n            overflow: visible;\n            margin-top: 3px;\n        }\n    }\n    .mat-form-field-label, &.mat-form-field.mat-form-field-invalid.ng-pristine .mat-form-field-label {\n        margin-top: -4px;\n        font-size: 12px;\n        color: #a8abae;\n    }\n    .mat-form-field-flex {\n        height: 40px;\n        margin-top: 0;\n    }\n    .mat-form-field-infix {\n        margin-top: -8px;\n        @include rtl-margin-left(10px);\n    }\n    .mat-form-field-prefix {\n        font-size: 16px;\n        @include rtl-margin-left(7px);\n        @include rtl-margin-right(7px);\n        mat-icon {\n            font-size: 30px;\n            transform: rotate(90deg);\n        }\n    }\n    input {\n        font-size: 12px;\n        margin-top: -5px;\n        margin-bottom: 9px;\n        caret-color: $gray-fg;\n        border: none!important;\n        box-shadow: none!important;\n        padding: 0;\n        background: transparent;\n        height: auto;\n    }\n    &.mat-focused {\n        .mat-form-field-outline {\n            //box-shadow: 0 1px 1px 0 #f4f4f3, 0 1px 1px 0 #f4f4f3;\n            background-image: linear-gradient(to bottom, #ffffff, #fbfcff);\n            > * {\n                // FIXME: variable\n                border-color: #11cb84;\n            }\n        }\n        .mat-form-field-label {\n            // FIXME: variable\n            color: #11cb84;\n        }\n    }\n    &.mat-form-field-invalid.ng-dirty {\n        .mat-form-field-outline {\n            box-shadow: 0 1px 1px 0 #f4f4f3, 0 1px 1px 0 #f4f4f3;\n            background-image: linear-gradient(to bottom, #ffffff, #fbfcff);\n            > * {\n                // FIXME: variable\n                border-color: #fc4c4c;\n            }\n        }\n        .mat-form-field-label {\n            // FIXME: variable\n            color: #fc4c4c;\n        }\n    }\n    &.mat-form-field-should-float .mat-form-field-outline-gap {\n        // override border-color: #fc4c4c; above\n        border-top-color: transparent !important;\n    }\n\n    .mat-form-field-outline {\n        top: 0;\n        box-shadow: 0 1px 1px 0 #f4f4f3;\n        // FIXME: rtl\n        // rtl languages are still not available\n        > * {\n            background-color: #ffffff;\n            border-color: #dee1ec;\n            &.mat-form-field-outline-start {\n                border-left-width: 1px;\n                border-top-width: 1px;\n                border-bottom-width: 1px;\n            }\n            &.mat-form-field-outline-end {\n                border-right-width: 1px;\n                border-top-width: 1px;\n                border-bottom-width: 1px;\n            }\n            &.mat-form-field-outline-gap {\n                border-bottom-width: 1px;\n                border-top-width: 1px;\n            }\n        }\n    }\n}\n\nmat-icon svg {\n    // Fixes svg height in iframe in DA Evolution skin.\n    // Should work great inside mat-icon. Not sure about other places.\n    height: inherit;\n}\n","// File for which all imports are resolved and bundled. This is the entry-point for\n// the `@angular/material` theming Sass bundle. See `//src/material:theming_bundle`.\n\n// Import all the theming functionality.\n// We want overlays to always appear over user content, so set a baseline\n// very high z-index for the overlay container, which is where we create the new\n// stacking context for all overlays.\n$cdk-z-index-overlay-container: 1000 !default;\n$cdk-z-index-overlay: 1000 !default;\n$cdk-z-index-overlay-backdrop: 1000 !default;\n\n// Background color for all of the backdrops\n$cdk-overlay-dark-backdrop-background: rgba(0, 0, 0, 0.32) !default;\n\n// Default backdrop animation is based on the Material Design swift-ease-out.\n$backdrop-animation-duration: 400ms !default;\n$backdrop-animation-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1) !default;\n\n\n@mixin cdk-overlay() {\n  .cdk-overlay-container, .cdk-global-overlay-wrapper {\n    // Disable events from being captured on the overlay container.\n    pointer-events: none;\n\n    // The container should be the size of the viewport.\n    top: 0;\n    left: 0;\n    height: 100%;\n    width: 100%;\n  }\n\n  // The overlay-container is an invisible element which contains all individual overlays.\n  .cdk-overlay-container {\n    position: fixed;\n    z-index: $cdk-z-index-overlay-container;\n\n    &:empty {\n      // Hide the element when it doesn't have any child nodes. This doesn't\n      // include overlays that have been detached, rather than disposed.\n      display: none;\n    }\n  }\n\n  // We use an extra wrapper element in order to use make the overlay itself a flex item.\n  // This makes centering the overlay easy without running into the subpixel rendering\n  // problems tied to using `transform` and without interfering with the other position\n  // strategies.\n  .cdk-global-overlay-wrapper {\n    display: flex;\n    position: absolute;\n    z-index: $cdk-z-index-overlay;\n  }\n\n  // A single overlay pane.\n  .cdk-overlay-pane {\n    // Note: it's important for this one to start off `absolute`,\n    // in order for us to be able to measure it correctly.\n    position: absolute;\n    pointer-events: auto;\n    box-sizing: border-box;\n    z-index: $cdk-z-index-overlay;\n\n    // For connected-position overlays, we set `display: flex` in\n    // order to force `max-width` and `max-height` to take effect.\n    display: flex;\n    max-width: 100%;\n    max-height: 100%;\n  }\n\n  .cdk-overlay-backdrop {\n    // TODO(jelbourn): reuse sidenav fullscreen mixin.\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    right: 0;\n\n    z-index: $cdk-z-index-overlay-backdrop;\n    pointer-events: auto;\n    -webkit-tap-highlight-color: transparent;\n    transition: opacity $backdrop-animation-duration $backdrop-animation-timing-function;\n    opacity: 0;\n\n    &.cdk-overlay-backdrop-showing {\n      opacity: 1;\n\n      // Note that we can't import and use the `high-contrast` mixin from `_a11y.scss`, because\n      // this file will be copied to the top-level `cdk` package when putting together the files\n      // for npm. Any relative import paths we use here will become invalid once the file is copied.\n      .cdk-high-contrast-active & {\n        // In high contrast mode the rgba background will become solid\n        // so we need to fall back to making it opaque using `opacity`.\n        opacity: 0.6;\n      }\n    }\n  }\n\n  .cdk-overlay-dark-backdrop {\n    background: $cdk-overlay-dark-backdrop-background;\n  }\n\n  .cdk-overlay-transparent-backdrop {\n    // Note: as of Firefox 57, having the backdrop be `background: none` will prevent it from\n    // capturing the user's mouse scroll events. Since we also can't use something like\n    // `rgba(0, 0, 0, 0)`, we work around the inconsistency by not setting the background at\n    // all and using `opacity` to make the element transparent.\n    &, &.cdk-overlay-backdrop-showing {\n      opacity: 0;\n    }\n  }\n\n  // Overlay parent element used with the connected position strategy. Used to constrain the\n  // overlay element's size to fit within the viewport.\n  .cdk-overlay-connected-position-bounding-box {\n    position: absolute;\n    z-index: $cdk-z-index-overlay;\n\n    // We use `display: flex` on this element exclusively for centering connected overlays.\n    // When *not* centering, a top/left/bottom/right will be set which overrides the normal\n    // flex layout.\n    display: flex;\n\n    // We use the `column` direction here to avoid some flexbox issues in Edge\n    // when using the \"grow after open\" options.\n    flex-direction: column;\n\n    // Add some dimensions so the element has an `innerText` which some people depend on in tests.\n    min-width: 1px;\n    min-height: 1px;\n  }\n\n  // Used when disabling global scrolling.\n  .cdk-global-scrollblock {\n    position: fixed;\n\n    // Necessary for the content not to lose its width. Note that we're using 100%, instead of\n    // 100vw, because 100vw includes the width plus the scrollbar, whereas 100% is the width\n    // that the element had before we made it `fixed`.\n    width: 100%;\n\n    // Note: this will always add a scrollbar to whatever element it is on, which can\n    // potentially result in double scrollbars. It shouldn't be an issue, because we won't\n    // block scrolling on a page that doesn't have a scrollbar in the first place.\n    overflow-y: scroll;\n  }\n}\n\n@mixin cdk-a11y {\n  .cdk-visually-hidden {\n    border: 0;\n    clip: rect(0 0 0 0);\n    height: 1px;\n    margin: -1px;\n    overflow: hidden;\n    padding: 0;\n    position: absolute;\n    width: 1px;\n\n    // This works around a Chrome bug that can cause the tab to crash when large amounts of\n    // non-English text get wrapped: https://bugs.chromium.org/p/chromium/issues/detail?id=1201444\n    white-space: nowrap;\n\n    // Avoid browsers rendering the focus ring in some cases.\n    outline: 0;\n\n    // Avoid some cases where the browser will still render the native controls (see #9049).\n    -webkit-appearance: none;\n    -moz-appearance: none;\n  }\n}\n\n/// Emits the mixin's content nested under `$selector-context` if `$selector-context`\n/// is non-empty.\n/// @param selector-context The selector under which to nest the mixin's content.\n@mixin _cdk-optionally-nest-content($selector-context) {\n  @if ($selector-context == '') {\n    @content;\n  }\n  @else {\n    #{$selector-context} {\n      @content;\n    }\n  }\n}\n\n/// Applies styles for users in high contrast mode. Note that this only applies\n/// to Microsoft browsers. Chrome can be included by checking for the `html[hc]`\n/// attribute, however Chrome handles high contrast differently.\n///\n/// @param target Which kind of high contrast setting to target. Defaults to `active`, can be\n///    `white-on-black` or `black-on-white`.\n/// @param encapsulation Whether to emit styles for view encapsulation. Values are:\n///     * `on` - works for `Emulated`, `Native`, and `ShadowDom`\n///     * `off` - works for `None`\n///     * `any` - works for all encapsulation modes by emitting the CSS twice (default).\n@mixin cdk-high-contrast($target: active, $encapsulation: 'any') {\n  @if ($target != 'active' and $target != 'black-on-white' and $target != 'white-on-black') {\n    @error 'Unknown cdk-high-contrast value \"#{$target}\" provided. ' +\n           'Allowed values are \"active\", \"black-on-white\", and \"white-on-black\"';\n  }\n\n  @if ($encapsulation != 'on' and $encapsulation != 'off' and $encapsulation != 'any') {\n    @error 'Unknown cdk-high-contrast encapsulation \"#{$encapsulation}\" provided. ' +\n           'Allowed values are \"on\", \"off\", and \"any\"';\n  }\n\n  // If the selector context has multiple parts, such as `.section, .region`, just doing\n  // `.cdk-high-contrast-xxx #{&}` will only apply the parent selector to the first part of the\n  // context. We address this by nesting the selector context under .cdk-high-contrast.\n  @at-root {\n    $selector-context: #{&};\n\n    @if ($encapsulation != 'on') {\n      // Note that if this selector is updated, the same change has to be made inside\n      // `_overlay.scss` which can't depend on this mixin due to some infrastructure limitations.\n      .cdk-high-contrast-#{$target} {\n        @include _cdk-optionally-nest-content($selector-context) {\n          @content;\n        }\n      }\n    }\n\n    @if ($encapsulation != 'off') {\n      .cdk-high-contrast-#{$target} :host {\n        @include _cdk-optionally-nest-content($selector-context) {\n          @content;\n        }\n      }\n    }\n  }\n}\n\n// Core styles that enable monitoring autofill state of text fields.\n@mixin cdk-text-field {\n  // Keyframes that apply no styles, but allow us to monitor when an text field becomes autofilled\n  // by watching for the animation events that are fired when they start. Note: the /*!*/ comment is\n  // needed to prevent LibSass from stripping the keyframes out.\n  // Based on: https://medium.com/@brunn/detecting-autofilled-fields-in-javascript-aed598d25da7\n  @keyframes cdk-text-field-autofill-start {/*!*/}\n  @keyframes cdk-text-field-autofill-end {/*!*/}\n\n  .cdk-text-field-autofill-monitored:-webkit-autofill {\n    // Since Chrome 80 we need a 1ms delay, or the animationstart event won't fire.\n    animation: cdk-text-field-autofill-start 0s 1ms;\n  }\n\n  .cdk-text-field-autofill-monitored:not(:-webkit-autofill) {\n    // Since Chrome 80 we need a 1ms delay, or the animationstart event won't fire.\n    animation: cdk-text-field-autofill-end 0s 1ms;\n  }\n\n  // Remove the resize handle on autosizing textareas, because whatever height\n  // the user resized to will be overwritten once they start typing again.\n  textarea.cdk-textarea-autosize {\n    resize: none;\n  }\n\n  // This class is temporarily applied to the textarea when it is being measured. It is immediately\n  // removed when measuring is complete. We use `!important` rules here to make sure user-specified\n  // rules do not interfere with the measurement.\n  textarea.cdk-textarea-autosize-measuring {\n    @include _cdk-textarea-autosize-measuring-base;\n    height: auto !important;\n    overflow: hidden !important;\n  }\n\n  // Similar to the `cdk-textarea-autosize-measuring` class, but only applied on Firefox. We need\n  // to use this class, because Firefox has a bug where changing the `overflow` breaks the user's\n  // ability to undo/redo what they were typing (see #16629). This class is only scoped to Firefox,\n  // because the measurements there don't seem to be affected by the `height: 0`, whereas on other\n  // browsers they are, e.g. Chrome detects longer text and IE does't resize back to normal.\n  // Identical issue report: https://bugzilla.mozilla.org/show_bug.cgi?id=448784\n  textarea.cdk-textarea-autosize-measuring-firefox {\n    @include _cdk-textarea-autosize-measuring-base;\n    height: 0 !important;\n  }\n}\n\n@mixin _cdk-textarea-autosize-measuring-base {\n  // Having 2px top and bottom padding seems to fix a bug where Chrome gets an incorrect\n  // measurement. We just have to account for it later and subtract it off the final result.\n  padding: 2px 0 !important;\n  box-sizing: content-box !important;\n}\n\n// Used to generate UIDs for keyframes used to change the text field autofill styles.\n$cdk-text-field-autofill-color-frame-count: 0;\n\n// Mixin used to apply custom background and foreground colors to an autofilled text field.\n// Based on: https://stackoverflow.com/questions/2781549/\n// removing-input-background-colour-for-chrome-autocomplete#answer-37432260\n@mixin cdk-text-field-autofill-color($background, $foreground:'') {\n  @keyframes cdk-text-field-autofill-color-#{$cdk-text-field-autofill-color-frame-count} {\n    to {\n      background: $background;\n      @if $foreground != '' { color: $foreground; }\n    }\n  }\n\n  &:-webkit-autofill {\n    animation: cdk-text-field-autofill-color-#{$cdk-text-field-autofill-color-frame-count} both;\n  }\n\n  &.cdk-text-field-autofill-monitored:-webkit-autofill {\n    // Since Chrome 80 we need a 1ms delay for cdk-text-field-autofill-start, or the animationstart\n    // event won't fire.\n    animation: cdk-text-field-autofill-start 0s 1ms,\n               cdk-text-field-autofill-color-#{$cdk-text-field-autofill-color-frame-count} both;\n  }\n\n  $cdk-text-field-autofill-color-frame-count:\n      $cdk-text-field-autofill-color-frame-count + 1 !global;\n}\n\n\n// Core styles that can be used to apply material design treatments to any element.\n// Media queries\n// TODO(josephperrott): Change $mat-xsmall and $mat-small usages to rely on BreakpointObserver,\n$mat-xsmall: 'max-width: 599px';\n$mat-small: 'max-width: 959px';\n\n// TODO: Revisit all z-indices before beta\n// z-index master list\n\n$z-index-fab: 20 !default;\n$z-index-drawer: 100 !default;\n\n// Global constants\n$pi: 3.14159265;\n\n// Padding between input toggles and their labels\n$mat-toggle-padding: 8px !default;\n// Width and height of input toggles\n$mat-toggle-size: 20px !default;\n\n// Easing Curves\n// TODO(jelbourn): all of these need to be revisited\n\n// The default animation curves used by material design.\n$mat-linear-out-slow-in-timing-function: cubic-bezier(0, 0, 0.2, 0.1) !default;\n$mat-fast-out-slow-in-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !default;\n$mat-fast-out-linear-in-timing-function: cubic-bezier(0.4, 0, 1, 1) !default;\n\n$ease-in-out-curve-function: cubic-bezier(0.35, 0, 0.25, 1) !default;\n\n$swift-ease-out-duration: 400ms !default;\n$swift-ease-out-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1) !default;\n$swift-ease-out: all $swift-ease-out-duration $swift-ease-out-timing-function !default;\n\n$swift-ease-in-duration: 300ms !default;\n$swift-ease-in-timing-function: cubic-bezier(0.55, 0, 0.55, 0.2) !default;\n$swift-ease-in: all $swift-ease-in-duration $swift-ease-in-timing-function !default;\n\n$swift-ease-in-out-duration: 500ms !default;\n$swift-ease-in-out-timing-function: $ease-in-out-curve-function !default;\n$swift-ease-in-out: all $swift-ease-in-out-duration $swift-ease-in-out-timing-function !default;\n\n$swift-linear-duration: 80ms !default;\n$swift-linear-timing-function: linear !default;\n$swift-linear: all $swift-linear-duration $swift-linear-timing-function !default;\n\n\n\n// A collection of mixins and CSS classes that can be used to apply elevation to a material\n// element.\n// See: https://material.io/design/environment/elevation.html\n// Examples:\n//\n//\n// .mat-foo {\n//   @include $mat-elevation(2);\n//\n//   &:active {\n//     @include $mat-elevation(8);\n//   }\n// }\n//\n// <div id=\"external-card\" class=\"mat-elevation-z2\"><p>Some content</p></div>\n//\n// For an explanation of the design behind how elevation is implemented, see the design doc at\n// https://goo.gl/Kq0k9Z.\n\n// Colors for umbra, penumbra, and ambient shadows. As described in the design doc, each elevation\n// level is created using a set of 3 shadow values, one for umbra (the shadow representing the\n// space completely obscured by an object relative to its light source), one for penumbra (the\n// space partially obscured by an object), and one for ambient (the space which contains the object\n// itself). For a further explanation of these terms and their meanings, see\n// https://en.wikipedia.org/wiki/Umbra,_penumbra_and_antumbra.\n\n// Maps for the different shadow sets and their values within each z-space. These values were\n// created by taking a few reference shadow sets created by Google's Designers and interpolating\n// all of the values between them.\n\n@function _get-umbra-map($color, $opacity) {\n  $shadow-color: if(type-of($color) == color, rgba($color, $opacity * 0.2), $color);\n\n  @return (\n    0: '0px 0px 0px 0px #{$shadow-color}',\n    1: '0px 2px 1px -1px #{$shadow-color}',\n    2: '0px 3px 1px -2px #{$shadow-color}',\n    3: '0px 3px 3px -2px #{$shadow-color}',\n    4: '0px 2px 4px -1px #{$shadow-color}',\n    5: '0px 3px 5px -1px #{$shadow-color}',\n    6: '0px 3px 5px -1px #{$shadow-color}',\n    7: '0px 4px 5px -2px #{$shadow-color}',\n    8: '0px 5px 5px -3px #{$shadow-color}',\n    9: '0px 5px 6px -3px #{$shadow-color}',\n    10: '0px 6px 6px -3px #{$shadow-color}',\n    11: '0px 6px 7px -4px #{$shadow-color}',\n    12: '0px 7px 8px -4px #{$shadow-color}',\n    13: '0px 7px 8px -4px #{$shadow-color}',\n    14: '0px 7px 9px -4px #{$shadow-color}',\n    15: '0px 8px 9px -5px #{$shadow-color}',\n    16: '0px 8px 10px -5px #{$shadow-color}',\n    17: '0px 8px 11px -5px #{$shadow-color}',\n    18: '0px 9px 11px -5px #{$shadow-color}',\n    19: '0px 9px 12px -6px #{$shadow-color}',\n    20: '0px 10px 13px -6px #{$shadow-color}',\n    21: '0px 10px 13px -6px #{$shadow-color}',\n    22: '0px 10px 14px -6px #{$shadow-color}',\n    23: '0px 11px 14px -7px #{$shadow-color}',\n    24: '0px 11px 15px -7px #{$shadow-color}'\n  );\n}\n\n@function _get-penumbra-map($color, $opacity) {\n  $shadow-color: if(type-of($color) == color, rgba($color, $opacity * 0.14), $color);\n\n  @return (\n    0: '0px 0px 0px 0px #{$shadow-color}',\n    1: '0px 1px 1px 0px #{$shadow-color}',\n    2: '0px 2px 2px 0px #{$shadow-color}',\n    3: '0px 3px 4px 0px #{$shadow-color}',\n    4: '0px 4px 5px 0px #{$shadow-color}',\n    5: '0px 5px 8px 0px #{$shadow-color}',\n    6: '0px 6px 10px 0px #{$shadow-color}',\n    7: '0px 7px 10px 1px #{$shadow-color}',\n    8: '0px 8px 10px 1px #{$shadow-color}',\n    9: '0px 9px 12px 1px #{$shadow-color}',\n    10: '0px 10px 14px 1px #{$shadow-color}',\n    11: '0px 11px 15px 1px #{$shadow-color}',\n    12: '0px 12px 17px 2px #{$shadow-color}',\n    13: '0px 13px 19px 2px #{$shadow-color}',\n    14: '0px 14px 21px 2px #{$shadow-color}',\n    15: '0px 15px 22px 2px #{$shadow-color}',\n    16: '0px 16px 24px 2px #{$shadow-color}',\n    17: '0px 17px 26px 2px #{$shadow-color}',\n    18: '0px 18px 28px 2px #{$shadow-color}',\n    19: '0px 19px 29px 2px #{$shadow-color}',\n    20: '0px 20px 31px 3px #{$shadow-color}',\n    21: '0px 21px 33px 3px #{$shadow-color}',\n    22: '0px 22px 35px 3px #{$shadow-color}',\n    23: '0px 23px 36px 3px #{$shadow-color}',\n    24: '0px 24px 38px 3px #{$shadow-color}'\n  );\n}\n\n@function _get-ambient-map($color, $opacity) {\n  $shadow-color: if(type-of($color) == color, rgba($color, $opacity * 0.12), $color);\n\n  @return (\n    0: '0px 0px 0px 0px #{$shadow-color}',\n    1: '0px 1px 3px 0px #{$shadow-color}',\n    2: '0px 1px 5px 0px #{$shadow-color}',\n    3: '0px 1px 8px 0px #{$shadow-color}',\n    4: '0px 1px 10px 0px #{$shadow-color}',\n    5: '0px 1px 14px 0px #{$shadow-color}',\n    6: '0px 1px 18px 0px #{$shadow-color}',\n    7: '0px 2px 16px 1px #{$shadow-color}',\n    8: '0px 3px 14px 2px #{$shadow-color}',\n    9: '0px 3px 16px 2px #{$shadow-color}',\n    10: '0px 4px 18px 3px #{$shadow-color}',\n    11: '0px 4px 20px 3px #{$shadow-color}',\n    12: '0px 5px 22px 4px #{$shadow-color}',\n    13: '0px 5px 24px 4px #{$shadow-color}',\n    14: '0px 5px 26px 4px #{$shadow-color}',\n    15: '0px 6px 28px 5px #{$shadow-color}',\n    16: '0px 6px 30px 5px #{$shadow-color}',\n    17: '0px 6px 32px 5px #{$shadow-color}',\n    18: '0px 7px 34px 6px #{$shadow-color}',\n    19: '0px 7px 36px 6px #{$shadow-color}',\n    20: '0px 8px 38px 7px #{$shadow-color}',\n    21: '0px 8px 40px 7px #{$shadow-color}',\n    22: '0px 8px 42px 7px #{$shadow-color}',\n    23: '0px 9px 44px 8px #{$shadow-color}',\n    24: '0px 9px 46px 8px #{$shadow-color}'\n  );\n}\n\n// The default duration value for elevation transitions.\n$mat-elevation-transition-duration: 280ms !default;\n\n// The default easing value for elevation transitions.\n$mat-elevation-transition-timing-function: $mat-fast-out-slow-in-timing-function;\n\n// The default color for elevation shadows.\n$mat-elevation-color: black !default;\n\n// The default opacity scaling value for elevation shadows.\n$mat-elevation-opacity: 1 !default;\n\n// Prefix for elevation-related selectors.\n$mat-elevation-prefix: 'mat-elevation-z';\n\n// Applies the correct css rules to an element to give it the elevation specified by $zValue.\n// The $zValue must be between 0 and 24.\n@mixin mat-elevation($zValue, $color: $mat-elevation-color, $opacity: $mat-elevation-opacity) {\n  @if type-of($zValue) != number or not unitless($zValue) {\n    @error '$zValue must be a unitless number';\n  }\n  @if $zValue < 0 or $zValue > 24 {\n    @error '$zValue must be between 0 and 24';\n  }\n\n  box-shadow: #{map-get(_get-umbra-map($color, $opacity), $zValue)},\n              #{map-get(_get-penumbra-map($color, $opacity), $zValue)},\n              #{map-get(_get-ambient-map($color, $opacity), $zValue)};\n}\n\n// Applies the elevation to an element in a manner that allows\n// consumers to override it via the Material elevation classes.\n@mixin mat-overridable-elevation(\n    $zValue,\n    $color: $mat-elevation-color,\n    $opacity: $mat-elevation-opacity) {\n  &:not([class*='#{$mat-elevation-prefix}']) {\n    @include mat-elevation($zValue, $color, $opacity);\n  }\n}\n\n// Returns a string that can be used as the value for a transition property for elevation.\n// Calling this function directly is useful in situations where a component needs to transition\n// more than one property.\n//\n// .foo {\n//   transition: mat-elevation-transition-property-value(), opacity 100ms ease;\n// }\n@function mat-elevation-transition-property-value(\n    $duration: $mat-elevation-transition-duration,\n    $easing: $mat-elevation-transition-timing-function) {\n  @return box-shadow #{$duration} #{$easing};\n}\n\n// Applies the correct css rules needed to have an element transition between elevations.\n// This mixin should be applied to elements whose elevation values will change depending on their\n// context (e.g. when active or disabled).\n//\n// NOTE(traviskaufman): Both this mixin and the above function use default parameters so they can\n// be used in the same way by clients.\n@mixin mat-elevation-transition(\n    $duration: $mat-elevation-transition-duration,\n    $easing: $mat-elevation-transition-timing-function) {\n  transition: mat-elevation-transition-property-value($duration, $easing);\n}\n\n\n@mixin mat-private-theme-elevation($zValue, $config, $opacity: $mat-elevation-opacity) {\n  $foreground: map-get($config, foreground);\n  $elevation-color: map-get($foreground, elevation);\n  $elevation-color-or-default: if($elevation-color == null, $mat-elevation-color, $elevation-color);\n\n  @include mat-elevation($zValue, $elevation-color-or-default, $opacity);\n}\n\n@mixin mat-private-theme-overridable-elevation($zValue, $config, $opacity: $mat-elevation-opacity) {\n  $foreground: map-get($config, foreground);\n  $elevation-color: map-get($foreground, elevation);\n  $elevation-color-or-default: if($elevation-color == null, $mat-elevation-color, $elevation-color);\n\n  @include mat-overridable-elevation($zValue, $elevation-color-or-default, $opacity);\n}\n\n// If the mat-animation-noop class is present on the components root element,\n// prevent non css animations from running.\n// NOTE: Currently this mixin should only be used with components that do not\n// have any projected content.\n@mixin mat-private-animation-noop() {\n  // @at-root is used to steps outside of the hierarchy of the scss rules. This is\n  // done to allow a class to be added to be added to base of the scss nesting\n  // context.\n  // For example:\n  // .my-root {\n  //   .my-subclass {\n  //      @include mat-private-animation-noop();\n  //    }\n  // }\n  // results in:\n  // ._mat-animation-noopable.my-root .my-subclass { ... }\n  @at-root ._mat-animation-noopable#{&} {\n    transition: none;\n    animation: none;\n    @content;\n  }\n}\n\n// Color palettes from the Material Design spec.\n// See https://material.io/design/color/\n//\n// Contrast colors are hard-coded because it is too difficult (probably impossible) to\n// calculate them. These contrast colors are pulled from the public Material Design spec swatches.\n// While the contrast colors in the spec are not prescriptive, we use them for convenience.\n\n\n// @deprecated renamed to $dark-primary-text.\n// @breaking-change 8.0.0\n$black-87-opacity: rgba(black, 0.87);\n// @deprecated renamed to $light-primary-text.\n// @breaking-change 8.0.0\n$white-87-opacity: rgba(white, 0.87);\n// @deprecated use $dark-[secondary-text,disabled-text,dividers,focused] instead.\n// @breaking-change 8.0.0\n$black-12-opacity: rgba(black, 0.12);\n// @deprecated use $light-[secondary-text,disabled-text,dividers,focused] instead.\n// @breaking-change 8.0.0\n$white-12-opacity: rgba(white, 0.12);\n// @deprecated use $dark-[secondary-text,disabled-text,dividers,focused] instead.\n// @breaking-change 8.0.0\n$black-6-opacity: rgba(black, 0.06);\n// @deprecated use $light-[secondary-text,disabled-text,dividers,focused] instead.\n// @breaking-change 8.0.0\n$white-6-opacity: rgba(white, 0.06);\n\n$dark-primary-text: rgba(black, 0.87);\n$dark-secondary-text: rgba(black, 0.54);\n$dark-disabled-text: rgba(black, 0.38);\n$dark-dividers: rgba(black, 0.12);\n$dark-focused: rgba(black, 0.12);\n$light-primary-text: white;\n$light-secondary-text: rgba(white, 0.7);\n$light-disabled-text: rgba(white, 0.5);\n$light-dividers: rgba(white, 0.12);\n$light-focused: rgba(white, 0.12);\n\n$mat-red: (\n  50: #ffebee,\n  100: #ffcdd2,\n  200: #ef9a9a,\n  300: #e57373,\n  400: #ef5350,\n  500: #f44336,\n  600: #e53935,\n  700: #d32f2f,\n  800: #c62828,\n  900: #b71c1c,\n  A100: #ff8a80,\n  A200: #ff5252,\n  A400: #ff1744,\n  A700: #d50000,\n  contrast: (\n    50: $dark-primary-text,\n    100: $dark-primary-text,\n    200: $dark-primary-text,\n    300: $dark-primary-text,\n    400: $dark-primary-text,\n    500: $light-primary-text,\n    600: $light-primary-text,\n    700: $light-primary-text,\n    800: $light-primary-text,\n    900: $light-primary-text,\n    A100: $dark-primary-text,\n    A200: $light-primary-text,\n    A400: $light-primary-text,\n    A700: $light-primary-text,\n  )\n);\n\n$mat-pink: (\n  50: #fce4ec,\n  100: #f8bbd0,\n  200: #f48fb1,\n  300: #f06292,\n  400: #ec407a,\n  500: #e91e63,\n  600: #d81b60,\n  700: #c2185b,\n  800: #ad1457,\n  900: #880e4f,\n  A100: #ff80ab,\n  A200: #ff4081,\n  A400: #f50057,\n  A700: #c51162,\n  contrast: (\n    50: $dark-primary-text,\n    100: $dark-primary-text,\n    200: $dark-primary-text,\n    300: $dark-primary-text,\n    400: $dark-primary-text,\n    500: $light-primary-text,\n    600: $light-primary-text,\n    700: $light-primary-text,\n    800: $light-primary-text,\n    900: $light-primary-text,\n    A100: $dark-primary-text,\n    A200: $light-primary-text,\n    A400: $light-primary-text,\n    A700: $light-primary-text,\n  )\n);\n\n$mat-purple: (\n  50: #f3e5f5,\n  100: #e1bee7,\n  200: #ce93d8,\n  300: #ba68c8,\n  400: #ab47bc,\n  500: #9c27b0,\n  600: #8e24aa,\n  700: #7b1fa2,\n  800: #6a1b9a,\n  900: #4a148c,\n  A100: #ea80fc,\n  A200: #e040fb,\n  A400: #d500f9,\n  A700: #aa00ff,\n  contrast: (\n    50: $dark-primary-text,\n    100: $dark-primary-text,\n    200: $dark-primary-text,\n    300: $light-primary-text,\n    400: $light-primary-text,\n    500: $light-primary-text,\n    600: $light-primary-text,\n    700: $light-primary-text,\n    800: $light-primary-text,\n    900: $light-primary-text,\n    A100: $dark-primary-text,\n    A200: $light-primary-text,\n    A400: $light-primary-text,\n    A700: $light-primary-text,\n  )\n);\n\n$mat-deep-purple: (\n  50: #ede7f6,\n  100: #d1c4e9,\n  200: #b39ddb,\n  300: #9575cd,\n  400: #7e57c2,\n  500: #673ab7,\n  600: #5e35b1,\n  700: #512da8,\n  800: #4527a0,\n  900: #311b92,\n  A100: #b388ff,\n  A200: #7c4dff,\n  A400: #651fff,\n  A700: #6200ea,\n  contrast: (\n    50: $dark-primary-text,\n    100: $dark-primary-text,\n    200: $dark-primary-text,\n    300: $light-primary-text,\n    400: $light-primary-text,\n    500: $light-primary-text,\n    600: $light-primary-text,\n    700: $light-primary-text,\n    800: $light-primary-text,\n    900: $light-primary-text,\n    A100: $dark-primary-text,\n    A200: $light-primary-text,\n    A400: $light-primary-text,\n    A700: $light-primary-text,\n  )\n);\n\n$mat-indigo: (\n  50: #e8eaf6,\n  100: #c5cae9,\n  200: #9fa8da,\n  300: #7986cb,\n  400: #5c6bc0,\n  500: #3f51b5,\n  600: #3949ab,\n  700: #303f9f,\n  800: #283593,\n  900: #1a237e,\n  A100: #8c9eff,\n  A200: #536dfe,\n  A400: #3d5afe,\n  A700: #304ffe,\n  contrast: (\n    50: $dark-primary-text,\n    100: $dark-primary-text,\n    200: $dark-primary-text,\n    300: $light-primary-text,\n    400: $light-primary-text,\n    500: $light-primary-text,\n    600: $light-primary-text,\n    700: $light-primary-text,\n    800: $light-primary-text,\n    900: $light-primary-text,\n    A100: $dark-primary-text,\n    A200: $light-primary-text,\n    A400: $light-primary-text,\n    A700: $light-primary-text,\n  )\n);\n\n$mat-blue: (\n  50: #e3f2fd,\n  100: #bbdefb,\n  200: #90caf9,\n  300: #64b5f6,\n  400: #42a5f5,\n  500: #2196f3,\n  600: #1e88e5,\n  700: #1976d2,\n  800: #1565c0,\n  900: #0d47a1,\n  A100: #82b1ff,\n  A200: #448aff,\n  A400: #2979ff,\n  A700: #2962ff,\n  contrast: (\n    50: $dark-primary-text,\n    100: $dark-primary-text,\n    200: $dark-primary-text,\n    300: $dark-primary-text,\n    400: $dark-primary-text,\n    500: $light-primary-text,\n    600: $light-primary-text,\n    700: $light-primary-text,\n    800: $light-primary-text,\n    900: $light-primary-text,\n    A100: $dark-primary-text,\n    A200: $light-primary-text,\n    A400: $light-primary-text,\n    A700: $light-primary-text,\n  )\n);\n\n$mat-light-blue: (\n  50: #e1f5fe,\n  100: #b3e5fc,\n  200: #81d4fa,\n  300: #4fc3f7,\n  400: #29b6f6,\n  500: #03a9f4,\n  600: #039be5,\n  700: #0288d1,\n  800: #0277bd,\n  900: #01579b,\n  A100: #80d8ff,\n  A200: #40c4ff,\n  A400: #00b0ff,\n  A700: #0091ea,\n  contrast: (\n    50: $dark-primary-text,\n    100: $dark-primary-text,\n    200: $dark-primary-text,\n    300: $dark-primary-text,\n    400: $dark-primary-text,\n    500: $light-primary-text,\n    600: $light-primary-text,\n    700: $light-primary-text,\n    800: $light-primary-text,\n    900: $light-primary-text,\n    A100: $dark-primary-text,\n    A200: $dark-primary-text,\n    A400: $dark-primary-text,\n    A700: $light-primary-text,\n  )\n);\n\n$mat-cyan: (\n  50: #e0f7fa,\n  100: #b2ebf2,\n  200: #80deea,\n  300: #4dd0e1,\n  400: #26c6da,\n  500: #00bcd4,\n  600: #00acc1,\n  700: #0097a7,\n  800: #00838f,\n  900: #006064,\n  A100: #84ffff,\n  A200: #18ffff,\n  A400: #00e5ff,\n  A700: #00b8d4,\n  contrast: (\n    50: $dark-primary-text,\n    100: $dark-primary-text,\n    200: $dark-primary-text,\n    300: $dark-primary-text,\n    400: $dark-primary-text,\n    500: $light-primary-text,\n    600: $light-primary-text,\n    700: $light-primary-text,\n    800: $light-primary-text,\n    900: $light-primary-text,\n    A100: $dark-primary-text,\n    A200: $dark-primary-text,\n    A400: $dark-primary-text,\n    A700: $dark-primary-text,\n  )\n);\n\n$mat-teal: (\n  50: #e0f2f1,\n  100: #b2dfdb,\n  200: #80cbc4,\n  300: #4db6ac,\n  400: #26a69a,\n  500: #009688,\n  600: #00897b,\n  700: #00796b,\n  800: #00695c,\n  900: #004d40,\n  A100: #a7ffeb,\n  A200: #64ffda,\n  A400: #1de9b6,\n  A700: #00bfa5,\n  contrast: (\n    50: $dark-primary-text,\n    100: $dark-primary-text,\n    200: $dark-primary-text,\n    300: $dark-primary-text,\n    400: $dark-primary-text,\n    500: $light-primary-text,\n    600: $light-primary-text,\n    700: $light-primary-text,\n    800: $light-primary-text,\n    900: $light-primary-text,\n    A100: $dark-primary-text,\n    A200: $dark-primary-text,\n    A400: $dark-primary-text,\n    A700: $dark-primary-text,\n  )\n);\n\n$mat-green: (\n  50: #e8f5e9,\n  100: #c8e6c9,\n  200: #a5d6a7,\n  300: #81c784,\n  400: #66bb6a,\n  500: #4caf50,\n  600: #43a047,\n  700: #388e3c,\n  800: #2e7d32,\n  900: #1b5e20,\n  A100: #b9f6ca,\n  A200: #69f0ae,\n  A400: #00e676,\n  A700: #00c853,\n  contrast: (\n    50: $dark-primary-text,\n    100: $dark-primary-text,\n    200: $dark-primary-text,\n    300: $dark-primary-text,\n    400: $dark-primary-text,\n    500: $dark-primary-text,\n    600: $light-primary-text,\n    700: $light-primary-text,\n    800: $light-primary-text,\n    900: $light-primary-text,\n    A100: $dark-primary-text,\n    A200: $dark-primary-text,\n    A400: $dark-primary-text,\n    A700: $dark-primary-text,\n  )\n);\n\n$mat-light-green: (\n  50: #f1f8e9,\n  100: #dcedc8,\n  200: #c5e1a5,\n  300: #aed581,\n  400: #9ccc65,\n  500: #8bc34a,\n  600: #7cb342,\n  700: #689f38,\n  800: #558b2f,\n  900: #33691e,\n  A100: #ccff90,\n  A200: #b2ff59,\n  A400: #76ff03,\n  A700: #64dd17,\n  contrast: (\n    50: $dark-primary-text,\n    100: $dark-primary-text,\n    200: $dark-primary-text,\n    300: $dark-primary-text,\n    400: $dark-primary-text,\n    500: $dark-primary-text,\n    600: $dark-primary-text,\n    700: $light-primary-text,\n    800: $light-primary-text,\n    900: $light-primary-text,\n    A100: $dark-primary-text,\n    A200: $dark-primary-text,\n    A400: $dark-primary-text,\n    A700: $dark-primary-text,\n  )\n);\n\n$mat-lime: (\n  50: #f9fbe7,\n  100: #f0f4c3,\n  200: #e6ee9c,\n  300: #dce775,\n  400: #d4e157,\n  500: #cddc39,\n  600: #c0ca33,\n  700: #afb42b,\n  800: #9e9d24,\n  900: #827717,\n  A100: #f4ff81,\n  A200: #eeff41,\n  A400: #c6ff00,\n  A700: #aeea00,\n  contrast: (\n    50: $dark-primary-text,\n    100: $dark-primary-text,\n    200: $dark-primary-text,\n    300: $dark-primary-text,\n    400: $dark-primary-text,\n    500: $dark-primary-text,\n    600: $dark-primary-text,\n    700: $dark-primary-text,\n    800: $dark-primary-text,\n    900: $light-primary-text,\n    A100: $dark-primary-text,\n    A200: $dark-primary-text,\n    A400: $dark-primary-text,\n    A700: $dark-primary-text,\n  )\n);\n\n$mat-yellow: (\n  50: #fffde7,\n  100: #fff9c4,\n  200: #fff59d,\n  300: #fff176,\n  400: #ffee58,\n  500: #ffeb3b,\n  600: #fdd835,\n  700: #fbc02d,\n  800: #f9a825,\n  900: #f57f17,\n  A100: #ffff8d,\n  A200: #ffff00,\n  A400: #ffea00,\n  A700: #ffd600,\n  contrast: (\n    50: $dark-primary-text,\n    100: $dark-primary-text,\n    200: $dark-primary-text,\n    300: $dark-primary-text,\n    400: $dark-primary-text,\n    500: $dark-primary-text,\n    600: $dark-primary-text,\n    700: $dark-primary-text,\n    800: $dark-primary-text,\n    900: $dark-primary-text,\n    A100: $dark-primary-text,\n    A200: $dark-primary-text,\n    A400: $dark-primary-text,\n    A700: $dark-primary-text,\n  )\n);\n\n$mat-amber: (\n  50: #fff8e1,\n  100: #ffecb3,\n  200: #ffe082,\n  300: #ffd54f,\n  400: #ffca28,\n  500: #ffc107,\n  600: #ffb300,\n  700: #ffa000,\n  800: #ff8f00,\n  900: #ff6f00,\n  A100: #ffe57f,\n  A200: #ffd740,\n  A400: #ffc400,\n  A700: #ffab00,\n  contrast: (\n    50: $dark-primary-text,\n    100: $dark-primary-text,\n    200: $dark-primary-text,\n    300: $dark-primary-text,\n    400: $dark-primary-text,\n    500: $dark-primary-text,\n    600: $dark-primary-text,\n    700: $dark-primary-text,\n    800: $dark-primary-text,\n    900: $dark-primary-text,\n    A100: $dark-primary-text,\n    A200: $dark-primary-text,\n    A400: $dark-primary-text,\n    A700: $dark-primary-text,\n  )\n);\n\n$mat-orange: (\n  50: #fff3e0,\n  100: #ffe0b2,\n  200: #ffcc80,\n  300: #ffb74d,\n  400: #ffa726,\n  500: #ff9800,\n  600: #fb8c00,\n  700: #f57c00,\n  800: #ef6c00,\n  900: #e65100,\n  A100: #ffd180,\n  A200: #ffab40,\n  A400: #ff9100,\n  A700: #ff6d00,\n  contrast: (\n    50: $dark-primary-text,\n    100: $dark-primary-text,\n    200: $dark-primary-text,\n    300: $dark-primary-text,\n    400: $dark-primary-text,\n    500: $dark-primary-text,\n    600: $dark-primary-text,\n    700: $dark-primary-text,\n    800: $light-primary-text,\n    900: $light-primary-text,\n    A100: $dark-primary-text,\n    A200: $dark-primary-text,\n    A400: $dark-primary-text,\n    A700: black,\n  )\n);\n\n$mat-deep-orange: (\n  50: #fbe9e7,\n  100: #ffccbc,\n  200: #ffab91,\n  300: #ff8a65,\n  400: #ff7043,\n  500: #ff5722,\n  600: #f4511e,\n  700: #e64a19,\n  800: #d84315,\n  900: #bf360c,\n  A100: #ff9e80,\n  A200: #ff6e40,\n  A400: #ff3d00,\n  A700: #dd2c00,\n  contrast: (\n    50: $dark-primary-text,\n    100: $dark-primary-text,\n    200: $dark-primary-text,\n    300: $dark-primary-text,\n    400: $dark-primary-text,\n    500: $light-primary-text,\n    600: $light-primary-text,\n    700: $light-primary-text,\n    800: $light-primary-text,\n    900: $light-primary-text,\n    A100: $dark-primary-text,\n    A200: $dark-primary-text,\n    A400: $light-primary-text,\n    A700: $light-primary-text,\n  )\n);\n\n$mat-brown: (\n  50: #efebe9,\n  100: #d7ccc8,\n  200: #bcaaa4,\n  300: #a1887f,\n  400: #8d6e63,\n  500: #795548,\n  600: #6d4c41,\n  700: #5d4037,\n  800: #4e342e,\n  900: #3e2723,\n  A100: #d7ccc8,\n  A200: #bcaaa4,\n  A400: #8d6e63,\n  A700: #5d4037,\n  contrast: (\n    50: $dark-primary-text,\n    100: $dark-primary-text,\n    200: $dark-primary-text,\n    300: $light-primary-text,\n    400: $light-primary-text,\n    500: $light-primary-text,\n    600: $light-primary-text,\n    700: $light-primary-text,\n    800: $light-primary-text,\n    900: $light-primary-text,\n    A100: $dark-primary-text,\n    A200: $dark-primary-text,\n    A400: $light-primary-text,\n    A700: $light-primary-text,\n  )\n);\n\n$mat-grey: (\n  50: #fafafa,\n  100: #f5f5f5,\n  200: #eeeeee,\n  300: #e0e0e0,\n  400: #bdbdbd,\n  500: #9e9e9e,\n  600: #757575,\n  700: #616161,\n  800: #424242,\n  900: #212121,\n  A100: #ffffff,\n  A200: #eeeeee,\n  A400: #bdbdbd,\n  A700: #616161,\n  contrast: (\n    50: $dark-primary-text,\n    100: $dark-primary-text,\n    200: $dark-primary-text,\n    300: $dark-primary-text,\n    400: $dark-primary-text,\n    500: $dark-primary-text,\n    600: $light-primary-text,\n    700: $light-primary-text,\n    800: $light-primary-text,\n    900: $light-primary-text,\n    A100: $dark-primary-text,\n    A200: $dark-primary-text,\n    A400: $dark-primary-text,\n    A700: $light-primary-text,\n  )\n);\n\n// Alias for alternate spelling.\n$mat-gray: $mat-grey;\n\n$mat-blue-grey: (\n  50: #eceff1,\n  100: #cfd8dc,\n  200: #b0bec5,\n  300: #90a4ae,\n  400: #78909c,\n  500: #607d8b,\n  600: #546e7a,\n  700: #455a64,\n  800: #37474f,\n  900: #263238,\n  A100: #cfd8dc,\n  A200: #b0bec5,\n  A400: #78909c,\n  A700: #455a64,\n  contrast: (\n    50: $dark-primary-text,\n    100: $dark-primary-text,\n    200: $dark-primary-text,\n    300: $dark-primary-text,\n    400: $light-primary-text,\n    500: $light-primary-text,\n    600: $light-primary-text,\n    700: $light-primary-text,\n    800: $light-primary-text,\n    900: $light-primary-text,\n    A100: $dark-primary-text,\n    A200: $dark-primary-text,\n    A400: $light-primary-text,\n    A700: $light-primary-text,\n  )\n);\n\n// Alias for alternate spelling.\n$mat-blue-gray: $mat-blue-grey;\n\n\n// Background palette for light themes.\n$mat-light-theme-background: (\n  status-bar: map-get($mat-grey, 300),\n  app-bar:    map-get($mat-grey, 100),\n  background: map-get($mat-grey, 50),\n  hover:      rgba(black, 0.04), // TODO(kara): check style with Material Design UX\n  card:       white,\n  dialog:     white,\n  disabled-button: rgba(black, 0.12),\n  raised-button: white,\n  focused-button: $dark-focused,\n  selected-button: map-get($mat-grey, 300),\n  selected-disabled-button: map-get($mat-grey, 400),\n  disabled-button-toggle: map-get($mat-grey, 200),\n  unselected-chip: map-get($mat-grey, 300),\n  disabled-list-option: map-get($mat-grey, 200),\n  tooltip: map-get($mat-grey, 700),\n);\n\n// Background palette for dark themes.\n$mat-dark-theme-background: (\n  status-bar: black,\n  app-bar:    map-get($mat-grey, 900),\n  background: #303030,\n  hover:      rgba(white, 0.04), // TODO(kara): check style with Material Design UX\n  card:       map-get($mat-grey, 800),\n  dialog:     map-get($mat-grey, 800),\n  disabled-button: rgba(white, 0.12),\n  raised-button: map-get($mat-grey, 800),\n  focused-button: $light-focused,\n  selected-button: map-get($mat-grey, 900),\n  selected-disabled-button: map-get($mat-grey, 800),\n  disabled-button-toggle: black,\n  unselected-chip: map-get($mat-grey, 700),\n  disabled-list-option: black,\n  tooltip: map-get($mat-grey, 700),\n);\n\n// Foreground palette for light themes.\n$mat-light-theme-foreground: (\n  base:              black,\n  divider:           $dark-dividers,\n  dividers:          $dark-dividers,\n  disabled:          $dark-disabled-text,\n  disabled-button:   rgba(black, 0.26),\n  disabled-text:     $dark-disabled-text,\n  elevation:         black,\n  hint-text:         $dark-disabled-text,\n  secondary-text:    $dark-secondary-text,\n  icon:              rgba(black, 0.54),\n  icons:             rgba(black, 0.54),\n  text:              rgba(black, 0.87),\n  slider-min:        rgba(black, 0.87),\n  slider-off:        rgba(black, 0.26),\n  slider-off-active: rgba(black, 0.38),\n);\n\n// Foreground palette for dark themes.\n$mat-dark-theme-foreground: (\n  base:              white,\n  divider:           $light-dividers,\n  dividers:          $light-dividers,\n  disabled:          $light-disabled-text,\n  disabled-button:   rgba(white, 0.3),\n  disabled-text:     $light-disabled-text,\n  elevation:         black,\n  hint-text:         $light-disabled-text,\n  secondary-text:    $light-secondary-text,\n  icon:              white,\n  icons:             white,\n  text:              white,\n  slider-min:        white,\n  slider-off:        rgba(white, 0.3),\n  slider-off-active: rgba(white, 0.3),\n);\n\n// Note that this file is called `private`, because the APIs in it aren't public yet.\n// Once they're made available, the code should be moved out into an `index.scss`.\n\n// Taken from mat-density with small modifications to not rely on the new Sass module\n// system, and to support arbitrary properties in a density configuration.\n// https://github.com/material-components/material-components-web/blob/master/packages/mdc-density\n\n$_mat-density-interval: 4px !default;\n$_mat-density-minimum-scale: minimum !default;\n$_mat-density-maximum-scale: maximum !default;\n$_mat-density-supported-scales: (default, minimum, maximum) !default;\n$_mat-density-default-scale: 0 !default;\n\n// Whether density should be generated at root. This will be temporarily set to `true`\n// whenever density styles for legacy themes are generated.\n$mat-private-density-generate-at-root: false;\n// Whether density styles should be generated. This will be temporarily set to `false` if\n// duplicate density styles for a legacy theme would be generated. For legacy themes,\n// we always generate the default density **only once** at root.\n$mat-private-density-generate-styles: true;\n\n// Mixin that can be used to wrap density styles of given components. The mixin will\n// move the density styles to root if the `$mat-private-density-generate-at-root` global variable\n// is set. If `$mat-private-density-generate-styles` is set to `false`, generation of density\n// styles wrapped in this mixin is skipped. This mixin exists to improve backwards compatibility\n// of the new theming API where density styles are included as part of themes. Previously,\n// density styles of components were part of their base styles. With the new API, they are\n// part of the theming system. The `<..>-theme` mixins generate density by default unless\n// the density configuration is explicitly specified as per new API. This means, that projects\n// using `<..>-theme` mixins for separate themes (like `.dark-theme`) will cause duplicate\n// density styles. This is breaking as it increases specificity of density styles. This mixin\n// provides an API to control generation of density styles so that we can ensure they are only\n// created *once* and at root.\n@mixin mat-private-density-legacy-compatibility() {\n  @if $mat-private-density-generate-styles and $mat-private-density-generate-at-root {\n    @at-root {\n      @content;\n    }\n  }\n  @else if $mat-private-density-generate-styles {\n    @content;\n  }\n}\n\n@function mat-private-density-prop-value($density-config, $density-scale, $property-name) {\n  @if (type-of($density-scale) == 'string' and\n      index($list: $_mat-density-supported-scales, $value: $density-scale) == null) {\n    @error 'mat-density: Supported density scales #{$_mat-density-supported-scales}, '  +\n      'but received #{$density-scale}.';\n  }\n\n  $value: null;\n  $property-scale-map: map-get($density-config, $property-name);\n\n  @if map-has-key($property-scale-map, $density-scale) {\n    $value: map-get($property-scale-map, $density-scale);\n  }\n  @else {\n    $value: map-get($property-scale-map, default) + $density-scale * $_mat-density-interval;\n  }\n\n  $min-value: map-get($property-scale-map, $_mat-density-minimum-scale);\n  $max-value: map-get($property-scale-map, $_mat-density-maximum-scale);\n\n  @if ($value < $min-value or $value > $max-value) {\n    @error 'mat-density: #{$property-name} must be between #{$min-value} and ' +\n      '#{$max-value} (inclusive), but received #{$value}.';\n  }\n\n  @return $value;\n}\n\n\n// Whether duplication warnings should be disabled. Warnings enabled by default.\n$mat-theme-ignore-duplication-warnings: false !default;\n\n// Whether density should be generated by default.\n$_mat-theme-generate-default-density: true !default;\n\n// Warning that will be printed if duplicated styles are generated by a theme.\n$_mat-theme-duplicate-warning: 'Read more about how style duplication can be avoided in a ' +\n  'dedicated guide. https://github.com/angular/components/blob/master/guides/duplicate-theming-styles.md';\n\n// These variable are not intended to be overridden externally. They use `!default` to\n// avoid being reset every time this file is imported.\n$_mat-theme-emitted-color: () !default;\n$_mat-theme-emitted-typography: () !default;\n$_mat-theme-emitted-density: () !default;\n\n// For a given hue in a palette, return the contrast color from the map of contrast palettes.\n// @param $palette\n// @param $hue\n@function mat-contrast($palette, $hue) {\n  @return map-get(map-get($palette, contrast), $hue);\n}\n\n\n// Creates a map of hues to colors for a theme. This is used to define a theme palette in terms\n// of the Material Design hues.\n// @param $base-palette\n// @param $default\n// @param $lighter\n// @param $darker\n// @param $text\n@function mat-palette($base-palette, $default: 500, $lighter: 100, $darker: 700, $text: $default) {\n  $result: map-merge($base-palette, (\n    default: map-get($base-palette, $default),\n    lighter: map-get($base-palette, $lighter),\n    darker: map-get($base-palette, $darker),\n    text: map-get($base-palette, $text),\n\n    default-contrast: mat-contrast($base-palette, $default),\n    lighter-contrast: mat-contrast($base-palette, $lighter),\n    darker-contrast: mat-contrast($base-palette, $darker)\n  ));\n\n  // For each hue in the palette, add a \"-contrast\" color to the map.\n  @each $hue, $color in $base-palette {\n    $result: map-merge($result, (\n      '#{$hue}-contrast': mat-contrast($base-palette, $hue)\n    ));\n  }\n\n  @return $result;\n}\n\n\n// Gets a color from a theme palette (the output of mat-palette).\n// The hue can be one of the standard values (500, A400, etc.), one of the three preconfigured\n// hues (default, lighter, darker), or any of the aforementioned prefixed with \"-contrast\".\n//\n// @param $palette The theme palette (output of mat-palette).\n// @param $hue The hue from the palette to use. If this is a value between 0 and 1, it will\n//     be treated as opacity.\n// @param $opacity The alpha channel value for the color.\n@function mat-color($palette, $hue: default, $opacity: null) {\n  // If hueKey is a number between zero and one, then it actually contains an\n  // opacity value, so recall this function with the default hue and that given opacity.\n  @if type-of($hue) == number and $hue >= 0 and $hue <= 1 {\n    @return mat-color($palette, default, $hue);\n  }\n\n  $color: map-get($palette, $hue);\n\n  @if (type-of($color) != color) {\n    // If the $color resolved to something different from a color (e.g. a CSS variable),\n    // we can't apply the opacity anyway so we return the value as is, otherwise Sass can\n    // throw an error or output something invalid.\n    @return $color;\n  }\n\n  @return rgba($color, if($opacity == null, opacity($color), $opacity));\n}\n\n// Validates the specified theme by ensuring that the optional color config defines\n// a primary, accent and warn palette. Returns the theme if no failures were found.\n@function _mat-validate-theme($theme) {\n  @if map-get($theme, color) {\n    $color: map-get($theme, color);\n    @if not map-get($color, primary) {\n      @error 'Theme does not define a valid \"primary\" palette.';\n    }\n    @else if not map-get($color, accent) {\n      @error 'Theme does not define a valid \"accent\" palette.';\n    }\n    @else if not map-get($color, warn) {\n      @error 'Theme does not define a valid \"warn\" palette.';\n    }\n  }\n  @return $theme;\n}\n\n// Creates a light-themed color configuration from the specified\n// primary, accent and warn palettes.\n@function _mat-create-light-color-config($primary, $accent, $warn: null) {\n  @return (\n    primary: $primary,\n    accent: $accent,\n    warn: if($warn != null, $warn, mat-palette($mat-red)),\n    is-dark: false,\n    foreground: $mat-light-theme-foreground,\n    background: $mat-light-theme-background,\n  );\n}\n\n// Creates a dark-themed color configuration from the specified\n// primary, accent and warn palettes.\n@function _mat-create-dark-color-config($primary, $accent, $warn: null) {\n  @return (\n    primary: $primary,\n    accent: $accent,\n    warn: if($warn != null, $warn, mat-palette($mat-red)),\n    is-dark: true,\n    foreground: $mat-dark-theme-foreground,\n    background: $mat-dark-theme-background,\n  );\n}\n\n// Creates a container object for a light theme to be given to individual component theme mixins.\n// TODO: Remove legacy API and rename `$primary` to `$config`. Currently it cannot be renamed\n// as it would break existing apps that set the parameter by name.\n@function mat-light-theme($primary, $accent: null, $warn: mat-palette($mat-red)) {\n  // This function creates a container object for the individual component theme mixins. Consumers\n  // can construct such an object by calling this function, or by building the object manually.\n  // There are two possible ways to invoke this function in order to create such an object:\n  //\n  //    (1) Passing in a map that holds optional configurations for individual parts of the\n  //        theming system. For `color` configurations, the function only expects the palettes\n  //        for `primary` and `accent` (and optionally `warn`). The function will expand the\n  //        shorthand into an actual configuration that can be consumed in `-color` mixins.\n  //    (2) Legacy pattern: Passing in the palettes as parameters. This is not as flexible\n  //        as passing in a configuration map because only the `color` system can be configured.\n  //\n  // If the legacy pattern is used, we generate a container object only with a light-themed\n  // configuration for the `color` theming part.\n  @if $accent != null {\n    @return mat-private-create-backwards-compatibility-theme(_mat-validate-theme((\n      _is-legacy-theme: true,\n      color: _mat-create-light-color-config($primary, $accent, $warn),\n    )));\n  }\n  // If the map pattern is used (1), we just pass-through the configurations for individual\n  // parts of the theming system, but update the `color` configuration if set. As explained\n  // above, the color shorthand will be expanded to an actual light-themed color configuration.\n  $result: $primary;\n  @if map-get($primary, color) {\n    $color-settings: map-get($primary, color);\n    $primary: map-get($color-settings, primary);\n    $accent: map-get($color-settings, accent);\n    $warn: map-get($color-settings, warn);\n    $result: map-merge($result, (color: _mat-create-light-color-config($primary, $accent, $warn)));\n  }\n  @return mat-private-create-backwards-compatibility-theme(_mat-validate-theme($result));\n}\n\n// Creates a container object for a dark theme to be given to individual component theme mixins.\n// TODO: Remove legacy API and rename `$primary` to `$config`. Currently it cannot be renamed\n// as it would break existing apps that set the parameter by name.\n@function mat-dark-theme($primary, $accent: null, $warn: mat-palette($mat-red)) {\n  // This function creates a container object for the individual component theme mixins. Consumers\n  // can construct such an object by calling this function, or by building the object manually.\n  // There are two possible ways to invoke this function in order to create such an object:\n  //\n  //    (1) Passing in a map that holds optional configurations for individual parts of the\n  //        theming system. For `color` configurations, the function only expects the palettes\n  //        for `primary` and `accent` (and optionally `warn`). The function will expand the\n  //        shorthand into an actual configuration that can be consumed in `-color` mixins.\n  //    (2) Legacy pattern: Passing in the palettes as parameters. This is not as flexible\n  //        as passing in a configuration map because only the `color` system can be configured.\n  //\n  // If the legacy pattern is used, we generate a container object only with a dark-themed\n  // configuration for the `color` theming part.\n  @if $accent != null {\n    @return mat-private-create-backwards-compatibility-theme(_mat-validate-theme((\n      _is-legacy-theme: true,\n      color: _mat-create-dark-color-config($primary, $accent, $warn),\n    )));\n  }\n  // If the map pattern is used (1), we just pass-through the configurations for individual\n  // parts of the theming system, but update the `color` configuration if set. As explained\n  // above, the color shorthand will be expanded to an actual dark-themed color configuration.\n  $result: $primary;\n  @if map-get($primary, color) {\n    $color-settings: map-get($primary, color);\n    $primary: map-get($color-settings, primary);\n    $accent: map-get($color-settings, accent);\n    $warn: map-get($color-settings, warn);\n    $result: map-merge($result, (color: _mat-create-dark-color-config($primary, $accent, $warn)));\n  }\n  @return mat-private-create-backwards-compatibility-theme(_mat-validate-theme($result));\n}\n\n/// Gets the color configuration from the given theme or configuration.\n@function mat-get-color-config($theme, $default: null) {\n  // If a configuration has been passed, return the config directly.\n  @if not mat-private-is-theme-object($theme) {\n    @return $theme;\n  }\n  // If the theme has been constructed through the legacy theming API, we use the theme object\n  // as color configuration instead of the dedicated `color` property. We do this because for\n  // backwards compatibility, we copied the color configuration from `$theme.color` to `$theme`.\n  // Hence developers could customize the colors at top-level and want to respect these changes\n  // TODO: Remove when legacy theming API is removed.\n  @if mat-private-is-legacy-constructed-theme($theme) {\n    @return $theme;\n  }\n  @if map-has-key($theme, color) {\n    @return map-get($theme, color);\n  }\n  @return $default;\n}\n\n/// Gets the density configuration from the given theme or configuration.\n@function mat-get-density-config($theme-or-config, $default: 0) {\n  // If a configuration has been passed, return the config directly.\n  @if not mat-private-is-theme-object($theme-or-config) {\n    @return $theme-or-config;\n  }\n  // In case a theme has been passed, extract the configuration if present,\n  // or fall back to the default density config.\n  @if map-has-key($theme-or-config, density) {\n    @return map-get($theme-or-config, density);\n  }\n  @return $default;\n}\n\n/// Gets the typography configuration from the given theme or configuration.\n/// For backwards compatibility, typography is not included by default.\n@function mat-get-typography-config($theme-or-config, $default: null) {\n  // If a configuration has been passed, return the config directly.\n  @if not mat-private-is-theme-object($theme-or-config) {\n    @return $theme-or-config;\n  }\n  // In case a theme has been passed, extract the configuration if present,\n  // or fall back to the default typography config.\n  @if (map-has-key($theme-or-config, typography)) {\n    @return map-get($theme-or-config, typography);\n  }\n  @return $default;\n}\n\n\n//\n// Private APIs\n//\n\n// Checks if configurations that have been declared in the given theme have been generated\n// before. If so, warnings will be reported. This should notify developers in case duplicate\n// styles are accidentally generated due to wrong usage of the all-theme mixins.\n//\n// Additionally, this mixin controls the default value for the density configuration. By\n// default, density styles are generated at scale zero. If the same density styles would be\n// generated a second time though, the default value will change to avoid duplicate styles.\n//\n// The mixin keeps track of all configurations in a list that is scoped to the specified\n// id. This is necessary because a given theme can be passed to multiple disjoint theme mixins\n// (e.g. `angular-material-theme` and `angular-material-mdc-theme`) without causing any\n// style duplication.\n@mixin mat-private-check-duplicate-theme-styles($theme-or-color-config, $id) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  $color-config: mat-get-color-config($theme);\n  $density-config: mat-get-density-config($theme);\n  $typography-config: mat-get-typography-config($theme);\n  // Lists of previous `color`, `density` and `typography` configurations.\n  $previous-color: map-get($_mat-theme-emitted-color, $id) or ();\n  $previous-typography: map-get($_mat-theme-emitted-typography, $id) or ();\n  $previous-density: map-get($_mat-theme-emitted-density, $id) or ();\n  // Whether duplicate legacy density styles would be generated.\n  $duplicate-legacy-density: false;\n\n  // Check if the color configuration has been generated before.\n  @if $color-config != null {\n    @if index($previous-color, $color-config) != null and\n        not $mat-theme-ignore-duplication-warnings {\n      @warn 'The same color styles are generated multiple times. ' +\n          $_mat-theme-duplicate-warning;\n    }\n    $previous-color: append($previous-color, $color-config);\n  }\n\n  // Check if the typography configuration has been generated before.\n  @if $typography-config != null {\n    @if index($previous-typography, $typography-config) != null and\n        not $mat-theme-ignore-duplication-warnings {\n      @warn 'The same typography styles are generated multiple times. ' +\n          $_mat-theme-duplicate-warning;\n    }\n    $previous-typography: append($previous-typography, $typography-config);\n  }\n\n  // Check if the density configuration has been generated before.\n  @if $density-config != null {\n    @if index($previous-density, $density-config) != null {\n      // Only report a warning if density styles would be duplicated for non-legacy theme\n      // definitions. For legacy themes, we have compatibility logic that avoids duplication\n      // of default density styles. We don't want to report a warning in those cases.\n      @if mat-private-is-legacy-constructed-theme($theme) {\n        $duplicate-legacy-density: true;\n      }\n      @else if not $mat-theme-ignore-duplication-warnings {\n        @warn 'The same density styles are generated multiple times. ' +\n           $_mat-theme-duplicate-warning;\n      }\n    }\n    $previous-density: append($previous-density, $density-config);\n  }\n\n  $_mat-theme-emitted-color: map-merge(\n      $_mat-theme-emitted-color, ($id: $previous-color)) !global;\n  $_mat-theme-emitted-density: map-merge(\n      $_mat-theme-emitted-density, ($id: $previous-density)) !global;\n  $_mat-theme-emitted-typography: map-merge(\n      $_mat-theme-emitted-typography, ($id: $previous-typography)) !global;\n\n  // Optionally, consumers of this mixin can wrap contents inside so that nested\n  // duplicate style checks do not report another warning. e.g. if developers include\n  // the `angular-material-theme` mixin twice, only the top-level duplicate styles check\n  // should report a warning. Not all individual components should report a warning too.\n  $orig-mat-theme-ignore-duplication-warnings: $mat-theme-ignore-duplication-warnings;\n  $mat-theme-ignore-duplication-warnings: true !global;\n\n  // If duplicate default density styles would be generated for a legacy constructed theme,\n  // we adjust the density generation so that no density styles are generated by default.\n  // If no default density styles have been generated yet, we ensure that the styles\n  // are generated at root. For legacy themes our goal is to generate default density\n  // styles **once** and at root. This matches the old behavior where density styles were\n  // part of the base component styles (that did not use view encapsulation).\n  // TODO: Remove this compatibility logic when the legacy theming API is removed.\n  $mat-private-density-generate-at-root: mat-private-is-legacy-constructed-theme($theme) !global;\n  $mat-private-density-generate-styles: not $duplicate-legacy-density !global;\n\n  @content;\n  $mat-theme-ignore-duplication-warnings: $orig-mat-theme-ignore-duplication-warnings !global;\n\n  $mat-private-density-generate-at-root: false !global;\n  $mat-private-density-generate-styles: true !global;\n}\n\n// Checks whether the given value resolves to a theme object. Theme objects are always\n// of type `map` and can optionally only specify `color`, `density` or `typography`.\n@function mat-private-is-theme-object($value) {\n  @return type-of($value) == 'map' and (\n    map-has-key($value, color) or\n    map-has-key($value, density) or\n    map-has-key($value, typography) or\n    length($value) == 0\n  );\n}\n\n// Checks whether a given value corresponds to a legacy constructed theme.\n@function mat-private-is-legacy-constructed-theme($value) {\n  @return type-of($value) == 'map' and map-get($value, '_is-legacy-theme');\n}\n\n// Creates a backwards compatible theme. Previously in Angular Material, theme objects\n// contained the color configuration directly. With the recent refactoring of the theming\n// system to allow for density and typography configurations, this is no longer the case.\n// To ensure that constructed themes which will be passed to custom theme mixins do not break,\n// we copy the color configuration and put its properties at the top-level of the theme object.\n// Here is an example of a pattern that should still work until it's officially marked as a\n// breaking change:\n//\n//    @mixin my-custom-component-theme($theme) {\n//      .my-comp {\n//        background-color: mat-color(map-get($theme, primary));\n//      }\n//    }\n//\n// Note that the `$theme.primary` key does usually not exist since the color configuration\n// is stored in `$theme.color` which contains a property for `primary`. This method copies\n// the map from `$theme.color` to `$theme` for backwards compatibility.\n@function mat-private-create-backwards-compatibility-theme($theme) {\n  @if not map-get($theme, color) {\n    @return $theme;\n  }\n  $color: map-get($theme, color);\n  @return map-merge($theme, $color);\n}\n\n// Gets the theme from the given value that is either already a theme, or a color configuration.\n// This handles the legacy case where developers pass a color configuration directly to the\n// theme mixin. Before we introduced the new pattern for constructing a theme, developers passed\n// the color configuration directly to the theme mixins. This can be still the case if developers\n// construct a theme manually and pass it to a theme. We support this for backwards compatibility.\n// TODO(devversion): remove this in the future. Constructing themes manually is rare,\n// and the code can be easily updated to the new API.\n@function mat-private-legacy-get-theme($theme-or-color-config) {\n  @if mat-private-is-theme-object($theme-or-color-config) {\n    @return $theme-or-color-config;\n  }\n  @return mat-private-create-backwards-compatibility-theme((\n    _is-legacy-theme: true,\n    color: $theme-or-color-config\n  ));\n}\n\n\n\n$mat-ripple-color-opacity: 0.1;\n\n@mixin mat-ripple() {\n\n  // The host element of an mat-ripple directive should always have a position of \"absolute\" or\n  // \"relative\" so that the ripples inside are correctly positioned relatively to the container.\n  .mat-ripple {\n    overflow: hidden;\n\n    // By default, every ripple container should have position: relative in favor of creating an\n    // easy API for developers using the MatRipple directive.\n    position: relative;\n\n    // Promote containers that have ripples to a new layer. We want to target `:not(:empty)`,\n    // because we don't want all ripple containers to have their own layer since they're used in a\n    // lot of places and the layer is only relevant while animating. Note that ideally we'd use\n    // the `contain` property here (see #13175), because `:empty` can be broken by having extra\n    // text inside the element, but it isn't very well supported yet.\n    &:not(:empty) {\n      transform: translateZ(0);\n    }\n  }\n\n  .mat-ripple.mat-ripple-unbounded {\n    overflow: visible;\n  }\n\n  .mat-ripple-element {\n    position: absolute;\n    border-radius: 50%;\n    pointer-events: none;\n\n    transition: opacity, transform 0ms cubic-bezier(0, 0, 0.2, 1);\n    transform: scale(0);\n\n    // In high contrast mode the ripple is opaque, causing it to obstruct the content.\n    @include cdk-high-contrast(active, off) {\n      display: none;\n    }\n  }\n}\n\n/* Colors for the ripple elements.*/\n@mixin mat-ripple-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $foreground: map-get($config, foreground);\n  $foreground-base: map-get($foreground, base);\n\n  .mat-ripple-element {\n    // If the ripple color is resolves to a color *type*, we can use it directly, otherwise\n    // (e.g. it resolves to a CSS variable) we fall back to using the color and setting an opacity.\n    @if (type-of($foreground-base) == color) {\n      background-color: rgba($foreground-base, $mat-ripple-color-opacity);\n    }\n    @else {\n      background-color: $foreground-base;\n      opacity: $mat-ripple-color-opacity;\n    }\n  }\n}\n\n@mixin mat-ripple-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-ripple') {\n    $color: mat-get-color-config($theme);\n    @if $color != null {\n      @include mat-ripple-color($color);\n    }\n  }\n}\n\n\n// This mixin ensures an element spans to fill the nearest ancestor with defined positioning.\n@mixin mat-fill {\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  position: absolute;\n}\n\n\n/// Mixin that turns on strong focus indicators.\n///\n/// @example\n///   .my-app {\n///     @include mat-strong-focus-indicators($config);\n///   }\n@mixin mat-strong-focus-indicators($config: ()) {\n  // Default focus indicator config.\n  $default-config: (\n    border-style: solid,\n    border-width: 3px,\n    border-radius: 4px,\n  );\n\n  // Merge default config with user config.\n  $config: map-merge($default-config, $config);\n  $border-style: map-get($config, border-style);\n  $border-width: map-get($config, border-width);\n  $border-radius: map-get($config, border-radius);\n\n  // Base styles for focus indicators.\n  .mat-focus-indicator::before {\n    @include mat-fill();\n    box-sizing: border-box;\n    pointer-events: none;\n    border: $border-width $border-style transparent;\n    border-radius: $border-radius;\n  }\n\n  // By default, all focus indicators are flush with the bounding box of their\n  // host element. For particular elements (listed below), default inset/offset\n  // values are necessary to ensure that the focus indicator is sufficiently\n  // contrastive and renders appropriately.\n\n  .mat-focus-indicator.mat-flat-button::before,\n  .mat-focus-indicator.mat-raised-button::before,\n  .mat-focus-indicator.mat-fab::before,\n  .mat-focus-indicator.mat-mini-fab::before,\n  .mat-focus-indicator.mat-chip::before,\n  .mat-focus-indicator.mat-sort-header-container::before {\n    margin: -($border-width + 2px);\n  }\n\n  .mat-focus-indicator.mat-stroked-button::before,\n  .mat-focus-indicator.mat-calendar-body-cell-content::before {\n    margin: -($border-width + 3px);\n  }\n\n  .mat-focus-indicator.mat-tab-link::before,\n  .mat-focus-indicator.mat-tab-label::before {\n    margin: 5px;\n  }\n\n  // Render the focus indicator on focus. Defining a pseudo element's\n  // content will cause it to render.\n\n  // Checkboxes, radios, and slide toggles render focus indicators when the\n  // associated visually-hidden input is focused.\n  .mat-checkbox-input:focus ~ .mat-focus-indicator::before,\n  .mat-radio-input:focus ~ .mat-focus-indicator::before,\n  .mat-slide-toggle-input:focus ~ .mat-slide-toggle-thumb-container .mat-focus-indicator::before,\n\n  // For options, render the focus indicator when the class .mat-active\n  // is present.\n  .mat-focus-indicator.mat-option.mat-active::before,\n\n  // For calendar cells, render the focus indicator when the parent cell is\n  // focused.\n  .mat-calendar-body-cell:focus .mat-focus-indicator::before,\n\n  // For all other components, render the focus indicator on focus.\n  .mat-focus-indicator:focus::before {\n    content: '';\n  }\n}\n\n// Mixin that applies the border color for the focus indicators.\n@mixin _mat-strong-focus-indicators-border-color($color) {\n  .mat-focus-indicator::before {\n    border-color: $color;\n  }\n}\n\n@mixin mat-strong-focus-indicators-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  @include _mat-strong-focus-indicators-border-color(mat-color(map-get($config, primary)));\n}\n\n/// Mixin that sets the color of the focus indicators.\n///\n/// @param {color|map} $theme-or-color\n///   If theme, focus indicators are set to the primary color of the theme. If\n///   color, focus indicators are set to that color.\n///\n/// @example\n///   .demo-dark-theme {\n///     @include mat-strong-focus-indicators-theme($dark-theme-map);\n///   }\n///\n/// @example\n///   .demo-red-theme {\n///     @include mat-strong-focus-indicators-theme(#f00);\n///   }\n/* stylelint-disable-next-line material/theme-mixin-api */\n@mixin mat-strong-focus-indicators-theme($theme-or-color) {\n  @if type-of($theme-or-color) != 'map' {\n    @include _mat-strong-focus-indicators-border-color($theme-or-color);\n  }\n  @else {\n    $theme: mat-private-legacy-get-theme($theme-or-color);\n    @include mat-private-check-duplicate-theme-styles($theme, 'mat-strong-focus-indicators') {\n      $color: mat-get-color-config($theme);\n      @if $color != null {\n        @include mat-strong-focus-indicators-color($color);\n      }\n    }\n  }\n}\n\n// Mixin that ensures focus indicator host elements are positioned so that the focus indicator\n// pseudo element within is positioned relative to the host. Private mixin included within\n// `mat-core`.\n@mixin mat-private-strong-focus-indicators-positioning() {\n  .mat-focus-indicator {\n    position: relative;\n  }\n}\n\n\n\n// Utility for fetching a nested value from a typography config.\n@function _mat-get-type-value($config, $level, $name) {\n  @return map-get(map-get($config, $level), $name);\n}\n\n// Gets the font size for a level inside a typography config.\n@function mat-font-size($config, $level) {\n  @return _mat-get-type-value($config, $level, font-size);\n}\n\n// Gets the line height for a level inside a typography config.\n@function mat-line-height($config, $level) {\n  @return _mat-get-type-value($config, $level, line-height);\n}\n\n// Gets the font weight for a level inside a typography config.\n@function mat-font-weight($config, $level) {\n  @return _mat-get-type-value($config, $level, font-weight);\n}\n\n// Gets the letter spacing for a level inside a typography config.\n@function mat-letter-spacing($config, $level) {\n  @return _mat-get-type-value($config, $level, letter-spacing);\n}\n\n// Gets the font-family from a typography config and removes the quotes around it.\n@function mat-font-family($config, $level: null) {\n  $font-family: map-get($config, font-family);\n\n  @if $level != null {\n    $font-family: _mat-get-type-value($config, $level, font-family);\n  }\n\n  // Guard against unquoting non-string values, because it's deprecated.\n  @return if(type-of($font-family) == string, unquote($font-family), $font-family);\n}\n\n// Outputs the shorthand `font` CSS property, based on a set of typography values. Falls back to\n// the individual properties if a value that isn't allowed in the shorthand is passed in.\n@mixin mat-typography-font-shorthand($font-size, $font-weight, $line-height, $font-family) {\n  // If any of the values are set to `inherit`, we can't use the shorthand\n  // so we fall back to passing in the individual properties.\n  @if ($font-size == inherit or\n       $font-weight == inherit or\n       $line-height == inherit or\n       $font-family == inherit or\n       $font-size == null or\n       $font-weight == null or\n       $line-height == null or\n       $font-family == null) {\n\n    font-size: $font-size;\n    font-weight: $font-weight;\n    line-height: $line-height;\n    font-family: $font-family;\n  }\n  @else {\n    // Otherwise use the shorthand `font`, because it's the least amount of bytes. Note\n    // that we need to use interpolation for `font-size/line-height` in order to prevent\n    // Sass from dividing the two values.\n    font: $font-weight #{$font-size}/#{$line-height} $font-family;\n  }\n}\n\n// Converts a typography level into CSS styles.\n@mixin mat-typography-level-to-styles($config, $level) {\n  $font-size: mat-font-size($config, $level);\n  $font-weight: mat-font-weight($config, $level);\n  $line-height: mat-line-height($config, $level);\n  $font-family: mat-font-family($config, $level);\n\n  @include mat-typography-font-shorthand($font-size, $font-weight, $line-height, $font-family);\n  letter-spacing: mat-letter-spacing($config, $level);\n}\n\n\n@mixin mat-option-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $foreground: map-get($config, foreground);\n  $background: map-get($config, background);\n  $primary: map-get($config, primary);\n  $accent: map-get($config, accent);\n  $warn: map-get($config, warn);\n\n  .mat-option {\n    color: mat-color($foreground, text);\n\n    &:hover:not(.mat-option-disabled),\n    &:focus:not(.mat-option-disabled) {\n      background: mat-color($background, hover);\n    }\n\n    // In multiple mode there is a checkbox to show that the option is selected.\n    &.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled) {\n      background: mat-color($background, hover);\n    }\n\n    &.mat-active {\n      background: mat-color($background, hover);\n      color: mat-color($foreground, text);\n    }\n\n    &.mat-option-disabled {\n      color: mat-color($foreground, hint-text);\n    }\n  }\n\n  .mat-primary .mat-option.mat-selected:not(.mat-option-disabled) {\n    color: mat-color($primary, text);\n  }\n\n  .mat-accent .mat-option.mat-selected:not(.mat-option-disabled) {\n    color: mat-color($accent, text);\n  }\n\n  .mat-warn .mat-option.mat-selected:not(.mat-option-disabled) {\n    color: mat-color($warn, text);\n  }\n}\n\n@mixin mat-option-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-option {\n    font: {\n      family: mat-font-family($config);\n      size: mat-font-size($config, subheading-2);\n    }\n  }\n}\n\n@mixin _mat-option-density($config-or-theme) {}\n\n@mixin mat-option-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-option') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-option-color($color);\n    }\n    @if $density != null {\n      @include _mat-option-density($density);\n    }\n    @if $typography != null {\n      @include mat-option-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n@mixin mat-optgroup-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $foreground: map-get($config, foreground);\n\n  .mat-optgroup-label {\n    color: mat-color($foreground, secondary-text);\n  }\n\n  .mat-optgroup-disabled .mat-optgroup-label {\n    color: mat-color($foreground, hint-text);\n  }\n}\n\n@mixin mat-optgroup-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-optgroup-label {\n    @include mat-typography-level-to-styles($config, body-2);\n  }\n}\n\n@mixin _mat-optgroup-density($config-or-theme) {}\n\n@mixin mat-optgroup-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-optgroup') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-optgroup-color($color);\n    }\n    @if $density != null {\n      @include _mat-optgroup-density($density);\n    }\n    @if $typography != null {\n      @include mat-optgroup-typography($typography);\n    }\n  }\n}\n\n\n\n@mixin mat-pseudo-checkbox-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $is-dark-theme: map-get($config, is-dark);\n  $primary: map-get($config, primary);\n  $accent: map-get($config, accent);\n  $warn: map-get($config, warn);\n  $background: map-get($config, background);\n\n  // NOTE(traviskaufman): While the spec calls for translucent blacks/whites for disabled colors,\n  // this does not work well with elements layered on top of one another. To get around this we\n  // blend the colors together based on the base color and the theme background.\n  $white-30pct-opacity-on-dark: #686868;\n  $black-26pct-opacity-on-light: #b0b0b0;\n  $disabled-color: if($is-dark-theme, $white-30pct-opacity-on-dark, $black-26pct-opacity-on-light);\n  $colored-box-selector: '.mat-pseudo-checkbox-checked, .mat-pseudo-checkbox-indeterminate';\n\n  .mat-pseudo-checkbox {\n    color: mat-color(map-get($config, foreground), secondary-text);\n\n    &::after {\n      color: mat-color($background, background);\n    }\n  }\n\n  .mat-pseudo-checkbox-disabled {\n    color: $disabled-color;\n  }\n\n  .mat-primary .mat-pseudo-checkbox-checked,\n  .mat-primary .mat-pseudo-checkbox-indeterminate {\n    background: mat-color(map-get($config, primary));\n  }\n\n  // Default to the accent color. Note that the pseudo checkboxes are meant to inherit the\n  // theme from their parent, rather than implementing their own theming, which is why we\n  // don't attach to the `mat-*` classes. Also note that this needs to be below `.mat-primary`\n  // in order to allow for the color to be overwritten if the checkbox is inside a parent that\n  // has `mat-accent` and is placed inside another parent that has `mat-primary`.\n  .mat-pseudo-checkbox-checked,\n  .mat-pseudo-checkbox-indeterminate,\n  .mat-accent .mat-pseudo-checkbox-checked,\n  .mat-accent .mat-pseudo-checkbox-indeterminate {\n    background: mat-color(map-get($config, accent));\n  }\n\n  .mat-warn .mat-pseudo-checkbox-checked,\n  .mat-warn .mat-pseudo-checkbox-indeterminate {\n    background: mat-color(map-get($config, warn));\n  }\n\n  .mat-pseudo-checkbox-checked,\n  .mat-pseudo-checkbox-indeterminate {\n    &.mat-pseudo-checkbox-disabled {\n      background: $disabled-color;\n    }\n  }\n}\n\n@mixin mat-pseudo-checkbox-typography($config-or-theme) {}\n\n@mixin _mat-pseudo-checkbox-density($config-or-theme) {}\n\n@mixin mat-pseudo-checkbox-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-pseudo-checkbox') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-pseudo-checkbox-color($color);\n    }\n    @if $density != null {\n      @include _mat-pseudo-checkbox-density($density);\n    }\n    @if $typography != null {\n      @include mat-pseudo-checkbox-typography($typography);\n    }\n  }\n}\n\n\n\n// Represents a typography level from the Material design spec.\n@function mat-typography-level(\n  $font-size,\n  $line-height: $font-size,\n  $font-weight: 400,\n  $font-family: null,\n  $letter-spacing: normal) {\n\n  @return (\n    font-size: $font-size,\n    line-height: $line-height,\n    font-weight: $font-weight,\n    font-family: $font-family,\n    letter-spacing: $letter-spacing\n  );\n}\n\n// Represents a collection of typography levels.\n// Defaults come from https://material.io/guidelines/style/typography.html\n// Note: The spec doesn't mention letter spacing. The values here come from\n// eyeballing it until it looked exactly like the spec examples.\n@function mat-typography-config(\n  $font-family:   'Roboto, \"Helvetica Neue\", sans-serif',\n  $display-4:     mat-typography-level(112px, 112px, 300, $letter-spacing: -0.05em),\n  $display-3:     mat-typography-level(56px, 56px, 400, $letter-spacing: -0.02em),\n  $display-2:     mat-typography-level(45px, 48px, 400, $letter-spacing: -0.005em),\n  $display-1:     mat-typography-level(34px, 40px, 400),\n  $headline:      mat-typography-level(24px, 32px, 400),\n  $title:         mat-typography-level(20px, 32px, 500),\n  $subheading-2:  mat-typography-level(16px, 28px, 400),\n  $subheading-1:  mat-typography-level(15px, 24px, 400),\n  $body-2:        mat-typography-level(14px, 24px, 500),\n  $body-1:        mat-typography-level(14px, 20px, 400),\n  $caption:       mat-typography-level(12px, 20px, 400),\n  $button:        mat-typography-level(14px, 14px, 500),\n  // Line-height must be unit-less fraction of the font-size.\n  $input:         mat-typography-level(inherit, 1.125, 400)\n) {\n\n  // Declare an initial map with all of the levels.\n  $config: (\n    display-4:      $display-4,\n    display-3:      $display-3,\n    display-2:      $display-2,\n    display-1:      $display-1,\n    headline:       $headline,\n    title:          $title,\n    subheading-2:   $subheading-2,\n    subheading-1:   $subheading-1,\n    body-2:         $body-2,\n    body-1:         $body-1,\n    caption:        $caption,\n    button:         $button,\n    input:          $input,\n  );\n\n  // Loop through the levels and set the `font-family` of the ones that don't have one to the base.\n  // Note that Sass can't modify maps in place, which means that we need to merge and re-assign.\n  @each $key, $level in $config {\n    @if map-get($level, font-family) == null {\n      $new-level: map-merge($level, (font-family: $font-family));\n      $config: map-merge($config, ($key: $new-level));\n    }\n  }\n\n  // Add the base font family to the config.\n  @return map-merge($config, (font-family: $font-family));\n}\n\n// Whether a config is for the Material Design 2018 typography system.\n@function mat-private-typography-is-2018-config($config) {\n  @return map-get($config, headline-1) != null;\n}\n\n// Whether a config is for the Material Design 2014 typography system.\n@function mat-private-typography-is-2014-config($config) {\n  @return map-get($config, headline) != null;\n}\n\n// Given a config for either the 2014 or 2018 Material Design typography system,\n// produces a normalized typography config for the 2014 Material Design typography system.\n// 2014 - https://material.io/archive/guidelines/style/typography.html#typography-styles\n// 2018 - https://material.io/design/typography/the-type-system.html#type-scale\n@function mat-private-typography-to-2014-config($config) {\n  @if mat-private-typography-is-2018-config($config) {\n    @return mat-typography-config(\n        $display-4: map-get($config, headline-1),\n        $display-3: map-get($config, headline-2),\n        $display-2: map-get($config, headline-3),\n        $display-1: map-get($config, headline-4),\n        $headline: map-get($config, headline-5),\n        $title: map-get($config, headline-6),\n        $subheading-2: map-get($config, subtitle-1),\n        $subheading-1: map-get($config, subtitle-2),\n        $body-2: map-get($config, body-1),\n        $body-1: map-get($config, body-2),\n        $button: map-get($config, button),\n        $caption: map-get($config, caption),\n    );\n  }\n  @return $config;\n}\n\n// Given a config for either the 2014 or 2018 Material Design typography system,\n// produces a normalized typography config for the 2018 Material Design typography system.\n// 2014 - https://material.io/archive/guidelines/style/typography.html#typography-styles\n// 2018 - https://material.io/design/typography/the-type-system.html#type-scale\n@function mat-private-typography-to-2018-config($config) {\n  @if mat-private-typography-is-2014-config($config) {\n    @return (\n        headline-1: map-get($config, display-4),\n        headline-2: map-get($config, display-3),\n        headline-3: map-get($config, display-2),\n        headline-4: map-get($config, display-1),\n        headline-5: map-get($config, headline),\n        headline-6: map-get($config, title),\n        subtitle-1: map-get($config, subheading-2),\n        subtitle-2: map-get($config, subheading-1),\n        body-1: map-get($config, body-2),\n        body-2: map-get($config, body-1),\n        button: map-get($config, button),\n        caption: map-get($config, caption),\n    );\n  }\n  @return $config;\n}\n\n// Adds the base typography styles, based on a config.\n/* stylelint-disable-next-line material/theme-mixin-api */\n@mixin mat-base-typography($config, $selector: '.mat-typography') {\n  .mat-h1, .mat-headline, #{$selector} h1 {\n    @include mat-typography-level-to-styles($config, headline);\n    margin: 0 0 16px;\n  }\n\n  .mat-h2, .mat-title, #{$selector} h2 {\n    @include mat-typography-level-to-styles($config, title);\n    margin: 0 0 16px;\n  }\n\n  .mat-h3, .mat-subheading-2, #{$selector} h3 {\n    @include mat-typography-level-to-styles($config, subheading-2);\n    margin: 0 0 16px;\n  }\n\n  .mat-h4, .mat-subheading-1, #{$selector} h4 {\n    @include mat-typography-level-to-styles($config, subheading-1);\n    margin: 0 0 16px;\n  }\n\n  // Note: the spec doesn't have anything that would correspond to h5 and h6, but we add these for\n  // consistency. The font sizes come from the Chrome user agent styles which have h5 at 0.83em\n  // and h6 at 0.67em.\n  .mat-h5, #{$selector} h5 {\n    @include mat-typography-font-shorthand(\n       // calc is used here to support css variables\n      calc(#{mat-font-size($config, body-1)} * 0.83),\n      mat-font-weight($config, body-1),\n      mat-line-height($config, body-1),\n      mat-font-family($config, body-1)\n    );\n\n    margin: 0 0 12px;\n  }\n\n  .mat-h6, #{$selector} h6 {\n    @include mat-typography-font-shorthand(\n       // calc is used here to support css variables\n      calc(#{mat-font-size($config, body-1)} * 0.67),\n      mat-font-weight($config, body-1),\n      mat-line-height($config, body-1),\n      mat-font-family($config, body-1)\n    );\n\n    margin: 0 0 12px;\n  }\n\n  .mat-body-strong, .mat-body-2 {\n    @include mat-typography-level-to-styles($config, body-2);\n  }\n\n  .mat-body, .mat-body-1, #{$selector} {\n    @include mat-typography-level-to-styles($config, body-1);\n\n    p {\n      margin: 0 0 12px;\n    }\n  }\n\n  .mat-small, .mat-caption {\n    @include mat-typography-level-to-styles($config, caption);\n  }\n\n  .mat-display-4, #{$selector} .mat-display-4 {\n    @include mat-typography-level-to-styles($config, display-4);\n    margin: 0 0 56px;\n  }\n\n  .mat-display-3, #{$selector} .mat-display-3 {\n    @include mat-typography-level-to-styles($config, display-3);\n    margin: 0 0 64px;\n  }\n\n  .mat-display-2, #{$selector} .mat-display-2 {\n    @include mat-typography-level-to-styles($config, display-2);\n    margin: 0 0 64px;\n  }\n\n  .mat-display-1, #{$selector} .mat-display-1 {\n    @include mat-typography-level-to-styles($config, display-1);\n    margin: 0 0 64px;\n  }\n}\n\n\n\n\n@mixin mat-autocomplete-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $foreground: map-get($config, foreground);\n  $background: map-get($config, background);\n\n  .mat-autocomplete-panel {\n    @include mat-private-theme-overridable-elevation(4, $config);\n    background: mat-color($background, card);\n    color: mat-color($foreground, text);\n\n    // Selected options in autocompletes should not be gray, but we\n    // only want to override the background for selected options if\n    // they are *not* in hover or focus state. This change has to be\n    // made here because base option styles are shared between the\n    // autocomplete and the select.\n    .mat-option.mat-selected:not(.mat-active):not(:hover) {\n      background: mat-color($background, card);\n\n      &:not(.mat-option-disabled) {\n        color: mat-color($foreground, text);\n      }\n    }\n  }\n}\n\n@mixin mat-autocomplete-typography($config-or-theme) {}\n\n@mixin _mat-autocomplete-density($config-or-theme) {}\n\n@mixin mat-autocomplete-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-autocomplete') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-autocomplete-color($color);\n    }\n    @if $density != null {\n      @include _mat-autocomplete-density($density);\n    }\n    @if $typography != null {\n      @include mat-autocomplete-typography($typography);\n    }\n  }\n}\n\n// This contains all of the styles for the badge\n// rather than just the color/theme because of\n// no style sheet support for directives.\n\n\n\n\n\n$mat-badge-font-size: 12px;\n$mat-badge-font-weight: 600;\n$mat-badge-default-size: 22px !default;\n$mat-badge-small-size: $mat-badge-default-size - 6;\n$mat-badge-large-size: $mat-badge-default-size + 6;\n\n// Mixin for building offset given different sizes\n@mixin _mat-badge-size($size) {\n  .mat-badge-content {\n    width: $size;\n    height: $size;\n    line-height: $size;\n  }\n\n  &.mat-badge-above {\n    .mat-badge-content {\n      top: -$size / 2;\n    }\n  }\n\n  &.mat-badge-below {\n    .mat-badge-content {\n      bottom: -$size / 2;\n    }\n  }\n\n  &.mat-badge-before {\n    .mat-badge-content {\n      left: -$size;\n    }\n  }\n\n  [dir='rtl'] &.mat-badge-before {\n    .mat-badge-content {\n      left: auto;\n      right: -$size;\n    }\n  }\n\n  &.mat-badge-after {\n    .mat-badge-content {\n      right: -$size;\n    }\n  }\n\n  [dir='rtl'] &.mat-badge-after {\n    .mat-badge-content {\n      right: auto;\n      left: -$size;\n    }\n  }\n\n  &.mat-badge-overlap {\n    &.mat-badge-before {\n      .mat-badge-content {\n        left: -$size / 2;\n      }\n    }\n\n    [dir='rtl'] &.mat-badge-before {\n      .mat-badge-content {\n        left: auto;\n        right: -$size / 2;\n      }\n    }\n\n    &.mat-badge-after {\n      .mat-badge-content {\n        right: -$size / 2;\n      }\n    }\n\n    [dir='rtl'] &.mat-badge-after {\n      .mat-badge-content {\n        right: auto;\n        left: -$size / 2;\n      }\n    }\n  }\n}\n\n@mixin mat-badge-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $accent: map-get($config, accent);\n  $warn: map-get($config, warn);\n  $primary: map-get($config, primary);\n  $background: map-get($config, background);\n  $foreground: map-get($config, foreground);\n\n  .mat-badge-content {\n    color: mat-color($primary, default-contrast);\n    background: mat-color($primary);\n\n    @include cdk-high-contrast(active, off) {\n      outline: solid 1px;\n      border-radius: 0;\n    }\n  }\n\n  .mat-badge-accent {\n    .mat-badge-content {\n      background: mat-color($accent);\n      color: mat-color($accent, default-contrast);\n    }\n  }\n\n  .mat-badge-warn {\n    .mat-badge-content {\n      color: mat-color($warn, default-contrast);\n      background: mat-color($warn);\n    }\n  }\n\n  .mat-badge {\n    position: relative;\n  }\n\n  .mat-badge-hidden {\n    .mat-badge-content {\n      display: none;\n    }\n  }\n\n  .mat-badge-disabled {\n    .mat-badge-content {\n      $app-background: mat-color($background, 'background');\n      $badge-color: mat-color($foreground, disabled-button);\n\n      // The disabled color usually has some kind of opacity, but because the badge is overlayed\n      // on top of something else, it won't look good if it's opaque. If it is a color *type*,\n      // we convert it into a solid color by taking the opacity from the rgba value and using\n      // the value to determine the percentage of the background to put into foreground when\n      // mixing the colors together.\n      @if (type-of($badge-color) == color and type-of($app-background) == color) {\n        $badge-opacity: opacity($badge-color);\n        background: mix($app-background, rgba($badge-color, 1), (1 - $badge-opacity) * 100%);\n      }\n      @else {\n        background: $badge-color;\n      }\n\n      color: mat-color($foreground, disabled-text);\n    }\n  }\n\n  .mat-badge-content {\n    position: absolute;\n    text-align: center;\n    display: inline-block;\n    border-radius: 50%;\n    transition: transform 200ms ease-in-out;\n    transform: scale(0.6);\n    overflow: hidden;\n    white-space: nowrap;\n    text-overflow: ellipsis;\n    pointer-events: none;\n  }\n\n  .ng-animate-disabled .mat-badge-content,\n  .mat-badge-content._mat-animation-noopable {\n    transition: none;\n  }\n\n  // The active class is added after the element is added\n  // so it can animate scale to default\n  .mat-badge-content.mat-badge-active {\n    // Scale to `none` instead of `1` to avoid blurry text in some browsers.\n    transform: none;\n  }\n\n  .mat-badge-small {\n    @include _mat-badge-size($mat-badge-small-size);\n  }\n  .mat-badge-medium {\n    @include _mat-badge-size($mat-badge-default-size);\n  }\n  .mat-badge-large {\n    @include _mat-badge-size($mat-badge-large-size);\n  }\n}\n\n@mixin mat-badge-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-badge-content {\n    font-weight: $mat-badge-font-weight;\n    font-size: $mat-badge-font-size;\n    font-family: mat-font-family($config);\n  }\n\n  .mat-badge-small .mat-badge-content {\n    // Set the font size to 75% of the original.\n    font-size: $mat-badge-font-size * 0.75;\n  }\n\n  .mat-badge-large .mat-badge-content {\n    font-size: $mat-badge-font-size * 2;\n  }\n}\n\n@mixin _mat-badge-density($config-or-theme) {}\n\n@mixin mat-badge-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-badge') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-badge-color($color);\n    }\n    @if $density != null {\n      @include _mat-badge-density($density);\n    }\n    @if $typography != null {\n      @include mat-badge-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n\n@mixin mat-bottom-sheet-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $background: map-get($config, background);\n  $foreground: map-get($config, foreground);\n\n  .mat-bottom-sheet-container {\n    @include mat-private-theme-elevation(16, $config);\n    background: mat-color($background, dialog);\n    color: mat-color($foreground, text);\n  }\n}\n\n@mixin mat-bottom-sheet-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-bottom-sheet-container {\n    @include mat-typography-level-to-styles($config, body-1);\n  }\n}\n\n@mixin _mat-bottom-sheet-density($config-or-theme) {}\n\n@mixin mat-bottom-sheet-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-bottom-sheet') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-bottom-sheet-color($color);\n    }\n    @if $density != null {\n      @include _mat-bottom-sheet-density($density);\n    }\n    @if $typography != null {\n      @include mat-bottom-sheet-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n$_mat-button-ripple-opacity: 0.1;\n\n// Applies a focus style to an mat-button element for each of the supported palettes.\n@mixin _mat-button-focus-overlay-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $primary: map-get($config, primary);\n  $accent: map-get($config, accent);\n  $warn: map-get($config, warn);\n\n  &.mat-primary .mat-button-focus-overlay {\n    background-color: mat-color($primary);\n  }\n\n  &.mat-accent .mat-button-focus-overlay {\n    background-color: mat-color($accent);\n  }\n\n  &.mat-warn .mat-button-focus-overlay {\n    background-color: mat-color($warn);\n  }\n\n  &.mat-button-disabled .mat-button-focus-overlay {\n    background-color: transparent;\n  }\n}\n\n// Applies the background color for a ripple. If the value provided is not a Sass color,\n// we assume that we've been given a CSS variable. Since we can't perform alpha-blending\n// on a CSS variable, we instead add the opacity directly to the ripple element.\n@mixin _mat-button-ripple-background($palette, $hue, $opacity) {\n  $background-color: mat-color($palette, $hue, $opacity);\n  background-color: $background-color;\n  @if (type-of($background-color) != color) {\n    opacity: $opacity;\n  }\n}\n\n@mixin _mat-button-ripple-color($theme, $hue, $opacity: $_mat-button-ripple-opacity) {\n  $primary: map-get($theme, primary);\n  $accent: map-get($theme, accent);\n  $warn: map-get($theme, warn);\n\n  &.mat-primary .mat-ripple-element {\n    @include _mat-button-ripple-background($primary, $hue, $opacity);\n  }\n\n  &.mat-accent .mat-ripple-element {\n    @include _mat-button-ripple-background($accent, $hue, $opacity);\n  }\n\n  &.mat-warn .mat-ripple-element {\n    @include _mat-button-ripple-background($warn, $hue, $opacity);\n  }\n}\n\n// Applies a property to an mat-button element for each of the supported palettes.\n@mixin _mat-button-theme-property($theme, $property, $hue) {\n  $primary: map-get($theme, primary);\n  $accent: map-get($theme, accent);\n  $warn: map-get($theme, warn);\n  $background: map-get($theme, background);\n  $foreground: map-get($theme, foreground);\n\n  &.mat-primary {\n    #{$property}: mat-color($primary, $hue);\n  }\n  &.mat-accent {\n    #{$property}: mat-color($accent, $hue);\n  }\n  &.mat-warn {\n    #{$property}: mat-color($warn, $hue);\n  }\n\n  &.mat-primary, &.mat-accent, &.mat-warn, &.mat-button-disabled {\n    &.mat-button-disabled {\n      $palette: if($property == 'color', $foreground, $background);\n      #{$property}: mat-color($palette, disabled-button);\n    }\n  }\n}\n\n@mixin mat-button-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $primary: map-get($config, primary);\n  $accent: map-get($config, accent);\n  $warn: map-get($config, warn);\n  $background: map-get($config, background);\n  $foreground: map-get($config, foreground);\n\n  .mat-button, .mat-icon-button, .mat-stroked-button {\n    // Buttons without a background color should inherit the font color. This is necessary to\n    // ensure that the button is readable on custom background colors. It's wrong to always assume\n    // that those buttons are always placed inside of containers with the default background\n    // color of the theme (e.g. themed toolbars).\n    color: inherit;\n    background: transparent;\n\n    @include _mat-button-theme-property($config, 'color', text);\n    @include _mat-button-focus-overlay-color($config);\n\n    // Setup the ripple color to be based on the text color. This ensures that the ripples\n    // are matching with the current theme palette and are in contrast to the background color\n    // (e.g in themed toolbars).\n    .mat-ripple-element {\n      opacity: $_mat-button-ripple-opacity;\n      background-color: currentColor;\n    }\n  }\n\n  .mat-button-focus-overlay {\n    background: map-get($foreground, base);\n  }\n\n  // Note: this needs a bit extra specificity, because we're not guaranteed the inclusion\n  // order of the theme styles and the button reset may end up resetting this as well.\n  .mat-stroked-button:not(.mat-button-disabled) {\n    border-color: mat-color($foreground, divider);\n  }\n\n  .mat-flat-button, .mat-raised-button, .mat-fab, .mat-mini-fab {\n    // Default font and background color when not using any color palette.\n    color: mat-color($foreground, text);\n    background-color: mat-color($background, raised-button);\n\n    @include _mat-button-theme-property($config, 'color', default-contrast);\n    @include _mat-button-theme-property($config, 'background-color', default);\n    @include _mat-button-ripple-color($config, default-contrast);\n  }\n\n  .mat-stroked-button, .mat-flat-button {\n    @include mat-private-theme-overridable-elevation(0, $config);\n  }\n\n  .mat-raised-button {\n    @include mat-private-theme-overridable-elevation(2, $config);\n\n    &:not(.mat-button-disabled):active {\n      @include mat-private-theme-overridable-elevation(8, $config);\n    }\n\n    &.mat-button-disabled {\n      @include mat-private-theme-overridable-elevation(0, $config);\n    }\n  }\n\n  .mat-fab, .mat-mini-fab {\n    @include mat-private-theme-overridable-elevation(6, $config);\n\n    &:not(.mat-button-disabled):active {\n      @include mat-private-theme-overridable-elevation(12, $config);\n    }\n\n    &.mat-button-disabled {\n      @include mat-private-theme-overridable-elevation(0, $config);\n    }\n  }\n}\n\n@mixin mat-button-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-button, .mat-raised-button, .mat-icon-button, .mat-stroked-button,\n  .mat-flat-button, .mat-fab, .mat-mini-fab {\n    font: {\n      family: mat-font-family($config, button);\n      size: mat-font-size($config, button);\n      weight: mat-font-weight($config, button);\n    }\n  }\n}\n\n@mixin _mat-button-density($config-or-theme) {}\n\n@mixin mat-button-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-button') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-button-color($color);\n    }\n    @if $density != null {\n      @include _mat-button-density($density);\n    }\n    @if $typography != null {\n      @include mat-button-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n\n\n$mat-button-toggle-standard-height: 48px !default;\n// Minimum height for highest density can vary based on the content that developers\n// project into button-toggle's. We use a minimum of `24px` though because commonly\n// icons or text are displayed. Icons by default have a size of `24px`.\n$mat-button-toggle-standard-minimum-height: 24px !default;\n$mat-button-toggle-standard-maximum-height: $mat-button-toggle-standard-height !default;\n\n$mat-button-toggle-standard-density-config: (\n  height: (\n    default: $mat-button-toggle-standard-height,\n    maximum: $mat-button-toggle-standard-maximum-height,\n    minimum: $mat-button-toggle-standard-minimum-height,\n  )\n) !default;\n\n\n@mixin mat-button-toggle-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $foreground: map-get($config, foreground);\n  $background: map-get($config, background);\n  $divider-color: mat-color($foreground, divider);\n\n  .mat-button-toggle-standalone,\n  .mat-button-toggle-group {\n    @include mat-private-theme-elevation(2, $config);\n  }\n\n  .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,\n  .mat-button-toggle-group-appearance-standard {\n    box-shadow: none;\n  }\n\n  .mat-button-toggle {\n    color: mat-color($foreground, hint-text);\n\n    .mat-button-toggle-focus-overlay {\n      background-color: mat-color($background, focused-button);\n    }\n  }\n\n  .mat-button-toggle-appearance-standard {\n    color: mat-color($foreground, text);\n    background: mat-color($background, card);\n\n    .mat-button-toggle-focus-overlay {\n      background-color: mat-color($background, focused-button, 1);\n    }\n  }\n\n  .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {\n    border-left: solid 1px $divider-color;\n  }\n\n  [dir='rtl'] .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {\n    border-left: none;\n    border-right: solid 1px $divider-color;\n  }\n\n  .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical {\n    .mat-button-toggle + .mat-button-toggle {\n      border-left: none;\n      border-right: none;\n      border-top: solid 1px $divider-color;\n    }\n  }\n\n  .mat-button-toggle-checked {\n    background-color: mat-color($background, selected-button);\n    color: mat-color($foreground, secondary-text);\n\n    &.mat-button-toggle-appearance-standard {\n      color: mat-color($foreground, text);\n    }\n  }\n\n  .mat-button-toggle-disabled {\n    color: mat-color($foreground, disabled-button);\n    background-color: mat-color($background, disabled-button-toggle);\n\n    &.mat-button-toggle-appearance-standard {\n      background: mat-color($background, card);\n    }\n\n    &.mat-button-toggle-checked {\n      background-color: mat-color($background, selected-disabled-button);\n    }\n  }\n\n  .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,\n  .mat-button-toggle-group-appearance-standard {\n    border: solid 1px $divider-color;\n  }\n}\n\n@mixin mat-button-toggle-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-button-toggle {\n    font-family: mat-font-family($config);\n  }\n}\n\n@mixin mat-button-toggle-density($config-or-theme) {\n  $density-scale: mat-get-density-config($config-or-theme);\n  $standard-height: mat-private-density-prop-value(\n      $mat-button-toggle-standard-density-config, $density-scale, height);\n\n  @include mat-private-density-legacy-compatibility() {\n    .mat-button-toggle-appearance-standard .mat-button-toggle-label-content {\n      line-height: $standard-height;\n    }\n  }\n}\n\n@mixin mat-button-toggle-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-button-toggle') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-button-toggle-color($color);\n    }\n    @if $density != null {\n      @include mat-button-toggle-density($density);\n    }\n    @if $typography != null {\n      @include mat-button-toggle-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n\n\n@mixin mat-card-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $background: map-get($config, background);\n  $foreground: map-get($config, foreground);\n\n  .mat-card {\n    @include mat-private-theme-overridable-elevation(1, $config);\n    background: mat-color($background, card);\n    color: mat-color($foreground, text);\n\n    // Needs extra specificity to be able to override the elevation selectors.\n    &.mat-card-flat {\n      @include mat-private-theme-overridable-elevation(0, $config);\n    }\n  }\n\n  .mat-card-subtitle {\n    color: mat-color($foreground, secondary-text);\n  }\n}\n\n@mixin mat-card-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-card {\n    font-family: mat-font-family($config);\n  }\n\n  .mat-card-title {\n    font: {\n      size: mat-font-size($config, headline);\n      weight: mat-font-weight($config, title);\n    }\n  }\n\n  .mat-card-header .mat-card-title {\n    font-size: mat-font-size($config, title);\n  }\n\n  .mat-card-subtitle,\n  .mat-card-content {\n    font-size: mat-font-size($config, body-1);\n  }\n}\n\n@mixin _mat-card-density($config-or-theme) {}\n\n@mixin mat-card-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-card') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-card-color($color);\n    }\n    @if $density != null {\n      @include _mat-card-density($density);\n    }\n    @if $typography != null {\n      @include mat-card-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n@mixin mat-checkbox-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $is-dark-theme: map-get($config, is-dark);\n  $primary: map-get($config, primary);\n  $accent: map-get($config, accent);\n  $warn: map-get($config, warn);\n  $background: map-get($config, background);\n  $foreground: map-get($config, foreground);\n\n\n  // The color of the checkbox's checkmark / mixedmark.\n  $checkbox-mark-color: mat-color($background, background);\n\n  // NOTE(traviskaufman): While the spec calls for translucent blacks/whites for disabled colors,\n  // this does not work well with elements layered on top of one another. To get around this we\n  // blend the colors together based on the base color and the theme background.\n  $white-30pct-opacity-on-dark: #686868;\n  $black-26pct-opacity-on-light: #b0b0b0;\n  $disabled-color: if($is-dark-theme, $white-30pct-opacity-on-dark, $black-26pct-opacity-on-light);\n\n  .mat-checkbox-frame {\n    border-color: mat-color($foreground, secondary-text);\n  }\n\n  .mat-checkbox-checkmark {\n    fill: $checkbox-mark-color;\n  }\n\n  .mat-checkbox-checkmark-path {\n    // !important is needed here because a stroke must be set as an\n    // attribute on the SVG in order for line animation to work properly.\n    stroke: $checkbox-mark-color !important;\n  }\n\n  .mat-checkbox-mixedmark {\n    background-color: $checkbox-mark-color;\n  }\n\n  .mat-checkbox-indeterminate, .mat-checkbox-checked {\n    &.mat-primary .mat-checkbox-background {\n      background-color: mat-color($primary);\n    }\n\n    &.mat-accent .mat-checkbox-background {\n      background-color: mat-color($accent);\n    }\n\n    &.mat-warn .mat-checkbox-background {\n      background-color: mat-color($warn);\n    }\n  }\n\n  .mat-checkbox-disabled {\n    &.mat-checkbox-checked,\n    &.mat-checkbox-indeterminate {\n      .mat-checkbox-background {\n        background-color: $disabled-color;\n      }\n    }\n\n    &:not(.mat-checkbox-checked) {\n      .mat-checkbox-frame {\n        border-color: $disabled-color;\n      }\n    }\n\n    .mat-checkbox-label {\n      color: mat-color($foreground, secondary-text);\n    }\n  }\n\n  // Switch this to a solid color since we're using `opacity`\n  // to control how opaque the ripple should be.\n  .mat-checkbox .mat-ripple-element {\n    background-color: map-get(map-get($config, foreground), base);\n  }\n\n  .mat-checkbox-checked:not(.mat-checkbox-disabled),\n  .mat-checkbox:active:not(.mat-checkbox-disabled) {\n    &.mat-primary .mat-ripple-element {\n      background: mat-color($primary);\n    }\n\n    &.mat-accent .mat-ripple-element {\n      background: mat-color($accent);\n    }\n\n    &.mat-warn .mat-ripple-element {\n      background: mat-color($warn);\n    }\n  }\n}\n\n@mixin mat-checkbox-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-checkbox {\n    font-family: mat-font-family($config);\n  }\n\n  // TODO(kara): Remove this style when fixing vertical baseline\n  .mat-checkbox-layout .mat-checkbox-label {\n    line-height: mat-line-height($config, body-2);\n  }\n}\n\n@mixin _mat-checkbox-density($config-or-theme) {}\n\n@mixin mat-checkbox-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-checkbox') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-checkbox-color($color);\n    }\n    @if $density != null {\n      @include _mat-checkbox-density($density);\n    }\n    @if $typography != null {\n      @include mat-checkbox-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n\n$mat-chip-remove-font-size: 18px;\n\n@mixin _mat-chip-element-color($foreground, $background) {\n  background-color: $background;\n  color: $foreground;\n\n  .mat-chip-remove {\n    color: $foreground;\n    opacity: 0.4;\n  }\n}\n\n\n// Applies the background color for a ripple element.\n// If the color value provided is not a Sass color,\n// we assume that we've been given a CSS variable.\n// Since we can't perform alpha-blending on a CSS variable,\n// we instead add the opacity directly to the ripple element.\n@mixin _mat-chips-ripple-background($palette, $default-contrast, $opacity) {\n  $background-color: mat-color($palette, $default-contrast, $opacity);\n  background-color: $background-color;\n  @if (type-of($background-color) != color) {\n    opacity: $opacity;\n  }\n}\n\n@mixin _mat-chip-theme-color($palette) {\n  @include _mat-chip-element-color(mat-color($palette, default-contrast), mat-color($palette));\n\n  .mat-ripple-element {\n    @include _mat-chips-ripple-background($palette, default-contrast, 0.1);\n  }\n}\n\n@mixin mat-chips-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $is-dark-theme: map-get($config, is-dark);\n  $primary: map-get($config, primary);\n  $accent: map-get($config, accent);\n  $warn: map-get($config, warn);\n  $background: map-get($config, background);\n  $foreground: map-get($config, foreground);\n\n  $unselected-background: mat-color($background, unselected-chip);\n  $unselected-foreground: mat-color($foreground, text);\n\n  .mat-chip.mat-standard-chip {\n    @include _mat-chip-element-color($unselected-foreground, $unselected-background);\n\n    &:not(.mat-chip-disabled) {\n      &:active {\n        @include mat-private-theme-elevation(3, $config);\n      }\n\n      .mat-chip-remove:hover {\n        opacity: 0.54;\n      }\n    }\n\n    &.mat-chip-disabled {\n      opacity: 0.4;\n    }\n\n    &::after {\n      background: map-get($foreground, base);\n    }\n  }\n\n  .mat-chip.mat-standard-chip.mat-chip-selected {\n    &.mat-primary {\n      @include _mat-chip-theme-color($primary);\n    }\n\n    &.mat-warn {\n      @include _mat-chip-theme-color($warn);\n    }\n\n    &.mat-accent {\n      @include _mat-chip-theme-color($accent);\n    }\n  }\n}\n\n@mixin mat-chips-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-chip {\n    font-size: mat-font-size($config, body-2);\n    font-weight: mat-font-weight($config, body-2);\n\n    .mat-chip-trailing-icon.mat-icon,\n    .mat-chip-remove.mat-icon {\n      font-size: $mat-chip-remove-font-size;\n    }\n  }\n}\n\n@mixin _mat-chips-density($config-or-theme) {}\n\n@mixin mat-chips-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-chips') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-chips-color($color);\n    }\n    @if $density != null {\n      @include _mat-chips-density($density);\n    }\n    @if $typography != null {\n      @include mat-chips-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n\n@mixin mat-divider-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $foreground: map-get($config, foreground);\n\n  .mat-divider {\n    border-top-color: mat-color($foreground, divider);\n  }\n\n  .mat-divider-vertical {\n    border-right-color: mat-color($foreground, divider);\n  }\n}\n\n@mixin mat-divider-typography($config-or-theme) {}\n\n@mixin _mat-divider-density($config-or-theme) {}\n\n@mixin mat-divider-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-divider') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-divider-color($color);\n    }\n    @if $density != null {\n      @include _mat-divider-density($density);\n    }\n    @if $typography != null {\n      @include mat-divider-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n@mixin mat-table-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $background: map-get($config, background);\n  $foreground: map-get($config, foreground);\n\n  .mat-table {\n    background: mat-color($background, 'card');\n  }\n\n  .mat-table thead, .mat-table tbody, .mat-table tfoot,\n  mat-header-row, mat-row, mat-footer-row,\n  [mat-header-row], [mat-row], [mat-footer-row],\n  .mat-table-sticky {\n    background: inherit;\n  }\n\n  mat-row, mat-header-row, mat-footer-row,\n  th.mat-header-cell, td.mat-cell, td.mat-footer-cell {\n    border-bottom-color: mat-color($foreground, divider);\n  }\n\n  .mat-header-cell {\n    color: mat-color($foreground, secondary-text);\n  }\n\n  .mat-cell, .mat-footer-cell {\n    color: mat-color($foreground, text);\n  }\n}\n\n@mixin mat-table-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-table {\n    font-family: mat-font-family($config);\n  }\n\n  .mat-header-cell {\n    font-size: mat-font-size($config, caption);\n    font-weight: mat-font-weight($config, body-2);\n  }\n\n  .mat-cell, .mat-footer-cell {\n    font-size: mat-font-size($config, body-1);\n  }\n}\n\n@mixin _mat-table-density($config-or-theme) {}\n\n@mixin mat-table-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-table') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-table-color($color);\n    }\n    @if $density != null {\n      @include _mat-table-density($density);\n    }\n    @if $typography != null {\n      @include mat-table-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n\n\n$mat-datepicker-selected-today-box-shadow-width: 1px;\n$mat-datepicker-selected-fade-amount: 0.6;\n$mat-datepicker-range-fade-amount: 0.2;\n$mat-datepicker-today-fade-amount: 0.2;\n$mat-calendar-body-font-size: 13px !default;\n$mat-calendar-weekday-table-font-size: 11px !default;\n\n@mixin _mat-datepicker-color($palette) {\n  @include mat-date-range-colors(\n    mat-color($palette, default, $mat-datepicker-range-fade-amount));\n\n  .mat-calendar-body-selected {\n    background-color: mat-color($palette);\n    color: mat-color($palette, default-contrast);\n  }\n\n  .mat-calendar-body-disabled > .mat-calendar-body-selected {\n    $background: mat-color($palette);\n\n    @if (type-of($background) == color) {\n      background-color: fade-out($background, $mat-datepicker-selected-fade-amount);\n    }\n    @else {\n      // If we couldn't resolve to background to a color (e.g. it's a CSS variable),\n      // fall back to fading the content out via `opacity`.\n      opacity: $mat-datepicker-today-fade-amount;\n    }\n  }\n\n  .mat-calendar-body-today.mat-calendar-body-selected {\n    box-shadow: inset 0 0 0 $mat-datepicker-selected-today-box-shadow-width\n                mat-color($palette, default-contrast);\n  }\n\n  .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover,\n  .cdk-keyboard-focused .mat-calendar-body-active,\n  .cdk-program-focused .mat-calendar-body-active {\n    & > .mat-calendar-body-cell-content {\n      @include _mat-datepicker-unselected-cell {\n        background-color: mat-color($palette, 0.3);\n      }\n    }\n  }\n}\n\n// Utility mixin to target cells that aren't selected. Used to make selector easier to follow.\n@mixin _mat-datepicker-unselected-cell {\n  &:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {\n    @content;\n  }\n}\n\n@mixin mat-datepicker-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $foreground: map-get($config, foreground);\n  $background: map-get($config, background);\n  $disabled-color: mat-color($foreground, disabled-text);\n\n  .mat-calendar-arrow {\n    border-top-color: mat-color($foreground, icon);\n  }\n\n  // The prev/next buttons need a bit more specificity to\n  // avoid being overwritten by the .mat-icon-button.\n  .mat-datepicker-toggle,\n  .mat-datepicker-content .mat-calendar-next-button,\n  .mat-datepicker-content .mat-calendar-previous-button {\n    color: mat-color($foreground, icon);\n  }\n\n  .mat-calendar-table-header {\n    color: mat-color($foreground, hint-text);\n  }\n\n  .mat-calendar-table-header-divider::after {\n    background: mat-color($foreground, divider);\n  }\n\n  .mat-calendar-body-label {\n    color: mat-color($foreground, secondary-text);\n  }\n\n  .mat-calendar-body-cell-content,\n  .mat-date-range-input-separator {\n    color: mat-color($foreground, text);\n    border-color: transparent;\n  }\n\n  .mat-calendar-body-disabled > .mat-calendar-body-cell-content {\n    @include _mat-datepicker-unselected-cell {\n      color: $disabled-color;\n    }\n  }\n\n  .mat-form-field-disabled .mat-date-range-input-separator {\n    color: $disabled-color;\n  }\n\n  .mat-calendar-body-in-preview {\n    $divider-color: mat-color($foreground, divider);\n\n    @if type-of($divider-color) == color {\n      // The divider color is set under the assumption that it'll be used\n      // for a solid border, but because we're using a dashed border for the\n      // preview range, we need to bump its opacity to ensure that it's visible.\n      color: rgba($divider-color, min(opacity($divider-color) * 2, 1));\n    }\n    @else {\n      color: $divider-color;\n    }\n  }\n\n  .mat-calendar-body-today {\n    @include _mat-datepicker-unselected-cell {\n      // Note: though it's not text, the border is a hint about the fact that this is today's date,\n      // so we use the hint color.\n      border-color: mat-color($foreground, hint-text);\n    }\n  }\n\n  .mat-calendar-body-disabled > .mat-calendar-body-today {\n    @include _mat-datepicker-unselected-cell {\n      $color: mat-color($foreground, hint-text);\n\n      @if (type-of($color) == color) {\n        border-color: fade-out($color, $mat-datepicker-today-fade-amount);\n      }\n      @else {\n        // If the color didn't resolve to a color value, but something like a CSS variable, we can't\n        // fade it out so we fall back to reducing the element opacity. Note that we don't use the\n        // $mat-datepicker-today-fade-amount, because hint text usually has some opacity applied\n        // to it already and we don't want them to stack on top of each other.\n        opacity: 0.5;\n      }\n    }\n  }\n\n  @include _mat-datepicker-color(map-get($config, primary));\n\n  .mat-datepicker-content {\n    @include mat-private-theme-elevation(4, $config);\n    background-color: mat-color($background, card);\n    color: mat-color($foreground, text);\n\n    &.mat-accent {\n      @include _mat-datepicker-color(map-get($config, accent));\n    }\n\n    &.mat-warn {\n      @include _mat-datepicker-color(map-get($config, warn));\n    }\n  }\n\n  .mat-datepicker-content-touch {\n    @include mat-private-theme-elevation(0, $config);\n  }\n\n  .mat-datepicker-toggle-active {\n    color: mat-color(map-get($config, primary), text);\n\n    &.mat-accent {\n      color: mat-color(map-get($config, accent), text);\n    }\n\n    &.mat-warn {\n      color: mat-color(map-get($config, warn), text);\n    }\n  }\n\n  .mat-date-range-input-inner[disabled] {\n    color: mat-color($foreground, disabled-text);\n  }\n}\n\n@mixin mat-datepicker-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-calendar {\n    font-family: mat-font-family($config);\n  }\n\n  .mat-calendar-body {\n    font-size: $mat-calendar-body-font-size;\n  }\n\n  .mat-calendar-body-label,\n  .mat-calendar-period-button {\n    font: {\n      size: mat-font-size($config, button);\n      weight: mat-font-weight($config, button);\n    }\n  }\n\n  .mat-calendar-table-header th {\n    font: {\n      size: $mat-calendar-weekday-table-font-size;\n      weight: mat-font-weight($config, body-1);\n    }\n  }\n}\n\n@mixin mat-date-range-colors(\n  $range-color,\n  $comparison-color: rgba(#f9ab00, $mat-datepicker-range-fade-amount),\n  $overlap-color: #a8dab5,\n  $overlap-selected-color: darken($overlap-color, 30%)) {\n\n  .mat-calendar-body-in-range::before {\n    background: $range-color;\n  }\n\n  .mat-calendar-body-comparison-identical,\n  .mat-calendar-body-in-comparison-range::before {\n    background: $comparison-color;\n  }\n\n  .mat-calendar-body-comparison-bridge-start::before,\n  [dir='rtl'] .mat-calendar-body-comparison-bridge-end::before {\n    background: linear-gradient(to right, $range-color 50%, $comparison-color 50%);\n  }\n\n  .mat-calendar-body-comparison-bridge-end::before,\n  [dir='rtl'] .mat-calendar-body-comparison-bridge-start::before {\n    background: linear-gradient(to left, $range-color 50%, $comparison-color 50%);\n  }\n\n  .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,\n  .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {\n    background: $overlap-color;\n  }\n\n  .mat-calendar-body-comparison-identical.mat-calendar-body-selected,\n  .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {\n    background: $overlap-selected-color;\n  }\n}\n\n@mixin _mat-datepicker-density($config-or-theme) {}\n\n@mixin mat-datepicker-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-datepicker') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-datepicker-color($color);\n    }\n    @if $density != null {\n      @include _mat-datepicker-density($density);\n    }\n    @if $typography != null {\n      @include mat-datepicker-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n\n\n@mixin mat-dialog-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $background: map-get($config, background);\n  $foreground: map-get($config, foreground);\n\n  .mat-dialog-container {\n    @include mat-private-theme-elevation(24, $config);\n    background: mat-color($background, dialog);\n    color: mat-color($foreground, text);\n  }\n}\n\n@mixin mat-dialog-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-dialog-title {\n    @include mat-typography-level-to-styles($config, title);\n  }\n}\n\n@mixin _mat-dialog-density($config-or-theme) {}\n\n@mixin mat-dialog-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-dialog') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-dialog-color($color);\n    }\n    @if $density != null {\n      @include _mat-dialog-density($density);\n    }\n    @if $typography != null {\n      @include mat-dialog-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n\n// Default minimum and maximum height for collapsed panel headers.\n$mat-expansion-panel-header-collapsed-height: 48px !default;\n$mat-expansion-panel-header-collapsed-minimum-height: 36px !default;\n$mat-expansion-panel-header-collapsed-maximum-height:\n    $mat-expansion-panel-header-collapsed-height !default;\n\n// Default minimum and maximum height for expanded panel headers.\n$mat-expansion-panel-header-expanded-height: 64px !default;\n$mat-expansion-panel-header-expanded-minimum-height: 48px !default;\n$mat-expansion-panel-header-expanded-maximum-height:\n    $mat-expansion-panel-header-expanded-height !default;\n\n// Density configuration for the expansion panel. Captures the\n// height for both expanded and collapsed panel headers.\n$mat-expansion-panel-header-density-config: (\n  collapsed-height: (\n    default: $mat-expansion-panel-header-collapsed-height,\n    maximum: $mat-expansion-panel-header-collapsed-maximum-height,\n    minimum: $mat-expansion-panel-header-collapsed-minimum-height,\n  ),\n  expanded-height: (\n    default: $mat-expansion-panel-header-expanded-height,\n    maximum: $mat-expansion-panel-header-expanded-maximum-height,\n    minimum: $mat-expansion-panel-header-expanded-minimum-height,\n  )\n) !default;\n\n// Note: Keep this in sync with the animation timing for the toggle indicator\n// and body expansion. These are animated using Angular animations.\n$mat-expansion-panel-header-transition: 225ms cubic-bezier(0.4, 0, 0.2, 1);\n\n@mixin mat-private-expansion-focus {\n  .mat-expansion-panel {\n    & .mat-expansion-panel-header.cdk-keyboard-focused,\n    & .mat-expansion-panel-header.cdk-program-focused,\n    &:not(.mat-expanded) .mat-expansion-panel-header:hover {\n      &:not([aria-disabled='true']) {\n        @content;\n      }\n    }\n  }\n}\n\n\n@mixin mat-expansion-panel-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $background: map-get($config, background);\n  $foreground: map-get($config, foreground);\n\n  .mat-expansion-panel {\n    @include mat-private-theme-overridable-elevation(2, $config);\n    background: mat-color($background, card);\n    color: mat-color($foreground, text);\n  }\n\n  .mat-action-row {\n    border-top-color: mat-color($foreground, divider);\n  }\n\n  @include mat-private-expansion-focus {\n    background: mat-color($background, hover);\n  }\n\n  // Disable the hover on touch devices since it can appear like it is stuck. We can't use\n  // `@media (hover)` above, because the desktop support browser support isn't great.\n  @media (hover: none) {\n    .mat-expansion-panel:not(.mat-expanded):not([aria-disabled='true'])\n      .mat-expansion-panel-header:hover {\n      background: mat-color($background, card);\n    }\n  }\n\n  .mat-expansion-panel-header-title {\n    color: mat-color($foreground, text);\n  }\n\n  .mat-expansion-panel-header-description,\n  .mat-expansion-indicator::after {\n    color: mat-color($foreground, secondary-text);\n  }\n\n  .mat-expansion-panel-header[aria-disabled='true'] {\n    color: mat-color($foreground, disabled-button);\n\n    .mat-expansion-panel-header-title,\n    .mat-expansion-panel-header-description {\n      color: inherit;\n    }\n  }\n}\n\n@mixin mat-expansion-panel-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-expansion-panel-header {\n    font: {\n      family: mat-font-family($config, subheading-1);\n      size: mat-font-size($config, subheading-1);\n      weight: mat-font-weight($config, subheading-1);\n    }\n  }\n\n  .mat-expansion-panel-content {\n    @include mat-typography-level-to-styles($config, body-1);\n  }\n}\n\n@mixin mat-expansion-panel-density($config-or-theme) {\n  $density-scale: mat-get-density-config($config-or-theme);\n  $expanded-height: mat-private-density-prop-value(\n        $mat-expansion-panel-header-density-config, $density-scale, expanded-height);\n  $collapsed-height: mat-private-density-prop-value(\n      $mat-expansion-panel-header-density-config, $density-scale, collapsed-height);\n\n  @include mat-private-density-legacy-compatibility() {\n    .mat-expansion-panel-header {\n      height: $collapsed-height;\n\n      &.mat-expanded {\n        height: $expanded-height;\n      }\n    }\n  }\n}\n\n@mixin mat-expansion-panel-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-expansion-panel') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-expansion-panel-color($color);\n    }\n    @if $density != null {\n      @include mat-expansion-panel-density($density);\n    }\n    @if $typography != null {\n      @include mat-expansion-panel-typography($typography);\n    }\n  }\n}\n\n\n\n\n// This mixin will ensure that lines that overflow the container will hide the overflow and\n// truncate neatly with an ellipsis.\n@mixin mat-truncate-line() {\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n// Mixin to provide all mat-line styles, changing secondary font size based on whether the list\n// is in dense mode.\n@mixin mat-line-base($secondary-font-size) {\n  .mat-line {\n    @include mat-truncate-line();\n    display: block;\n    box-sizing: border-box;\n\n    // all lines but the top line should have smaller text\n    &:nth-child(n+2) {\n      font-size: $secondary-font-size;\n    }\n  }\n}\n\n// This mixin normalizes default element styles, e.g. font weight for heading text.\n@mixin mat-normalize-text() {\n  & > * {\n    margin: 0;\n    padding: 0;\n    font-weight: normal;\n    font-size: inherit;\n  }\n}\n\n// This mixin provides base styles for the wrapper around mat-line elements in a list.\n@mixin mat-line-wrapper-base() {\n  @include mat-normalize-text();\n\n  display: flex;\n  flex-direction: column;\n  flex: auto;\n  box-sizing: border-box;\n  overflow: hidden;\n\n  // Must remove wrapper when lines are empty or it takes up horizontal\n  // space and pushes other elements to the right.\n  &:empty {\n    display: none;\n  }\n}\n\n\n\n// Include this empty mixin for consistency with the other components.\n@mixin mat-grid-list-color($config-or-theme) {}\n\n@mixin mat-grid-list-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-grid-tile-header,\n  .mat-grid-tile-footer {\n    @include mat-line-base(mat-font-size($config, caption));\n    font-size: mat-font-size($config, body-1);\n  }\n}\n\n@mixin _mat-grid-list-density($config-or-theme) {}\n\n@mixin mat-grid-list-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-grid-list') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-grid-list-color($color);\n    }\n    @if $density != null {\n      @include _mat-grid-list-density($density);\n    }\n    @if $typography != null {\n      @include mat-grid-list-typography($typography);\n    }\n  }\n}\n\n\n\n@mixin mat-icon-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $primary: map-get($config, primary);\n  $accent: map-get($config, accent);\n  $warn: map-get($config, warn);\n  $background: map-get($config, background);\n  $foreground: map-get($config, foreground);\n\n  .mat-icon {\n    &.mat-primary {\n      color: mat-color($primary, text);\n    }\n\n    &.mat-accent {\n      color: mat-color($accent, text);\n    }\n\n    &.mat-warn {\n      color: mat-color($warn, text);\n    }\n  }\n}\n\n@mixin mat-icon-typography($config-or-theme) {}\n\n@mixin _mat-icon-density($config-or-theme) {}\n\n@mixin mat-icon-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-icon') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-icon-color($color);\n    }\n    @if $density != null {\n      @include _mat-icon-density($density);\n    }\n    @if $typography != null {\n      @include mat-icon-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n\n// Renders a gradient for showing the dashed line when the input is disabled.\n// Unlike using a border, a gradient allows us to adjust the spacing of the dotted line\n// to match the Material Design spec.\n@mixin mat-private-control-disabled-underline($color) {\n  background-image: linear-gradient(to right, $color 0%, $color 33%, transparent 0%);\n  background-size: 4px 100%;\n  background-repeat: repeat-x;\n}\n\n// Figures out the color of the placeholder for a form control.\n// Used primarily to prevent the various form controls from\n// becoming out of sync since these colors aren't in a palette.\n@function mat-private-control-placeholder-color($config) {\n  $foreground: map-get($config, foreground);\n  $is-dark-theme: map-get($config, is-dark);\n  @return mat-color($foreground, secondary-text, if($is-dark-theme, 0.5, 0.42));\n}\n\n\n/* stylelint-disable material/no-prefixes */\n@mixin user-select($value) {\n  -webkit-user-select: $value;\n  -moz-user-select: $value;\n  -ms-user-select: $value;\n  user-select: $value;\n}\n\n@mixin input-placeholder {\n  &::placeholder {\n    @content;\n  }\n\n  &::-moz-placeholder {\n    @content;\n  }\n\n  &::-webkit-input-placeholder {\n    @content;\n  }\n\n  &:-ms-input-placeholder {\n    @content;\n  }\n}\n\n@mixin cursor-grab {\n  cursor: -webkit-grab;\n  cursor: grab;\n}\n\n@mixin cursor-grabbing {\n  cursor: -webkit-grabbing;\n  cursor: grabbing;\n}\n\n@mixin backface-visibility($value) {\n  -webkit-backface-visibility: $value;\n  backface-visibility: $value;\n}\n\n@mixin position-sticky($important: false) {\n  position: -webkit-sticky #{if($important, '!important', '')};\n  position: sticky #{if($important, '!important', '')};\n}\n/* stylelint-enable */\n\n\n\n@mixin mat-input-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $primary: map-get($config, primary);\n  $accent: map-get($config, accent);\n  $warn: map-get($config, warn);\n  $foreground: map-get($config, foreground);\n\n  .mat-form-field-type-mat-native-select .mat-form-field-infix::after {\n    color: mat-color($foreground, secondary-text);\n  }\n\n  .mat-input-element:disabled,\n  .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after {\n    color: mat-color($foreground, disabled-text);\n  }\n\n  .mat-input-element {\n    caret-color: mat-color($primary, text);\n\n    @include input-placeholder {\n      color: mat-private-control-placeholder-color($config);\n    }\n\n    // On dark themes we set the native `select` color to some shade of white,\n    // however the color propagates to all of the `option` elements, which are\n    // always on a white background inside the dropdown, causing them to blend in.\n    // Since we can't change background of the dropdown, we need to explicitly\n    // reset the color of the options to something dark.\n    @if (map-get($config, is-dark)) {\n      option {\n        color: $dark-primary-text;\n      }\n\n      option:disabled {\n        color: $dark-disabled-text;\n      }\n    }\n  }\n\n  .mat-form-field.mat-accent .mat-input-element {\n    caret-color: mat-color($accent, text);\n  }\n\n  .mat-form-field.mat-warn .mat-input-element,\n  .mat-form-field-invalid .mat-input-element {\n    caret-color: mat-color($warn, text);\n  }\n\n  .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after {\n    color: mat-color($warn, text);\n  }\n}\n\n@mixin mat-input-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  // The unit-less line-height from the font config.\n  $line-height: mat-line-height($config, input);\n\n  // The amount of space between the top of the line and the top of the actual text\n  // (as a fraction of the font-size).\n  $line-spacing: ($line-height - 1) / 2;\n\n  // <input> elements seem to have their height set slightly too large on Safari causing the text to\n  // be misaligned w.r.t. the placeholder. Adding this margin corrects it.\n  input.mat-input-element {\n    margin-top: -$line-spacing * 1em;\n  }\n}\n\n@mixin _mat-input-density($config-or-theme) {}\n\n@mixin mat-input-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-input') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-input-color($color);\n    }\n    @if $density != null {\n      @include _mat-input-density($density);\n    }\n    @if $typography != null {\n      @include mat-input-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n\n\n@mixin mat-list-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $background: map-get($config, background);\n  $foreground: map-get($config, foreground);\n\n  .mat-list-base {\n    .mat-list-item {\n      color: mat-color($foreground, text);\n    }\n\n    .mat-list-option {\n      color: mat-color($foreground, text);\n    }\n\n    .mat-subheader {\n      color: mat-color($foreground, secondary-text);\n    }\n  }\n\n  .mat-list-item-disabled {\n    background-color: mat-color($background, disabled-list-option);\n  }\n\n  .mat-list-option,\n  .mat-nav-list .mat-list-item,\n  .mat-action-list .mat-list-item {\n    &:hover, &:focus {\n      background: mat-color($background, 'hover');\n    }\n  }\n\n  .mat-list-single-selected-option {\n    &, &:hover, &:focus {\n      background: mat-color($background, hover, 0.12);\n    }\n  }\n}\n\n@mixin mat-list-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  $font-family: mat-font-family($config);\n\n  .mat-list-item {\n    font-family: $font-family;\n  }\n\n  .mat-list-option {\n    font-family: $font-family;\n  }\n\n  // Default list\n  .mat-list-base {\n    .mat-list-item {\n      font-size: mat-font-size($config, subheading-2);\n      @include mat-line-base(mat-font-size($config, body-1));\n    }\n\n    .mat-list-option {\n      font-size: mat-font-size($config, subheading-2);\n      @include mat-line-base(mat-font-size($config, body-1));\n    }\n\n    .mat-subheader {\n      font-family: mat-font-family($config, body-2);\n      font-size: mat-font-size($config, body-2);\n      font-weight: mat-font-weight($config, body-2);\n    }\n  }\n\n  // Dense list\n  .mat-list-base[dense] {\n    .mat-list-item {\n      font-size: mat-font-size($config, caption);\n      @include mat-line-base(mat-font-size($config, caption));\n    }\n\n    .mat-list-option {\n      font-size: mat-font-size($config, caption);\n      @include mat-line-base(mat-font-size($config, caption));\n    }\n\n    .mat-subheader {\n      font-family: $font-family;\n      font-size: mat-font-size($config, caption);\n      font-weight: mat-font-weight($config, body-2);\n    }\n  }\n}\n\n@mixin _mat-list-density($config-or-theme) {}\n\n@mixin mat-list-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-list') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-list-color($color);\n    }\n    @if $density != null {\n      @include _mat-list-density($density);\n    }\n    @if $typography != null {\n      @include mat-list-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n\n\n@mixin mat-menu-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $background: map-get($config, background);\n  $foreground: map-get($config, foreground);\n\n  .mat-menu-panel {\n    @include mat-private-theme-overridable-elevation(4, $config);\n    background: mat-color($background, 'card');\n  }\n\n  .mat-menu-item {\n    background: transparent;\n    color: mat-color($foreground, 'text');\n\n    &[disabled] {\n      &,\n      &::after,\n      .mat-icon-no-color {\n        color: mat-color($foreground, 'disabled');\n      }\n    }\n  }\n\n  .mat-menu-item .mat-icon-no-color,\n  .mat-menu-item-submenu-trigger::after {\n    color: mat-color($foreground, 'icon');\n  }\n\n  .mat-menu-item:hover,\n  .mat-menu-item.cdk-program-focused,\n  .mat-menu-item.cdk-keyboard-focused,\n  .mat-menu-item-highlighted {\n    &:not([disabled]) {\n      background: mat-color($background, 'hover');\n    }\n  }\n}\n\n@mixin mat-menu-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-menu-item {\n    font: {\n      family: mat-font-family($config, body-1);\n      size: mat-font-size($config, body-1);\n      weight: mat-font-weight($config, body-1);\n    }\n  }\n}\n\n@mixin _mat-menu-density($config-or-theme) {}\n\n@mixin mat-menu-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-menu') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-menu-color($color);\n    }\n    @if $density != null {\n      @include _mat-menu-density($density);\n    }\n    @if $typography != null {\n      @include mat-menu-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n\n$mat-paginator-height: 56px !default;\n// Minimum height for paginator's in the highest density is determined based on how\n// much the paginator can shrink until the content exceeds (i.e. navigation buttons).\n$mat-paginator-minimum-height: 40px !default;\n$mat-paginator-maximum-height: $mat-paginator-height !default;\n\n$mat-paginator-density-config: (\n  height: (\n    default: $mat-paginator-height,\n    maximum: $mat-paginator-maximum-height,\n    minimum: $mat-paginator-minimum-height,\n  )\n) !default;\n\n\n@mixin mat-paginator-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $foreground: map-get($config, foreground);\n  $background: map-get($config, background);\n\n  .mat-paginator {\n    background: mat-color($background, 'card');\n  }\n\n  .mat-paginator,\n  .mat-paginator-page-size .mat-select-trigger {\n    color: mat-color($foreground, secondary-text);\n  }\n\n  .mat-paginator-decrement,\n  .mat-paginator-increment {\n    border-top: 2px solid mat-color($foreground, 'icon');\n    border-right: 2px solid mat-color($foreground, 'icon');\n  }\n\n  .mat-paginator-first,\n  .mat-paginator-last {\n    border-top: 2px solid mat-color($foreground, 'icon');\n  }\n\n  .mat-icon-button[disabled] {\n    .mat-paginator-decrement,\n    .mat-paginator-increment,\n    .mat-paginator-first,\n    .mat-paginator-last {\n      border-color: mat-color($foreground, 'disabled');\n    }\n  }\n}\n\n@mixin mat-paginator-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-paginator,\n  .mat-paginator-page-size .mat-select-trigger {\n    font: {\n      family: mat-font-family($config, caption);\n      size: mat-font-size($config, caption);\n    }\n  }\n}\n\n@mixin mat-paginator-density($config-or-theme) {\n  $density-scale: mat-get-density-config($config-or-theme);\n  $height: mat-private-density-prop-value($mat-paginator-density-config, $density-scale, height);\n\n  @include mat-private-density-legacy-compatibility() {\n    .mat-paginator-container {\n      min-height: $height;\n    }\n  }\n}\n\n@mixin mat-paginator-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-paginator') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-paginator-color($color);\n    }\n    @if $density != null {\n      @include mat-paginator-density($density);\n    }\n    @if $typography != null {\n      @include mat-paginator-typography($typography);\n    }\n  }\n}\n\n\n\n\n@mixin mat-progress-bar-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $primary: map-get($config, primary);\n  $accent: map-get($config, accent);\n  $warn: map-get($config, warn);\n\n  .mat-progress-bar-background {\n    fill: mat-color($primary, lighter);\n  }\n\n  .mat-progress-bar-buffer {\n    background-color: mat-color($primary, lighter);\n  }\n\n  .mat-progress-bar-fill::after {\n    background-color: mat-color($primary);\n  }\n\n  .mat-progress-bar.mat-accent {\n    .mat-progress-bar-background {\n      fill: mat-color($accent, lighter);\n    }\n\n    .mat-progress-bar-buffer {\n      background-color: mat-color($accent, lighter);\n    }\n\n    .mat-progress-bar-fill::after {\n      background-color: mat-color($accent);\n    }\n  }\n\n  .mat-progress-bar.mat-warn {\n    .mat-progress-bar-background {\n      fill: mat-color($warn, lighter);\n    }\n\n    .mat-progress-bar-buffer {\n      background-color: mat-color($warn, lighter);\n    }\n\n    .mat-progress-bar-fill::after {\n      background-color: mat-color($warn);\n    }\n  }\n}\n\n@mixin mat-progress-bar-typography($config-or-theme) {}\n\n@mixin _mat-progress-bar-density($config-or-theme) {}\n\n@mixin mat-progress-bar-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-progress-bar') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-progress-bar-color($color);\n    }\n    @if $density != null {\n      @include _mat-progress-bar-density($density);\n    }\n    @if $typography != null {\n      @include mat-progress-bar-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n@mixin mat-progress-spinner-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $primary: map-get($config, primary);\n  $accent: map-get($config, accent);\n  $warn: map-get($config, warn);\n\n  .mat-progress-spinner, .mat-spinner {\n    circle {\n      stroke: mat-color($primary);\n    }\n\n    &.mat-accent circle {\n      stroke: mat-color($accent);\n    }\n\n    &.mat-warn circle {\n      stroke: mat-color($warn);\n    }\n  }\n}\n\n@mixin mat-progress-spinner-typography($config-or-theme) {}\n\n@mixin _mat-progress-spinner-density($config-or-theme) {}\n\n@mixin mat-progress-spinner-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-progress-spinner') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-progress-spinner-color($color);\n    }\n    @if $density != null {\n      @include _mat-progress-spinner-density($density);\n    }\n    @if $typography != null {\n      @include mat-progress-spinner-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n@mixin _mat-radio-color($palette) {\n  &.mat-radio-checked .mat-radio-outer-circle {\n    border-color: mat-color($palette);\n  }\n\n  .mat-radio-inner-circle,\n  .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),\n  &.mat-radio-checked .mat-radio-persistent-ripple,\n  &:active .mat-radio-persistent-ripple {\n    background-color: mat-color($palette);\n  }\n}\n\n@mixin mat-radio-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $primary: map-get($config, primary);\n  $accent: map-get($config, accent);\n  $warn: map-get($config, warn);\n  $background: map-get($config, background);\n  $foreground: map-get($config, foreground);\n\n  .mat-radio-outer-circle {\n    border-color: mat-color($foreground, secondary-text);\n  }\n\n  .mat-radio-button {\n    &.mat-primary {\n      @include _mat-radio-color($primary);\n    }\n\n    &.mat-accent {\n      @include _mat-radio-color($accent);\n    }\n\n    &.mat-warn {\n      @include _mat-radio-color($warn);\n    }\n\n    // This needs extra specificity, because the classes above are combined\n    // (e.g. `.mat-radio-button.mat-accent`) which increases their specificity a lot.\n    // TODO: consider making the selectors into descendants (`.mat-primary .mat-radio-button`).\n    &.mat-radio-disabled {\n      &.mat-radio-checked .mat-radio-outer-circle,\n      .mat-radio-outer-circle {\n        border-color: mat-color($foreground, disabled);\n      }\n\n      .mat-radio-ripple .mat-ripple-element,\n      .mat-radio-inner-circle {\n        background-color: mat-color($foreground, disabled);\n      }\n\n      .mat-radio-label-content {\n        color: mat-color($foreground, disabled);\n      }\n    }\n\n    // Switch this to a solid color since we're using `opacity`\n    // to control how opaque the ripple should be.\n    .mat-ripple-element {\n      background-color: map-get($foreground, base);\n    }\n  }\n}\n\n@mixin mat-radio-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-radio-button {\n    font-family: mat-font-family($config);\n  }\n}\n\n@mixin _mat-radio-density($config-or-theme) {}\n\n@mixin mat-radio-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-radio') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-radio-color($color);\n    }\n    @if $density != null {\n      @include _mat-radio-density($density);\n    }\n    @if $typography != null {\n      @include mat-radio-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n\n\n\n@mixin mat-select-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $foreground: map-get($config, foreground);\n  $background: map-get($config, background);\n  $primary: map-get($config, primary);\n  $accent: map-get($config, accent);\n  $warn: map-get($config, warn);\n\n  .mat-select-value {\n    color: mat-color($foreground, text);\n  }\n\n  .mat-select-placeholder {\n    color: mat-private-control-placeholder-color($config);\n  }\n\n  .mat-select-disabled .mat-select-value {\n    color: mat-color($foreground, disabled-text);\n  }\n\n  .mat-select-arrow {\n    color: mat-color($foreground, secondary-text);\n  }\n\n  .mat-select-panel {\n    background: mat-color($background, card);\n    @include mat-private-theme-overridable-elevation(4, $config);\n\n    .mat-option.mat-selected:not(.mat-option-multiple) {\n      background: mat-color($background, hover, 0.12);\n    }\n  }\n\n  .mat-form-field {\n    &.mat-focused {\n      &.mat-primary .mat-select-arrow {\n        color: mat-color($primary, text);\n      }\n\n      &.mat-accent .mat-select-arrow {\n        color: mat-color($accent, text);\n      }\n\n      &.mat-warn .mat-select-arrow {\n        color: mat-color($warn, text);\n      }\n    }\n\n    .mat-select.mat-select-invalid .mat-select-arrow {\n      color: mat-color($warn, text);\n    }\n\n    .mat-select.mat-select-disabled .mat-select-arrow {\n      color: mat-color($foreground, disabled-text);\n    }\n  }\n}\n\n@mixin mat-select-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  // The unit-less line-height from the font config.\n  $line-height: mat-line-height($config, input);\n\n  .mat-select {\n    font-family: mat-font-family($config);\n  }\n\n  .mat-select-trigger {\n    height: $line-height * 1em;\n  }\n}\n\n@mixin _mat-select-density($config-or-theme) {}\n\n@mixin mat-select-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-select') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-select-color($color);\n    }\n    @if $density != null {\n      @include _mat-select-density($density);\n    }\n    @if $typography != null {\n      @include mat-select-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n@mixin mat-sidenav-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $primary: map-get($config, primary);\n  $accent: map-get($config, accent);\n  $warn: map-get($config, warn);\n  $background: map-get($config, background);\n  $foreground: map-get($config, foreground);\n\n  $drawer-background-color: mat-color($background, dialog);\n  $drawer-container-background-color:  mat-color($background, background);\n  $drawer-push-background-color: mat-color($background, dialog);\n  $drawer-side-border: solid 1px mat-color($foreground, divider);\n\n  .mat-drawer-container {\n    background-color: $drawer-container-background-color;\n    color: mat-color($foreground, text);\n  }\n\n  .mat-drawer {\n    background-color: $drawer-background-color;\n    color: mat-color($foreground, text);\n\n    &.mat-drawer-push {\n      background-color: $drawer-push-background-color;\n    }\n\n    &:not(.mat-drawer-side) {\n      // The elevation of z-16 is noted in the design specifications.\n      // See https://material.io/design/components/navigation-drawer.html\n      @include mat-private-theme-elevation(16, $config);\n    }\n  }\n\n  .mat-drawer-side {\n    border-right: $drawer-side-border;\n\n    &.mat-drawer-end {\n      border-left: $drawer-side-border;\n      border-right: none;\n    }\n  }\n\n  [dir='rtl'] .mat-drawer-side {\n    border-left: $drawer-side-border;\n    border-right: none;\n\n    &.mat-drawer-end {\n      border-left: none;\n      border-right: $drawer-side-border;\n    }\n  }\n\n  .mat-drawer-backdrop.mat-drawer-shown {\n    $opacity: 0.6;\n    $backdrop-color: mat-color($background, card, $opacity);\n\n    @if (type-of($backdrop-color) == color) {\n      // We use invert() here to have the darken the background color expected to be used. If the\n      // background is light, we use a dark backdrop. If the background is dark,\n      // we use a light backdrop.\n      background-color: invert($backdrop-color);\n    }\n    @else {\n      // If we couldn't resolve the backdrop color to a color value, fall back to using\n      // `opacity` to make it opaque since its end value could be a solid color.\n      background-color: $backdrop-color;\n      opacity: $opacity;\n    }\n  }\n}\n\n@mixin mat-sidenav-typography($config-or-theme) {}\n\n@mixin _mat-sidenav-density($config-or-theme) {}\n\n@mixin mat-sidenav-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-sidenav') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-sidenav-color($color);\n    }\n    @if $density != null {\n      @include _mat-sidenav-density($density);\n    }\n    @if $typography != null {\n      @include mat-sidenav-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n\n@mixin _mat-slide-toggle-checked($palette, $thumb-checked-hue) {\n  &.mat-checked {\n    .mat-slide-toggle-thumb {\n      background-color: mat-color($palette, $thumb-checked-hue);\n    }\n\n    .mat-slide-toggle-bar {\n      // Opacity is determined from the specs for the selection controls.\n      // See: https://material.io/design/components/selection-controls.html#specs\n      background-color: mat-color($palette, $thumb-checked-hue, 0.54);\n    }\n\n    .mat-ripple-element {\n      // Set no opacity for the ripples because the ripple opacity will be adjusted dynamically\n      // based on the type of interaction with the slide-toggle (e.g. for hover, focus)\n      background-color: mat-color($palette, $thumb-checked-hue);\n    }\n  }\n}\n\n@mixin mat-slide-toggle-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $is-dark: map-get($config, is-dark);\n  $primary: map-get($config, primary);\n  $accent: map-get($config, accent);\n  $warn: map-get($config, warn);\n  $background: map-get($config, background);\n  $foreground: map-get($config, foreground);\n\n  // Color hues are based on the specs which briefly show the hues that are applied to a switch.\n  // The 2018 specs no longer describe how dark switches should look like. Due to the lack of\n  // information for dark themed switches, we partially keep the old behavior that is based on\n  // the previous specifications. For the checked color we always use the `default` hue because\n  // that follows MDC and also makes it easier for people to create a custom theme without needing\n  // to specify each hue individually.\n  $thumb-unchecked-hue: if($is-dark, 400, 50);\n  $thumb-checked-hue: default;\n\n  $bar-unchecked-color: mat-color($foreground, disabled);\n  $ripple-unchecked-color: mat-color($foreground, base);\n\n  .mat-slide-toggle {\n    @include _mat-slide-toggle-checked($accent, $thumb-checked-hue);\n\n    &.mat-primary {\n      @include _mat-slide-toggle-checked($primary, $thumb-checked-hue);\n    }\n\n    &.mat-warn {\n      @include _mat-slide-toggle-checked($warn, $thumb-checked-hue);\n    }\n\n    &:not(.mat-checked) .mat-ripple-element {\n      // Set no opacity for the ripples because the ripple opacity will be adjusted dynamically\n      // based on the type of interaction with the slide-toggle (e.g. for hover, focus)\n      background-color: $ripple-unchecked-color;\n    }\n  }\n\n  .mat-slide-toggle-thumb {\n    @include mat-private-theme-elevation(1, $config);\n    background-color: mat-color($mat-grey, $thumb-unchecked-hue);\n  }\n\n  .mat-slide-toggle-bar {\n    background-color: $bar-unchecked-color;\n  }\n}\n\n@mixin mat-slide-toggle-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-slide-toggle-content {\n    font-family: mat-font-family($config);\n  }\n}\n\n@mixin _mat-slide-toggle-density($config-or-theme) {}\n\n@mixin mat-slide-toggle-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-slide-toggle') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-slide-toggle-color($color);\n    }\n    @if $density != null {\n      @include _mat-slide-toggle-density($density);\n    }\n    @if $typography != null {\n      @include mat-slide-toggle-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n\n@mixin _mat-slider-inner-content-theme($palette) {\n  .mat-slider-track-fill,\n  .mat-slider-thumb,\n  .mat-slider-thumb-label {\n    background-color: mat-color($palette);\n  }\n\n  .mat-slider-thumb-label-text {\n    color: mat-color($palette, default-contrast);\n  }\n\n  .mat-slider-focus-ring {\n    $opacity: 0.2;\n    $color: mat-color($palette, default, $opacity);\n    background-color: $color;\n\n    // `mat-color` uses `rgba` for the opacity which won't work with\n    // CSS variables so we need to use `opacity` as a fallback.\n    @if (type-of($color) != color) {\n      opacity: $opacity;\n    }\n  }\n}\n\n@mixin mat-slider-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $primary: map-get($config, primary);\n  $accent: map-get($config, accent);\n  $warn: map-get($config, warn);\n  $background: map-get($config, background);\n  $foreground: map-get($config, foreground);\n\n  $mat-slider-off-color: mat-color($foreground, slider-off);\n  $mat-slider-off-focused-color: mat-color($foreground, slider-off-active);\n  $mat-slider-disabled-color: mat-color($foreground, slider-off);\n  $mat-slider-labeled-min-value-thumb-color: mat-color($foreground, slider-min);\n  $mat-slider-labeled-min-value-thumb-label-color: mat-color($foreground, slider-off);\n  $mat-slider-tick-opacity: 0.7;\n  $mat-slider-tick-color: mat-color($foreground, base, $mat-slider-tick-opacity);\n  $mat-slider-tick-size: 2px;\n\n  .mat-slider-track-background {\n    background-color: $mat-slider-off-color;\n  }\n\n  .mat-primary {\n    @include _mat-slider-inner-content-theme($primary);\n  }\n\n  .mat-accent {\n    @include _mat-slider-inner-content-theme($accent);\n  }\n\n  .mat-warn {\n    @include _mat-slider-inner-content-theme($warn);\n  }\n\n  .mat-slider:hover,\n  .cdk-focused {\n    .mat-slider-track-background {\n      background-color: $mat-slider-off-focused-color;\n    }\n  }\n\n  .mat-slider-disabled {\n    .mat-slider-track-background,\n    .mat-slider-track-fill,\n    .mat-slider-thumb {\n      background-color: $mat-slider-disabled-color;\n    }\n\n    &:hover {\n      .mat-slider-track-background {\n        background-color: $mat-slider-disabled-color;\n      }\n    }\n  }\n\n  .mat-slider-min-value {\n    .mat-slider-focus-ring {\n      $opacity: 0.12;\n      $color: mat-color($foreground, base, $opacity);\n      background-color: $color;\n\n      // `mat-color` uses `rgba` for the opacity which won't work with\n      // CSS variables so we need to use `opacity` as a fallback.\n      @if (type-of($color) != color) {\n        opacity: $opacity;\n      }\n    }\n\n    &.mat-slider-thumb-label-showing {\n      .mat-slider-thumb,\n      .mat-slider-thumb-label {\n        background-color: $mat-slider-labeled-min-value-thumb-color;\n      }\n\n      &.cdk-focused {\n        .mat-slider-thumb,\n        .mat-slider-thumb-label {\n          background-color: $mat-slider-labeled-min-value-thumb-label-color;\n        }\n      }\n    }\n\n    &:not(.mat-slider-thumb-label-showing) {\n      .mat-slider-thumb {\n        border-color: $mat-slider-off-color;\n        background-color: transparent;\n      }\n\n      &:hover,\n      &.cdk-focused {\n        .mat-slider-thumb {\n          border-color: $mat-slider-off-focused-color;\n        }\n\n        &.mat-slider-disabled .mat-slider-thumb {\n          border-color: $mat-slider-disabled-color;\n        }\n      }\n    }\n  }\n\n  .mat-slider-has-ticks .mat-slider-wrapper::after {\n    border-color: $mat-slider-tick-color;\n\n    // `mat-color` uses `rgba` for the opacity which won't work with\n    // CSS variables so we need to use `opacity` as a fallback.\n    @if (type-of($mat-slider-tick-color) != color) {\n      opacity: $mat-slider-tick-opacity;\n    }\n  }\n\n  .mat-slider-horizontal .mat-slider-ticks {\n    background-image: repeating-linear-gradient(to right, $mat-slider-tick-color,\n        $mat-slider-tick-color $mat-slider-tick-size, transparent 0, transparent);\n    // Firefox doesn't draw the gradient correctly with 'to right'\n    // (see https://bugzilla.mozilla.org/show_bug.cgi?id=1314319).\n    background-image: -moz-repeating-linear-gradient(0.0001deg, $mat-slider-tick-color,\n        $mat-slider-tick-color $mat-slider-tick-size, transparent 0, transparent);\n\n    // `mat-color` uses `rgba` for the opacity which won't work with\n    // CSS variables so we need to use `opacity` as a fallback.\n    @if (type-of($mat-slider-tick-color) != color) {\n      opacity: $mat-slider-tick-opacity;\n    }\n  }\n\n  .mat-slider-vertical .mat-slider-ticks {\n    background-image: repeating-linear-gradient(to bottom, $mat-slider-tick-color,\n        $mat-slider-tick-color $mat-slider-tick-size, transparent 0, transparent);\n\n    // `mat-color` uses `rgba` for the opacity which won't work with\n    // CSS variables so we need to use `opacity` as a fallback.\n    @if (type-of($mat-slider-tick-color) != color) {\n      opacity: $mat-slider-tick-opacity;\n    }\n  }\n}\n\n@mixin mat-slider-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-slider-thumb-label-text {\n    font: {\n      family: mat-font-family($config);\n      size: mat-font-size($config, caption);\n      weight: mat-font-weight($config, body-2);\n    }\n  }\n}\n\n@mixin _mat-slider-density($config-or-theme) {}\n\n@mixin mat-slider-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-slider') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-slider-color($color);\n    }\n    @if $density != null {\n      @include _mat-slider-density($density);\n    }\n    @if $typography != null {\n      @include mat-slider-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n$mat-stepper-header-height: 72px !default;\n// Minimum height for highest density stepper's is determined based on how much\n// stepper headers can shrink until the step icon or step label exceed. We can't use\n// a value below `42px` because the optional label for steps would otherwise exceed.\n$mat-stepper-header-minimum-height: 42px !default;\n$mat-stepper-header-maximum-height: $mat-stepper-header-height !default;\n\n$mat-stepper-density-config: (\n  height: (\n    default: $mat-stepper-header-height,\n    maximum: $mat-stepper-header-maximum-height,\n    minimum: $mat-stepper-header-minimum-height,\n  )\n) !default;\n\n// Note: These variables are not denoted with `!default` because they are used in the non-theme\n// component styles. Modifying these variables does not have the desired effect for consumers.\n$mat-stepper-label-header-height: 24px;\n$mat-stepper-label-position-bottom-top-gap: 16px;\n$mat-stepper-label-min-width: 50px;\n\n$mat-vertical-stepper-content-margin: 36px;\n\n$mat-stepper-side-gap: 24px;\n$mat-stepper-line-width: 1px;\n$mat-stepper-line-gap: 8px;\n\n$mat-step-sub-label-font-size: 12px;\n$mat-step-header-icon-size: 16px;\n\n\n@mixin mat-stepper-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $foreground: map-get($config, foreground);\n  $background: map-get($config, background);\n  $primary: map-get($config, primary);\n  $accent: map-get($config, accent);\n  $warn: map-get($config, warn);\n\n  .mat-step-header {\n    &.cdk-keyboard-focused,\n    &.cdk-program-focused,\n    &:hover {\n      background-color: mat-color($background, hover);\n    }\n\n    // On touch devices the :hover state will linger on the element after a tap.\n    // Reset it via `@media` after the declaration, because the media query isn't\n    // supported by all browsers yet.\n    @media (hover: none) {\n      &:hover {\n        background: none;\n      }\n    }\n\n    .mat-step-label,\n    .mat-step-optional {\n      // TODO(josephperrott): Update to using a corrected disabled-text contrast\n      // instead of secondary-text.\n      color: mat-color($foreground, secondary-text);\n    }\n\n    .mat-step-icon {\n      // TODO(josephperrott): Update to using a corrected disabled-text contrast\n      // instead of secondary-text.\n      background-color: mat-color($foreground, secondary-text);\n      color: mat-color($primary, default-contrast);\n    }\n\n    .mat-step-icon-selected,\n    .mat-step-icon-state-done,\n    .mat-step-icon-state-edit {\n      background-color: mat-color($primary);\n      color: mat-color($primary, default-contrast);\n    }\n\n    &.mat-accent {\n      .mat-step-icon {\n        color: mat-color($accent, default-contrast);\n      }\n\n      .mat-step-icon-selected,\n      .mat-step-icon-state-done,\n      .mat-step-icon-state-edit {\n        background-color: mat-color($accent);\n        color: mat-color($accent, default-contrast);\n      }\n    }\n\n    &.mat-warn {\n      .mat-step-icon {\n        color: mat-color($warn, default-contrast);\n      }\n\n      .mat-step-icon-selected,\n      .mat-step-icon-state-done,\n      .mat-step-icon-state-edit {\n        background-color: mat-color($warn);\n        color: mat-color($warn, default-contrast);\n      }\n    }\n\n    .mat-step-icon-state-error {\n      background-color: transparent;\n      color: mat-color($warn, text);\n    }\n\n    .mat-step-label.mat-step-label-active {\n      color: mat-color($foreground, text);\n    }\n\n    .mat-step-label.mat-step-label-error {\n      color: mat-color($warn, text);\n    }\n  }\n\n  .mat-stepper-horizontal, .mat-stepper-vertical {\n    background-color: mat-color($background, card);\n  }\n\n  .mat-stepper-vertical-line::before {\n    border-left-color: mat-color($foreground, divider);\n  }\n\n  .mat-horizontal-stepper-header::before,\n  .mat-horizontal-stepper-header::after,\n  .mat-stepper-horizontal-line {\n    border-top-color: mat-color($foreground, divider);\n  }\n}\n\n@mixin mat-stepper-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-stepper-vertical, .mat-stepper-horizontal {\n    font-family: mat-font-family($config);\n  }\n\n  .mat-step-label {\n    font: {\n      size: mat-font-size($config, body-1);\n      weight: mat-font-weight($config, body-1);\n    };\n  }\n\n  .mat-step-sub-label-error {\n    font-weight: normal;\n  }\n\n  .mat-step-label-error {\n    font-size: mat-font-size($config, body-2);\n  }\n\n  .mat-step-label-selected {\n    font: {\n      size: mat-font-size($config, body-2);\n      weight: mat-font-weight($config, body-2);\n    };\n  }\n}\n\n@mixin mat-stepper-density($config-or-theme) {\n  $density-scale: mat-get-density-config($config-or-theme);\n  $height: mat-private-density-prop-value($mat-stepper-density-config, $density-scale, height);\n  $vertical-padding: ($height - $mat-stepper-label-header-height) / 2;\n\n  @include mat-private-density-legacy-compatibility() {\n    .mat-horizontal-stepper-header {\n      height: $height;\n    }\n\n    .mat-stepper-label-position-bottom .mat-horizontal-stepper-header,\n    .mat-vertical-stepper-header {\n      padding: $vertical-padding $mat-stepper-side-gap;\n    }\n\n    // Ensures that the vertical lines for the step content exceed into the step\n    // headers with a given distance (`$mat-stepper-line-gap`) to the step icon.\n    .mat-stepper-vertical-line::before {\n      top: $mat-stepper-line-gap - $vertical-padding;\n      bottom: $mat-stepper-line-gap - $vertical-padding;\n    }\n\n    // Ensures that the horizontal lines for the step header are centered vertically.\n    .mat-stepper-label-position-bottom .mat-horizontal-stepper-header {\n      &::after, &::before {\n        top: $vertical-padding + $mat-stepper-label-header-height / 2;\n      }\n    }\n\n    // Ensures that the horizontal line for the step content is aligned centered vertically.\n    .mat-stepper-label-position-bottom .mat-stepper-horizontal-line {\n      top: $vertical-padding + $mat-stepper-label-header-height / 2;\n    }\n  }\n}\n\n@mixin mat-stepper-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-stepper') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-stepper-color($color);\n    }\n    @if $density != null {\n      @include mat-stepper-density($density);\n    }\n    @if $typography != null {\n      @include mat-stepper-typography($typography);\n    }\n  }\n}\n\n\n\n@mixin mat-sort-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $background: map-get($config, background);\n  $foreground: map-get($config, foreground);\n\n  .mat-sort-header-arrow {\n    $table-background: mat-color($background, 'card');\n    $text-color: mat-color($foreground, secondary-text);\n\n    // Because the arrow is made up of multiple elements that are stacked on top of each other,\n    // we can't use the semi-transparent color from the theme directly. If the value is a color\n    // *type*, we convert it into a solid color by taking the opacity from the rgba value and\n    // using the value to determine the percentage of the background to put into foreground\n    // when mixing the colors together. Otherwise, if it resolves to something different\n    // (e.g. it resolves to a CSS variable), we use the color directly.\n    @if (type-of($table-background) == color and type-of($text-color) == color) {\n      $text-opacity: opacity($text-color);\n      color: mix($table-background, rgba($text-color, 1), (1 - $text-opacity) * 100%);\n    }\n    @else {\n      color: $text-color;\n    }\n  }\n}\n\n@mixin mat-sort-typography($config-or-theme) {}\n\n@mixin _mat-sort-density($config-or-theme) {}\n\n@mixin mat-sort-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-sort') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-sort-color($color);\n    }\n    @if $density != null {\n      @include _mat-sort-density($density);\n    }\n    @if $typography != null {\n      @include mat-sort-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n@mixin mat-tabs-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $primary: map-get($config, primary);\n  $accent: map-get($config, accent);\n  $warn: map-get($config, warn);\n  $background: map-get($config, background);\n  $foreground: map-get($config, foreground);\n  $header-border: 1px solid mat-color($foreground, divider);\n\n  .mat-tab-nav-bar,\n  .mat-tab-header {\n    border-bottom: $header-border;\n  }\n\n  .mat-tab-group-inverted-header {\n    .mat-tab-nav-bar,\n    .mat-tab-header {\n      border-top: $header-border;\n      border-bottom: none;\n    }\n  }\n\n  .mat-tab-label, .mat-tab-link {\n    color: mat-color($foreground, text);\n\n    &.mat-tab-disabled {\n      color: mat-color($foreground, disabled-text);\n    }\n  }\n\n  .mat-tab-header-pagination-chevron {\n    border-color: mat-color($foreground, text);\n  }\n\n  .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n    border-color: mat-color($foreground, disabled-text);\n  }\n\n  // Remove header border when there is a background color\n  .mat-tab-group[class*='mat-background-'] .mat-tab-header,\n  .mat-tab-nav-bar[class*='mat-background-'] {\n    border-bottom: none;\n    border-top: none;\n  }\n\n  .mat-tab-group, .mat-tab-nav-bar {\n    $theme-colors: (\n      primary: $primary,\n      accent: $accent,\n      warn: $warn\n    );\n\n    @each $name, $color in $theme-colors {\n      // Set the foreground color of the tabs\n      &.mat-#{$name} {\n        @include _mat-tab-label-focus($color);\n        @include _mat-ink-bar($color);\n\n        // Override ink bar when background color is the same\n        &.mat-background-#{$name} {\n          > .mat-tab-header, > .mat-tab-link-container {\n            @include _mat-ink-bar($color, default-contrast);\n          }\n        }\n      }\n    }\n\n    @each $name, $color in $theme-colors {\n      // Set background color of the tabs and override focus color\n      &.mat-background-#{$name} {\n        @include _mat-tab-label-focus($color);\n        @include _mat-tabs-background($color);\n      }\n    }\n  }\n}\n\n@mixin _mat-ink-bar($color, $hue: default) {\n  .mat-ink-bar {\n    background-color: mat-color($color, $hue);\n  }\n}\n\n@mixin _mat-tab-label-focus($tab-focus-color) {\n  .mat-tab-label,\n  .mat-tab-link {\n    &.cdk-keyboard-focused,\n    &.cdk-program-focused {\n      &:not(.mat-tab-disabled) {\n        background-color: mat-color($tab-focus-color, lighter, 0.3);\n      }\n    }\n  }\n}\n\n@mixin _mat-tabs-background($background-color) {\n  // Note that these selectors target direct descendants so\n  // that the styles don't apply to any nested tab groups.\n\n  // Set background color for the tab group\n  > .mat-tab-header, > .mat-tab-link-container, > .mat-tab-header-pagination {\n    background-color: mat-color($background-color);\n  }\n\n  // Set labels to contrast against background\n  > .mat-tab-header .mat-tab-label, > .mat-tab-link-container .mat-tab-link {\n    color: mat-color($background-color, default-contrast);\n\n    &.mat-tab-disabled {\n      color: mat-color($background-color, default-contrast, 0.4);\n    }\n  }\n\n  // Set pagination chevrons to contrast background\n  > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,\n  > .mat-tab-links .mat-focus-indicator::before,\n  > .mat-tab-header .mat-focus-indicator::before {\n    border-color: mat-color($background-color, default-contrast);\n  }\n\n  > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\n    border-color: mat-color($background-color, default-contrast, 0.4);\n  }\n\n  // Set ripples color to be the contrast color of the new background. Otherwise the ripple\n  // color will be based on the app background color.\n  > .mat-tab-header .mat-ripple-element,\n  > .mat-tab-link-container .mat-ripple-element {\n    background-color: mat-color($background-color, default-contrast, 0.12);\n  }\n}\n\n@mixin mat-tabs-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-tab-group {\n    font-family: mat-font-family($config);\n  }\n\n  .mat-tab-label, .mat-tab-link {\n    font: {\n      family: mat-font-family($config, button);\n      size: mat-font-size($config, button);\n      weight: mat-font-weight($config, button);\n    }\n  }\n}\n\n@mixin _mat-tabs-density($config-or-theme) {}\n\n@mixin mat-tabs-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-tabs') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-tabs-color($color);\n    }\n    @if $density != null {\n      @include _mat-tabs-density($density);\n    }\n    @if $typography != null {\n      @include mat-tabs-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n\n// Minimum height for toolbar's in the highest density is difficult to determine because\n// developers can project arbitrary content. We use a minimum value that ensures that most\n// common content (e.g. icon buttons) does not exceed the row boundaries in highest density.\n$mat-toolbar-minimum-height: 44px !default;\n\n$mat-toolbar-height-desktop: 64px !default;\n$mat-toolbar-maximum-height-desktop: $mat-toolbar-height-desktop !default;\n$mat-toolbar-minimum-height-desktop: $mat-toolbar-minimum-height !default;\n\n$mat-toolbar-height-mobile: 56px !default;\n$mat-toolbar-maximum-height-mobile: $mat-toolbar-height-mobile !default;\n$mat-toolbar-minimum-height-mobile: $mat-toolbar-minimum-height !default;\n\n$mat-toolbar-desktop-density-config: (\n  height: (\n    default: $mat-toolbar-height-desktop,\n    maximum: $mat-toolbar-maximum-height-desktop,\n    minimum: $mat-toolbar-minimum-height-desktop,\n  )\n) !default;\n\n$mat-toolbar-mobile-density-config: (\n  height: (\n    default: $mat-toolbar-height-mobile,\n    maximum: $mat-toolbar-maximum-height-mobile,\n    minimum: $mat-toolbar-minimum-height-mobile,\n  )\n) !default;\n\n\n@mixin _mat-toolbar-height($height) {\n  .mat-toolbar-multiple-rows {\n    min-height: $height;\n  }\n  .mat-toolbar-row, .mat-toolbar-single-row {\n    height: $height;\n  }\n}\n\n@mixin _mat-toolbar-color($palette) {\n  background: mat-color($palette);\n  color: mat-color($palette, default-contrast);\n}\n\n@mixin _mat-toolbar-form-field-overrides {\n  .mat-form-field-underline,\n  .mat-form-field-ripple,\n  .mat-focused .mat-form-field-ripple {\n    background-color: currentColor;\n  }\n\n  .mat-form-field-label,\n  .mat-focused .mat-form-field-label,\n  .mat-select-value,\n  .mat-select-arrow,\n  .mat-form-field.mat-focused .mat-select-arrow {\n    color: inherit;\n  }\n\n  .mat-input-element {\n    caret-color: currentColor;\n  }\n}\n\n@mixin mat-toolbar-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $primary: map-get($config, primary);\n  $accent: map-get($config, accent);\n  $warn: map-get($config, warn);\n  $background: map-get($config, background);\n  $foreground: map-get($config, foreground);\n\n  .mat-toolbar {\n    background: mat-color($background, app-bar);\n    color: mat-color($foreground, text);\n\n    &.mat-primary {\n      @include _mat-toolbar-color($primary);\n    }\n\n    &.mat-accent {\n      @include _mat-toolbar-color($accent);\n    }\n\n    &.mat-warn {\n      @include _mat-toolbar-color($warn);\n    }\n\n    @include _mat-toolbar-form-field-overrides;\n  }\n}\n\n@mixin mat-toolbar-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-toolbar,\n  .mat-toolbar h1,\n  .mat-toolbar h2,\n  .mat-toolbar h3,\n  .mat-toolbar h4,\n  .mat-toolbar h5,\n  .mat-toolbar h6 {\n    @include mat-typography-level-to-styles($config, title);\n    margin: 0;\n  }\n}\n\n@mixin mat-toolbar-density($config-or-theme) {\n  $density-scale: mat-get-density-config($config-or-theme);\n  $height-desktop: mat-private-density-prop-value(\n      $mat-toolbar-desktop-density-config, $density-scale, height);\n  $height-mobile: mat-private-density-prop-value(\n      $mat-toolbar-mobile-density-config, $density-scale, height);\n\n  @include mat-private-density-legacy-compatibility() {\n    // Set the default height for the toolbar.\n    @include _mat-toolbar-height($height-desktop);\n\n    // As per specs, toolbars should have a different height in mobile devices. This has been\n    // specified in the old guidelines and is still observable in the new specifications by\n    // looking at the spec images. See: https://material.io/design/components/app-bars-top.html#anatomy\n    @media ($mat-xsmall) {\n      @include _mat-toolbar-height($height-mobile);\n    }\n  }\n}\n\n@mixin mat-toolbar-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-toolbar') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-toolbar-color($color);\n    }\n    @if $density != null {\n      @include mat-toolbar-density($density);\n    }\n    @if $typography != null {\n      @include mat-toolbar-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n$mat-tooltip-target-height: 22px;\n$mat-tooltip-font-size: 10px;\n$mat-tooltip-vertical-padding: ($mat-tooltip-target-height - $mat-tooltip-font-size) / 2;\n\n$mat-tooltip-handset-target-height: 30px;\n$mat-tooltip-handset-font-size: 14px;\n$mat-tooltip-handset-vertical-padding:\n    ($mat-tooltip-handset-target-height - $mat-tooltip-handset-font-size) / 2;\n\n@mixin mat-tooltip-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $background: map-get($config, background);\n\n  .mat-tooltip {\n    background: mat-color($background, tooltip, 0.9);\n  }\n}\n\n@mixin mat-tooltip-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-tooltip {\n    font-family: mat-font-family($config);\n    font-size: $mat-tooltip-font-size;\n    padding-top: $mat-tooltip-vertical-padding;\n    padding-bottom: $mat-tooltip-vertical-padding;\n  }\n\n  .mat-tooltip-handset {\n    font-size: $mat-tooltip-handset-font-size;\n    padding-top: $mat-tooltip-handset-vertical-padding;\n    padding-bottom: $mat-tooltip-handset-vertical-padding;\n  }\n}\n\n@mixin _mat-tooltip-density($config-or-theme) {}\n\n@mixin mat-tooltip-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-tooltip') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-tooltip-color($color);\n    }\n    @if $density != null {\n      @include _mat-tooltip-density($density);\n    }\n    @if $typography != null {\n      @include mat-tooltip-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n\n\n@mixin mat-snack-bar-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $is-dark-theme: map-get($config, is-dark);\n  $accent: map-get($config, accent);\n\n  .mat-snack-bar-container {\n    // Use the primary text on the dark theme, even though the lighter one uses\n    // a secondary, because the contrast on the light primary text is poor.\n    color: if($is-dark-theme, $dark-primary-text, $light-secondary-text);\n    background: if($is-dark-theme, map-get($mat-grey, 50), #323232);\n\n    @include mat-private-theme-elevation(6, $config);\n  }\n\n  .mat-simple-snackbar-action {\n    color: if($is-dark-theme, inherit, mat-color($accent, text));\n  }\n}\n\n@mixin mat-snack-bar-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-simple-snackbar {\n    font: {\n      family: mat-font-family($config, body-1);\n      size: mat-font-size($config, body-1);\n    }\n  }\n\n  .mat-simple-snackbar-action {\n    line-height: 1;\n    font: {\n      family: inherit;\n      size: inherit;\n      weight: mat-font-weight($config, button);\n    }\n  }\n}\n\n@mixin _mat-snack-bar-density($config-or-theme) {}\n\n@mixin mat-snack-bar-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-snack-bar') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-snack-bar-color($color);\n    }\n    @if $density != null {\n      @include _mat-snack-bar-density($density);\n    }\n    @if $typography != null {\n      @include mat-snack-bar-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// Theme styles that only apply to the fill appearance of the form-field.\n\n@mixin mat-form-field-fill-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $foreground: map-get($config, foreground);\n  $is-dark-theme: map-get($config, is-dark);\n\n  $fill-background: mat-color($foreground, base, if($is-dark-theme, 0.1, 0.04));\n  $fill-disabled-background: mat-color($foreground, base, if($is-dark-theme, 0.05, 0.02));\n  $underline-color: mat-color($foreground, divider, if($is-dark-theme, 0.5, 0.42));\n  $label-disabled-color: mat-color($foreground, disabled-text);\n\n  .mat-form-field-appearance-fill {\n    .mat-form-field-flex {\n      background-color: $fill-background;\n    }\n\n    &.mat-form-field-disabled .mat-form-field-flex {\n      background-color: $fill-disabled-background;\n    }\n\n    .mat-form-field-underline::before {\n      background-color: $underline-color;\n    }\n\n    &.mat-form-field-disabled {\n      .mat-form-field-label {\n        color: $label-disabled-color;\n      }\n\n      .mat-form-field-underline::before {\n        background-color: transparent;\n      }\n    }\n  }\n}\n\n// Used to make instances of the _mat-form-field-label-floating mixin negligibly different,\n// and prevent Google's CSS Optimizer from collapsing the declarations. This is needed because some\n// of the selectors contain pseudo-classes not recognized in all browsers. If a browser encounters\n// an unknown pseudo-class it will discard the entire rule set.\n$mat-form-field-fill-dedupe: 0;\n\n// Applies a floating label above the form field control itself.\n@mixin _mat-form-field-fill-label-floating($font-scale, $infix-padding, $infix-margin-top) {\n  transform: translateY(-$infix-margin-top - $infix-padding + $mat-form-field-fill-dedupe)\n             scale($font-scale);\n  width: 100% / $font-scale + $mat-form-field-fill-dedupe;\n\n  $mat-form-field-fill-dedupe: $mat-form-field-fill-dedupe + 0.00001 !global;\n}\n\n@mixin mat-form-field-fill-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  // The unit-less line-height from the font config.\n  $line-height: mat-line-height($config, input);\n  // The amount to scale the font for the floating label and subscript.\n  $subscript-font-scale: 0.75;\n  // The padding on top of the infix.\n  $infix-padding-top: 0.25em;\n  // The padding below the infix.\n  $infix-padding-bottom: 0.75em;\n  // The margin applied to the form-field-infix to reserve space for the floating label.\n  $infix-margin-top: 1em * $line-height * $subscript-font-scale;\n  // The amount we offset the label from the input text in the fill appearance.\n  $fill-appearance-label-offset: -0.5em;\n\n  .mat-form-field-appearance-fill {\n    .mat-form-field-infix {\n      padding: $infix-padding-top 0 $infix-padding-bottom 0;\n    }\n\n    .mat-form-field-label {\n      top: $infix-margin-top + $infix-padding-top;\n      margin-top: $fill-appearance-label-offset;\n    }\n\n    &.mat-form-field-can-float {\n      &.mat-form-field-should-float .mat-form-field-label,\n      .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n        @include _mat-form-field-fill-label-floating(\n                $subscript-font-scale, $infix-padding-top + $fill-appearance-label-offset,\n                $infix-margin-top);\n      }\n\n      // Server-side rendered matInput with a label attribute but label not shown\n      // (used as a pure CSS stand-in for mat-form-field-should-float).\n      .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n      .mat-form-field-label {\n        @include _mat-form-field-fill-label-floating(\n                $subscript-font-scale, $infix-padding-top + $fill-appearance-label-offset,\n                $infix-margin-top);\n      }\n    }\n  }\n}\n\n@mixin mat-private-form-field-fill-density($config-or-theme) {}\n\n@mixin mat-form-field-fill-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-form-field-fill') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-form-field-fill-color($color);\n    }\n    @if $density != null {\n      @include mat-private-form-field-fill-density($density);\n    }\n    @if $typography != null {\n      @include mat-form-field-fill-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n\n\n// Theme styles that only apply to the legacy appearance of the form-field.\n\n@mixin mat-form-field-legacy-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $foreground: map-get($config, foreground);\n  $is-dark-theme: map-get($config, is-dark);\n\n  $label-color: mat-color($foreground, secondary-text);\n  $underline-color: mat-color($foreground, divider, if($is-dark-theme, 0.7, 0.42));\n\n  .mat-form-field-appearance-legacy {\n    .mat-form-field-label {\n      color: $label-color;\n    }\n\n    .mat-hint {\n      color: $label-color;\n    }\n\n    .mat-form-field-underline {\n      background-color: $underline-color;\n    }\n\n    &.mat-form-field-disabled .mat-form-field-underline {\n      @include mat-private-control-disabled-underline($underline-color);\n    }\n  }\n}\n\n// Used to make instances of the _mat-form-field-label-floating mixin negligibly different,\n// and prevent Google's CSS Optimizer from collapsing the declarations. This is needed because some\n// of the selectors contain pseudo-classes not recognized in all browsers. If a browser encounters\n// an unknown pseudo-class it will discard the entire rule set.\n$mat-form-field-legacy-dedupe: 0;\n\n// Applies a floating label above the form field control itself.\n@mixin _mat-form-field-legacy-label-floating($font-scale, $infix-padding, $infix-margin-top) {\n  // We use perspective to fix the text blurriness as described here:\n  // http://www.useragentman.com/blog/2014/05/04/fixing-typography-inside-of-2-d-css-transforms/\n  // This results in a small jitter after the label floats on Firefox, which the\n  // translateZ fixes.\n  transform: translateY(-$infix-margin-top - $infix-padding) scale($font-scale) perspective(100px)\n  translateZ(0.001px + $mat-form-field-legacy-dedupe);\n  // The tricks above used to smooth out the animation on chrome and firefox actually make things\n  // worse on IE, so we don't include them in the IE version.\n  -ms-transform: translateY(-$infix-margin-top - $infix-padding + $mat-form-field-legacy-dedupe)\n                  scale($font-scale);\n\n  width: 100% / $font-scale + $mat-form-field-legacy-dedupe;\n\n  $mat-form-field-legacy-dedupe: $mat-form-field-legacy-dedupe + 0.00001 !global;\n}\n\n// Same as mixin above, but omits the translateZ for printing purposes.\n@mixin _mat-form-field-legacy-label-floating-print($font-scale, $infix-padding, $infix-margin-top) {\n  // This results in a small jitter after the label floats on Firefox, which the\n  // translateZ fixes.\n  transform: translateY(-$infix-margin-top - $infix-padding + $mat-form-field-legacy-dedupe)\n                  scale($font-scale);\n  // The tricks above used to smooth out the animation on chrome and firefox actually make things\n  // worse on IE, so we don't include them in the IE version.\n  $mat-form-field-legacy-dedupe: $mat-form-field-legacy-dedupe + 0.00001 !global;\n}\n\n@mixin mat-form-field-legacy-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  // The unit-less line-height from the font config.\n  $line-height: mat-line-height($config, input);\n  // The amount to scale the font for the floating label and subscript.\n  $subscript-font-scale: 0.75;\n  // The amount of space between the top of the line and the top of the actual text\n  // (as a fraction of the font-size).\n  $line-spacing: ($line-height - 1) / 2;\n  // The padding on the infix. Mocks show half of the text size, but seem to measure from the edge\n  // of the text itself, not the edge of the line; therefore we subtract off the line spacing.\n  $infix-padding: 0.5em - $line-spacing;\n  // The margin applied to the form-field-infix to reserve space for the floating label.\n  $infix-margin-top: 1em * $line-height * $subscript-font-scale;\n  // The space between the bottom of the .mat-form-field-flex area and the subscript wrapper.\n  // Mocks show half of the text size, but this margin is applied to an element with the subscript\n  // text font size, so we need to divide by the scale factor to make it half of the original text\n  // size. We again need to subtract off the line spacing since the mocks measure to the edge of the\n  // text, not the  edge of the line.\n  $subscript-margin-top: 0.5em / $subscript-font-scale - ($line-spacing * 2);\n  // The padding applied to the form-field-wrapper to reserve space for the subscript, since it's\n  // absolutely positioned. This is a combination of the subscript's margin and line-height, but we\n  // need to multiply by the subscript font scale factor since the wrapper has a larger font size.\n  $wrapper-padding-bottom: ($subscript-margin-top + $line-height) * $subscript-font-scale;\n\n  .mat-form-field-appearance-legacy {\n    .mat-form-field-wrapper {\n      padding-bottom: $wrapper-padding-bottom;\n    }\n\n    .mat-form-field-infix {\n      padding: $infix-padding 0;\n    }\n\n    &.mat-form-field-can-float {\n      &.mat-form-field-should-float .mat-form-field-label,\n      .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n        @include _mat-form-field-legacy-label-floating(\n                $subscript-font-scale, $infix-padding, $infix-margin-top);\n      }\n\n      // @breaking-change 8.0.0 will rely on AutofillMonitor instead.\n      .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper\n      .mat-form-field-label {\n        @include _mat-form-field-legacy-label-floating(\n                $subscript-font-scale, $infix-padding, $infix-margin-top);\n      }\n\n      // Server-side rendered matInput with a label attribute but label not shown\n      // (used as a pure CSS stand-in for mat-form-field-should-float).\n      .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n      .mat-form-field-label {\n        @include _mat-form-field-legacy-label-floating(\n                $subscript-font-scale, $infix-padding, $infix-margin-top);\n      }\n    }\n\n    .mat-form-field-label {\n      top: $infix-margin-top + $infix-padding;\n    }\n\n    .mat-form-field-underline {\n      // We want the underline to start at the end of the content box, not the padding box,\n      // so we move it up by the padding amount.\n      bottom: $wrapper-padding-bottom;\n    }\n\n    .mat-form-field-subscript-wrapper {\n      margin-top: $subscript-margin-top;\n\n      // We want the subscript to start at the end of the content box, not the padding box,\n      // so we move it up by the padding amount (adjusted for the smaller font size);\n      top: calc(100% - #{$wrapper-padding-bottom / $subscript-font-scale});\n    }\n  }\n\n  // translateZ causes the label to not appear while printing, so we override it to not\n  // apply translateZ while printing\n  @media print {\n    .mat-form-field-appearance-legacy {\n      &.mat-form-field-can-float {\n        &.mat-form-field-should-float .mat-form-field-label,\n        .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n          @include _mat-form-field-legacy-label-floating-print(\n                  $subscript-font-scale, $infix-padding, $infix-margin-top);\n        }\n\n        // @breaking-change 8.0.0 will rely on AutofillMonitor instead.\n        .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper\n        .mat-form-field-label {\n          @include _mat-form-field-legacy-label-floating-print(\n                  $subscript-font-scale, $infix-padding, $infix-margin-top);\n        }\n\n        // Server-side rendered matInput with a label attribute but label not shown\n        // (used as a pure CSS stand-in for mat-form-field-should-float).\n        .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n        .mat-form-field-label {\n          @include _mat-form-field-legacy-label-floating-print(\n                  $subscript-font-scale, $infix-padding, $infix-margin-top);\n        }\n      }\n    }\n  }\n}\n\n@mixin mat-private-form-field-legacy-density($config-or-theme) {}\n\n@mixin mat-form-field-legacy-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-form-field-legacy') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-form-field-legacy-color($color);\n    }\n    @if $density != null {\n      @include mat-private-form-field-legacy-density($density);\n    }\n    @if $typography != null {\n      @include mat-form-field-legacy-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n\n\n// Theme styles that only apply to the outline appearance of the form-field.\n\n@mixin mat-form-field-outline-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $primary: map-get($config, primary);\n  $accent: map-get($config, accent);\n  $warn: map-get($config, warn);\n  $foreground: map-get($config, foreground);\n  $is-dark-theme: map-get($config, is-dark);\n\n  $label-disabled-color: mat-color($foreground, disabled-text);\n  $outline-color: mat-color($foreground, divider, if($is-dark-theme, 0.3, 0.12));\n  $outline-color-hover: mat-color($foreground, divider, if($is-dark-theme, 1, 0.87));\n  $outline-color-primary: mat-color($primary);\n  $outline-color-accent: mat-color($accent);\n  $outline-color-warn: mat-color($warn);\n  $outline-color-disabled: mat-color($foreground, divider, if($is-dark-theme, 0.15, 0.06));\n\n  .mat-form-field-appearance-outline {\n    .mat-form-field-outline {\n      color: $outline-color;\n    }\n\n    .mat-form-field-outline-thick {\n      color: $outline-color-hover;\n    }\n\n    &.mat-focused {\n      .mat-form-field-outline-thick {\n        color: $outline-color-primary;\n      }\n\n      &.mat-accent .mat-form-field-outline-thick {\n        color: $outline-color-accent;\n      }\n\n      &.mat-warn .mat-form-field-outline-thick {\n        color: $outline-color-warn;\n      }\n    }\n\n    // Class repeated so that rule is specific enough to override focused accent color case.\n    &.mat-form-field-invalid.mat-form-field-invalid {\n      .mat-form-field-outline-thick {\n        color: $outline-color-warn;\n      }\n    }\n\n    &.mat-form-field-disabled {\n      .mat-form-field-label {\n        color: $label-disabled-color;\n      }\n\n      .mat-form-field-outline {\n        color: $outline-color-disabled;\n      }\n    }\n  }\n}\n\n// Used to make instances of the _mat-form-field-label-floating mixin negligibly different,\n// and prevent Google's CSS Optimizer from collapsing the declarations. This is needed because some\n// of the selectors contain pseudo-classes not recognized in all browsers. If a browser encounters\n// an unknown pseudo-class it will discard the entire rule set.\n$mat-form-field-outline-dedupe: 0;\n\n// Applies a floating label above the form field control itself.\n@mixin _mat-form-field-outline-label-floating($font-scale, $infix-padding, $infix-margin-top) {\n  transform: translateY(-$infix-margin-top - $infix-padding + $mat-form-field-outline-dedupe)\n  scale($font-scale);\n  width: 100% / $font-scale + $mat-form-field-outline-dedupe;\n\n  $mat-form-field-outline-dedupe: $mat-form-field-outline-dedupe + 0.00001 !global;\n}\n\n@mixin mat-form-field-outline-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  // The unit-less line-height from the font config.\n  $line-height: mat-line-height($config, input);\n  // The amount to scale the font for the floating label and subscript.\n  $subscript-font-scale: 0.75;\n  // The padding above and below the infix.\n  $infix-padding: 1em;\n  // The margin applied to the form-field-infix to reserve space for the floating label.\n  $infix-margin-top: 1em * $line-height * $subscript-font-scale;\n  // The space between the bottom of the .mat-form-field-flex area and the subscript wrapper.\n  // Mocks show half of the text size, but this margin is applied to an element with the subscript\n  // text font size, so we need to divide by the scale factor to make it half of the original text\n  // size.\n  $subscript-margin-top: 0.5em / $subscript-font-scale;\n  // The padding applied to the form-field-wrapper to reserve space for the subscript, since it's\n  // absolutely positioned. This is a combination of the subscript's margin and line-height, but we\n  // need to multiply by the subscript font scale factor since the wrapper has a larger font size.\n  $wrapper-padding-bottom: ($subscript-margin-top + $line-height) * $subscript-font-scale;\n  // The amount we offset the label from the input text in the outline appearance.\n  $outline-appearance-label-offset: -0.25em;\n\n  .mat-form-field-appearance-outline {\n    .mat-form-field-infix {\n      padding: $infix-padding 0 $infix-padding 0;\n    }\n\n    .mat-form-field-label {\n      top: $infix-margin-top + $infix-padding;\n      margin-top: $outline-appearance-label-offset;\n    }\n\n    &.mat-form-field-can-float {\n      &.mat-form-field-should-float .mat-form-field-label,\n      .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n        @include _mat-form-field-outline-label-floating(\n                $subscript-font-scale, $infix-padding + $outline-appearance-label-offset,\n                $infix-margin-top);\n      }\n\n      // Server-side rendered matInput with a label attribute but label not shown\n      // (used as a pure CSS stand-in for mat-form-field-should-float).\n      .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n      .mat-form-field-label {\n        @include _mat-form-field-outline-label-floating(\n                $subscript-font-scale, $infix-padding + $outline-appearance-label-offset,\n                $infix-margin-top);\n      }\n    }\n  }\n}\n\n@mixin mat-private-form-field-outline-density($config-or-theme) {}\n\n@mixin mat-form-field-outline-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-form-field-outline') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-form-field-outline-color($color);\n    }\n    @if $density != null {\n      @include mat-private-form-field-outline-density($density);\n    }\n    @if $typography != null {\n      @include mat-form-field-outline-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n\n\n\n// Theme styles that only apply to the standard appearance of the form-field.\n\n@mixin mat-form-field-standard-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $foreground: map-get($config, foreground);\n  $is-dark-theme: map-get($config, is-dark);\n\n  $underline-color: mat-color($foreground, divider, if($is-dark-theme, 0.7, 0.42));\n\n  .mat-form-field-appearance-standard {\n    .mat-form-field-underline {\n      background-color: $underline-color;\n    }\n\n    &.mat-form-field-disabled .mat-form-field-underline {\n      @include mat-private-control-disabled-underline($underline-color);\n    }\n  }\n}\n\n@mixin mat-form-field-standard-typography($config-or-theme) {}\n\n@mixin mat-private-form-field-standard-density($config-or-theme) {}\n\n@mixin mat-form-field-standard-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-form-field-standard') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-form-field-standard-color($color);\n    }\n    @if $density != null {\n      @include mat-private-form-field-standard-density($density);\n    }\n    @if $typography != null {\n      @include mat-form-field-standard-typography($typography);\n    }\n  }\n}\n\n\n// Color styles that apply to all appearances of the form-field.\n@mixin mat-form-field-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $primary: map-get($config, primary);\n  $accent: map-get($config, accent);\n  $warn: map-get($config, warn);\n  $background: map-get($config, background);\n  $foreground: map-get($config, foreground);\n  $is-dark-theme: map-get($config, is-dark);\n\n  // Label colors. Required is used for the `*` star shown in the label.\n  $label-color: mat-color($foreground, secondary-text, if($is-dark-theme, 0.7, 0.6));\n  $focused-label-color: mat-color($primary, text);\n  $required-label-color: mat-color($accent, text);\n\n  // Underline colors.\n  $underline-color-base: mat-color($foreground, divider, if($is-dark-theme, 1, 0.87));\n  $underline-color-accent: mat-color($accent, text);\n  $underline-color-warn: mat-color($warn, text);\n  $underline-focused-color: mat-color($primary, text);\n\n  .mat-form-field-label {\n    color: $label-color;\n  }\n\n  .mat-hint {\n    color: $label-color;\n  }\n\n  .mat-form-field.mat-focused .mat-form-field-label {\n    color: $focused-label-color;\n\n    &.mat-accent {\n      color: $underline-color-accent;\n    }\n\n    &.mat-warn {\n      color: $underline-color-warn;\n    }\n  }\n\n  .mat-focused .mat-form-field-required-marker {\n    color: $required-label-color;\n  }\n\n  .mat-form-field-ripple {\n    background-color: $underline-color-base;\n  }\n\n  .mat-form-field.mat-focused {\n    .mat-form-field-ripple {\n      background-color: $underline-focused-color;\n\n      &.mat-accent {\n        background-color: $underline-color-accent;\n      }\n\n      &.mat-warn {\n        background-color: $underline-color-warn;\n      }\n    }\n  }\n\n  .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) {\n    .mat-form-field-infix::after {\n      color: $underline-focused-color;\n    }\n\n    &.mat-accent .mat-form-field-infix::after {\n      color: $underline-color-accent;\n    }\n\n    &.mat-warn .mat-form-field-infix::after {\n      color: $underline-color-warn;\n    }\n  }\n\n  // Styling for the error state of the form field. Note that while the same can be\n  // achieved with the ng-* classes, we use this approach in order to ensure that the same\n  // logic is used to style the error state and to show the error messages.\n  .mat-form-field.mat-form-field-invalid {\n    .mat-form-field-label {\n      color: $underline-color-warn;\n\n      &.mat-accent,\n      .mat-form-field-required-marker {\n        color: $underline-color-warn;\n      }\n    }\n\n    .mat-form-field-ripple,\n    .mat-form-field-ripple.mat-accent {\n      background-color: $underline-color-warn;\n    }\n  }\n\n  .mat-error {\n    color: $underline-color-warn;\n  }\n\n  @include mat-form-field-legacy-color($config);\n  @include mat-form-field-standard-color($config);\n  @include mat-form-field-fill-color($config);\n  @include mat-form-field-outline-color($config);\n}\n\n// Used to make instances of the _mat-form-field-label-floating mixin negligibly different,\n// and prevent Google's CSS Optimizer from collapsing the declarations. This is needed because some\n// of the selectors contain pseudo-classes not recognized in all browsers. If a browser encounters\n// an unknown pseudo-class it will discard the entire rule set.\n$mat-form-field-dedupe: 0;\n\n// Applies a floating label above the form field control itself.\n@mixin _mat-form-field-label-floating($font-scale, $infix-padding, $infix-margin-top) {\n  transform: translateY(-$infix-margin-top - $infix-padding + $mat-form-field-dedupe)\n             scale($font-scale);\n  width: 100% / $font-scale + $mat-form-field-dedupe;\n\n  $mat-form-field-dedupe: $mat-form-field-dedupe + 0.00001 !global;\n}\n\n@mixin mat-form-field-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  // The unit-less line-height from the font config.\n  $line-height: mat-line-height($config, input);\n\n  // The amount to scale the font for the floating label and subscript.\n  $subscript-font-scale: 0.75;\n  // The amount to scale the font for the prefix and suffix icons.\n  $prefix-suffix-icon-font-scale: 1.5;\n\n  // The padding on the infix. Mocks show half of the text size.\n  $infix-padding: 0.5em;\n  // The margin applied to the form-field-infix to reserve space for the floating label.\n  $infix-margin-top: 1em * $line-height * $subscript-font-scale;\n  // Font size to use for the label and subscript text.\n  $subscript-font-size: $subscript-font-scale * 100%;\n  // Font size to use for the for the prefix and suffix icons.\n  $prefix-suffix-icon-font-size: $prefix-suffix-icon-font-scale * 100%;\n  // The space between the bottom of the .mat-form-field-flex area and the subscript wrapper.\n  // Mocks show half of the text size, but this margin is applied to an element with the subscript\n  // text font size, so we need to divide by the scale factor to make it half of the original text\n  // size.\n  $subscript-margin-top: 0.5em / $subscript-font-scale;\n  // The padding applied to the form-field-wrapper to reserve space for the subscript, since it's\n  // absolutely positioned. This is a combination of the subscript's margin and line-height, but we\n  // need to multiply by the subscript font scale factor since the wrapper has a larger font size.\n  $wrapper-padding-bottom: ($subscript-margin-top + $line-height) * $subscript-font-scale;\n\n  .mat-form-field {\n    @include mat-typography-level-to-styles($config, input);\n  }\n\n  .mat-form-field-wrapper {\n    padding-bottom: $wrapper-padding-bottom;\n  }\n\n  .mat-form-field-prefix,\n  .mat-form-field-suffix {\n    // Allow icons in a prefix or suffix to adapt to the correct size.\n    .mat-icon {\n      font-size: $prefix-suffix-icon-font-size;\n      line-height: $line-height;\n    }\n\n    // Allow icon buttons in a prefix or suffix to adapt to the correct size.\n    .mat-icon-button {\n      height: $prefix-suffix-icon-font-scale * 1em;\n      width: $prefix-suffix-icon-font-scale * 1em;\n\n      .mat-icon {\n        height: $line-height * 1em;\n        line-height: $line-height;\n      }\n    }\n  }\n\n  .mat-form-field-infix {\n    padding: $infix-padding 0;\n    // Throws off the baseline if we do it as a real margin, so we do it as a border instead.\n    border-top: $infix-margin-top solid transparent;\n  }\n\n  .mat-form-field-can-float {\n    &.mat-form-field-should-float .mat-form-field-label,\n    .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\n      @include _mat-form-field-label-floating(\n              $subscript-font-scale, $infix-padding, $infix-margin-top);\n    }\n\n    // Server-side rendered matInput with a label attribute but label not shown\n    // (used as a pure CSS stand-in for mat-form-field-should-float).\n    .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\n        .mat-form-field-label {\n      @include _mat-form-field-label-floating(\n              $subscript-font-scale, $infix-padding, $infix-margin-top);\n    }\n  }\n\n  .mat-form-field-label-wrapper {\n    top: -$infix-margin-top;\n    padding-top: $infix-margin-top;\n  }\n\n  .mat-form-field-label {\n    top: $infix-margin-top + $infix-padding;\n  }\n\n  .mat-form-field-underline {\n    // We want the underline to start at the end of the content box, not the padding box,\n    // so we move it up by the padding amount.\n    bottom: $wrapper-padding-bottom;\n  }\n\n  .mat-form-field-subscript-wrapper {\n    font-size: $subscript-font-size;\n    margin-top: $subscript-margin-top;\n\n    // We want the subscript to start at the end of the content box, not the padding box,\n    // so we move it up by the padding amount (adjusted for the smaller font size);\n    top: calc(100% - #{$wrapper-padding-bottom / $subscript-font-scale});\n  }\n\n  @include mat-form-field-legacy-typography($config);\n  @include mat-form-field-standard-typography($config);\n  @include mat-form-field-fill-typography($config);\n  @include mat-form-field-outline-typography($config);\n}\n\n@mixin mat-form-field-density($config-or-theme) {\n  $density-scale: mat-get-density-config($config-or-theme);\n  @include mat-private-form-field-legacy-density($density-scale);\n  @include mat-private-form-field-standard-density($density-scale);\n  @include mat-private-form-field-fill-density($density-scale);\n  @include mat-private-form-field-outline-density($density-scale);\n}\n\n@mixin mat-form-field-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-form-field') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-form-field-color($color);\n    }\n    @if $density != null {\n      @include mat-form-field-density($density);\n    }\n    @if $typography != null {\n      @include mat-form-field-typography($typography);\n    }\n  }\n}\n\n\n\n\n\n$mat-tree-node-height: 48px !default;\n// Minimum height for tree nodes in highest density is difficult to determine as\n// developers can display arbitrary content. We use a minimum height which ensures\n// that common content placed in tree nodes does not exceed (e.g. icons, checkboxes).\n$mat-tree-node-minimum-height: 24px !default;\n$mat-tree-node-maximum-height: $mat-tree-node-height !default;\n\n$mat-tree-density-config: (\n  height: (\n    default: $mat-tree-node-height,\n    maximum: $mat-tree-node-maximum-height,\n    minimum: $mat-tree-node-minimum-height,\n  )\n) !default;\n\n\n@mixin mat-tree-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  $background: map-get($config, background);\n  $foreground: map-get($config, foreground);\n\n  .mat-tree {\n    background: mat-color($background, 'card');\n  }\n\n  .mat-tree-node,\n  .mat-nested-tree-node {\n    color: mat-color($foreground, text);\n  }\n}\n\n@mixin mat-tree-typography($config-or-theme) {\n  $config: mat-get-typography-config($config-or-theme);\n  .mat-tree {\n    font-family: mat-font-family($config);\n  }\n\n  .mat-tree-node,\n  .mat-nested-tree-node {\n    font-weight: mat-font-weight($config, body-1);\n    font-size: mat-font-size($config, body-1);\n  }\n}\n\n@mixin mat-tree-density($config-or-theme) {\n  $density-scale: mat-get-density-config($config-or-theme);\n  $height: mat-private-density-prop-value($mat-tree-density-config, $density-scale, height);\n\n  @include mat-private-density-legacy-compatibility() {\n    .mat-tree-node {\n      min-height: $height;\n    }\n  }\n}\n\n@mixin mat-tree-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-tree') {\n    $color: mat-get-color-config($theme);\n    $density: mat-get-density-config($theme);\n    $typography: mat-get-typography-config($theme);\n\n    @if $color != null {\n      @include mat-tree-color($color);\n    }\n    @if $density != null {\n      @include mat-tree-density($density);\n    }\n    @if $typography != null {\n      @include mat-tree-typography($typography);\n    }\n  }\n}\n\n\n\n\n// Includes all of the typographic styles.\n@mixin angular-material-typography($config-or-theme: null) {\n  $config: if(mat-private-is-theme-object($config-or-theme),\n      mat-get-typography-config($config-or-theme), $config-or-theme);\n\n  // If no actual color configuration has been specified, create a default one.\n  @if not $config {\n    $config: mat-typography-config();\n  }\n\n  // TODO: COMP-309: Do not use individual mixins. Instead, use the all-theme mixin and only\n  // specify a `typography` config while setting `color` and `density` to `null`. This is currently\n  // not possible as it would introduce a circular dependency for typography because the `mat-core`\n  // mixin that is transitively loaded by the `all-theme` file, imports `all-typography` which\n  // would then load `all-theme` again. This ultimately results a circular dependency.\n\n  @include mat-badge-typography($config);\n  @include mat-base-typography($config);\n  @include mat-autocomplete-typography($config);\n  @include mat-bottom-sheet-typography($config);\n  @include mat-button-typography($config);\n  @include mat-button-toggle-typography($config);\n  @include mat-card-typography($config);\n  @include mat-checkbox-typography($config);\n  @include mat-chips-typography($config);\n  @include mat-divider-typography($config);\n  @include mat-table-typography($config);\n  @include mat-datepicker-typography($config);\n  @include mat-dialog-typography($config);\n  @include mat-expansion-panel-typography($config);\n  @include mat-form-field-typography($config);\n  @include mat-grid-list-typography($config);\n  @include mat-icon-typography($config);\n  @include mat-input-typography($config);\n  @include mat-menu-typography($config);\n  @include mat-paginator-typography($config);\n  @include mat-progress-bar-typography($config);\n  @include mat-progress-spinner-typography($config);\n  @include mat-radio-typography($config);\n  @include mat-select-typography($config);\n  @include mat-sidenav-typography($config);\n  @include mat-slide-toggle-typography($config);\n  @include mat-slider-typography($config);\n  @include mat-stepper-typography($config);\n  @include mat-sort-typography($config);\n  @include mat-tabs-typography($config);\n  @include mat-toolbar-typography($config);\n  @include mat-tooltip-typography($config);\n  @include mat-list-typography($config);\n  @include mat-option-typography($config);\n  @include mat-optgroup-typography($config);\n  @include mat-snack-bar-typography($config);\n  @include mat-tree-typography($config);\n}\n\n\n// Mixin that renders all of the core styles that are not theme-dependent.\n@mixin mat-core($typography-config: null) {\n  @include angular-material-typography($typography-config);\n  @include mat-ripple();\n  @include cdk-a11y();\n  @include cdk-overlay();\n  @include cdk-text-field();\n\n  @include mat-private-strong-focus-indicators-positioning();\n  @include _mat-mdc-core();\n}\n\n@mixin mat-core-color($config-or-theme) {\n  $config: mat-get-color-config($config-or-theme);\n  // Wrapper element that provides the theme background when the user's content isn't\n  // inside of a `mat-sidenav-container`. Note that we need to exclude the ampersand\n  // selector in case the mixin is included at the top level.\n  .mat-app-background#{if(&, ', &.mat-app-background', '')} {\n    $background: map-get($config, background);\n    $foreground: map-get($config, foreground);\n\n    background-color: mat-color($background, background);\n    color: mat-color($foreground, text);\n  }\n\n  // Provides external CSS classes for each elevation value. Each CSS class is formatted as\n  // `mat-elevation-z$zValue` where `$zValue` corresponds to the z-space to which the element is\n  // elevated.\n  @for $zValue from 0 through 24 {\n    .#{$mat-elevation-prefix}#{$zValue} {\n      @include mat-private-theme-elevation($zValue, $config);\n    }\n  }\n\n  // Marker that is used to determine whether the user has added a theme to their page.\n  @at-root {\n    .mat-theme-loaded-marker {\n      display: none;\n    }\n  }\n}\n\n// Mixin that renders all of the core styles that depend on the theme.\n@mixin mat-core-theme($theme-or-color-config) {\n  $theme: mat-private-legacy-get-theme($theme-or-color-config);\n  // Wrap the sub-theme includes in the duplicate theme styles mixin. This ensures that\n  // there won't be multiple warnings. e.g. if `mat-core-theme` reports a warning, then\n  // the imported themes (such as `mat-ripple-theme`) should not report again.\n  @include mat-private-check-duplicate-theme-styles($theme, 'mat-core') {\n    @include mat-ripple-theme($theme);\n    @include mat-option-theme($theme);\n    @include mat-optgroup-theme($theme);\n    @include mat-pseudo-checkbox-theme($theme);\n\n    $color: mat-get-color-config($theme);\n    @if $color != null {\n      @include mat-core-color($color);\n    }\n  }\n}\n\n// Mixin that renders all of the core MDC styles. Private mixin included with `mat-core`.\n@mixin _mat-mdc-core() {\n  @include _mat-mdc-strong-focus-indicators-positioning();\n}\n\n// Mixin that ensures focus indicator host elements are positioned so that the focus indicator\n// pseudo element within is positioned relative to the host. Private mixin included within\n// `_mat-mdc-core`.\n@mixin _mat-mdc-strong-focus-indicators-positioning() {\n  .mat-mdc-focus-indicator {\n    position: relative;\n  }\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// Create a theme.\n@mixin angular-material-theme($theme-or-color-config) {\n  $dedupe-key: 'angular-material-theme';\n  @include mat-private-check-duplicate-theme-styles($theme-or-color-config, $dedupe-key) {\n    @include mat-core-theme($theme-or-color-config);\n    @include mat-autocomplete-theme($theme-or-color-config);\n    @include mat-badge-theme($theme-or-color-config);\n    @include mat-bottom-sheet-theme($theme-or-color-config);\n    @include mat-button-theme($theme-or-color-config);\n    @include mat-button-toggle-theme($theme-or-color-config);\n    @include mat-card-theme($theme-or-color-config);\n    @include mat-checkbox-theme($theme-or-color-config);\n    @include mat-chips-theme($theme-or-color-config);\n    @include mat-table-theme($theme-or-color-config);\n    @include mat-datepicker-theme($theme-or-color-config);\n    @include mat-dialog-theme($theme-or-color-config);\n    @include mat-divider-theme($theme-or-color-config);\n    @include mat-expansion-panel-theme($theme-or-color-config);\n    @include mat-form-field-theme($theme-or-color-config);\n    @include mat-grid-list-theme($theme-or-color-config);\n    @include mat-icon-theme($theme-or-color-config);\n    @include mat-input-theme($theme-or-color-config);\n    @include mat-list-theme($theme-or-color-config);\n    @include mat-menu-theme($theme-or-color-config);\n    @include mat-paginator-theme($theme-or-color-config);\n    @include mat-progress-bar-theme($theme-or-color-config);\n    @include mat-progress-spinner-theme($theme-or-color-config);\n    @include mat-radio-theme($theme-or-color-config);\n    @include mat-select-theme($theme-or-color-config);\n    @include mat-sidenav-theme($theme-or-color-config);\n    @include mat-slide-toggle-theme($theme-or-color-config);\n    @include mat-slider-theme($theme-or-color-config);\n    @include mat-stepper-theme($theme-or-color-config);\n    @include mat-sort-theme($theme-or-color-config);\n    @include mat-tabs-theme($theme-or-color-config);\n    @include mat-toolbar-theme($theme-or-color-config);\n    @include mat-tooltip-theme($theme-or-color-config);\n    @include mat-tree-theme($theme-or-color-config);\n    @include mat-snack-bar-theme($theme-or-color-config);\n  }\n}\n\n\n\n// Includes all of the color styles.\n@mixin angular-material-color($config-or-theme) {\n  // In case a theme object has been passed instead of a configuration for\n  // the color system, extract the color config from the theme object.\n  $config: if(mat-private-is-theme-object($config-or-theme),\n      mat-get-color-config($config-or-theme), $config-or-theme);\n\n  @if $config == null {\n    @error 'No color configuration specified.';\n  }\n\n  @include angular-material-theme((\n    color: $config,\n    typography: null,\n    density: null,\n  ));\n}\n\n\n\n\n\n\n\n\n\n\n// Includes all of the density styles.\n@mixin angular-material-density($config-or-theme) {\n  // In case a theme object has been passed instead of a configuration for\n  // the density system, extract the density config from the theme object.\n  $config: if(mat-private-is-theme-object($config-or-theme),\n      mat-get-density-config($config-or-theme), $config-or-theme);\n\n  @if $config == null {\n    @error 'No density configuration specified.';\n  }\n\n  // TODO: COMP-309: Do not use individual mixins. Instead, use the all-theme mixin and only\n  // specify a `density` config while setting `color` and `typography` to `null`. This is currently\n  // not possible as it would introduce a circular dependency for density because the `mat-core`\n  // mixin that is transitively loaded by the `all-theme` file, imports `all-density` which\n  // would then load `all-theme` again. This ultimately results a circular dependency.\n\n  @include mat-expansion-panel-density($config);\n  @include mat-stepper-density($config);\n  @include mat-toolbar-density($config);\n  @include mat-tree-density($config);\n  @include mat-paginator-density($config);\n  @include mat-form-field-density($config);\n  @include mat-button-toggle-density($config);\n}\n\n\n\n","/*\n\nThis program is free software: you can redistribute it and/or modify it under \nthe terms of the GNU General Public License as published by \nthe Free Software Foundation, either version 3 of the License, \nor (at your option) any later version.\n\n\nThis program is distributed in the hope that it will be useful, \nbut WITHOUT ANY WARRANTY; without even the implied warranty of \nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \nSee the GNU General Public License for more details.\n\n\nYou should have received a copy of the GNU General Public License\n along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\nCopyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\nThis software is also available under ImunifyAV commercial license,\nsee <https://www.imunify360.com/legal/eula>\n*/\n@import '~@angular/cdk/a11y';\n@import '~@angular/material/theming';\n@import 'app/styles/common/rtl';\n\n$i360-slide-toggle-thumb-size: 18px;\n$i360-slide-toggle-thumb-offset: 2px;\n$i360-slide-toggle-height: 24px;\n$i360-slide-toggle-ripple-radius: 18px;\n$i360-slide-toggle-bar-width: 46px;\n$i360-slide-toggle-bar-height: 22px;\n$i360-slide-toggle-bar-track-width: $i360-slide-toggle-bar-width - $i360-slide-toggle-thumb-size;\n\n// ToDo: take ALL colors from theme\n@mixin i360-slide-toggle-theme($theme) {\n    .mat-slide-toggle {\n        $primary: map-get($theme, primary);\n\n        &.mat-primary:not(.mat-checked) {\n            .mat-slide-toggle-bar {\n                &::after {\n                    color: #8a9298;\n                }\n\n                background-color: #e3e3e3;\n            }\n\n            .mat-slide-toggle-thumb {\n                background-color: #fff;\n            }\n        }\n\n        &.mat-primary.mat-checked:not(.mat-disabled) {\n            .mat-slide-toggle-bar {\n                &::before {\n                    color: mat-color($primary);\n                }\n\n                background-color: #c8f5e4;\n            }\n\n            .mat-slide-toggle-thumb {\n                background-color: mat-color($primary);\n            }\n        }\n    }\n}\n\nmat-slide-toggle {\n    .mat-slide-toggle-thumb-container {\n        $thumb-bar-vertical-padding: ($i360-slide-toggle-thumb-size - $i360-slide-toggle-bar-height) / 2;\n\n        width: $i360-slide-toggle-thumb-size;\n        height: $i360-slide-toggle-thumb-size;\n        top: -$thumb-bar-vertical-padding;\n        transform: translate3d($i360-slide-toggle-thumb-offset, 0, 0);\n    }\n\n    &.mat-slide-toggle {\n        &.mat-checked {\n            .mat-slide-toggle-thumb-container {\n                $horizontal-offset: $i360-slide-toggle-bar-track-width - $i360-slide-toggle-thumb-offset;\n\n                transform: translate3d($horizontal-offset, 0, 0);\n\n                @include rtl {\n                    transform: translate3d(-$horizontal-offset, 0, 0);\n                }\n            }\n        }\n    }\n\n    .mat-slide-toggle-bar {\n        width: $i360-slide-toggle-bar-width;\n        height: $i360-slide-toggle-bar-height;\n        display: flex;\n        align-items: center;\n        border-radius: 12px;\n    }\n\n    @mixin i360-slide-toggle-bar-state() {\n        opacity: 0.62;\n        font-size: 10px;\n        font-weight: 600;\n        letter-spacing: -0.1px;\n    }\n    $i360-slide-toggle-bar-state-offset: $i360-slide-toggle-thumb-offset + $i360-slide-toggle-thumb-size + 4px;\n\n    &.mat-slide-toggle.mat-checked .mat-slide-toggle-bar {\n        &::before {\n            @include i360-slide-toggle-bar-state;\n\n            content: 'on';\n            position: absolute;\n\n            @include rtl-right($i360-slide-toggle-bar-state-offset);\n        }\n    }\n\n    &.mat-slide-toggle:not(.mat-checked) .mat-slide-toggle-bar {\n        &::after {\n            @include i360-slide-toggle-bar-state;\n\n            content: 'off';\n            position: absolute;\n\n            @include rtl-left($i360-slide-toggle-bar-state-offset);\n        }\n    }\n\n    .mat-slide-toggle-thumb {\n        height: $i360-slide-toggle-thumb-size;\n        width: $i360-slide-toggle-thumb-size;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n    }\n\n    .mat-slide-toggle-input {\n        @include rtl-left($i360-slide-toggle-thumb-size / 2);\n    }\n\n    @include cdk-high-contrast() {\n        .mat-slide-toggle-bar {\n            .mat-slide-toggle.cdk-keyboard-focused & {\n                outline-offset: ($i360-slide-toggle-height - $i360-slide-toggle-bar-height) / 2;\n            }\n        }\n    }\n\n    .mat-ripple-element.mat-slide-toggle-persistent-ripple {\n        transform: none;\n    }\n}\n","/*\n\nThis program is free software: you can redistribute it and/or modify it under \nthe terms of the GNU General Public License as published by \nthe Free Software Foundation, either version 3 of the License, \nor (at your option) any later version.\n\n\nThis program is distributed in the hope that it will be useful, \nbut WITHOUT ANY WARRANTY; without even the implied warranty of \nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \nSee the GNU General Public License for more details.\n\n\nYou should have received a copy of the GNU General Public License\n along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\nCopyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\nThis software is also available under ImunifyAV commercial license,\nsee <https://www.imunify360.com/legal/eula>\n*/\n// ToDo: take ALL colors from theme\n@mixin i360-checkbox-theme($theme) {\n    .mat-checkbox {\n        .mat-checkbox-frame {\n            border-color: #dee1ec!important;\n        }\n    }\n}\n\nmat-checkbox {\n    .mat-checkbox-frame {\n        border-width: 1px;\n    }\n\n    .mat-ripple-element.mat-checkbox-persistent-ripple {\n        transform: none;\n    }\n}\n","/*\n\nThis program is free software: you can redistribute it and/or modify it under \nthe terms of the GNU General Public License as published by \nthe Free Software Foundation, either version 3 of the License, \nor (at your option) any later version.\n\n\nThis program is distributed in the hope that it will be useful, \nbut WITHOUT ANY WARRANTY; without even the implied warranty of \nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\xa0 \nSee the GNU General Public License for more details.\n\n\nYou should have received a copy of the GNU General Public License\n along with this program.\xa0 If not, see <https://www.gnu.org/licenses/>.\n\nCopyright\xa0\xa9 2019 Cloud Linux Software Inc.\n\nThis software is also available under ImunifyAV commercial license,\nsee <https://www.imunify360.com/legal/eula>\n*/\n@import '~@angular/cdk/a11y';\n@import '~@angular/material/theming';\n\n\n$i360-radio-size: 16px;\n$i360-radio-ripple-radius: 16px;\n\n// ToDo: take ALL colors from theme\n@mixin i360-radio-button-theme($theme) {\n    .mat-radio-button {\n        $primary: map-get($theme, primary);\n\n        .mat-radio-outer-circle {\n            border-color: mat-color($primary);\n        }\n    }\n}\n\nmat-radio-button {\n    .mat-radio-inner-circle,\n    .mat-radio-outer-circle,\n    .mat-radio-container {\n        height: $i360-radio-size;\n        width: $i360-radio-size;\n    }\n\n    .mat-radio-outer-circle {\n        border-width: 1px;\n    }\n\n    &.mat-radio-checked .mat-radio-inner-circle {\n        transform: scale(0.375);\n    }\n\n    .mat-ripple-element.mat-radio-persistent-ripple {\n        transform: none;\n    }\n}\n"],sourceRoot:""}]),e.default=o},jXi5:function(n,e,t){"use strict";(function(n){t.d(e,"d",(function(){return l})),t.d(e,"e",(function(){return c})),t.d(e,"a",(function(){return s})),t.d(e,"b",(function(){return m})),t.d(e,"c",(function(){return d}));var a=t("IheW"),o=t("8Y7J");if(n.noConflict(),"undefined"!=typeof Prototype&&Prototype.BrowserFeatures.ElementExtensions){var i=function(e,t){t.each((function(t){n(window).on(e+".bs."+t,(function(n){n.target[e]=void 0,setTimeout((function(){delete n.target[e]}),0)}))}))},r=["collapse","dropdown","modal","tooltip","popover","tab"];i("show",r),i("hide",r)}function l(n){switch(document.readyState){case"loading":document.addEventListener("DOMContentLoaded",(function e(){document.removeEventListener("DOMContentLoaded",e),n()}));break;case"interactive":case"complete":default:n()}}function c(n,e,t){for(var a=0,o=["fish","aquarium","add-ip","ignore-all","broom","bell","atoms","done","chip","update","clock","dmc","play","full-access","icon-exclamation","logo-grey","ellipsis","storage","shark","vector","logo-imunify","new-features-management","profile","rocket","support","logo-imunifyAV","logo-imunifyAVPlus","logo-imunifyAVPlus-grey","key","help-outline-black","icon-question","icon-delete","icon-add","icon-key","icon-bell-in-circle","icon-info","dashboard-no-data-found","read-more","events-notifications","check-circle","shield","undraw-server-down","upgrade-by-key"];a<o.length;a++){var i=o[a];n.addSvgIcon(i,t.bypassSecurityTrustResourceUrl("".concat(e.imagePath,"/").concat(i,".svg")))}}var p=function(){function n(e){b(this,n),this.interceptors=e}return x(n,[{key:"intercept",value:function(n,e){return(this.interceptors||[]).reduceRight((function(n,e){return{handle:function(t){return e.intercept(t,n)}}}),e).handle(n)}}]),n}();function s(n){return new p(n)}var m={provide:a.a,multi:!0,useFactory:s,deps:[[new o.K,new o.B,new o.p(a.a)]]};function d(){var n=document.getElementById("forgery_protection_token"),e=["https://api.imunify360.com","https://sentry.cloudlinux.com"],t=XMLHttpRequest.prototype.send;XMLHttpRequest.prototype.send=function(){var a=this,o=!1;try{e.find((function(n){return a.__zone_symbol__xhrURL.startsWith(n)}))&&(o=!0)}catch(n){}for(var i=arguments.length,r=new Array(i),l=0;l<i;l++)r[l]=arguments[l];if(o&&n){n.setAttribute("id","temporary-changed-for-sentry-request");var c=t.apply(this,r);return n.setAttribute("id","forgery_protection_token"),c}return t.apply(this,r)}}}).call(this,t("EVdn"))},k6vQ:function(n,e,t){"use strict";t.d(e,"c",(function(){return o})),t.d(e,"b",(function(){return i})),t.d(e,"a",(function(){return r}));var a=t("NTVj"),o=function(n){return n.ossec="ossec",n.modsec="modsec",n.lfd="lfd",n.cphulk="cphulk",n.unknown="unknown",n.cl_dos="cl_dos",n}({}),i=function(){var n=function(){function n(){b(this,n)}return x(n,null,[{key:"enable",value:function(n){return new a.c(["rules","enable"],{id:n.id,plugin:n.plugin})}},{key:"disable",value:function(n){return new a.c(["rules","disable"],{id:n.id,plugin:n.plugin,name:n.name,domains:n.domains})}}]),n}();return n.list=function(n){return new a.c(["rules","list-disabled"],n)},n}(),r=function(){function n(e){var t=e.id,a=e.plugin,o=e.name,i=e.domains;b(this,n),this.id=t,this.plugin=a,this.name=o,this.setDomains(i)}return x(n,[{key:"domainsAllowed",value:function(){return"modsec"===this.plugin}},{key:"setDomains",value:function(n){n?Array.isArray(n)?this.domains=n:"string"==typeof n&&(this.domains=n.split(/[,\n\s]+/)):this.domains=[]}}]),n}()},l5pG:function(n,e,t){"use strict";t.d(e,"d",(function(){return o})),t.d(e,"b",(function(){return i})),t.d(e,"a",(function(){return l})),t.d(e,"e",(function(){return c})),t.d(e,"c",(function(){return p}));var a=t("NTVj"),o=function(){function n(){b(this,n)}return x(n,null,[{key:"getList",value:function(n){var e=n.list,t=n.params,o=void 0===t?{}:t,i=[e+"list"];return e!==l.drop&&i.push("ip","list"),new a.c(i,o)}},{key:"getAllList",value:function(n){var e=n.params,t=void 0===e?{}:e;return new a.c(["ip-list","local","list"],Object.assign({},t))}},{key:"addOrUpdateItem",value:function(n){var e=n.list,t=n.type,o=n.value,i=n.comment,c=n.scope,p=n.expiration,s=n.fullAccess;e="country"!==(t=t||"ip")&&e===l.black?l.drop:e;var m="country"===t&&e?[r[e]+"list",t,"add"]:["ip-list","local","add"];return new a.c(m,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({items:"string"==typeof o?[o]:o},i?{comment:i}:{}),c?{scope:c}:{}),p?{expiration:p}:{}),e===l.white?{full_access:s}:{}),"ip"===t&&e?{purpose:e}:{}))}},{key:"deleteItems",value:function(n){var e=n.items,t=n.itemType,o=n.list;o="country"===t&&o?r[o]:o;var i="ip"===t?["ip-list","local","delete"]:[o+"list",t,"delete"];return new a.c(i,Object.assign({items:e},"ip"===t&&o?{purpose:o}:{}))}},{key:"editItem",value:function(n){var e=n.items,t=n.list,o=n.comment,i=n.type,c=n.scope,p=n.expiration,s=n.fullAccess;return new a.c([(t?r[t]:null)+"list",i,"edit"],Object.assign(Object.assign(Object.assign(Object.assign({items:e},void 0!==o?{comment:o}:{}),void 0!==p?{expiration:p}:{}),c?{scope:c}:{}),t===l.white?{full_access:s}:{}))}}]),n}(),i=function(n){return n.local="local",n.group="group",n}({}),r=function(n){return n.drop="black",n.black="black",n.white="white",n.captcha="gray",n.splashscreen="gray",n}({}),l=function(n){return n.drop="drop",n.white="white",n.captcha="captcha",n.splashscreen="splashscreen",n.black="black",n.gray="gray",n}({}),c=function(n){return n?function(n){if((n=n.toLowerCase())in l)return n;throw new Error("Unknown list ".concat(n))}(n):null},p=x((function n(e){b(this,n),this.checked=!1,this.fullAccess=!1,this.autoWhitelisted=!1,this.ip=e.ip,this.scope=e.scope||null,this.importedFrom=e.imported_from||null,this.list=c(e.purpose),this.comment=e.comment||"",this.fullAccess=Boolean(e.full_access),this.autoWhitelisted=Boolean(e.auto_whitelisted),this.expiration=e.expiration||0,this.country=e.country||{code:"",name:""},this.isCountry=!this.ip&&Boolean(this.country.code),this.type=this.isCountry?"country":"ip"}))},lgOS:function(n,e,t){"use strict";t.d(e,"a",(function(){return o}));var a=t("NTVj"),o=x((function n(){b(this,n),this.version="6.6.3-1",this.imunifyStatus=a.a.OK,this.imagePath="".concat(t("HASI").assetsPath,"images"),this.refresherEnabled=!1,this.mousePositonY=0,this.demo=!1}))},mKV3:function(n,e,t){"use strict";t.d(e,"a",(function(){return i})),t.d(e,"b",(function(){return r}));var a=t("NTVj"),o=t("gXNf"),i=function(){var n=x((function n(){b(this,n)}));return n.list=function(n){return new a.c(["malware","history","list"],n)},n}(),r=x((function n(e){b(this,n),this.ctime=e.ctime,this.path=e.path,this.event=e.event,this.initiator=e.initiator,this.cause=e.cause,this.owner=e.file_owner,this.resource_type=e.resource_type,e.resource_type===o.d.db&&(this.app_name=e.app_name,this.db_host=e.db_host,this.db_port=e.db_port,this.db_name=e.db_name)}))},pfGN:function(n,e,t){"use strict";t.d(e,"a",(function(){return a})),t.d(e,"b",(function(){return p}));var a="lang",o="Plesk",i="DirectAdmin",r="cPanel",l="noPanel",c={cPanel:window.location.href.substring(window.location.href.search("/cpsess"),window.location.href.search("cgi"))+"cgi/CloudLinux.cgi",Plesk:"/modules/plesk-lvemanager",DirectAdmin:"/CMD_PLUGINS_ADMIN/lvemanager_spa?iframe=no"},p=function(){function n(){b(this,n),this.defaultScanFolders={cPanel:"/home*/*",Plesk:"/var/www/vhosts/*",DirectAdmin:"/home*/*/",noPanel:"/home"},this.csfInterfaces={cPanel:"../../../cgi/configserver/csf.cgi",Plesk:null,DirectAdmin:null,noPanel:null},this.name=I360_PANEL,this.isPlesk=this.name===o,this.isCpanel=this.name===r,this.isDirectAdmin=this.name===i,this.isNoPanel=this.name===l,this.defaultScanFolder=this.defaultScanFolders[this.name],this.csfInterfaceUrl=this.csfInterfaces[this.name],this.linkToLvePhpSelector="".concat(c[this.name],"#/selector")}return x(n,[{key:"getLang",value:function(n){switch(I360_PANEL){case o:case r:return n.querySelector("html").lang;case i:return i360lang;case l:return localStorage.getItem(a)||"";default:return""}}}]),n}()},qo03:function(n,e,t){"use strict";t.d(e,"b",(function(){return f})),t.d(e,"a",(function(){return g}));var a=t("mrSG"),o=t("2Vo4"),i=t("LRne"),r=t("EY2u"),l=t("EjJx"),c=t("iInd"),p=t("pfGN"),s=t("eIep"),m=t("IheW"),d=t("FFKa"),A=t("Owoi"),u="I360_AUTH_TOKEN",f=function(n){return n.admin="admin",n.client="client",n.none="none",n}({}),g=function(){var n=function(){function n(e,t){b(this,n),this.location=e,this.injector=t,this.loginChange=new o.a(!1)}return x(n,[{key:"isAdmin",get:function(){return this.role===f.admin}},{key:"isClient",get:function(){return this.role===f.client}},{key:"logout",value:function(){this.setToken(""),this.goToLoginPage()}},{key:"goToLoginPage",value:function(){var n=this.injector.get(c.m),e=this.location.path(!1),t=e.split("?")[0];n.navigate(["/","login"],{queryParams:{targetUrl:"/login"===t?n.parseUrl(e).queryParams.targetUrl:e}})}},{key:"addTokenToRequest",value:function(n){if(n.body){var e=JSON.parse(JSON.stringify(n.body));e.params.jwt=this.getToken(),n=n.clone({body:e})}return n}},{key:"intercept",value:function(n,e){var t=this;return this.injector.get(p.b).isNoPanel?this.role!==f.none?(n=this.addTokenToRequest(n),e.handle(n).pipe(Object(s.a)((function(n){return n instanceof m.h&&n.body.messages===A.b?(t.logout(),t.handleLogout()):Object(i.a)(n)})))):(this.goToLoginPage(),this.handleLogout()):e.handle(n)}},{key:"handleLogout",value:function(){return r.a}},{key:"getToken",value:function(){return localStorage.getItem(u)||""}},{key:"setToken",value:function(n){localStorage.setItem(u,n),this.parseToken()}},{key:"parseToken",value:function(){if("undefined"!=typeof i360role)this.role=i360role,"undefined"!=typeof i360userName&&(this.username=i360userName);else{var n,e=this.injector.get(c.m),t=e.parseUrl(this.location.path(!1)),a=t.queryParams.token;a&&(localStorage.setItem(u,a),delete t.queryParams.token,e.navigateByUrl(t||"/",{replaceUrl:!0}));try{n=Object(l.a)(this.getToken())}catch(o){n={user_type:f.none,username:""}}this.role=n.user_type,this.username=n.username}this.loginChange.next(this.role!==f.none)}},{key:"canActivate",value:function(){return this.canLoad()}},{key:"canLoad",value:function(){return this.role===f.none||(this.injector.get(c.m).navigate(["/","AV",this.role],{replaceUrl:!0}),!1)}}]),n}();return Object(a.b)([d.a],n.prototype,"intercept",null),n}()},rPa8:function(n,e,t){"use strict";t.d(e,"a",(function(){return m}));var a=t("+QwO"),o=t.n(a),i=/^(\d+)([:|-](\d+))?$/,r=/^-?\d*$/,l=/^(?:[1-9]\d*|0)?(?:\.\d+)?$/,c=[/^(([2]([0-4][0-9]|[5][0-5])|[0-1]?[0-9]?[0-9])[.]){3}(([2]([0-4][0-9]|[5][0-5])|[0-1]?[0-9]?[0-9]))\b(\/\b([0-9]|[12][0-9]|3[0-2]))?$/,/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?(\/([0-9]|[1-5][0-9]|6[0-4]))\s*$/],p=/^.+@(.+\.)+.+$/,s=/(^\s*SS[a-zA-Z0-9]{14}\s*$)|(^\s*IP-\d*-\d*-[a-zA-Z0-9]{8}\s*$)/,m=function(){var n=function(){function n(){b(this,n)}return x(n,null,[{key:"listOfServerId",value:function(n){var e=n.value;if(0===e.length)return{serverId:{}};var t=e.map((function(n){return s.test(n)}));if(t.every((function(n){return n})))return null;var a=e.filter((function(n,e){return!t[e]}));return 1===e.length?{serverId:{}}:{listOfServerId:{ids:a}}}}]),n}();return n.integer=function(n){return function(e){var t=e.value;return t||0===t?r.test(t)?null:{integer:{}}:n?{required:{what:"integer"}}:null}},n.float=function(n){return function(e){var t=e.value;return t&&"0"!==t?l.test(t)?null:{integer:{}}:n?{required:{what:"integer"}}:null}},n.ipWithCIDR=function(n){return function(e){var t=e.value;return t?c.some((function(n){return n.test(t)}))?null:{ipWithCIDR:{}}:n?{required:{what:"ip"}}:null}},n.pathToFile=function(n){var e=n.value;return/\u0000/.test(e)?{pathToFile:{}}:null},n.absolutePath=function(n){var e=n.value;return/^\//.test(e)?null:{absolutePath:{}}},n.listOfAbsolutePaths=function(e){var t=e.value;return Array.isArray(t)?t.every((function(e){return null===n.absolutePath({value:e})}))?null:{absolutePath:{}}:null},n.partOfIP=function(n){var e=n.value;return!e||/^[0-9a-fA-F.:\/]+$/.test(e)?null:{partOfIP:{}}},n.commaSeparatedDomains=function(n){var e=n.value;if(!e)return null;var t=function(n){return o.a.isFQDN(n.trim())};return e.every((function(n){return n.includes(",")?n.split(",").every((function(n){return t(n)})):t(n)}))?null:{domains:{}}},n.listOfIPWithCIDR=function(e){var t=e.value;if(!t)return null;var a=n.ipWithCIDR(!1);return t.split(",").reduce((function(n,e){return a({value:e.trim()})}),!0)?{listOfIP:{}}:null},n.email=function(n){var e=n.value;return!e||p.test(e)?null:{email:{}}},n.emails=function(e){var t=e.value;return Array.isArray(t)?t.every((function(e){return null===n.email({value:e})}))?null:{emails:{}}:null},n.required=function(n){return function(e){var t=e.value;if(Array.isArray(t)){if(t.length>0)return null}else if(t||Number.isFinite(t))return null;return{required:{what:n}}}},n.fileSize=function(n){return function(e){var t=e.value;if(!t||Array.isArray(t)&&!t.length)return null;var a,o=[],i=f(t);try{for(i.s();!(a=i.n()).done;){var r=a.value;r.size>n&&o.push(r.name)}}catch(l){i.e(l)}finally{i.f()}return o.length?{fileSize:{files:o.join(", "),count:o.length,maxSize:String(Math.round(n/1048576))}}:null}},n.maxFiles=function(n){return function(e){var t=e.value;return t&&t.length>n?{maxFiles:{size:n}}:null}},n.listPortOrRange=function(){return function(n){var e=n.value.filter((function(n){var e=n.split(i),t=function(n){return!r.test(n)||Number(n)<1||Number(n)>65535};return!e.length||t(e[1])||void 0!==e[3]&&t(e[3])}));return e.length?{listOfIntegers:{invalid:e}}:null}},n.listOfIntegers=function(n,e){return function(t){var a=t.value.filter((function(t){return!r.test(t)||Number(t)<n||Number(t)>e}));return a.length?{listOfIntegers:{invalid:a}}:null}},n}()},uWkI:function(n,e,t){var a=t("4vjd"),o=t("jSh3");"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[n.i,o,""]]);a(o,{insert:"head",singleton:!1}),n.exports=o.locals||{}},v5YS:function(n,e,t){"use strict";t.d(e,"a",(function(){return a}));var a=x((function n(){b(this,n)}))},vF4c:function(n,e,t){"use strict";function a(n){var e=JSON.parse(JSON.stringify(n));return e&&e.order_by&&(e.order_by=e.order_by[0]),e}t.d(e,"d",(function(){return a})),t.d(e,"b",(function(){return o})),t.d(e,"a",(function(){return i})),t.d(e,"c",(function(){return r}));var o=function(n){return n.active="active",n.inactive="inactive",n}({}),i=x((function n(e){b(this,n),this.name=e.name,this.limitBytes=e.limit_bytes,this.description=e.description,this.usedBytes=e.used_bytes,this.state=e.state})),r=function(){var n=x((function n(){b(this,n)}));return n.list=function(n){return{command:"commandIE",method:["accounts"],params:Object.assign(Object.assign({},a(n)),{request_method:"get"})}},n.updateAccount=function(n){var e=n.limit_bytes,t=n.userName,a=n.account_name;return{command:"commandIE",method:["accounts",t,"settings"],params:Object.assign(Object.assign({request_method:"put"},a?{account_name:a}:{}),e?{limit_bytes:e}:{})}},n.getAccountSettings=function(){return{command:"commandIE",method:["accounts","{account_name}","settings"],params:{request_method:"get"}}},n.getAccountList=function(){return{command:"commandIE",method:["unix-users"],params:{request_method:"get"}}},n.deleteAccounts=function(n){return{command:"commandIE",method:["accounts",n.userName,"settings"],params:{request_method:"delete"}}},n}()},vrSf:function(n,e,t){"use strict";t.d(e,"a",(function(){return a}));var a=x((function n(){b(this,n)}))},w8wu:function(n,e,t){"use strict";t.d(e,"b",(function(){return o})),t.d(e,"a",(function(){return i}));var a=t("NTVj"),o=function(){var n=function(){function n(){b(this,n)}return x(n,null,[{key:"addPort",value:function(n){return new a.c(["blocked-port","add"],{items:[n.requestValue()],ips:n.ips.map((function(n){return n.toString()})),comment:n.comment})}},{key:"addIp",value:function(n){var e=n.port,t=n.ip,o=n.comment;return new a.c(["blocked-port-ip","add"],{port_proto:e.requestValue(),ips:[t],comment:o})}},{key:"deletePort",value:function(n){return new a.c(["blocked-port","delete"],{items:[n.requestValue()]})}},{key:"deletePorts",value:function(n){return new a.c(["blocked-port","delete"],{items:n})}},{key:"deleteIp",value:function(n){var e=n.port,t=n.ip;return new a.c(["blocked-port-ip","delete"],{port_proto:e.requestValue(),ips:[t]})}},{key:"editPortComment",value:function(n){var e=n.port,t=n.comment;return new a.c(["blocked-port","edit"],{items:[e.requestValue()],comment:t})}},{key:"editIpComment",value:function(n){var e=n.port,t=n.ip,o=n.comment;return new a.c(["blocked-port-ip","edit"],{port_proto:e.requestValue(),ips:[t],comment:o})}}]),n}();return n.list=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new a.c(["blocked-port","list"],n)},n}(),i=function(){function n(e){var t=e.port,a=e.ips,o=void 0===a?[]:a,i=e.comment,l=void 0===i?"":i,c=e.proto,p=void 0===c?"all":c,s=e.id,m=void 0===s?0:s;b(this,n),this.id=m,this.port=t,this.proto=p,this.ips=o.map((function(n){return new r(n)})),this.comment=l,this.canExpand=this.ips.length>0}return x(n,[{key:"toString",value:function(){return"all"===this.proto?this.port:this.requestValue()}},{key:"requestValue",value:function(){return"".concat(this.port,":").concat(this.proto)}}]),n}(),r=function(){function n(e){var t=e.ip,a=e.comment,o=void 0===a?"":a;b(this,n),this.ip=t,this.comment=o}return x(n,[{key:"toString",value:function(){return this.ip}}]),n}()},wK6y:function(n,e,t){"use strict";t.d(e,"a",(function(){return a}));var a={strategy:"PRIMARY_IDS",version:"testing",eula:null,license:{id:"123",license_type:t("MHfa").d.imunify360,user_count:5,message:"",expiration:null,pricing:{im_av:{standard:"$6"},im_360_1:{standard:"$1"},im_360_30:{standard:"$30"},im_360_250:{standard:"$250"},im_360_unlimited:{standard:"$1000"}},user_limit:2147483647,status:!0,redirect_url:"https://cln.cloudlinux.com/clweb/public/imconv.xhtml?id=qwertyuiop",upgrade_url_360:"upgrade_url_360_url"}};Object.assign(Object.assign({},a),{items:[]}),Object.assign(Object.assign({},a),{items:null})},wOVI:function(n,e,t){"use strict";t.d(e,"a",(function(){return o}));var a=t("NTVj"),o=function(){var n=function(){function n(){b(this,n)}return x(n,null,[{key:"load",value:function(e){var t=e.path,o=e.limit,i=e.offset;return new a.c(["malware","read"],{path:t,limit:o||n.CHUNK_LENGTH,offset:i||0})}}]),n}();return n.CHUNK_LENGTH=102400,n}()},wWNr:function(n,e,t){"use strict";t.d(e,"a",(function(){return p}));var a=t("IheW"),o=t("z6cu"),i=t("vkgz"),r=t("JIr8"),l=t("NlKi"),c=function(n){var e=function n(e){return e&&"object"==typeof e&&Object.entries(e).forEach((function(t){var a=u(t,2),o=a[0],i=a[1];"string"==typeof i&&i.length>100&&(e[o]=i.slice(0,100)+"*****"),Array.isArray(i)&&i.length>5&&(i.length=5,i.push("*****")),n(i)})),e}(JSON.parse(JSON.stringify(n)));l.captureBreadcrumb({message:"XHR finished",category:"action",data:e})},p=function(){function n(){b(this,n)}return x(n,[{key:"intercept",value:function(n,e){return function(n){l.captureBreadcrumb({message:"XHR started",category:"action",data:n})}({requestBody:n.body,url:n.urlWithParams}),e.handle(n).pipe(Object(i.a)((function(e){e instanceof a.h&&c({responseBody:e.body,requestBody:n.body,url:n.urlWithParams})})),Object(r.a)((function(n){return c(n),l.captureException(n),Object(o.a)(n)})))}}]),n}()},yDAz:function(n,e,t){"use strict";var a;t.d(e,"b",(function(){return l})),t.d(e,"a",(function(){return p}));var o=t("NTVj"),i=t("k6vQ"),r=t("l5pG"),l=function(){var n=x((function n(){b(this,n)}));return n.incidents=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new o.c(["get"],n)},n}(),c=(d(a={},i.c.modsec,{low:[5,7],medium:[4,4],high:[0,3]}),d(a,i.c.ossec,{low:[0,3],medium:[4,10],high:[11,15]}),a),p=function(){function n(e){var t;b(this,n),this.canExpand=!0,this.abuser=e.abuser,this.country=e.country||{code:""},this.description=e.description,this.id=e.id,this.listname=Object(r.e)(e.listname),this.name=e.name,this.plugin=e.plugin,this.times=e.times,this.rule=e.rule,this.purpose=e.purpose?e.purpose:null,this.severity=e.severity,this.timestamp=e.timestamp,this.severityIconClass=(t=this).plugin in c&&Object.keys(c[t.plugin]).find((function(n){var e=u(c[t.plugin][n],2),a=e[0],o=e[1];return null!==t.severity&&a<=t.severity&&o>=t.severity}))||"hidden",this.domain=e.domain}return x(n,[{key:"getRule",value:function(){return new i.a({id:this.rule,name:this.name,plugin:this.plugin,domains:""})}}]),n}()},zDAv:function(n,e,t){"use strict";t.d(e,"a",(function(){return l}));var a=t("wK6y"),o=t("l5pG");o.b.group;var i={no_captcha:!1,ip:"1.1.210.66",ctime:1522908698,deep:4,purpose:"WHITE",manual:!0,auto_whitelisted:!1,comment:"Special for blacklist",country:{name:"Thailand",code:"TH"},version:4,scope:null,full_access:null,network_address:16896578,netmask:4294967295,imported_from:null,expiration:1523037066},r=[Object.assign(Object.assign({},i),{comment:null,scope:o.b.group,manual:!1}),Object.assign(Object.assign({},i),{comment:null,scope:o.b.local,manual:!1}),Object.assign(Object.assign({},i),{ip:"1234:5678:9abc::",country:{},purpose:"WHITE",scope:o.b.local}),Object.assign(Object.assign({},i),{ip:"1234:5678:9abc:def0::",full_access:!0,country:{},purpose:"WHITE"}),Object.assign(Object.assign({},i),{ip:"10.101.1.14",purpose:"CAPTCHA",comment:"Special for blacklist",country:{name:"Thailand",code:"TH",id:"1605651"}}),Object.assign(Object.assign({},i),{ip:"10.101.1.15",country:null,purpose:"CAPTCHA",comment:"Special for blacklist"}),Object.assign(Object.assign({},i),{ip:"10.101.1.58",country:{name:"Brazil",code:"BR"},purpose:"CAPTCHA"}),Object.assign(Object.assign({},i),{ip:"11.11.11.11",country:{name:"United States of America",code:"US"},purpose:"CAPTCHA"}),Object.assign(Object.assign({},i),{ip:"11.11.11.11/32",country:{name:"Ukraine",code:"UA"},purpose:"drop"})],l={ipAlreadyExists:{data:{messages:["IP 1.162.36.148 is already in captcha list","Imunify360 protection is running concurrently with cPHulk"],result:"warnings"}},groupId:{status:"ok",group_id:"groupId"},list:{data:Object.assign(Object.assign({},a.a),{max_count:11,items:r,counts:{server:{white:23,captcha:434,drop:34,splashscreen:34},cloud:{white:23,captcha:434,drop:34,splashscreen:34}}})},listsPagination:{data:Object.assign(Object.assign({},a.a),{max_count:999,items:[].concat(r,r,r,r),counts:{server:{white:23,captcha:434,drop:34,splashscreen:34},cloud:{white:23,captcha:434,drop:34,splashscreen:34}}})},blacklist:{data:Object.assign(Object.assign({},a.a),{max_count:11,items:[{imported_from:null,ip:"10.101.1.58",no_captcha:!1,ctime:1522908698,deep:4,manual:!0,purpose:"captcha",auto_whitelisted:!1,comment:"Special for blacklist",country:{name:"Thailand",code:"TH",id:"1605651"},version:4,full_access:null,network_address:16896578,netmask:4294967295,expiration:1523037066}],counts:{server:{all:100,white:23,captcha:434,black:34,splashscreen:34},cloud:{white:23,captcha:434,black:34,splashscreen:34}}})}}},zn8P:function(n,e){function t(n){return Promise.resolve().then((function(){var e=new Error("Cannot find module '"+n+"'");throw e.code="MODULE_NOT_FOUND",e}))}t.keys=function(){return[]},t.resolve=t,n.exports=t,t.id="zn8P"}})}();
Back to Directory File Manager